diff --git a/spec/json/twilio_accounts_v1.json b/spec/json/twilio_accounts_v1.json index 8fab5212..45dcdd44 100644 --- a/spec/json/twilio_accounts_v1.json +++ b/spec/json/twilio_accounts_v1.json @@ -2,267 +2,222 @@ "components": { "schemas": { "accounts.v1.auth_token_promotion": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that the secondary Auth Token was created for", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that the secondary Auth Token was created for" }, "auth_token": { - "description": "The promoted Auth Token", + "type": "string", "nullable": true, - "type": "string" + "description": "The promoted Auth Token" }, "date_created": { - "description": "The ISO 8601 formatted date and time in UTC when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 formatted date and time in UTC when the resource was created" }, "date_updated": { - "description": "The ISO 8601 formatted date and time in UTC when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 formatted date and time in UTC when the resource was last updated" }, "url": { - "description": "The URI for this resource, relative to `https://accounts.twilio.com`", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI for this resource, relative to `https://accounts.twilio.com`" } - }, - "type": "object" + } }, "accounts.v1.credential": { - "properties": {}, - "type": "object" + "type": "object", + "properties": {} }, "accounts.v1.credential.credential_aws": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$", "nullable": true, + "description": "The unique string that identifies the resource" + }, + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "friendly_name": { + "type": "string", + "nullable": true, + "description": "The string that you assigned to describe the resource" }, "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" - }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", - "nullable": true, - "type": "string" - }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, "url": { - "description": "The URI for this resource, relative to `https://accounts.twilio.com`", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI for this resource, relative to `https://accounts.twilio.com`" } - }, - "type": "object" + } }, "accounts.v1.credential.credential_public_key": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the Credential that the PublicKey resource belongs to", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$", "nullable": true, + "description": "The unique string that identifies the resource" + }, + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the Credential that the PublicKey resource belongs to" + }, + "friendly_name": { + "type": "string", + "nullable": true, + "description": "The string that you assigned to describe the resource" }, "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" - }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", - "nullable": true, - "type": "string" - }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, "url": { - "description": "The URI for this resource, relative to `https://accounts.twilio.com`", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI for this resource, relative to `https://accounts.twilio.com`" } - }, - "type": "object" + } }, "accounts.v1.secondary_auth_token": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that the secondary Auth Token was created for", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that the secondary Auth Token was created for" }, "date_created": { - "description": "The ISO 8601 formatted date and time in UTC when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 formatted date and time in UTC when the resource was created" }, "date_updated": { - "description": "The ISO 8601 formatted date and time in UTC when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 formatted date and time in UTC when the resource was last updated" }, "secondary_auth_token": { - "description": "The generated secondary Auth Token", + "type": "string", "nullable": true, - "type": "string" + "description": "The generated secondary Auth Token" }, "url": { - "description": "The URI for this resource, relative to `https://accounts.twilio.com`", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI for this resource, relative to `https://accounts.twilio.com`" } - }, - "type": "object" + } } }, "securitySchemes": { "accountSid_authToken": { - "scheme": "basic", - "type": "http" + "type": "http", + "scheme": "basic" } } }, "info": { + "title": "Twilio - Accounts", + "description": "This is the public Twilio REST API.", + "termsOfService": "https://www.twilio.com/legal/tos", "contact": { - "email": "support@twilio.com", "name": "Twilio Support", - "url": "https://support.twilio.com" + "url": "https://support.twilio.com", + "email": "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 - Accounts", "version": "1.30.0" }, "openapi": "3.0.1", "paths": { "/v1/AuthTokens/Promote": { - "description": "Auth Token promotion", - "post": { - "description": "Promote the secondary Auth Token to primary. After promoting the new token, all requests to Twilio using your old primary Auth Token will result in an error.", - "operationId": "UpdateAuthTokenPromotion", - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/accounts.v1.auth_token_promotion" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, "servers": [ { "url": "https://accounts.twilio.com" } ], + "description": "Auth Token promotion", "x-twilio": { - "className": "auth_token_promotion", "defaultOutputProperties": [ "account_sid", "auth_token", "date_created" ], - "pathType": "instance" - } - }, - "/v1/AuthTokens/Secondary": { - "delete": { - "description": "Delete the secondary Auth Token from your account", - "operationId": "DeleteSecondaryAuthToken", - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] + "pathType": "instance", + "className": "auth_token_promotion" }, - "description": "Secondary Auth Token", "post": { - "description": "Create a new secondary Auth Token", - "operationId": "CreateSecondaryAuthToken", + "description": "Promote the secondary Auth Token to primary. After promoting the new token, all requests to Twilio using your old primary Auth Token will result in an error.", "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/accounts.v1.secondary_auth_token" + "$ref": "#/components/schemas/accounts.v1.auth_token_promotion" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -270,51 +225,51 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateAuthTokenPromotion", "x-maturity": [ "GA" ] - }, - "servers": [ - { - "url": "https://accounts.twilio.com" - } - ], - "x-twilio": { - "className": "secondary_auth_token", - "defaultOutputProperties": [ - "account_sid", - "secondary_auth_token", - "date_created" - ], - "pathType": "instance" } }, "/v1/Credentials": { - "description": "TODO: Resource-level docs", "servers": [ { "url": "https://accounts.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [], "pathType": "list" } }, "/v1/Credentials/AWS": { + "servers": [ + { + "url": "https://accounts.twilio.com" + } + ], "description": "User provided AWS keys", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "date_created" + ], + "pathType": "list", + "parent": "/Credentials" + }, "get": { "description": "Retrieves a collection of AWS Credentials belonging to the account used to make the request", - "operationId": "ListCredentialAws", "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -323,25 +278,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListCredentialAwsResponse", "properties": { "credentials": { + "type": "array", "items": { "$ref": "#/components/schemas/accounts.v1.credential.credential_aws" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -350,19 +305,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListCredentialAwsResponse", - "type": "object" + } } } }, @@ -374,43 +329,13 @@ "accountSid_authToken": [] } ], + "operationId": "ListCredentialAws", "x-maturity": [ "GA" ] }, "post": { "description": "Create a new AWS Credential", - "operationId": "CreateCredentialAws", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "AccountSid": { - "description": "The SID of the Subaccount that this Credential should be associated with. Must be a valid Subaccount of the account issuing the request.", - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "Credentials": { - "description": "A string that contains the AWS access credentials in the format `:`. For example, `AKIAIOSFODNN7EXAMPLE:wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY`", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long.", - "type": "string" - } - }, - "required": [ - "Credentials" - ], - "title": "CreateCredentialAwsRequest", - "type": "object" - } - } - } - }, "responses": { "201": { "content": { @@ -428,46 +353,84 @@ "accountSid_authToken": [] } ], + "operationId": "CreateCredentialAws", "x-maturity": [ "GA" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateCredentialAwsRequest", + "properties": { + "Credentials": { + "type": "string", + "description": "A string that contains the AWS access credentials in the format `:`. For example, `AKIAIOSFODNN7EXAMPLE:wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY`" + }, + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long." + }, + "AccountSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "description": "The SID of the Subaccount that this Credential should be associated with. Must be a valid Subaccount of the account issuing the request." + } + }, + "required": [ + "Credentials" + ] + } + } + } + } + } + }, + "/v1/Credentials/AWS/{Sid}": { "servers": [ { "url": "https://accounts.twilio.com" } ], + "description": "User provided AWS keys", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name", "date_created" ], - "parent": "/Credentials", - "pathType": "list" - } - }, - "/v1/Credentials/AWS/{Sid}": { - "delete": { - "description": "Delete a Credential from your account", - "operationId": "DeleteCredentialAws", + "pathType": "instance", + "parent": "/Credentials" + }, + "get": { + "description": "Fetch the AWS credentials specified by the provided Credential Sid", "parameters": [ { - "description": "The Twilio-provided string that uniquely identifies the AWS resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the AWS resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/accounts.v1.credential.credential_aws" + } + } + }, + "description": "OK" } }, "security": [ @@ -475,26 +438,25 @@ "accountSid_authToken": [] } ], + "operationId": "FetchCredentialAws", "x-maturity": [ "GA" ] }, - "description": "User provided AWS keys", - "get": { - "description": "Fetch the AWS credentials specified by the provided Credential Sid", - "operationId": "FetchCredentialAws", + "post": { + "description": "Modify the properties of a given Account", "parameters": [ { - "description": "The Twilio-provided string that uniquely identifies the AWS resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the AWS resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -514,53 +476,46 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateCredentialAws", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "Modify the properties of a given Account", - "operationId": "UpdateCredentialAws", - "parameters": [ - { - "description": "The Twilio-provided string that uniquely identifies the AWS resource to update.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateCredentialAwsRequest", "properties": { "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long.", - "type": "string" + "type": "string", + "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long." } - }, - "title": "UpdateCredentialAwsRequest", - "type": "object" + } } } } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/accounts.v1.credential.credential_aws" - } - } + } + }, + "delete": { + "description": "Delete a Credential from your account", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the AWS resource to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$" }, - "description": "OK" + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -568,39 +523,39 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteCredentialAws", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Credentials/PublicKeys": { "servers": [ { "url": "https://accounts.twilio.com" } ], + "description": "User provided public keys", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name", "date_created" ], - "parent": "/Credentials", - "pathType": "instance" - } - }, - "/v1/Credentials/PublicKeys": { - "description": "User provided public keys", + "pathType": "list", + "parent": "/Credentials" + }, "get": { "description": "Retrieves a collection of Public Key Credentials belonging to the account used to make the request", - "operationId": "ListCredentialPublicKey", "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -609,25 +564,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListCredentialPublicKeyResponse", "properties": { "credentials": { + "type": "array", "items": { "$ref": "#/components/schemas/accounts.v1.credential.credential_public_key" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -636,19 +591,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListCredentialPublicKeyResponse", - "type": "object" + } } } }, @@ -660,43 +615,13 @@ "accountSid_authToken": [] } ], + "operationId": "ListCredentialPublicKey", "x-maturity": [ "GA" ] }, "post": { "description": "Create a new Public Key Credential", - "operationId": "CreateCredentialPublicKey", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "AccountSid": { - "description": "The SID of the Subaccount that this Credential should be associated with. Must be a valid Subaccount of the account issuing the request", - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long.", - "type": "string" - }, - "PublicKey": { - "description": "A URL encoded representation of the public key. For example, `-----BEGIN PUBLIC KEY-----MIIBIjANB.pa9xQIDAQAB-----END PUBLIC KEY-----`", - "type": "string" - } - }, - "required": [ - "PublicKey" - ], - "title": "CreateCredentialPublicKeyRequest", - "type": "object" - } - } - } - }, "responses": { "201": { "content": { @@ -714,46 +639,84 @@ "accountSid_authToken": [] } ], + "operationId": "CreateCredentialPublicKey", "x-maturity": [ "GA" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateCredentialPublicKeyRequest", + "properties": { + "PublicKey": { + "type": "string", + "description": "A URL encoded representation of the public key. For example, `-----BEGIN PUBLIC KEY-----MIIBIjANB.pa9xQIDAQAB-----END PUBLIC KEY-----`" + }, + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long." + }, + "AccountSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "description": "The SID of the Subaccount that this Credential should be associated with. Must be a valid Subaccount of the account issuing the request" + } + }, + "required": [ + "PublicKey" + ] + } + } + } + } + } + }, + "/v1/Credentials/PublicKeys/{Sid}": { "servers": [ { "url": "https://accounts.twilio.com" } ], + "description": "User provided public keys", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name", "date_created" ], - "parent": "/Credentials", - "pathType": "list" - } - }, - "/v1/Credentials/PublicKeys/{Sid}": { - "delete": { - "description": "Delete a Credential from your account", - "operationId": "DeleteCredentialPublicKey", + "pathType": "instance", + "parent": "/Credentials" + }, + "get": { + "description": "Fetch the public key specified by the provided Credential Sid", "parameters": [ { - "description": "The Twilio-provided string that uniquely identifies the PublicKey resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the PublicKey resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/accounts.v1.credential.credential_public_key" + } + } + }, + "description": "OK" } }, "security": [ @@ -761,26 +724,25 @@ "accountSid_authToken": [] } ], + "operationId": "FetchCredentialPublicKey", "x-maturity": [ "GA" ] }, - "description": "User provided public keys", - "get": { - "description": "Fetch the public key specified by the provided Credential Sid", - "operationId": "FetchCredentialPublicKey", + "post": { + "description": "Modify the properties of a given Account", "parameters": [ { - "description": "The Twilio-provided string that uniquely identifies the PublicKey resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the PublicKey resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -800,53 +762,46 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateCredentialPublicKey", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "Modify the properties of a given Account", - "operationId": "UpdateCredentialPublicKey", - "parameters": [ - { - "description": "The Twilio-provided string that uniquely identifies the PublicKey resource to update.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateCredentialPublicKeyRequest", "properties": { "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long.", - "type": "string" + "type": "string", + "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long." } - }, - "title": "UpdateCredentialPublicKeyRequest", - "type": "object" + } } } } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/accounts.v1.credential.credential_public_key" - } - } + } + }, + "delete": { + "description": "Delete a Credential from your account", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the PublicKey resource to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$" }, - "description": "OK" + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -854,23 +809,68 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteCredentialPublicKey", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/AuthTokens/Secondary": { "servers": [ { "url": "https://accounts.twilio.com" } ], + "description": "Secondary Auth Token", "x-twilio": { "defaultOutputProperties": [ - "sid", - "friendly_name", + "account_sid", + "secondary_auth_token", "date_created" ], - "parent": "/Credentials", - "pathType": "instance" + "pathType": "instance", + "className": "secondary_auth_token" + }, + "post": { + "description": "Create a new secondary Auth Token", + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/accounts.v1.secondary_auth_token" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateSecondaryAuthToken", + "x-maturity": [ + "GA" + ] + }, + "delete": { + "description": "Delete the secondary Auth Token from your account", + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteSecondaryAuthToken", + "x-maturity": [ + "GA" + ] } } }, @@ -881,8 +881,8 @@ ], "x-maturity": [ { - "description": "This product is Generally Available.", - "name": "GA" + "name": "GA", + "description": "This product is Generally Available." } ] } \ No newline at end of file diff --git a/spec/json/twilio_api_v2010.json b/spec/json/twilio_api_v2010.json index 6acd30d4..887b6f50 100644 --- a/spec/json/twilio_api_v2010.json +++ b/spec/json/twilio_api_v2010.json @@ -2,434 +2,219 @@ "components": { "schemas": { "api.v2010.account": { + "type": "object", "properties": { "auth_token": { - "description": "The authorization token for this account", + "type": "string", "nullable": true, - "type": "string" + "description": "The authorization token for this account" }, "date_created": { - "description": "The date this account was created", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The date this account was created" }, "date_updated": { - "description": "The date this account was last updated", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The date this account was last updated" }, "friendly_name": { - "description": "A human readable description of this account", + "type": "string", "nullable": true, - "type": "string" + "description": "A human readable description of this account" }, "owner_account_sid": { - "description": "The unique 34 character id representing the parent of this account", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique 34 character id representing the parent of this account" }, "sid": { - "description": "A 34 character string that uniquely identifies this resource.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "A 34 character string that uniquely identifies this resource." }, "status": { - "description": "The status of this account", + "type": "string", "enum": [ "active", "suspended", "closed" ], "nullable": true, - "type": "string" + "description": "The status of this account" }, "subresource_uris": { - "description": "Account Instance Subresources", + "type": "object", "format": "uri-map", "nullable": true, - "type": "object" + "description": "Account Instance Subresources" }, "type": { - "description": "The type of this account", + "type": "string", "enum": [ "Trial", "Full" ], "nullable": true, - "type": "string" + "description": "The type of this account" }, "uri": { - "description": "The URI for this resource, relative to `https://api.twilio.com`", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI for this resource, relative to `https://api.twilio.com`" } - }, - "type": "object" + } }, "api.v2010.account.address": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that is responsible for the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that is responsible for the resource" }, "city": { - "description": "The city in which the address is located", + "type": "string", "nullable": true, - "type": "string" + "description": "The city in which the address is located" }, "customer_name": { - "description": "The name associated with the address", + "type": "string", "nullable": true, - "type": "string" + "description": "The name associated with the address" }, "date_created": { - "description": "The RFC 2822 date and time in GMT that the resource was created", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT that the resource was last updated", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" - }, - "emergency_enabled": { - "description": "Whether emergency calling has been enabled on this number", - "nullable": true, - "type": "boolean" + "description": "The RFC 2822 date and time in GMT that the resource was last updated" }, "friendly_name": { - "description": "The string that you assigned to describe the resource", + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the resource" }, "iso_country": { - "description": "The ISO country code of the address", + "type": "string", "format": "iso-country-code", "nullable": true, - "type": "string" + "description": "The ISO country code of the address" }, "postal_code": { - "description": "The postal code of the address", + "type": "string", "nullable": true, - "type": "string" + "description": "The postal code of the address" }, "region": { - "description": "The state or region of the address", + "type": "string", "nullable": true, - "type": "string" + "description": "The state or region of the address" }, "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^AD[0-9a-fA-F]{32}$", - "type": "string" - }, - "street": { - "description": "The number and street address of the address", - "nullable": true, - "type": "string" - }, - "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", - "format": "uri", - "nullable": true, - "type": "string" - }, - "validated": { - "description": "Whether the address has been validated to comply with local regulation", - "nullable": true, - "type": "boolean" - }, - "verified": { - "description": "Whether the address has been verified to comply with regulation", - "nullable": true, - "type": "boolean" - } - }, - "type": "object" - }, - "api.v2010.account.address.dependent_phone_number": { - "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "address_requirements": { - "description": "Whether the phone number requires an Address registered with Twilio", - "enum": [ - "none", - "any", - "local", - "foreign" - ], - "nullable": true, - "type": "string" - }, - "api_version": { - "description": "The API version used to start a new TwiML session", - "nullable": true, - "type": "string" - }, - "capabilities": { - "description": "Indicate if a phone can receive calls or messages", - "nullable": true - }, - "date_created": { - "description": "The RFC 2822 date and time in GMT that the resource was created", - "format": "date-time-rfc-2822", - "nullable": true, - "type": "string" - }, - "date_updated": { - "description": "The RFC 2822 date and time in GMT that the resource was last updated", - "format": "date-time-rfc-2822", - "nullable": true, - "type": "string" - }, - "emergency_address_sid": { - "description": "The emergency address configuration to use for emergency calling", "maxLength": 34, - "minLength": 34, - "nullable": true, "pattern": "^AD[0-9a-fA-F]{32}$", - "type": "string" - }, - "emergency_status": { - "description": "Whether the phone number is enabled for emergency calling", - "enum": [ - "Active", - "Inactive" - ], - "nullable": true, - "type": "string" - }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", - "format": "phone-number", - "nullable": true, - "type": "string" - }, - "phone_number": { - "description": "The phone number in E.164 format", - "format": "phone-number", - "nullable": true, - "type": "string" - }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^PN[0-9a-fA-F]{32}$", - "type": "string" - }, - "sms_application_sid": { - "description": "The SID of the application that handles SMS messages sent to the phone number", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^AP[0-9a-fA-F]{32}$", - "type": "string" - }, - "sms_fallback_method": { - "description": "The HTTP method used with sms_fallback_url", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "nullable": true, - "type": "string" - }, - "sms_fallback_url": { - "description": "The URL that we call when an error occurs while retrieving or executing the TwiML", - "format": "uri", - "nullable": true, - "type": "string" - }, - "sms_method": { - "description": "The HTTP method to use with sms_url", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "nullable": true, - "type": "string" - }, - "sms_url": { - "description": "The URL we call when the phone number receives an incoming SMS message", - "format": "uri", - "nullable": true, - "type": "string" - }, - "status_callback": { - "description": "The URL to send status information to your application", - "format": "uri", - "nullable": true, - "type": "string" - }, - "status_callback_method": { - "description": "The HTTP method we use to call status_callback", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The unique string that identifies the resource" }, - "trunk_sid": { - "description": "The SID of the Trunk that handles calls to the phone number", - "maxLength": 34, - "minLength": 34, + "street": { + "type": "string", "nullable": true, - "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" + "description": "The number and street address of the address" }, "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", + "type": "string", "format": "uri", "nullable": true, - "type": "string" - }, - "voice_application_sid": { - "description": "The SID of the application that handles calls to the phone number", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^AP[0-9a-fA-F]{32}$", - "type": "string" - }, - "voice_caller_id_lookup": { - "description": "Whether to lookup the caller's name", - "nullable": true, - "type": "boolean" - }, - "voice_fallback_method": { - "description": "The HTTP method used with voice_fallback_url", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "nullable": true, - "type": "string" + "description": "The URI of the resource, relative to `https://api.twilio.com`" }, - "voice_fallback_url": { - "description": "The URL we call when an error occurs in TwiML", - "format": "uri", + "emergency_enabled": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Whether emergency calling has been enabled on this number" }, - "voice_method": { - "description": "The HTTP method used with the voice_url", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", + "validated": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Whether the address has been validated to comply with local regulation" }, - "voice_url": { - "description": "The URL we call when the phone number receives a call", - "format": "uri", + "verified": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Whether the address has been verified to comply with regulation" } - }, - "type": "object" + } }, "api.v2010.account.application": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "api_version": { - "description": "The API version used to start a new TwiML session", + "type": "string", "nullable": true, - "type": "string" + "description": "The API version used to start a new TwiML session" }, "date_created": { - "description": "The RFC 2822 date and time in GMT that the resource was created", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT that the resource was last updated", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was last updated" }, "friendly_name": { - "description": "The string that you assigned to describe the resource", + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the resource" }, "message_status_callback": { - "description": "The URL to send message status information to your application", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL to send message status information to your application" }, "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AP[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string that identifies the resource" }, "sms_fallback_method": { - "description": "The HTTP method used with sms_fallback_url", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -438,18 +223,18 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method used with sms_fallback_url" }, "sms_fallback_url": { - "description": "The URL that we call when an error occurs while retrieving or executing the TwiML", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL that we call when an error occurs while retrieving or executing the TwiML" }, "sms_method": { - "description": "The HTTP method to use with sms_url", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -458,30 +243,30 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method to use with sms_url" }, "sms_status_callback": { - "description": "The URL to send status information to your application", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL to send status information to your application" }, "sms_url": { - "description": "The URL we call when the phone number receives an incoming SMS message", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL we call when the phone number receives an incoming SMS message" }, "status_callback": { - "description": "The URL to send status information to your application", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL to send status information to your application" }, "status_callback_method": { - "description": "The HTTP method we use to call status_callback", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -490,23 +275,23 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method we use to call status_callback" }, "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI of the resource, relative to `https://api.twilio.com`" }, "voice_caller_id_lookup": { - "description": "Whether to lookup the caller's name", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Whether to lookup the caller's name" }, "voice_fallback_method": { - "description": "The HTTP method used with voice_fallback_url", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -515,18 +300,18 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method used with voice_fallback_url" }, "voice_fallback_url": { - "description": "The URL we call when a TwiML error occurs", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL we call when a TwiML error occurs" }, "voice_method": { - "description": "The HTTP method used with the voice_url", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -535,232 +320,192 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method used with the voice_url" }, "voice_url": { - "description": "The URL we call when the phone number receives a call", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL we call when the phone number receives a call" } - }, - "type": "object" + } }, "api.v2010.account.authorized_connect_app": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "connect_app_company_name": { - "description": "The company name set for the Connect App", + "type": "string", "nullable": true, - "type": "string" + "description": "The company name set for the Connect App" }, "connect_app_description": { - "description": "A detailed description of the app", + "type": "string", "nullable": true, - "type": "string" + "description": "A detailed description of the app" }, "connect_app_friendly_name": { - "description": "The name of the Connect App", + "type": "string", "nullable": true, - "type": "string" + "description": "The name of the Connect App" }, "connect_app_homepage_url": { - "description": "The public URL for the Connect App", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The public URL for the Connect App" }, "connect_app_sid": { - "description": "The SID that we assigned to the Connect App", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CN[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID that we assigned to the Connect App" }, "date_created": { - "description": "The RFC 2822 date and time in GMT that the resource was created", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT that the resource was last updated", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was last updated" }, "permissions": { - "description": "Permissions authorized to the app", + "type": "array", "items": { + "type": "string", "enum": [ "get-all", "post-all" - ], - "type": "string" + ] }, "nullable": true, - "type": "array" + "description": "Permissions authorized to the app" }, "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI of the resource, relative to `https://api.twilio.com`" } - }, - "type": "object" + } }, "api.v2010.account.available_phone_number_country": { + "type": "object", "properties": { - "beta": { - "description": "Whether all phone numbers available in the country are new to the Twilio platform.", + "country_code": { + "type": "string", + "format": "iso-country-code", "nullable": true, - "type": "boolean" + "description": "The ISO-3166-1 country code of the country." }, "country": { - "description": "The name of the country", + "type": "string", "nullable": true, - "type": "string" + "description": "The name of the country" }, - "country_code": { - "description": "The ISO-3166-1 country code of the country.", - "format": "iso-country-code", + "uri": { + "type": "string", + "format": "uri", "nullable": true, - "type": "string" + "description": "The URI of the Country resource, relative to `https://api.twilio.com`" }, - "subresource_uris": { - "description": "A list of related resources identified by their relative URIs", - "format": "uri-map", + "beta": { + "type": "boolean", "nullable": true, - "type": "object" + "description": "Whether all phone numbers available in the country are new to the Twilio platform." }, - "uri": { - "description": "The URI of the Country resource, relative to `https://api.twilio.com`", - "format": "uri", + "subresource_uris": { + "type": "object", + "format": "uri-map", "nullable": true, - "type": "string" + "description": "A list of related resources identified by their relative URIs" } - }, - "type": "object" + } }, "api.v2010.account.available_phone_number_country.available_phone_number_local": { + "type": "object", "properties": { - "address_requirements": { - "description": "The type of Address resource the phone number requires", + "friendly_name": { + "type": "string", + "format": "phone-number", "nullable": true, - "type": "string" + "description": "A formatted version of the phone number" }, - "beta": { - "description": "Whether the phone number is new to the Twilio platform", + "phone_number": { + "type": "string", + "format": "phone-number", "nullable": true, - "type": "boolean" + "description": "The phone number in E.164 format" }, - "capabilities": { - "description": "Whether a phone number can receive calls or messages", - "format": "phone-number-capabilities", + "lata": { + "type": "string", "nullable": true, - "properties": { - "fax": { - "type": "boolean" - }, - "mms": { - "type": "boolean" - }, - "sms": { - "type": "boolean" - }, - "voice": { - "type": "boolean" - } - }, - "type": "object" - }, - "friendly_name": { - "description": "A formatted version of the phone number", - "format": "phone-number", - "nullable": true, - "type": "string" + "description": "The LATA of this phone number" }, - "iso_country": { - "description": "The ISO country code of this phone number", - "format": "iso-country-code", + "locality": { + "type": "string", "nullable": true, - "type": "string" + "description": "The locality or city of this phone number's location" }, - "lata": { - "description": "The LATA of this phone number", + "rate_center": { + "type": "string", "nullable": true, - "type": "string" + "description": "The rate center of this phone number" }, "latitude": { - "description": "The latitude of this phone number's location", - "nullable": true, - "type": "string" - }, - "locality": { - "description": "The locality or city of this phone number's location", + "type": "string", "nullable": true, - "type": "string" + "description": "The latitude of this phone number's location" }, "longitude": { - "description": "The longitude of this phone number's location", + "type": "string", "nullable": true, - "type": "string" + "description": "The longitude of this phone number's location" }, - "phone_number": { - "description": "The phone number in E.164 format", - "format": "phone-number", + "region": { + "type": "string", "nullable": true, - "type": "string" + "description": "The two-letter state or province abbreviation of this phone number's location" }, "postal_code": { - "description": "The postal or ZIP code of this phone number's location", + "type": "string", "nullable": true, - "type": "string" + "description": "The postal or ZIP code of this phone number's location" }, - "rate_center": { - "description": "The rate center of this phone number", + "iso_country": { + "type": "string", + "format": "iso-country-code", "nullable": true, - "type": "string" + "description": "The ISO country code of this phone number" }, - "region": { - "description": "The two-letter state or province abbreviation of this phone number's location", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "api.v2010.account.available_phone_number_country.available_phone_number_machine_to_machine": { - "properties": { "address_requirements": { - "description": "The type of Address resource the phone number requires", + "type": "string", "nullable": true, - "type": "string" + "description": "The type of Address resource the phone number requires" }, "beta": { - "description": "Whether the phone number is new to the Twilio platform", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Whether the phone number is new to the Twilio platform" }, "capabilities": { - "description": "Whether a phone number can receive calls or messages", + "type": "object", "format": "phone-number-capabilities", - "nullable": true, "properties": { - "fax": { - "type": "boolean" - }, "mms": { "type": "boolean" }, @@ -769,86 +514,86 @@ }, "voice": { "type": "boolean" + }, + "fax": { + "type": "boolean" } }, - "type": "object" - }, + "nullable": true, + "description": "Whether a phone number can receive calls or messages" + } + } + }, + "api.v2010.account.available_phone_number_country.available_phone_number_machine_to_machine": { + "type": "object", + "properties": { "friendly_name": { - "description": "A formatted version of the phone number", + "type": "string", "format": "phone-number", "nullable": true, - "type": "string" + "description": "A formatted version of the phone number" }, - "iso_country": { - "description": "The ISO country code of this phone number", - "format": "iso-country-code", + "phone_number": { + "type": "string", + "format": "phone-number", "nullable": true, - "type": "string" + "description": "The phone number in E.164 format" }, "lata": { - "description": "The LATA of this phone number", + "type": "string", "nullable": true, - "type": "string" + "description": "The LATA of this phone number" }, - "latitude": { - "description": "The latitude of this phone number's location", + "locality": { + "type": "string", "nullable": true, - "type": "string" + "description": "The locality or city of this phone number's location" }, - "locality": { - "description": "The locality or city of this phone number's location", + "rate_center": { + "type": "string", + "nullable": true, + "description": "The rate center of this phone number" + }, + "latitude": { + "type": "string", "nullable": true, - "type": "string" + "description": "The latitude of this phone number's location" }, "longitude": { - "description": "The longitude of this phone number's location", + "type": "string", "nullable": true, - "type": "string" + "description": "The longitude of this phone number's location" }, - "phone_number": { - "description": "The phone number in E.164 format", - "format": "phone-number", + "region": { + "type": "string", "nullable": true, - "type": "string" + "description": "The two-letter state or province abbreviation of this phone number's location" }, "postal_code": { - "description": "The postal or ZIP code of this phone number's location", + "type": "string", "nullable": true, - "type": "string" + "description": "The postal or ZIP code of this phone number's location" }, - "rate_center": { - "description": "The rate center of this phone number", + "iso_country": { + "type": "string", + "format": "iso-country-code", "nullable": true, - "type": "string" + "description": "The ISO country code of this phone number" }, - "region": { - "description": "The two-letter state or province abbreviation of this phone number's location", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "api.v2010.account.available_phone_number_country.available_phone_number_mobile": { - "properties": { "address_requirements": { - "description": "The type of Address resource the phone number requires", + "type": "string", "nullable": true, - "type": "string" + "description": "The type of Address resource the phone number requires" }, "beta": { - "description": "Whether the phone number is new to the Twilio platform", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Whether the phone number is new to the Twilio platform" }, "capabilities": { - "description": "Whether a phone number can receive calls or messages", + "type": "object", "format": "phone-number-capabilities", - "nullable": true, "properties": { - "fax": { - "type": "boolean" - }, "mms": { "type": "boolean" }, @@ -857,86 +602,86 @@ }, "voice": { "type": "boolean" + }, + "fax": { + "type": "boolean" } }, - "type": "object" - }, + "nullable": true, + "description": "Whether a phone number can receive calls or messages" + } + } + }, + "api.v2010.account.available_phone_number_country.available_phone_number_mobile": { + "type": "object", + "properties": { "friendly_name": { - "description": "A formatted version of the phone number", + "type": "string", "format": "phone-number", "nullable": true, - "type": "string" + "description": "A formatted version of the phone number" }, - "iso_country": { - "description": "The ISO country code of this phone number", - "format": "iso-country-code", + "phone_number": { + "type": "string", + "format": "phone-number", "nullable": true, - "type": "string" + "description": "The phone number in E.164 format" }, "lata": { - "description": "The LATA of this phone number", + "type": "string", "nullable": true, - "type": "string" + "description": "The LATA of this phone number" }, - "latitude": { - "description": "The latitude of this phone number's location", + "locality": { + "type": "string", "nullable": true, - "type": "string" + "description": "The locality or city of this phone number's location" }, - "locality": { - "description": "The locality or city of this phone number's location", + "rate_center": { + "type": "string", + "nullable": true, + "description": "The rate center of this phone number" + }, + "latitude": { + "type": "string", "nullable": true, - "type": "string" + "description": "The latitude of this phone number's location" }, "longitude": { - "description": "The longitude of this phone number's location", + "type": "string", "nullable": true, - "type": "string" + "description": "The longitude of this phone number's location" }, - "phone_number": { - "description": "The phone number in E.164 format", - "format": "phone-number", + "region": { + "type": "string", "nullable": true, - "type": "string" + "description": "The two-letter state or province abbreviation of this phone number's location" }, "postal_code": { - "description": "The postal or ZIP code of this phone number's location", + "type": "string", "nullable": true, - "type": "string" + "description": "The postal or ZIP code of this phone number's location" }, - "rate_center": { - "description": "The rate center of this phone number", + "iso_country": { + "type": "string", + "format": "iso-country-code", "nullable": true, - "type": "string" + "description": "The ISO country code of this phone number" }, - "region": { - "description": "The two-letter state or province abbreviation of this phone number's location", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "api.v2010.account.available_phone_number_country.available_phone_number_national": { - "properties": { "address_requirements": { - "description": "The type of Address resource the phone number requires", + "type": "string", "nullable": true, - "type": "string" + "description": "The type of Address resource the phone number requires" }, "beta": { - "description": "Whether the phone number is new to the Twilio platform", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Whether the phone number is new to the Twilio platform" }, "capabilities": { - "description": "Whether a phone number can receive calls or messages", + "type": "object", "format": "phone-number-capabilities", - "nullable": true, "properties": { - "fax": { - "type": "boolean" - }, "mms": { "type": "boolean" }, @@ -945,86 +690,86 @@ }, "voice": { "type": "boolean" + }, + "fax": { + "type": "boolean" } }, - "type": "object" - }, + "nullable": true, + "description": "Whether a phone number can receive calls or messages" + } + } + }, + "api.v2010.account.available_phone_number_country.available_phone_number_national": { + "type": "object", + "properties": { "friendly_name": { - "description": "A formatted version of the phone number", + "type": "string", "format": "phone-number", "nullable": true, - "type": "string" + "description": "A formatted version of the phone number" }, - "iso_country": { - "description": "The ISO country code of this phone number", - "format": "iso-country-code", + "phone_number": { + "type": "string", + "format": "phone-number", "nullable": true, - "type": "string" + "description": "The phone number in E.164 format" }, "lata": { - "description": "The LATA of this phone number", + "type": "string", "nullable": true, - "type": "string" + "description": "The LATA of this phone number" }, - "latitude": { - "description": "The latitude of this phone number's location", + "locality": { + "type": "string", "nullable": true, - "type": "string" + "description": "The locality or city of this phone number's location" }, - "locality": { - "description": "The locality or city of this phone number's location", + "rate_center": { + "type": "string", + "nullable": true, + "description": "The rate center of this phone number" + }, + "latitude": { + "type": "string", "nullable": true, - "type": "string" + "description": "The latitude of this phone number's location" }, "longitude": { - "description": "The longitude of this phone number's location", + "type": "string", "nullable": true, - "type": "string" + "description": "The longitude of this phone number's location" }, - "phone_number": { - "description": "The phone number in E.164 format", - "format": "phone-number", + "region": { + "type": "string", "nullable": true, - "type": "string" + "description": "The two-letter state or province abbreviation of this phone number's location" }, "postal_code": { - "description": "The postal or ZIP code of this phone number's location", + "type": "string", "nullable": true, - "type": "string" + "description": "The postal or ZIP code of this phone number's location" }, - "rate_center": { - "description": "The rate center of this phone number", + "iso_country": { + "type": "string", + "format": "iso-country-code", "nullable": true, - "type": "string" + "description": "The ISO country code of this phone number" }, - "region": { - "description": "The two-letter state or province abbreviation of this phone number's location", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "api.v2010.account.available_phone_number_country.available_phone_number_shared_cost": { - "properties": { "address_requirements": { - "description": "The type of Address resource the phone number requires", + "type": "string", "nullable": true, - "type": "string" + "description": "The type of Address resource the phone number requires" }, "beta": { - "description": "Whether the phone number is new to the Twilio platform", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Whether the phone number is new to the Twilio platform" }, "capabilities": { - "description": "Whether a phone number can receive calls or messages", + "type": "object", "format": "phone-number-capabilities", - "nullable": true, "properties": { - "fax": { - "type": "boolean" - }, "mms": { "type": "boolean" }, @@ -1033,86 +778,86 @@ }, "voice": { "type": "boolean" + }, + "fax": { + "type": "boolean" } }, - "type": "object" - }, + "nullable": true, + "description": "Whether a phone number can receive calls or messages" + } + } + }, + "api.v2010.account.available_phone_number_country.available_phone_number_shared_cost": { + "type": "object", + "properties": { "friendly_name": { - "description": "A formatted version of the phone number", + "type": "string", "format": "phone-number", "nullable": true, - "type": "string" + "description": "A formatted version of the phone number" }, - "iso_country": { - "description": "The ISO country code of this phone number", - "format": "iso-country-code", + "phone_number": { + "type": "string", + "format": "phone-number", "nullable": true, - "type": "string" + "description": "The phone number in E.164 format" }, "lata": { - "description": "The LATA of this phone number", + "type": "string", "nullable": true, - "type": "string" + "description": "The LATA of this phone number" }, - "latitude": { - "description": "The latitude of this phone number's location", + "locality": { + "type": "string", "nullable": true, - "type": "string" + "description": "The locality or city of this phone number's location" }, - "locality": { - "description": "The locality or city of this phone number's location", + "rate_center": { + "type": "string", + "nullable": true, + "description": "The rate center of this phone number" + }, + "latitude": { + "type": "string", "nullable": true, - "type": "string" + "description": "The latitude of this phone number's location" }, "longitude": { - "description": "The longitude of this phone number's location", + "type": "string", "nullable": true, - "type": "string" + "description": "The longitude of this phone number's location" }, - "phone_number": { - "description": "The phone number in E.164 format", - "format": "phone-number", + "region": { + "type": "string", "nullable": true, - "type": "string" + "description": "The two-letter state or province abbreviation of this phone number's location" }, "postal_code": { - "description": "The postal or ZIP code of this phone number's location", + "type": "string", "nullable": true, - "type": "string" + "description": "The postal or ZIP code of this phone number's location" }, - "rate_center": { - "description": "The rate center of this phone number", + "iso_country": { + "type": "string", + "format": "iso-country-code", "nullable": true, - "type": "string" + "description": "The ISO country code of this phone number" }, - "region": { - "description": "The two-letter state or province abbreviation of this phone number's location", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "api.v2010.account.available_phone_number_country.available_phone_number_toll_free": { - "properties": { "address_requirements": { - "description": "The type of Address resource the phone number requires", + "type": "string", "nullable": true, - "type": "string" + "description": "The type of Address resource the phone number requires" }, "beta": { - "description": "Whether the phone number is new to the Twilio platform", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Whether the phone number is new to the Twilio platform" }, "capabilities": { - "description": "Whether a phone number can receive calls or messages", + "type": "object", "format": "phone-number-capabilities", - "nullable": true, "properties": { - "fax": { - "type": "boolean" - }, "mms": { "type": "boolean" }, @@ -1121,86 +866,86 @@ }, "voice": { "type": "boolean" + }, + "fax": { + "type": "boolean" } }, - "type": "object" - }, + "nullable": true, + "description": "Whether a phone number can receive calls or messages" + } + } + }, + "api.v2010.account.available_phone_number_country.available_phone_number_toll_free": { + "type": "object", + "properties": { "friendly_name": { - "description": "A formatted version of the phone number", + "type": "string", "format": "phone-number", "nullable": true, - "type": "string" + "description": "A formatted version of the phone number" }, - "iso_country": { - "description": "The ISO country code of this phone number", - "format": "iso-country-code", + "phone_number": { + "type": "string", + "format": "phone-number", "nullable": true, - "type": "string" + "description": "The phone number in E.164 format" }, "lata": { - "description": "The LATA of this phone number", + "type": "string", "nullable": true, - "type": "string" + "description": "The LATA of this phone number" }, - "latitude": { - "description": "The latitude of this phone number's location", + "locality": { + "type": "string", "nullable": true, - "type": "string" + "description": "The locality or city of this phone number's location" }, - "locality": { - "description": "The locality or city of this phone number's location", + "rate_center": { + "type": "string", + "nullable": true, + "description": "The rate center of this phone number" + }, + "latitude": { + "type": "string", "nullable": true, - "type": "string" + "description": "The latitude of this phone number's location" }, "longitude": { - "description": "The longitude of this phone number's location", + "type": "string", "nullable": true, - "type": "string" + "description": "The longitude of this phone number's location" }, - "phone_number": { - "description": "The phone number in E.164 format", - "format": "phone-number", + "region": { + "type": "string", "nullable": true, - "type": "string" + "description": "The two-letter state or province abbreviation of this phone number's location" }, "postal_code": { - "description": "The postal or ZIP code of this phone number's location", + "type": "string", "nullable": true, - "type": "string" + "description": "The postal or ZIP code of this phone number's location" }, - "rate_center": { - "description": "The rate center of this phone number", + "iso_country": { + "type": "string", + "format": "iso-country-code", "nullable": true, - "type": "string" + "description": "The ISO country code of this phone number" }, - "region": { - "description": "The two-letter state or province abbreviation of this phone number's location", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "api.v2010.account.available_phone_number_country.available_phone_number_voip": { - "properties": { "address_requirements": { - "description": "The type of Address resource the phone number requires", + "type": "string", "nullable": true, - "type": "string" + "description": "The type of Address resource the phone number requires" }, "beta": { - "description": "Whether the phone number is new to the Twilio platform", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Whether the phone number is new to the Twilio platform" }, "capabilities": { - "description": "Whether a phone number can receive calls or messages", + "type": "object", "format": "phone-number-capabilities", - "nullable": true, "properties": { - "fax": { - "type": "boolean" - }, "mms": { "type": "boolean" }, @@ -1209,297 +954,337 @@ }, "voice": { "type": "boolean" + }, + "fax": { + "type": "boolean" } }, - "type": "object" - }, + "nullable": true, + "description": "Whether a phone number can receive calls or messages" + } + } + }, + "api.v2010.account.available_phone_number_country.available_phone_number_voip": { + "type": "object", + "properties": { "friendly_name": { - "description": "A formatted version of the phone number", + "type": "string", "format": "phone-number", "nullable": true, - "type": "string" + "description": "A formatted version of the phone number" }, - "iso_country": { - "description": "The ISO country code of this phone number", - "format": "iso-country-code", + "phone_number": { + "type": "string", + "format": "phone-number", "nullable": true, - "type": "string" + "description": "The phone number in E.164 format" }, "lata": { - "description": "The LATA of this phone number", + "type": "string", "nullable": true, - "type": "string" + "description": "The LATA of this phone number" }, - "latitude": { - "description": "The latitude of this phone number's location", + "locality": { + "type": "string", "nullable": true, - "type": "string" + "description": "The locality or city of this phone number's location" }, - "locality": { - "description": "The locality or city of this phone number's location", + "rate_center": { + "type": "string", + "nullable": true, + "description": "The rate center of this phone number" + }, + "latitude": { + "type": "string", "nullable": true, - "type": "string" + "description": "The latitude of this phone number's location" }, "longitude": { - "description": "The longitude of this phone number's location", + "type": "string", "nullable": true, - "type": "string" + "description": "The longitude of this phone number's location" }, - "phone_number": { - "description": "The phone number in E.164 format", - "format": "phone-number", + "region": { + "type": "string", "nullable": true, - "type": "string" + "description": "The two-letter state or province abbreviation of this phone number's location" }, "postal_code": { - "description": "The postal or ZIP code of this phone number's location", + "type": "string", "nullable": true, - "type": "string" + "description": "The postal or ZIP code of this phone number's location" }, - "rate_center": { - "description": "The rate center of this phone number", + "iso_country": { + "type": "string", + "format": "iso-country-code", "nullable": true, - "type": "string" + "description": "The ISO country code of this phone number" }, - "region": { - "description": "The two-letter state or province abbreviation of this phone number's location", + "address_requirements": { + "type": "string", "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "api.v2010.account.balance": { + "description": "The type of Address resource the phone number requires" + }, + "beta": { + "type": "boolean", + "nullable": true, + "description": "Whether the phone number is new to the Twilio platform" + }, + "capabilities": { + "type": "object", + "format": "phone-number-capabilities", + "properties": { + "mms": { + "type": "boolean" + }, + "sms": { + "type": "boolean" + }, + "voice": { + "type": "boolean" + }, + "fax": { + "type": "boolean" + } + }, + "nullable": true, + "description": "Whether a phone number can receive calls or messages" + } + } + }, + "api.v2010.account.balance": { + "type": "object", "properties": { "account_sid": { - "description": "Account Sid.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "Account Sid." }, "balance": { - "description": "Account balance", + "type": "string", "nullable": true, - "type": "string" + "description": "Account balance" }, "currency": { - "description": "Currency units", + "type": "string", "nullable": true, - "type": "string" + "description": "Currency units" } - }, - "type": "object" + } }, "api.v2010.account.call": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created this resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "answered_by": { - "description": "Either `human` or `machine` if this call was initiated with answering machine detection. Empty otherwise.", - "nullable": true, - "type": "string" - }, - "api_version": { - "description": "The API Version used to create the call", - "nullable": true, - "type": "string" - }, - "caller_name": { - "description": "The caller's name if this call was an incoming call to a phone number with caller ID Lookup enabled. Otherwise, empty.", - "nullable": true, - "type": "string" + "description": "The unique string that identifies this resource" }, "date_created": { - "description": "The RFC 2822 date and time in GMT that this resource was created", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that this resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT that this resource was last updated", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that this resource was last updated" }, - "direction": { - "description": "A string describing the direction of the call. `inbound` for inbound calls, `outbound-api` for calls initiated via the REST API or `outbound-dial` for calls initiated by a `Dial` verb.", + "parent_call_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID that identifies the call that created this leg." }, - "duration": { - "description": "The length of the call in seconds.", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created this resource" }, - "end_time": { - "description": "The end time of the call. Null if the call did not complete successfully.", - "format": "date-time-rfc-2822", + "to": { + "type": "string", "nullable": true, - "type": "string" + "description": "The phone number, SIP address or Client identifier that received this call. Phone numbers are in E.164 format (e.g., +16175551212). SIP addresses are formatted as `name@company.com`. Client identifiers are formatted `client:name`." }, - "forwarded_from": { - "description": "The forwarding phone number if this call was an incoming call forwarded from another number (depends on carrier supporting forwarding). Otherwise, empty.", + "to_formatted": { + "type": "string", "nullable": true, - "type": "string" + "description": "The phone number, SIP address or Client identifier that received this call. Formatted for display." }, "from": { - "description": "The phone number, SIP address or Client identifier that made this call. Phone numbers are in E.164 format (e.g., +16175551212). SIP addresses are formatted as `name@company.com`. Client identifiers are formatted `client:name`.", + "type": "string", "nullable": true, - "type": "string" + "description": "The phone number, SIP address or Client identifier that made this call. Phone numbers are in E.164 format (e.g., +16175551212). SIP addresses are formatted as `name@company.com`. Client identifiers are formatted `client:name`." }, "from_formatted": { - "description": "The calling phone number, SIP address, or Client identifier formatted for display.", + "type": "string", "nullable": true, - "type": "string" + "description": "The calling phone number, SIP address, or Client identifier formatted for display." }, - "group_sid": { - "description": "The Group SID associated with this call. If no Group is associated with the call, the field is empty.", - "maxLength": 34, + "phone_number_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^PN[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^GP[0-9a-fA-F]{32}$", - "type": "string" + "description": "If the call was inbound, this is the SID of the IncomingPhoneNumber resource that received the call. If the call was outbound, it is the SID of the OutgoingCallerId resource from which the call was placed." }, - "parent_call_sid": { - "description": "The SID that identifies the call that created this leg.", - "maxLength": 34, - "minLength": 34, + "status": { + "type": "string", + "enum": [ + "queued", + "ringing", + "in-progress", + "completed", + "busy", + "failed", + "no-answer", + "canceled" + ], "nullable": true, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" + "description": "The status of this call." }, - "phone_number_sid": { - "description": "If the call was inbound, this is the SID of the IncomingPhoneNumber resource that received the call. If the call was outbound, it is the SID of the OutgoingCallerId resource from which the call was placed.", - "maxLength": 34, - "minLength": 34, + "start_time": { + "type": "string", + "format": "date-time-rfc-2822", "nullable": true, - "pattern": "^PN[0-9a-fA-F]{32}$", - "type": "string" + "description": "The start time of the call. Null if the call has not yet been dialed." + }, + "end_time": { + "type": "string", + "format": "date-time-rfc-2822", + "nullable": true, + "description": "The end time of the call. Null if the call did not complete successfully." + }, + "duration": { + "type": "string", + "nullable": true, + "description": "The length of the call in seconds." }, "price": { - "description": "The charge for this call, in the currency associated with the account. Populated after the call is completed. May not be immediately available.", + "type": "string", "nullable": true, - "type": "string" + "description": "The charge for this call, in the currency associated with the account. Populated after the call is completed. May not be immediately available." }, "price_unit": { - "description": "The currency in which `Price` is measured.", + "type": "string", "format": "currency", "nullable": true, - "type": "string" + "description": "The currency in which `Price` is measured." }, - "queue_time": { - "description": "The wait time in milliseconds before the call is placed.", + "direction": { + "type": "string", "nullable": true, - "type": "string" + "description": "A string describing the direction of the call. `inbound` for inbound calls, `outbound-api` for calls initiated via the REST API or `outbound-dial` for calls initiated by a `Dial` verb." }, - "sid": { - "description": "The unique string that identifies this resource", - "maxLength": 34, - "minLength": 34, + "answered_by": { + "type": "string", "nullable": true, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" + "description": "Either `human` or `machine` if this call was initiated with answering machine detection. Empty otherwise." }, - "start_time": { - "description": "The start time of the call. Null if the call has not yet been dialed.", - "format": "date-time-rfc-2822", + "api_version": { + "type": "string", "nullable": true, - "type": "string" + "description": "The API Version used to create the call" }, - "status": { - "description": "The status of this call.", - "enum": [ - "queued", - "ringing", - "in-progress", - "completed", - "busy", - "failed", - "no-answer", - "canceled" - ], + "forwarded_from": { + "type": "string", "nullable": true, - "type": "string" + "description": "The forwarding phone number if this call was an incoming call forwarded from another number (depends on carrier supporting forwarding). Otherwise, empty." }, - "subresource_uris": { - "description": "A list of related subresources identified by their relative URIs", - "format": "uri-map", + "group_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^GP[0-9a-fA-F]{32}$", "nullable": true, - "type": "object" + "description": "The Group SID associated with this call. If no Group is associated with the call, the field is empty." }, - "to": { - "description": "The phone number, SIP address or Client identifier that received this call. Phone numbers are in E.164 format (e.g., +16175551212). SIP addresses are formatted as `name@company.com`. Client identifiers are formatted `client:name`.", + "caller_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "The caller's name if this call was an incoming call to a phone number with caller ID Lookup enabled. Otherwise, empty." }, - "to_formatted": { - "description": "The phone number, SIP address or Client identifier that received this call. Formatted for display.", + "queue_time": { + "type": "string", "nullable": true, - "type": "string" + "description": "The wait time in milliseconds before the call is placed." }, "trunk_sid": { - "description": "The (optional) unique identifier of the trunk resource that was used for this call.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The (optional) unique identifier of the trunk resource that was used for this call." }, "uri": { - "description": "The URI of this resource, relative to `https://api.twilio.com`", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI of this resource, relative to `https://api.twilio.com`" + }, + "subresource_uris": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "A list of related subresources identified by their relative URIs" } - }, - "type": "object" + } }, "api.v2010.account.call.call_event": { + "type": "object", "properties": { "request": { - "description": "Call Request.", - "nullable": true + "nullable": true, + "description": "Call Request." }, "response": { - "description": "Call Response with Events.", - "nullable": true + "nullable": true, + "description": "Call Response with Events." } - }, - "type": "object" + } }, "api.v2010.account.call.call_feedback": { + "type": "object", "properties": { "account_sid": { - "description": "The unique sid that identifies this account", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique sid that identifies this account" }, "date_created": { - "description": "The date this resource was created", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The date this resource was created" }, "date_updated": { - "description": "The date this resource was last updated", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The date this resource was last updated" }, "issues": { - "description": "Issues experienced during the call", + "type": "array", "items": { + "type": "string", "enum": [ "audio-latency", "digits-not-captured", @@ -1509,108 +1294,107 @@ "one-way-audio", "post-dial-delay", "unsolicited-call" - ], - "type": "string" + ] }, "nullable": true, - "type": "array" + "description": "Issues experienced during the call" }, "quality_score": { - "description": "1 to 5 quality score", + "type": "integer", "nullable": true, - "type": "integer" + "description": "1 to 5 quality score" }, "sid": { - "description": "A string that uniquely identifies this feedback resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "A string that uniquely identifies this feedback resource" } - }, - "type": "object" + } }, "api.v2010.account.call.call_feedback_summary": { + "type": "object", "properties": { "account_sid": { - "description": "The unique sid that identifies this account", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique sid that identifies this account" }, "call_count": { - "description": "The total number of calls", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of calls" }, "call_feedback_count": { - "description": "The total number of calls with a feedback entry", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of calls with a feedback entry" }, "date_created": { - "description": "The date this resource was created", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The date this resource was created" }, "date_updated": { - "description": "The date this resource was last updated", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The date this resource was last updated" }, "end_date": { - "description": "The latest feedback entry date in the summary", + "type": "string", "format": "date", "nullable": true, - "type": "string" + "description": "The latest feedback entry date in the summary" }, "include_subaccounts": { - "description": "Whether the feedback summary includes subaccounts", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Whether the feedback summary includes subaccounts" }, "issues": { - "description": "Issues experienced during the call", + "type": "array", "items": {}, "nullable": true, - "type": "array" + "description": "Issues experienced during the call" }, "quality_score_average": { - "description": "The average QualityScore of the feedback entries", + "type": "number", "nullable": true, - "type": "number" + "description": "The average QualityScore of the feedback entries" }, "quality_score_median": { - "description": "The median QualityScore of the feedback entries", + "type": "number", "nullable": true, - "type": "number" + "description": "The median QualityScore of the feedback entries" }, "quality_score_standard_deviation": { - "description": "The standard deviation of the quality scores", + "type": "number", "nullable": true, - "type": "number" + "description": "The standard deviation of the quality scores" }, "sid": { - "description": "A string that uniquely identifies this feedback entry", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^FS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "A string that uniquely identifies this feedback entry" }, "start_date": { - "description": "The earliest feedback entry date in the summary", + "type": "string", "format": "date", "nullable": true, - "type": "string" + "description": "The earliest feedback entry date in the summary" }, "status": { - "description": "The status of the feedback summary", + "type": "string", "enum": [ "queued", "in-progress", @@ -1618,75 +1402,76 @@ "failed" ], "nullable": true, - "type": "string" + "description": "The status of the feedback summary" } - }, - "type": "object" + } }, "api.v2010.account.call.call_notification": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "api_version": { - "description": "The API version used to create the Call Notification resource", + "type": "string", "nullable": true, - "type": "string" + "description": "The API version used to create the Call Notification resource" }, "call_sid": { - "description": "The SID of the Call the resource is associated with", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Call the resource is associated with" }, "date_created": { - "description": "The RFC 2822 date and time in GMT that the resource was created", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT that the resource was last updated", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was last updated" }, "error_code": { - "description": "A unique error code corresponding to the notification", + "type": "string", "nullable": true, - "type": "string" + "description": "A unique error code corresponding to the notification" }, "log": { - "description": "An integer log level", + "type": "string", "nullable": true, - "type": "string" + "description": "An integer log level" }, "message_date": { - "description": "The date the notification was generated", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The date the notification was generated" }, "message_text": { - "description": "The text of the notification", + "type": "string", "nullable": true, - "type": "string" + "description": "The text of the notification" }, "more_info": { - "description": "A URL for more information about the error code", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "A URL for more information about the error code" }, "request_method": { - "description": "HTTP method used with the request url", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -1695,97 +1480,97 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "HTTP method used with the request url" }, "request_url": { - "description": "URL of the resource that generated the notification", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "URL of the resource that generated the notification" }, "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^NO[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string that identifies the resource" }, "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI of the resource, relative to `https://api.twilio.com`" } - }, - "type": "object" + } }, "api.v2010.account.call.call_notification-instance": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "api_version": { - "description": "The API version used to create the Call Notification resource", + "type": "string", "nullable": true, - "type": "string" + "description": "The API version used to create the Call Notification resource" }, "call_sid": { - "description": "The SID of the Call the resource is associated with", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Call the resource is associated with" }, "date_created": { - "description": "The RFC 2822 date and time in GMT that the resource was created", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT that the resource was last updated", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was last updated" }, "error_code": { - "description": "A unique error code corresponding to the notification", + "type": "string", "nullable": true, - "type": "string" + "description": "A unique error code corresponding to the notification" }, "log": { - "description": "An integer log level", + "type": "string", "nullable": true, - "type": "string" + "description": "An integer log level" }, "message_date": { - "description": "The date the notification was generated", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The date the notification was generated" }, "message_text": { - "description": "The text of the notification", + "type": "string", "nullable": true, - "type": "string" + "description": "The text of the notification" }, "more_info": { - "description": "A URL for more information about the error code", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "A URL for more information about the error code" }, "request_method": { - "description": "HTTP method used with the request url", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -1794,131 +1579,150 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "HTTP method used with the request url" }, "request_url": { - "description": "URL of the resource that generated the notification", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "URL of the resource that generated the notification" }, "request_variables": { - "description": "Twilio-generated HTTP variables sent to the server", + "type": "string", "nullable": true, - "type": "string" + "description": "Twilio-generated HTTP variables sent to the server" }, "response_body": { - "description": "The HTTP body returned by your server", + "type": "string", "nullable": true, - "type": "string" + "description": "The HTTP body returned by your server" }, "response_headers": { - "description": "The HTTP headers returned by your server", + "type": "string", "nullable": true, - "type": "string" + "description": "The HTTP headers returned by your server" }, "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^NO[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string that identifies the resource" }, "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI of the resource, relative to `https://api.twilio.com`" } - }, - "type": "object" + } }, "api.v2010.account.call.call_recording": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "api_version": { - "description": "The API version used to make the recording", + "type": "string", "nullable": true, - "type": "string" + "description": "The API version used to make the recording" }, "call_sid": { - "description": "The SID of the Call the resource is associated with", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" - }, - "channels": { - "description": "The number of channels in the final recording file", "nullable": true, - "type": "integer" + "description": "The SID of the Call the resource is associated with" }, "conference_sid": { - "description": "The Conference SID that identifies the conference associated with the recording", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CF[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The Conference SID that identifies the conference associated with the recording" }, "date_created": { - "description": "The RFC 2822 date and time in GMT that the resource was created", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT that the resource was last updated", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was last updated" }, - "duration": { - "description": "The length of the recording in seconds", + "start_time": { + "type": "string", + "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The start time of the recording, given in RFC 2822 format" }, - "encryption_details": { - "description": "How to decrypt the recording.", - "nullable": true + "duration": { + "type": "string", + "nullable": true, + "description": "The length of the recording in seconds" }, - "error_code": { - "description": "More information about why the recording is missing, if status is `absent`.", + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RE[0-9a-fA-F]{32}$", "nullable": true, - "type": "integer" + "description": "The unique string that identifies the resource" }, "price": { - "description": "The one-time cost of creating the recording.", + "type": "number", + "nullable": true, + "description": "The one-time cost of creating the recording." + }, + "uri": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The URI of the resource, relative to `https://api.twilio.com`" + }, + "encryption_details": { "nullable": true, - "type": "number" + "description": "How to decrypt the recording." }, "price_unit": { - "description": "The currency used in the price property.", + "type": "string", "format": "currency", "nullable": true, - "type": "string" + "description": "The currency used in the price property." }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "status": { + "type": "string", + "enum": [ + "in-progress", + "paused", + "stopped", + "processing", + "completed", + "absent" + ], "nullable": true, - "pattern": "^RE[0-9a-fA-F]{32}$", - "type": "string" + "description": "The status of the recording" + }, + "channels": { + "type": "integer", + "nullable": true, + "description": "The number of channels in the final recording file" }, "source": { - "description": "How the recording was created", + "type": "string", "enum": [ "DialVerb", "Conference", @@ -1929,240 +1733,89 @@ "StartConferenceRecordingAPI" ], "nullable": true, - "type": "string" + "description": "How the recording was created" }, - "start_time": { - "description": "The start time of the recording, given in RFC 2822 format", - "format": "date-time-rfc-2822", + "error_code": { + "type": "integer", "nullable": true, - "type": "string" - }, - "status": { - "description": "The status of the recording", - "enum": [ - "in-progress", - "paused", - "stopped", - "processing", - "completed", - "absent" - ], - "nullable": true, - "type": "string" + "description": "More information about why the recording is missing, if status is `absent`." }, "track": { - "description": "The recorded track. Can be: `inbound`, `outbound`, or `both`.", - "nullable": true, - "type": "string" - }, - "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", - "format": "uri", + "type": "string", "nullable": true, - "type": "string" + "description": "The recorded track. Can be: `inbound`, `outbound`, or `both`." } - }, - "type": "object" + } }, - "api.v2010.account.call.payments": { + "api.v2010.account.conference": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the Payments resource.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "call_sid": { - "description": "The SID of the Call the resource is associated with.", "maxLength": 34, - "minLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Account that created this resource" }, "date_created": { - "description": "The RFC 2822 date and time in GMT that the resource was created", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that this resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT that the resource was last updated", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" - }, - "sid": { - "description": "The SID of the Payments resource.", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^PK[0-9a-fA-F]{32}$", - "type": "string" - }, - "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", - "format": "uri", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "api.v2010.account.call.siprec": { - "properties": { - "account_sid": { - "description": "The SID of the Account that created this resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The RFC 2822 date and time in GMT that this resource was last updated" }, - "call_sid": { - "description": "The SID of the Call the resource is associated with", - "maxLength": 34, - "minLength": 34, + "api_version": { + "type": "string", "nullable": true, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" + "description": "The API version used to create this conference" }, - "date_updated": { - "description": "The RFC 2822 date and time in GMT that this resource was last updated", - "format": "date-time-rfc-2822", + "friendly_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "A string that you assigned to describe this conference room" }, - "name": { - "description": "The name of this resource", + "region": { + "type": "string", "nullable": true, - "type": "string" + "description": "A string that represents the Twilio Region where the conference was mixed" }, "sid": { - "description": "The SID of the Siprec resource.", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^SR[0-9a-fA-F]{32}$", - "type": "string" - }, - "status": { - "description": "The status - one of `stopped`, `in-progress`", - "enum": [ - "in-progress", - "stopped" - ], - "nullable": true, - "type": "string" - }, - "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", - "format": "uri", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "api.v2010.account.call.stream": { - "properties": { - "account_sid": { - "description": "The SID of the Account that created this resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "call_sid": { - "description": "The SID of the Call the resource is associated with", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_updated": { - "description": "The RFC 2822 date and time in GMT that this resource was last updated", - "format": "date-time-rfc-2822", - "nullable": true, - "type": "string" - }, - "name": { - "description": "The name of this resource", - "nullable": true, - "type": "string" - }, - "sid": { - "description": "The SID of the Stream resource.", "maxLength": 34, - "minLength": 34, + "pattern": "^CF[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^MZ[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies this resource" }, "status": { - "description": "The status - one of `stopped`, `in-progress`", + "type": "string", "enum": [ + "init", "in-progress", - "stopped" + "completed" ], "nullable": true, - "type": "string" + "description": "The status of this conference" }, "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", - "format": "uri", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "api.v2010.account.conference": { - "properties": { - "account_sid": { - "description": "The SID of the Account that created this resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "api_version": { - "description": "The API version used to create this conference", - "nullable": true, - "type": "string" - }, - "call_sid_ending_conference": { - "description": "The call SID that caused the conference to end", - "maxLength": 34, - "minLength": 34, + "type": "string", "nullable": true, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "description": "The RFC 2822 date and time in GMT that this resource was created", - "format": "date-time-rfc-2822", - "nullable": true, - "type": "string" - }, - "date_updated": { - "description": "The RFC 2822 date and time in GMT that this resource was last updated", - "format": "date-time-rfc-2822", - "nullable": true, - "type": "string" + "description": "The URI of this resource, relative to `https://api.twilio.com`" }, - "friendly_name": { - "description": "A string that you assigned to describe this conference room", + "subresource_uris": { + "type": "object", + "format": "uri-map", "nullable": true, - "type": "string" + "description": "A list of related resources identified by their relative URIs" }, "reason_conference_ended": { - "description": "The reason why a conference ended.", + "type": "string", "enum": [ "conference-ended-via-api", "participant-with-end-conference-on-exit-left", @@ -2171,128 +1824,112 @@ "last-participant-left" ], "nullable": true, - "type": "string" + "description": "The reason why a conference ended." }, - "region": { - "description": "A string that represents the Twilio Region where the conference was mixed", - "nullable": true, - "type": "string" - }, - "sid": { - "description": "The unique string that identifies this resource", - "maxLength": 34, + "call_sid_ending_conference": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^CF[0-9a-fA-F]{32}$", - "type": "string" - }, - "status": { - "description": "The status of this conference", - "enum": [ - "init", - "in-progress", - "completed" - ], - "nullable": true, - "type": "string" - }, - "subresource_uris": { - "description": "A list of related resources identified by their relative URIs", - "format": "uri-map", - "nullable": true, - "type": "object" - }, - "uri": { - "description": "The URI of this resource, relative to `https://api.twilio.com`", - "nullable": true, - "type": "string" + "description": "The call SID that caused the conference to end" } - }, - "type": "object" + } }, "api.v2010.account.conference.conference_recording": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "api_version": { - "description": "The API version used to create the recording", + "type": "string", "nullable": true, - "type": "string" + "description": "The API version used to create the recording" }, "call_sid": { - "description": "The SID of the Call the resource is associated with", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" - }, - "channels": { - "description": "The number of channels in the final recording file as an integer", "nullable": true, - "type": "integer" + "description": "The SID of the Call the resource is associated with" }, "conference_sid": { - "description": "The Conference SID that identifies the conference associated with the recording", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CF[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The Conference SID that identifies the conference associated with the recording" }, "date_created": { - "description": "The RFC 2822 date and time in GMT that the resource was created", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT that the resource was last updated", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was last updated" }, - "duration": { - "description": "The length of the recording in seconds", + "start_time": { + "type": "string", + "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The start time of the recording, given in RFC 2822 format" }, - "encryption_details": { - "description": "How to decrypt the recording.", - "nullable": true + "duration": { + "type": "string", + "nullable": true, + "description": "The length of the recording in seconds" }, - "error_code": { - "description": "More information about why the recording is missing, if status is `absent`.", + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RE[0-9a-fA-F]{32}$", "nullable": true, - "type": "integer" + "description": "The unique string that identifies the resource" }, "price": { - "description": "The one-time cost of creating the recording.", + "type": "string", "nullable": true, - "type": "string" + "description": "The one-time cost of creating the recording." }, "price_unit": { - "description": "The currency used in the price property.", + "type": "string", "format": "currency", "nullable": true, - "type": "string" + "description": "The currency used in the price property." }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "status": { + "type": "string", + "enum": [ + "in-progress", + "paused", + "stopped", + "processing", + "completed", + "absent" + ], "nullable": true, - "pattern": "^RE[0-9a-fA-F]{32}$", - "type": "string" + "description": "The status of the recording" + }, + "channels": { + "type": "integer", + "nullable": true, + "description": "The number of channels in the final recording file as an integer" }, "source": { - "description": "How the recording was created", + "type": "string", "enum": [ "DialVerb", "Conference", @@ -2303,155 +1940,201 @@ "StartConferenceRecordingAPI" ], "nullable": true, - "type": "string" + "description": "How the recording was created" }, - "start_time": { - "description": "The start time of the recording, given in RFC 2822 format", - "format": "date-time-rfc-2822", + "error_code": { + "type": "integer", "nullable": true, - "type": "string" + "description": "More information about why the recording is missing, if status is `absent`." }, - "status": { - "description": "The status of the recording", - "enum": [ - "in-progress", - "paused", - "stopped", - "processing", - "completed", - "absent" - ], + "encryption_details": { "nullable": true, - "type": "string" + "description": "How to decrypt the recording." }, "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", + "type": "string", "nullable": true, - "type": "string" + "description": "The URI of the resource, relative to `https://api.twilio.com`" } - }, - "type": "object" + } }, - "api.v2010.account.conference.participant": { + "api.v2010.account.connect_app": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, - "call_sid": { - "description": "The SID of the Call the resource is associated with", - "maxLength": 34, - "minLength": 34, + "authorize_redirect_url": { + "type": "string", + "format": "uri", "nullable": true, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" + "description": "The URL to redirect the user to after authorization" }, - "call_sid_to_coach": { - "description": "The SID of the participant who is being `coached`", - "maxLength": 34, - "minLength": 34, + "company_name": { + "type": "string", "nullable": true, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" + "description": "The company name set for the Connect App" }, - "coaching": { - "description": "Indicates if the participant changed to coach", + "deauthorize_callback_method": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], "nullable": true, - "type": "boolean" + "description": "The HTTP method we use to call deauthorize_callback_url" }, - "conference_sid": { - "description": "The SID of the conference the participant is in", - "maxLength": 34, - "minLength": 34, + "deauthorize_callback_url": { + "type": "string", + "format": "uri", "nullable": true, - "pattern": "^CF[0-9a-fA-F]{32}$", - "type": "string" + "description": "The URL we call to de-authorize the Connect App" }, - "date_created": { - "description": "The RFC 2822 date and time in GMT that the resource was created", - "format": "date-time-rfc-2822", + "description": { + "type": "string", "nullable": true, - "type": "string" + "description": "The description of the Connect App" }, - "date_updated": { - "description": "The RFC 2822 date and time in GMT that the resource was last updated", - "format": "date-time-rfc-2822", + "friendly_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the resource" }, - "end_conference_on_exit": { - "description": "Whether the conference ends when the participant leaves", + "homepage_url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "boolean" + "description": "The URL users can obtain more information" }, - "hold": { - "description": "Whether the participant is on hold", + "permissions": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "get-all", + "post-all" + ] + }, "nullable": true, - "type": "boolean" + "description": "The set of permissions that your ConnectApp requests" }, - "label": { - "description": "The label of this participant", + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CN[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique string that identifies the resource" }, - "muted": { - "description": "Whether the participant is muted", + "uri": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The URI of the resource, relative to `https://api.twilio.com`" + } + } + }, + "api.v2010.account.address.dependent_phone_number": { + "type": "object", + "properties": { + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^PN[0-9a-fA-F]{32}$", "nullable": true, - "type": "boolean" + "description": "The unique string that identifies the resource" }, - "start_conference_on_enter": { - "description": "Whether the conference starts when the participant joins the conference", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "boolean" + "description": "The SID of the Account that created the resource" }, - "status": { - "description": "The status of the participant's call in a session", + "friendly_name": { + "type": "string", + "format": "phone-number", + "nullable": true, + "description": "The string that you assigned to describe the resource" + }, + "phone_number": { + "type": "string", + "format": "phone-number", + "nullable": true, + "description": "The phone number in E.164 format" + }, + "voice_url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The URL we call when the phone number receives a call" + }, + "voice_method": { + "type": "string", + "format": "http-method", "enum": [ - "queued", - "connecting", - "ringing", - "connected", - "complete", - "failed" + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" ], "nullable": true, - "type": "string" + "description": "The HTTP method used with the voice_url" }, - "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "api.v2010.account.connect_app": { - "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, - "minLength": 34, + "voice_fallback_method": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The HTTP method used with voice_fallback_url" }, - "authorize_redirect_url": { - "description": "The URL to redirect the user to after authorization", + "voice_fallback_url": { + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL we call when an error occurs in TwiML" }, - "company_name": { - "description": "The company name set for the Connect App", + "voice_caller_id_lookup": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Whether to lookup the caller's name" }, - "deauthorize_callback_method": { - "description": "The HTTP method we use to call deauthorize_callback_url", + "date_created": { + "type": "string", + "format": "date-time-rfc-2822", + "nullable": true, + "description": "The RFC 2822 date and time in GMT that the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time-rfc-2822", + "nullable": true, + "description": "The RFC 2822 date and time in GMT that the resource was last updated" + }, + "sms_fallback_method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -2460,73 +2143,145 @@ "PUT", "DELETE" ], + "nullable": true, + "description": "The HTTP method used with sms_fallback_url" + }, + "sms_fallback_url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The URL that we call when an error occurs while retrieving or executing the TwiML" + }, + "sms_method": { + "type": "string", "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], "nullable": true, - "type": "string" + "description": "The HTTP method to use with sms_url" }, - "deauthorize_callback_url": { - "description": "The URL we call to de-authorize the Connect App", + "sms_url": { + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL we call when the phone number receives an incoming SMS message" }, - "description": { - "description": "The description of the Connect App", + "address_requirements": { + "type": "string", + "enum": [ + "none", + "any", + "local", + "foreign" + ], "nullable": true, - "type": "string" + "description": "Whether the phone number requires an Address registered with Twilio" }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", + "capabilities": { "nullable": true, - "type": "string" + "description": "Indicate if a phone can receive calls or messages" }, - "homepage_url": { - "description": "The URL users can obtain more information", + "status_callback": { + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL to send status information to your application" }, - "permissions": { - "description": "The set of permissions that your ConnectApp requests", - "items": { - "enum": [ - "get-all", - "post-all" - ], - "type": "string" - }, + "status_callback_method": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], "nullable": true, - "type": "array" + "description": "The HTTP method we use to call status_callback" }, - "sid": { - "description": "The unique string that identifies the resource", + "api_version": { + "type": "string", + "nullable": true, + "description": "The API version used to start a new TwiML session" + }, + "sms_application_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AP[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the application that handles SMS messages sent to the phone number" + }, + "voice_application_sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AP[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the application that handles calls to the phone number" + }, + "trunk_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^TK[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^CN[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Trunk that handles calls to the phone number" + }, + "emergency_status": { + "type": "string", + "enum": [ + "Active", + "Inactive" + ], + "nullable": true, + "description": "Whether the phone number is enabled for emergency calling" + }, + "emergency_address_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AD[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The emergency address configuration to use for emergency calling" }, "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI of the resource, relative to `https://api.twilio.com`" } - }, - "type": "object" + } }, "api.v2010.account.incoming_phone_number": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "address_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^AD[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Address resource associated with the phone number" }, "address_requirements": { - "description": "Whether the phone number requires an Address registered with Twilio.", + "type": "string", "enum": [ "none", "any", @@ -2534,42 +2289,22 @@ "foreign" ], "nullable": true, - "type": "string" - }, - "address_sid": { - "description": "The SID of the Address resource associated with the phone number", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^AD[0-9a-fA-F]{32}$", - "type": "string" + "description": "Whether the phone number requires an Address registered with Twilio." }, "api_version": { - "description": "The API version used to start a new TwiML session", + "type": "string", "nullable": true, - "type": "string" + "description": "The API version used to start a new TwiML session" }, "beta": { - "description": "Whether the phone number is new to the Twilio platform", - "nullable": true, - "type": "boolean" - }, - "bundle_sid": { - "description": "The SID of the Bundle resource associated with number", - "maxLength": 34, - "minLength": 34, + "type": "boolean", "nullable": true, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" + "description": "Whether the phone number is new to the Twilio platform" }, "capabilities": { - "description": "Indicate if a phone can receive calls or messages", + "type": "object", "format": "phone-number-capabilities", - "nullable": true, "properties": { - "fax": { - "type": "boolean" - }, "mms": { "type": "boolean" }, @@ -2578,94 +2313,69 @@ }, "voice": { "type": "boolean" + }, + "fax": { + "type": "boolean" } }, - "type": "object" + "nullable": true, + "description": "Indicate if a phone can receive calls or messages" }, "date_created": { - "description": "The RFC 2822 date and time in GMT that the resource was created", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT that the resource was last updated", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" - }, - "emergency_address_sid": { - "description": "The emergency address configuration to use for emergency calling", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^AD[0-9a-fA-F]{32}$", - "type": "string" - }, - "emergency_address_status": { - "description": "State of the emergency address configuration for the phone number", - "enum": [ - "registered", - "unregistered", - "pending-registration", - "registration-failure", - "pending-unregistration", - "unregistration-failure" - ], - "nullable": true, - "type": "string" - }, - "emergency_status": { - "description": "Displays if emergency calling is enabled for this number.", - "enum": [ - "Active", - "Inactive" - ], - "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was last updated" }, "friendly_name": { - "description": "The string that you assigned to describe the resource", + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the resource" }, "identity_sid": { - "description": "The SID of the Identity resource associated with number", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^RI[0-9a-fA-F]{32}$", - "type": "string" - }, - "origin": { - "description": "The phone number's origin. Can be twilio or hosted.", "nullable": true, - "type": "string" + "description": "The SID of the Identity resource associated with number" }, "phone_number": { - "description": "The phone number in E.164 format", + "type": "string", "format": "phone-number", "nullable": true, - "type": "string" + "description": "The phone number in E.164 format" + }, + "origin": { + "type": "string", + "nullable": true, + "description": "The phone number's origin. Can be twilio or hosted." }, "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^PN[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string that identifies the resource" }, "sms_application_sid": { - "description": "The SID of the application that handles SMS messages sent to the phone number", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AP[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the application that handles SMS messages sent to the phone number" }, "sms_fallback_method": { - "description": "The HTTP method used with sms_fallback_url", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -2674,18 +2384,18 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method used with sms_fallback_url" }, "sms_fallback_url": { - "description": "The URL that we call when an error occurs while retrieving or executing the TwiML", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL that we call when an error occurs while retrieving or executing the TwiML" }, "sms_method": { - "description": "The HTTP method to use with sms_url", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -2694,28 +2404,24 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method to use with sms_url" }, "sms_url": { - "description": "The URL we call when the phone number receives an incoming SMS message", + "type": "string", "format": "uri", "nullable": true, - "type": "string" - }, - "status": { - "nullable": true, - "type": "string" + "description": "The URL we call when the phone number receives an incoming SMS message" }, "status_callback": { - "description": "The URL to send status information to your application", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL to send status information to your application" }, "status_callback_method": { - "description": "The HTTP method we use to call status_callback", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -2724,39 +2430,47 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method we use to call status_callback" }, "trunk_sid": { - "description": "The SID of the Trunk that handles calls to the phone number", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Trunk that handles calls to the phone number" }, "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI of the resource, relative to `https://api.twilio.com`" + }, + "voice_receive_mode": { + "type": "string", + "enum": [ + "voice", + "fax" + ], + "nullable": true }, "voice_application_sid": { - "description": "The SID of the application that handles calls to the phone number", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AP[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the application that handles calls to the phone number" }, "voice_caller_id_lookup": { - "description": "Whether to lookup the caller's name", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Whether to lookup the caller's name" }, "voice_fallback_method": { - "description": "The HTTP method used with voice_fallback_url", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -2765,18 +2479,18 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method used with voice_fallback_url" }, "voice_fallback_url": { - "description": "The URL we call when an error occurs in TwiML", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL we call when an error occurs in TwiML" }, "voice_method": { - "description": "The HTTP method used with the voice_url", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -2785,174 +2499,215 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method used with the voice_url" }, - "voice_receive_mode": { + "voice_url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The URL we call when the phone number receives a call" + }, + "emergency_status": { + "type": "string", "enum": [ - "voice", - "fax" + "Active", + "Inactive" ], "nullable": true, - "type": "string" + "description": "Displays if emergency calling is enabled for this number." }, - "voice_url": { - "description": "The URL we call when the phone number receives a call", - "format": "uri", + "emergency_address_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AD[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The emergency address configuration to use for emergency calling" + }, + "emergency_address_status": { + "type": "string", + "enum": [ + "registered", + "unregistered", + "pending-registration", + "registration-failure", + "pending-unregistration", + "unregistration-failure" + ], + "nullable": true, + "description": "State of the emergency address configuration for the phone number" + }, + "bundle_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Bundle resource associated with number" + }, + "status": { + "type": "string", + "nullable": true } - }, - "type": "object" + } }, "api.v2010.account.incoming_phone_number.incoming_phone_number_assigned_add_on": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^XE[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "configuration": { - "description": "A JSON string that represents the current configuration", - "nullable": true + "description": "The unique string that identifies the resource" }, - "date_created": { - "description": "The RFC 2822 date and time in GMT that the resource was created", - "format": "date-time-rfc-2822", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, - "date_updated": { - "description": "The RFC 2822 date and time in GMT that the resource was last updated", - "format": "date-time-rfc-2822", + "resource_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^PN[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Phone Number that installed this Add-on" }, - "description": { - "description": "A short description of the Add-on functionality", + "friendly_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the resource" }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", + "description": { + "type": "string", "nullable": true, - "type": "string" + "description": "A short description of the Add-on functionality" }, - "resource_sid": { - "description": "The SID of the Phone Number that installed this Add-on", - "maxLength": 34, - "minLength": 34, + "configuration": { "nullable": true, - "pattern": "^PN[0-9a-fA-F]{32}$", - "type": "string" + "description": "A JSON string that represents the current configuration" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "unique_name": { + "type": "string", "nullable": true, - "pattern": "^XE[0-9a-fA-F]{32}$", - "type": "string" + "description": "An application-defined string that uniquely identifies the resource" }, - "subresource_uris": { - "description": "A list of related resources identified by their relative URIs", - "format": "uri-map", + "date_created": { + "type": "string", + "format": "date-time-rfc-2822", "nullable": true, - "type": "object" + "description": "The RFC 2822 date and time in GMT that the resource was created" }, - "unique_name": { - "description": "An application-defined string that uniquely identifies the resource", + "date_updated": { + "type": "string", + "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was last updated" }, "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI of the resource, relative to `https://api.twilio.com`" + }, + "subresource_uris": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "A list of related resources identified by their relative URIs" } - }, - "type": "object" + } }, "api.v2010.account.incoming_phone_number.incoming_phone_number_assigned_add_on.incoming_phone_number_assigned_add_on_extension": { + "type": "object", "properties": { + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^XF[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique string that identifies the resource" + }, "account_sid": { - "description": "The SID of the Account that created the resource", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "resource_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^PN[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Phone Number to which the Add-on is assigned" }, "assigned_add_on_sid": { - "description": "The SID that uniquely identifies the assigned Add-on installation", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^XE[0-9a-fA-F]{32}$", - "type": "string" - }, - "enabled": { - "description": "Whether the Extension will be invoked", "nullable": true, - "type": "boolean" + "description": "The SID that uniquely identifies the assigned Add-on installation" }, "friendly_name": { - "description": "The string that you assigned to describe the resource", + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the resource" }, "product_name": { - "description": "A string that you assigned to describe the Product this Extension is used within", - "nullable": true, - "type": "string" - }, - "resource_sid": { - "description": "The SID of the Phone Number to which the Add-on is assigned", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^PN[0-9a-fA-F]{32}$", - "type": "string" - }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "type": "string", "nullable": true, - "pattern": "^XF[0-9a-fA-F]{32}$", - "type": "string" + "description": "A string that you assigned to describe the Product this Extension is used within" }, "unique_name": { - "description": "An application-defined string that uniquely identifies the resource", + "type": "string", "nullable": true, - "type": "string" + "description": "An application-defined string that uniquely identifies the resource" }, "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI of the resource, relative to `https://api.twilio.com`" + }, + "enabled": { + "type": "boolean", + "nullable": true, + "description": "Whether the Extension will be invoked" } - }, - "type": "object" + } }, "api.v2010.account.incoming_phone_number.incoming_phone_number_local": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "address_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^AD[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Address resource associated with the phone number" }, "address_requirements": { - "description": "Whether the phone number requires an Address registered with Twilio.", + "type": "string", "enum": [ "none", "any", @@ -2960,42 +2715,22 @@ "foreign" ], "nullable": true, - "type": "string" - }, - "address_sid": { - "description": "The SID of the Address resource associated with the phone number", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^AD[0-9a-fA-F]{32}$", - "type": "string" + "description": "Whether the phone number requires an Address registered with Twilio." }, "api_version": { - "description": "The API version used to start a new TwiML session", + "type": "string", "nullable": true, - "type": "string" + "description": "The API version used to start a new TwiML session" }, "beta": { - "description": "Whether the phone number is new to the Twilio platform", - "nullable": true, - "type": "boolean" - }, - "bundle_sid": { - "description": "The SID of the Bundle resource associated with number", - "maxLength": 34, - "minLength": 34, + "type": "boolean", "nullable": true, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" + "description": "Whether the phone number is new to the Twilio platform" }, "capabilities": { - "description": "Indicate if a phone can receive calls or messages", + "type": "object", "format": "phone-number-capabilities", - "nullable": true, "properties": { - "fax": { - "type": "boolean" - }, "mms": { "type": "boolean" }, @@ -3004,94 +2739,69 @@ }, "voice": { "type": "boolean" + }, + "fax": { + "type": "boolean" } }, - "type": "object" + "nullable": true, + "description": "Indicate if a phone can receive calls or messages" }, "date_created": { - "description": "The RFC 2822 date and time in GMT that the resource was created", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT that the resource was last updated", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" - }, - "emergency_address_sid": { - "description": "The emergency address configuration to use for emergency calling", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^AD[0-9a-fA-F]{32}$", - "type": "string" - }, - "emergency_address_status": { - "description": "State of the emergency address configuration for the phone number", - "enum": [ - "registered", - "unregistered", - "pending-registration", - "registration-failure", - "pending-unregistration", - "unregistration-failure" - ], - "nullable": true, - "type": "string" - }, - "emergency_status": { - "description": "Displays if emergency calling is enabled for this number.", - "enum": [ - "Active", - "Inactive" - ], - "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was last updated" }, "friendly_name": { - "description": "The string that you assigned to describe the resource", + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the resource" }, "identity_sid": { - "description": "The SID of the Identity resource associated with number", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^RI[0-9a-fA-F]{32}$", - "type": "string" - }, - "origin": { - "description": "The phone number's origin. Can be twilio or hosted.", "nullable": true, - "type": "string" + "description": "The SID of the Identity resource associated with number" }, "phone_number": { - "description": "The phone number in E.164 format", + "type": "string", "format": "phone-number", "nullable": true, - "type": "string" + "description": "The phone number in E.164 format" + }, + "origin": { + "type": "string", + "nullable": true, + "description": "The phone number's origin. Can be twilio or hosted." }, "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^PN[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string that identifies the resource" }, "sms_application_sid": { - "description": "The SID of the Application resource to handle SMS messages", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AP[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Application resource to handle SMS messages" }, "sms_fallback_method": { - "description": "The HTTP method used with sms_fallback_url", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3100,18 +2810,18 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method used with sms_fallback_url" }, "sms_fallback_url": { - "description": "The URL that we call when an error occurs while retrieving or executing the TwiML", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL that we call when an error occurs while retrieving or executing the TwiML" }, "sms_method": { - "description": "The HTTP method to use with sms_url", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3120,28 +2830,24 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method to use with sms_url" }, "sms_url": { - "description": "The URL we call when the phone number receives an incoming SMS message", + "type": "string", "format": "uri", "nullable": true, - "type": "string" - }, - "status": { - "nullable": true, - "type": "string" + "description": "The URL we call when the phone number receives an incoming SMS message" }, "status_callback": { - "description": "The URL to send status information to your application", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL to send status information to your application" }, "status_callback_method": { - "description": "The HTTP method we use to call status_callback", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3150,39 +2856,47 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method we use to call status_callback" }, "trunk_sid": { - "description": "The SID of the Trunk that handles calls to the phone number", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Trunk that handles calls to the phone number" }, "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI of the resource, relative to `https://api.twilio.com`" + }, + "voice_receive_mode": { + "type": "string", + "enum": [ + "voice", + "fax" + ], + "nullable": true }, "voice_application_sid": { - "description": "The SID of the application that handles calls to the phone number", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AP[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the application that handles calls to the phone number" }, "voice_caller_id_lookup": { - "description": "Whether to lookup the caller's name", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Whether to lookup the caller's name" }, "voice_fallback_method": { - "description": "The HTTP method used with voice_fallback_url", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3191,18 +2905,18 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method used with voice_fallback_url" }, "voice_fallback_url": { - "description": "The URL we call when an error occurs in TwiML", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL we call when an error occurs in TwiML" }, "voice_method": { - "description": "The HTTP method used with the voice_url", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3211,82 +2925,103 @@ "PUT", "DELETE" ], - "format": "http-method", - "nullable": true, - "type": "string" - }, - "voice_receive_mode": { - "enum": [ - "voice", - "fax" - ], "nullable": true, - "type": "string" + "description": "The HTTP method used with the voice_url" }, "voice_url": { - "description": "The URL we call when this phone number receives a call", + "type": "string", "format": "uri", "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "api.v2010.account.incoming_phone_number.incoming_phone_number_mobile": { - "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The URL we call when this phone number receives a call" }, - "address_requirements": { - "description": "Whether the phone number requires an Address registered with Twilio.", + "emergency_status": { + "type": "string", "enum": [ - "none", - "any", - "local", - "foreign" + "Active", + "Inactive" ], "nullable": true, - "type": "string" + "description": "Displays if emergency calling is enabled for this number." }, - "address_sid": { - "description": "The SID of the Address resource associated with the phone number", - "maxLength": 34, + "emergency_address_sid": { + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AD[0-9a-fA-F]{32}$", - "type": "string" - }, - "api_version": { - "description": "The API version used to start a new TwiML session", "nullable": true, - "type": "string" + "description": "The emergency address configuration to use for emergency calling" }, - "beta": { - "description": "Whether the phone number is new to the Twilio platform", + "emergency_address_status": { + "type": "string", + "enum": [ + "registered", + "unregistered", + "pending-registration", + "registration-failure", + "pending-unregistration", + "unregistration-failure" + ], "nullable": true, - "type": "boolean" + "description": "State of the emergency address configuration for the phone number" }, "bundle_sid": { - "description": "The SID of the Bundle resource associated with number", + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Bundle resource associated with number" + }, + "status": { + "type": "string", + "nullable": true + } + } + }, + "api.v2010.account.incoming_phone_number.incoming_phone_number_mobile": { + "type": "object", + "properties": { + "account_sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "address_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^AD[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Address resource associated with the phone number" + }, + "address_requirements": { + "type": "string", + "enum": [ + "none", + "any", + "local", + "foreign" + ], + "nullable": true, + "description": "Whether the phone number requires an Address registered with Twilio." + }, + "api_version": { + "type": "string", + "nullable": true, + "description": "The API version used to start a new TwiML session" + }, + "beta": { + "type": "boolean", + "nullable": true, + "description": "Whether the phone number is new to the Twilio platform" }, "capabilities": { - "description": "Indicate if a phone can receive calls or messages", + "type": "object", "format": "phone-number-capabilities", - "nullable": true, "properties": { - "fax": { - "type": "boolean" - }, "mms": { "type": "boolean" }, @@ -3295,94 +3030,69 @@ }, "voice": { "type": "boolean" + }, + "fax": { + "type": "boolean" } }, - "type": "object" + "nullable": true, + "description": "Indicate if a phone can receive calls or messages" }, "date_created": { - "description": "The RFC 2822 date and time in GMT that the resource was created", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT that the resource was last updated", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" - }, - "emergency_address_sid": { - "description": "The emergency address configuration to use for emergency calling", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^AD[0-9a-fA-F]{32}$", - "type": "string" - }, - "emergency_address_status": { - "description": "State of the emergency address configuration for the phone number", - "enum": [ - "registered", - "unregistered", - "pending-registration", - "registration-failure", - "pending-unregistration", - "unregistration-failure" - ], - "nullable": true, - "type": "string" - }, - "emergency_status": { - "description": "Displays if emergency calling is enabled for this number.", - "enum": [ - "Active", - "Inactive" - ], - "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was last updated" }, "friendly_name": { - "description": "The string that you assigned to describe the resource", + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the resource" }, "identity_sid": { - "description": "The SID of the Identity resource associated with number", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^RI[0-9a-fA-F]{32}$", - "type": "string" - }, - "origin": { - "description": "The phone number's origin. Can be twilio or hosted.", "nullable": true, - "type": "string" + "description": "The SID of the Identity resource associated with number" }, "phone_number": { - "description": "The phone number in E.164 format", + "type": "string", "format": "phone-number", "nullable": true, - "type": "string" + "description": "The phone number in E.164 format" + }, + "origin": { + "type": "string", + "nullable": true, + "description": "The phone number's origin. Can be twilio or hosted." }, "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^PN[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string that identifies the resource" }, "sms_application_sid": { - "description": "The SID of the application that handles SMS messages sent to the phone number", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AP[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the application that handles SMS messages sent to the phone number" }, "sms_fallback_method": { - "description": "The HTTP method used with sms_fallback_url", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3391,18 +3101,18 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method used with sms_fallback_url" }, "sms_fallback_url": { - "description": "The URL that we call when an error occurs while retrieving or executing the TwiML", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL that we call when an error occurs while retrieving or executing the TwiML" }, "sms_method": { - "description": "The HTTP method to use with sms_url", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3411,28 +3121,24 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method to use with sms_url" }, "sms_url": { - "description": "The URL we call when the phone number receives an incoming SMS message", + "type": "string", "format": "uri", "nullable": true, - "type": "string" - }, - "status": { - "nullable": true, - "type": "string" + "description": "The URL we call when the phone number receives an incoming SMS message" }, "status_callback": { - "description": "The URL to send status information to your application", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL to send status information to your application" }, "status_callback_method": { - "description": "The HTTP method we use to call status_callback", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3441,39 +3147,47 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method we use to call status_callback" }, "trunk_sid": { - "description": "The SID of the Trunk that handles calls to the phone number", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Trunk that handles calls to the phone number" }, "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI of the resource, relative to `https://api.twilio.com`" + }, + "voice_receive_mode": { + "type": "string", + "enum": [ + "voice", + "fax" + ], + "nullable": true }, "voice_application_sid": { - "description": "The SID of the application that handles calls to the phone number", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AP[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the application that handles calls to the phone number" }, "voice_caller_id_lookup": { - "description": "Whether to lookup the caller's name", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Whether to lookup the caller's name" }, "voice_fallback_method": { - "description": "The HTTP method used with voice_fallback_url", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3482,18 +3196,18 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method used with voice_fallback_url" }, "voice_fallback_url": { - "description": "The URL we call when an error occurs in TwiML", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL we call when an error occurs in TwiML" }, "voice_method": { - "description": "The HTTP method used with the voice_url", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3502,39 +3216,80 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method used with the voice_url" }, - "voice_receive_mode": { + "voice_url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The URL we call when the phone number receives a call" + }, + "emergency_status": { + "type": "string", "enum": [ - "voice", - "fax" + "Active", + "Inactive" ], "nullable": true, - "type": "string" + "description": "Displays if emergency calling is enabled for this number." }, - "voice_url": { - "description": "The URL we call when the phone number receives a call", - "format": "uri", + "emergency_address_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AD[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The emergency address configuration to use for emergency calling" + }, + "emergency_address_status": { + "type": "string", + "enum": [ + "registered", + "unregistered", + "pending-registration", + "registration-failure", + "pending-unregistration", + "unregistration-failure" + ], + "nullable": true, + "description": "State of the emergency address configuration for the phone number" + }, + "bundle_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Bundle resource associated with number" + }, + "status": { + "type": "string", + "nullable": true } - }, - "type": "object" + } }, "api.v2010.account.incoming_phone_number.incoming_phone_number_toll_free": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "address_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^AD[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Address resource associated with the phone number" }, "address_requirements": { - "description": "Whether the phone number requires an Address registered with Twilio.", + "type": "string", "enum": [ "none", "any", @@ -3542,42 +3297,22 @@ "foreign" ], "nullable": true, - "type": "string" - }, - "address_sid": { - "description": "The SID of the Address resource associated with the phone number", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^AD[0-9a-fA-F]{32}$", - "type": "string" + "description": "Whether the phone number requires an Address registered with Twilio." }, "api_version": { - "description": "The API version used to start a new TwiML session", + "type": "string", "nullable": true, - "type": "string" + "description": "The API version used to start a new TwiML session" }, "beta": { - "description": "Whether the phone number is new to the Twilio platform", - "nullable": true, - "type": "boolean" - }, - "bundle_sid": { - "description": "The SID of the Bundle resource associated with number", - "maxLength": 34, - "minLength": 34, + "type": "boolean", "nullable": true, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" + "description": "Whether the phone number is new to the Twilio platform" }, "capabilities": { - "description": "Indicate if a phone can receive calls or messages", + "type": "object", "format": "phone-number-capabilities", - "nullable": true, "properties": { - "fax": { - "type": "boolean" - }, "mms": { "type": "boolean" }, @@ -3586,94 +3321,69 @@ }, "voice": { "type": "boolean" + }, + "fax": { + "type": "boolean" } }, - "type": "object" + "nullable": true, + "description": "Indicate if a phone can receive calls or messages" }, "date_created": { - "description": "The RFC 2822 date and time in GMT that the resource was created", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT that the resource was last updated", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" - }, - "emergency_address_sid": { - "description": "The emergency address configuration to use for emergency calling", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^AD[0-9a-fA-F]{32}$", - "type": "string" - }, - "emergency_address_status": { - "description": "State of the emergency address configuration for the phone number", - "enum": [ - "registered", - "unregistered", - "pending-registration", - "registration-failure", - "pending-unregistration", - "unregistration-failure" - ], - "nullable": true, - "type": "string" - }, - "emergency_status": { - "description": "Displays if emergency calling is enabled for this number.", - "enum": [ - "Active", - "Inactive" - ], - "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was last updated" }, "friendly_name": { - "description": "The string that you assigned to describe the resource", + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the resource" }, "identity_sid": { - "description": "The SID of the Identity resource associated with number", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^RI[0-9a-fA-F]{32}$", - "type": "string" - }, - "origin": { - "description": "The phone number's origin. Can be twilio or hosted.", "nullable": true, - "type": "string" + "description": "The SID of the Identity resource associated with number" }, "phone_number": { - "description": "The phone number in E.164 format", + "type": "string", "format": "phone-number", "nullable": true, - "type": "string" + "description": "The phone number in E.164 format" + }, + "origin": { + "type": "string", + "nullable": true, + "description": "The phone number's origin. Can be twilio or hosted." }, "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^PN[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string that identifies the resource" }, "sms_application_sid": { - "description": "The SID of the application that handles SMS messages sent to the phone number", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AP[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the application that handles SMS messages sent to the phone number" }, "sms_fallback_method": { - "description": "The HTTP method used with sms_fallback_url", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3682,18 +3392,18 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method used with sms_fallback_url" }, "sms_fallback_url": { - "description": "The URL that we call when an error occurs while retrieving or executing the TwiML", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL that we call when an error occurs while retrieving or executing the TwiML" }, "sms_method": { - "description": "The HTTP method to use with sms_url", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3702,28 +3412,24 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method to use with sms_url" }, "sms_url": { - "description": "The URL we call when the phone number receives an incoming SMS message", + "type": "string", "format": "uri", "nullable": true, - "type": "string" - }, - "status": { - "nullable": true, - "type": "string" + "description": "The URL we call when the phone number receives an incoming SMS message" }, "status_callback": { - "description": "The URL to send status information to your application", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL to send status information to your application" }, "status_callback_method": { - "description": "The HTTP method we use to call status_callback", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3732,39 +3438,47 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method we use to call status_callback" }, "trunk_sid": { - "description": "The SID of the Trunk that handles calls to the phone number", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Trunk that handles calls to the phone number" }, "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI of the resource, relative to `https://api.twilio.com`" + }, + "voice_receive_mode": { + "type": "string", + "enum": [ + "voice", + "fax" + ], + "nullable": true }, "voice_application_sid": { - "description": "The SID of the application that handles calls to the phone number", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AP[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the application that handles calls to the phone number" }, "voice_caller_id_lookup": { - "description": "Whether to lookup the caller's name", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Whether to lookup the caller's name" }, "voice_fallback_method": { - "description": "The HTTP method used with voice_fallback_url", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3773,18 +3487,18 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method used with voice_fallback_url" }, "voice_fallback_url": { - "description": "The URL we call when an error occurs in TwiML", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL we call when an error occurs in TwiML" }, "voice_method": { - "description": "The HTTP method used with the voice_url", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3793,97 +3507,199 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method used with the voice_url" }, - "voice_receive_mode": { + "voice_url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The URL we call when the phone number receives a call" + }, + "emergency_status": { + "type": "string", "enum": [ - "voice", - "fax" + "Active", + "Inactive" ], "nullable": true, - "type": "string" + "description": "Displays if emergency calling is enabled for this number." }, - "voice_url": { - "description": "The URL we call when the phone number receives a call", - "format": "uri", + "emergency_address_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AD[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The emergency address configuration to use for emergency calling" + }, + "emergency_address_status": { + "type": "string", + "enum": [ + "registered", + "unregistered", + "pending-registration", + "registration-failure", + "pending-unregistration", + "unregistration-failure" + ], + "nullable": true, + "description": "State of the emergency address configuration for the phone number" + }, + "bundle_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Bundle resource associated with number" + }, + "status": { + "type": "string", + "nullable": true } - }, - "type": "object" + } }, "api.v2010.account.key": { + "type": "object", "properties": { + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^SK[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique string that identifies the resource" + }, + "friendly_name": { + "type": "string", + "nullable": true, + "description": "The string that you assigned to describe the resource" + }, "date_created": { - "description": "The RFC 2822 date and time in GMT that the resource was created", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT that the resource was last updated", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was last updated" + } + } + }, + "api.v2010.account.message.media": { + "type": "object", + "properties": { + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created this resource" }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", + "content_type": { + "type": "string", "nullable": true, - "type": "string" + "description": "The default mime-type of the media" }, - "sid": { - "description": "The unique string that identifies the resource", + "date_created": { + "type": "string", + "format": "date-time-rfc-2822", + "nullable": true, + "description": "The RFC 2822 date and time in GMT that this resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time-rfc-2822", + "nullable": true, + "description": "The RFC 2822 date and time in GMT that this resource was last updated" + }, + "parent_sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^(SM|MM)[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the resource that created the media" + }, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^ME[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^SK[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies this resource" + }, + "uri": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The URI of this resource, relative to `https://api.twilio.com`" } - }, - "type": "object" + } }, - "api.v2010.account.message": { + "api.v2010.account.queue.member": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "call_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Call the resource is associated with" }, - "api_version": { - "description": "The API version used to process the message", + "date_enqueued": { + "type": "string", + "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The date the member was enqueued" }, - "body": { - "description": "The message text", + "position": { + "type": "integer", "nullable": true, - "type": "string" + "description": "This member's current position in the queue." }, - "date_created": { - "description": "The RFC 2822 date and time in GMT that the resource was created", - "format": "date-time-rfc-2822", + "uri": { + "type": "string", + "format": "uri", "nullable": true, - "type": "string" + "description": "The URI of the resource, relative to `https://api.twilio.com`" }, - "date_sent": { - "description": "The RFC 2822 date and time in GMT when the message was sent", - "format": "date-time-rfc-2822", + "wait_time": { + "type": "integer", "nullable": true, - "type": "string" + "description": "The number of seconds the member has been in the queue." }, - "date_updated": { - "description": "The RFC 2822 date and time in GMT that the resource was last updated", - "format": "date-time-rfc-2822", + "queue_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^QU[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Queue the member is in" + } + } + }, + "api.v2010.account.message": { + "type": "object", + "properties": { + "body": { + "type": "string", "nullable": true, - "type": "string" + "description": "The message text" + }, + "num_segments": { + "type": "string", + "nullable": true, + "description": "The number of messages used to deliver the message body" }, "direction": { - "description": "The direction of the message", + "type": "string", "enum": [ "inbound", "outbound-api", @@ -3891,63 +3707,55 @@ "outbound-reply" ], "nullable": true, - "type": "string" - }, - "error_code": { - "description": "The error code associated with the message", - "nullable": true, - "type": "integer" - }, - "error_message": { - "description": "The description of the error_code", - "nullable": true, - "type": "string" + "description": "The direction of the message" }, "from": { - "description": "The phone number that initiated the message", + "type": "string", "format": "phone-number", "nullable": true, - "type": "string" + "description": "The phone number that initiated the message" }, - "messaging_service_sid": { - "description": "The SID of the Messaging Service used with the message.", - "maxLength": 34, - "minLength": 34, + "to": { + "type": "string", "nullable": true, - "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" + "description": "The phone number that received the message" }, - "num_media": { - "description": "The number of media files associated with the message", + "date_updated": { + "type": "string", + "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was last updated" }, - "num_segments": { - "description": "The number of messages used to deliver the message body", + "price": { + "type": "string", "nullable": true, - "type": "string" + "description": "The amount billed for the message" }, - "price": { - "description": "The amount billed for the message", + "error_message": { + "type": "string", "nullable": true, - "type": "string" + "description": "The description of the error_code" }, - "price_unit": { - "description": "The currency in which price is measured", - "format": "currency", + "uri": { + "type": "string", "nullable": true, - "type": "string" + "description": "The URI of the resource, relative to `https://api.twilio.com`" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "account_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^(SM|MM)[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Account that created the resource" + }, + "num_media": { + "type": "string", + "nullable": true, + "description": "The number of media files associated with the message" }, "status": { - "description": "The status of the message", + "type": "string", "enum": [ "queued", "sending", @@ -3964,260 +3772,243 @@ "canceled" ], "nullable": true, - "type": "string" - }, - "subresource_uris": { - "description": "A list of related resources identified by their relative URIs", - "format": "uri-map", - "nullable": true, - "type": "object" + "description": "The status of the message" }, - "to": { - "description": "The phone number that received the message", + "messaging_service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Messaging Service used with the message." }, - "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "api.v2010.account.message.media": { - "properties": { - "account_sid": { - "description": "The SID of the Account that created this resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^(SM|MM)[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "content_type": { - "description": "The default mime-type of the media", + "date_sent": { + "type": "string", + "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the message was sent" }, "date_created": { - "description": "The RFC 2822 date and time in GMT that this resource was created", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was created" }, - "date_updated": { - "description": "The RFC 2822 date and time in GMT that this resource was last updated", - "format": "date-time-rfc-2822", + "error_code": { + "type": "integer", "nullable": true, - "type": "string" + "description": "The error code associated with the message" }, - "parent_sid": { - "description": "The SID of the resource that created the media", - "maxLength": 34, - "minLength": 34, + "price_unit": { + "type": "string", + "format": "currency", "nullable": true, - "pattern": "^(SM|MM)[0-9a-fA-F]{32}$", - "type": "string" + "description": "The currency in which price is measured" }, - "sid": { - "description": "The unique string that identifies this resource", - "maxLength": 34, - "minLength": 34, + "api_version": { + "type": "string", "nullable": true, - "pattern": "^ME[0-9a-fA-F]{32}$", - "type": "string" + "description": "The API version used to process the message" }, - "uri": { - "description": "The URI of this resource, relative to `https://api.twilio.com`", - "format": "uri", + "subresource_uris": { + "type": "object", + "format": "uri-map", "nullable": true, - "type": "string" + "description": "A list of related resources identified by their relative URIs" } - }, - "type": "object" + } }, "api.v2010.account.message.message_feedback": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "description": "The RFC 2822 date and time in GMT that the resource was created", - "format": "date-time-rfc-2822", "nullable": true, - "type": "string" - }, - "date_updated": { - "description": "The RFC 2822 date and time in GMT that the resource was last updated", - "format": "date-time-rfc-2822", - "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, "message_sid": { - "description": "The SID of the Message resource for which the feedback was provided", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^(SM|MM)[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Message resource for which the feedback was provided" }, "outcome": { - "description": "Whether the feedback has arrived", + "type": "string", "enum": [ "confirmed", "unconfirmed" ], "nullable": true, - "type": "string" + "description": "Whether the feedback has arrived" + }, + "date_created": { + "type": "string", + "format": "date-time-rfc-2822", + "nullable": true, + "description": "The RFC 2822 date and time in GMT that the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time-rfc-2822", + "nullable": true, + "description": "The RFC 2822 date and time in GMT that the resource was last updated" }, "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", + "type": "string", "nullable": true, - "type": "string" + "description": "The URI of the resource, relative to `https://api.twilio.com`" } - }, - "type": "object" + } }, "api.v2010.account.new_key": { + "type": "object", "properties": { + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^SK[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique string that identifies the resource" + }, + "friendly_name": { + "type": "string", + "nullable": true, + "description": "The string that you assigned to describe the resource" + }, "date_created": { - "description": "The RFC 2822 date and time in GMT that the resource was created", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT that the resource was last updated", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" - }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", - "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was last updated" }, "secret": { - "description": "The secret your application uses to sign Access Tokens and to authenticate to the REST API.", - "nullable": true, - "type": "string" - }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "type": "string", "nullable": true, - "pattern": "^SK[0-9a-fA-F]{32}$", - "type": "string" + "description": "The secret your application uses to sign Access Tokens and to authenticate to the REST API." } - }, - "type": "object" + } }, "api.v2010.account.new_signing_key": { + "type": "object", "properties": { + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^SK[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique string that identifies the resource" + }, + "friendly_name": { + "type": "string", + "nullable": true, + "description": "The string that you assigned to describe the resource" + }, "date_created": { - "description": "The RFC 2822 date and time in GMT that the resource was created", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT that the resource was last updated", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" - }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", - "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was last updated" }, "secret": { - "description": "The secret your application uses to sign Access Tokens and to authenticate to the REST API.", - "nullable": true, - "type": "string" - }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "type": "string", "nullable": true, - "pattern": "^SK[0-9a-fA-F]{32}$", - "type": "string" + "description": "The secret your application uses to sign Access Tokens and to authenticate to the REST API." } - }, - "type": "object" + } }, "api.v2010.account.notification": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "api_version": { - "description": "The API version used to generate the notification", + "type": "string", "nullable": true, - "type": "string" + "description": "The API version used to generate the notification" }, "call_sid": { - "description": "The SID of the Call the resource is associated with", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Call the resource is associated with" }, "date_created": { - "description": "The RFC 2822 date and time in GMT that the resource was created", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT that the resource was last updated", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was last updated" }, "error_code": { - "description": "A unique error code corresponding to the notification", + "type": "string", "nullable": true, - "type": "string" + "description": "A unique error code corresponding to the notification" }, "log": { - "description": "An integer log level", + "type": "string", "nullable": true, - "type": "string" + "description": "An integer log level" }, "message_date": { - "description": "The date the notification was generated", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The date the notification was generated" }, "message_text": { - "description": "The text of the notification", + "type": "string", "nullable": true, - "type": "string" + "description": "The text of the notification" }, "more_info": { - "description": "A URL for more information about the error code", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "A URL for more information about the error code" }, "request_method": { - "description": "HTTP method used with the request url", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -4226,97 +4017,97 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "HTTP method used with the request url" }, "request_url": { - "description": "URL of the resource that generated the notification", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "URL of the resource that generated the notification" }, "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^NO[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string that identifies the resource" }, "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI of the resource, relative to `https://api.twilio.com`" } - }, - "type": "object" + } }, "api.v2010.account.notification-instance": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "api_version": { - "description": "The API version used to generate the notification", + "type": "string", "nullable": true, - "type": "string" + "description": "The API version used to generate the notification" }, "call_sid": { - "description": "The SID of the Call the resource is associated with", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Call the resource is associated with" }, "date_created": { - "description": "The RFC 2822 date and time in GMT that the resource was created", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT that the resource was last updated", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was last updated" }, "error_code": { - "description": "A unique error code corresponding to the notification", + "type": "string", "nullable": true, - "type": "string" + "description": "A unique error code corresponding to the notification" }, "log": { - "description": "An integer log level", + "type": "string", "nullable": true, - "type": "string" + "description": "An integer log level" }, "message_date": { - "description": "The date the notification was generated", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The date the notification was generated" }, "message_text": { - "description": "The text of the notification", + "type": "string", "nullable": true, - "type": "string" + "description": "The text of the notification" }, "more_info": { - "description": "A URL for more information about the error code", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "A URL for more information about the error code" }, "request_method": { - "description": "HTTP method used with the request url", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -4325,288 +4116,393 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "HTTP method used with the request url" }, "request_url": { - "description": "URL of the resource that generated the notification", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "URL of the resource that generated the notification" }, "request_variables": { - "description": "Twilio-generated HTTP variables sent to the server", + "type": "string", "nullable": true, - "type": "string" + "description": "Twilio-generated HTTP variables sent to the server" }, "response_body": { - "description": "The HTTP body returned by your server", + "type": "string", "nullable": true, - "type": "string" + "description": "The HTTP body returned by your server" }, "response_headers": { - "description": "The HTTP headers returned by your server", + "type": "string", "nullable": true, - "type": "string" + "description": "The HTTP headers returned by your server" }, "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^NO[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string that identifies the resource" }, "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI of the resource, relative to `https://api.twilio.com`" } - }, - "type": "object" + } }, "api.v2010.account.outgoing_caller_id": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^PN[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, "date_created": { - "description": "The RFC 2822 date and time in GMT that the resource was created", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT that the resource was last updated", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was last updated" }, "friendly_name": { - "description": "The string that you assigned to describe the resource", + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the resource" }, - "phone_number": { - "description": "The phone number in E.164 format", - "format": "phone-number", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "phone_number": { + "type": "string", + "format": "phone-number", "nullable": true, - "pattern": "^PN[0-9a-fA-F]{32}$", - "type": "string" + "description": "The phone number in E.164 format" }, "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI of the resource, relative to `https://api.twilio.com`" } - }, - "type": "object" + } }, - "api.v2010.account.queue": { + "api.v2010.account.conference.participant": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created this resource", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "call_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Call the resource is associated with" }, - "average_wait_time": { - "description": "Average wait time of members in the queue", + "label": { + "type": "string", "nullable": true, - "type": "integer" + "description": "The label of this participant" }, - "current_size": { - "description": "The number of calls currently in the queue.", + "call_sid_to_coach": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the participant who is being `coached`" + }, + "coaching": { + "type": "boolean", + "nullable": true, + "description": "Indicates if the participant changed to coach" + }, + "conference_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CF[0-9a-fA-F]{32}$", "nullable": true, - "type": "integer" + "description": "The SID of the conference the participant is in" }, "date_created": { - "description": "The RFC 2822 date and time in GMT that this resource was created", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT that this resource was last updated", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was last updated" }, - "friendly_name": { - "description": "A string that you assigned to describe this resource", + "end_conference_on_exit": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Whether the conference ends when the participant leaves" }, - "max_size": { - "description": "The max number of calls allowed in the queue", + "muted": { + "type": "boolean", "nullable": true, - "type": "integer" + "description": "Whether the participant is muted" }, - "sid": { - "description": "The unique string that identifies this resource", - "maxLength": 34, - "minLength": 34, + "hold": { + "type": "boolean", "nullable": true, - "pattern": "^QU[0-9a-fA-F]{32}$", - "type": "string" + "description": "Whether the participant is on hold" + }, + "start_conference_on_enter": { + "type": "boolean", + "nullable": true, + "description": "Whether the conference starts when the participant joins the conference" + }, + "status": { + "type": "string", + "enum": [ + "queued", + "connecting", + "ringing", + "connected", + "complete", + "failed" + ], + "nullable": true, + "description": "The status of the participant's call in a session" }, "uri": { - "description": "The URI of this resource, relative to `https://api.twilio.com`", - "format": "uri", + "type": "string", "nullable": true, - "type": "string" + "description": "The URI of the resource, relative to `https://api.twilio.com`" } - }, - "type": "object" + } }, - "api.v2010.account.queue.member": { + "api.v2010.account.call.payments": { + "type": "object", "properties": { + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the Payments resource." + }, "call_sid": { - "description": "The SID of the Call the resource is associated with", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Call the resource is associated with." + }, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^PK[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Payments resource." }, - "date_enqueued": { - "description": "The date the member was enqueued", + "date_created": { + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was created" }, - "position": { - "description": "This member's current position in the queue.", + "date_updated": { + "type": "string", + "format": "date-time-rfc-2822", "nullable": true, - "type": "integer" + "description": "The RFC 2822 date and time in GMT that the resource was last updated" }, - "queue_sid": { - "description": "The SID of the Queue the member is in", - "maxLength": 34, - "minLength": 34, + "uri": { + "type": "string", + "format": "uri", "nullable": true, - "pattern": "^QU[0-9a-fA-F]{32}$", - "type": "string" + "description": "The URI of the resource, relative to `https://api.twilio.com`" + } + } + }, + "api.v2010.account.queue": { + "type": "object", + "properties": { + "date_updated": { + "type": "string", + "format": "date-time-rfc-2822", + "nullable": true, + "description": "The RFC 2822 date and time in GMT that this resource was last updated" + }, + "current_size": { + "type": "integer", + "nullable": true, + "description": "The number of calls currently in the queue." + }, + "friendly_name": { + "type": "string", + "nullable": true, + "description": "A string that you assigned to describe this resource" }, "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI of this resource, relative to `https://api.twilio.com`" }, - "wait_time": { - "description": "The number of seconds the member has been in the queue.", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created this resource" + }, + "average_wait_time": { + "type": "integer", + "nullable": true, + "description": "Average wait time of members in the queue" + }, + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^QU[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique string that identifies this resource" + }, + "date_created": { + "type": "string", + "format": "date-time-rfc-2822", + "nullable": true, + "description": "The RFC 2822 date and time in GMT that this resource was created" + }, + "max_size": { + "type": "integer", "nullable": true, - "type": "integer" + "description": "The max number of calls allowed in the queue" } - }, - "type": "object" + } }, "api.v2010.account.recording": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "api_version": { - "description": "The API version used during the recording.", + "type": "string", "nullable": true, - "type": "string" + "description": "The API version used during the recording." }, "call_sid": { - "description": "The SID of the Call the resource is associated with", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" - }, - "channels": { - "description": "The number of channels in the final recording file as an integer.", "nullable": true, - "type": "integer" + "description": "The SID of the Call the resource is associated with" }, "conference_sid": { - "description": "The unique ID for the conference associated with the recording.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CF[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique ID for the conference associated with the recording." }, "date_created": { - "description": "The RFC 2822 date and time in GMT that the resource was created", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT that the resource was last updated", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was last updated" }, - "duration": { - "description": "The length of the recording in seconds.", + "start_time": { + "type": "string", + "format": "date-time-rfc-2822", "nullable": true, - "type": "string" - }, - "encryption_details": { - "description": "How to decrypt the recording.", - "nullable": true + "description": "The start time of the recording, given in RFC 2822 format" }, - "error_code": { - "description": "More information about why the recording is missing, if status is `absent`.", + "duration": { + "type": "string", "nullable": true, - "type": "integer" + "description": "The length of the recording in seconds." }, - "media_url": { - "description": "The URL of the media file.", - "format": "uri", + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RE[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique string that identifies the resource" }, "price": { - "description": "The one-time cost of creating the recording.", + "type": "string", "nullable": true, - "type": "string" + "description": "The one-time cost of creating the recording." }, "price_unit": { - "description": "The currency used in the price property.", + "type": "string", "nullable": true, - "type": "string" + "description": "The currency used in the price property." }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "status": { + "type": "string", + "enum": [ + "in-progress", + "paused", + "stopped", + "processing", + "completed", + "absent", + "deleted" + ], "nullable": true, - "pattern": "^RE[0-9a-fA-F]{32}$", - "type": "string" + "description": "The status of the recording." + }, + "channels": { + "type": "integer", + "nullable": true, + "description": "The number of channels in the final recording file as an integer." }, "source": { - "description": "How the recording was created", + "type": "string", "enum": [ "DialVerb", "Conference", @@ -4617,105 +4513,58 @@ "StartConferenceRecordingAPI" ], "nullable": true, - "type": "string" + "description": "How the recording was created" }, - "start_time": { - "description": "The start time of the recording, given in RFC 2822 format", - "format": "date-time-rfc-2822", + "error_code": { + "type": "integer", "nullable": true, - "type": "string" + "description": "More information about why the recording is missing, if status is `absent`." }, - "status": { - "description": "The status of the recording.", - "enum": [ - "in-progress", - "paused", - "stopped", - "processing", - "completed", - "absent", - "deleted" - ], + "uri": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The URI of the resource, relative to `https://api.twilio.com`" + }, + "encryption_details": { "nullable": true, - "type": "string" + "description": "How to decrypt the recording." }, "subresource_uris": { - "description": "A list of related resources identified by their relative URIs", + "type": "object", "format": "uri-map", "nullable": true, - "type": "object" + "description": "A list of related resources identified by their relative URIs" }, - "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", + "media_url": { + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL of the media file." } - }, - "type": "object" + } }, "api.v2010.account.recording.recording_add_on_result": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "add_on_configuration_sid": { - "description": "The SID of the Add-on configuration", "maxLength": 34, - "minLength": 34, + "pattern": "^XR[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^XE[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "add_on_sid": { - "description": "The SID of the Add-on to which the result belongs", - "maxLength": 34, + "account_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^XB[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_completed": { - "description": "The date and time in GMT that the result was completed", - "format": "date-time-rfc-2822", - "nullable": true, - "type": "string" - }, - "date_created": { - "description": "The RFC 2822 date and time in GMT that the resource was created", - "format": "date-time-rfc-2822", - "nullable": true, - "type": "string" - }, - "date_updated": { - "description": "The RFC 2822 date and time in GMT that the resource was last updated", - "format": "date-time-rfc-2822", - "nullable": true, - "type": "string" - }, - "reference_sid": { - "description": "The SID of the recording to which the AddOnResult resource belongs", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^RE[0-9a-fA-F]{32}$", - "type": "string" - }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^XR[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Account that created the resource" }, "status": { - "description": "The status of the result", + "type": "string", "enum": [ "canceled", "completed", @@ -4727,233 +4576,276 @@ "queued" ], "nullable": true, - "type": "string" + "description": "The status of the result" + }, + "add_on_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^XB[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Add-on to which the result belongs" + }, + "add_on_configuration_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^XE[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Add-on configuration" + }, + "date_created": { + "type": "string", + "format": "date-time-rfc-2822", + "nullable": true, + "description": "The RFC 2822 date and time in GMT that the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time-rfc-2822", + "nullable": true, + "description": "The RFC 2822 date and time in GMT that the resource was last updated" + }, + "date_completed": { + "type": "string", + "format": "date-time-rfc-2822", + "nullable": true, + "description": "The date and time in GMT that the result was completed" + }, + "reference_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RE[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the recording to which the AddOnResult resource belongs" }, "subresource_uris": { - "description": "A list of related resources identified by their relative URIs", + "type": "object", "format": "uri-map", "nullable": true, - "type": "object" + "description": "A list of related resources identified by their relative URIs" } - }, - "type": "object" + } }, "api.v2010.account.recording.recording_add_on_result.recording_add_on_result_payload": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "add_on_configuration_sid": { - "description": "The SID of the Add-on configuration", "maxLength": 34, - "minLength": 34, + "pattern": "^XH[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^XE[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, "add_on_result_sid": { - "description": "The SID of the AddOnResult to which the payload belongs", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^XR[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the AddOnResult to which the payload belongs" + }, + "account_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^XR[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Account that created the resource" + }, + "label": { + "type": "string", + "nullable": true, + "description": "The string that describes the payload" }, "add_on_sid": { - "description": "The SID of the Add-on to which the result belongs", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^XB[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Add-on to which the result belongs" + }, + "add_on_configuration_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^XE[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^XB[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Add-on configuration" }, "content_type": { - "description": "The MIME type of the payload", + "type": "string", "nullable": true, - "type": "string" + "description": "The MIME type of the payload" }, "date_created": { - "description": "The RFC 2822 date and time in GMT that the resource was created", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT that the resource was last updated", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" - }, - "label": { - "description": "The string that describes the payload", - "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was last updated" }, "reference_sid": { - "description": "The SID of the recording to which the AddOnResult resource that contains the payload belongs", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^RE[0-9a-fA-F]{32}$", - "type": "string" - }, - "sid": { - "description": "The unique string that identifies the resource", "maxLength": 34, - "minLength": 34, + "pattern": "^RE[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^XH[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the recording to which the AddOnResult resource that contains the payload belongs" }, "subresource_uris": { - "description": "A list of related resources identified by their relative URIs", + "type": "object", "format": "uri-map", "nullable": true, - "type": "object" + "description": "A list of related resources identified by their relative URIs" } - }, - "type": "object" + } }, "api.v2010.account.recording.recording_transcription": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "api_version": { - "description": "The API version used to create the transcription", + "type": "string", "nullable": true, - "type": "string" + "description": "The API version used to create the transcription" }, "date_created": { - "description": "The RFC 2822 date and time in GMT that the resource was created", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT that the resource was last updated", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was last updated" }, "duration": { - "description": "The duration of the transcribed audio in seconds.", + "type": "string", "nullable": true, - "type": "string" + "description": "The duration of the transcribed audio in seconds." }, "price": { - "description": "The charge for the transcription", + "type": "number", "nullable": true, - "type": "number" + "description": "The charge for the transcription" }, "price_unit": { - "description": "The currency in which price is measured", + "type": "string", "format": "currency", "nullable": true, - "type": "string" + "description": "The currency in which price is measured" }, "recording_sid": { - "description": "The SID that identifies the transcription's recording", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^RE[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID that identifies the transcription's recording" }, "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^TR[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string that identifies the resource" }, "status": { - "description": "The status of the transcription", + "type": "string", "enum": [ "in-progress", "completed", "failed" ], "nullable": true, - "type": "string" + "description": "The status of the transcription" }, "transcription_text": { - "description": "The text content of the transcription.", + "type": "string", "nullable": true, - "type": "string" + "description": "The text content of the transcription." }, "type": { - "description": "The transcription type", + "type": "string", "nullable": true, - "type": "string" + "description": "The transcription type" }, "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI of the resource, relative to `https://api.twilio.com`" } - }, - "type": "object" + } }, "api.v2010.account.short_code": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created this resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created this resource" }, "api_version": { - "description": "The API version used to start a new TwiML session", + "type": "string", "nullable": true, - "type": "string" + "description": "The API version used to start a new TwiML session" }, "date_created": { - "description": "The RFC 2822 date and time in GMT that this resource was created", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that this resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT that this resource was last updated", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that this resource was last updated" }, "friendly_name": { - "description": "A string that you assigned to describe this resource", + "type": "string", "nullable": true, - "type": "string" + "description": "A string that you assigned to describe this resource" }, "short_code": { - "description": "The short code. e.g., 894546.", + "type": "string", "nullable": true, - "type": "string" + "description": "The short code. e.g., 894546." }, "sid": { - "description": "The unique string that identifies this resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^SC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string that identifies this resource" }, "sms_fallback_method": { - "description": "HTTP method we use to call the sms_fallback_url", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -4962,18 +4854,18 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "HTTP method we use to call the sms_fallback_url" }, "sms_fallback_url": { - "description": "URL Twilio will request if an error occurs in executing TwiML", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "URL Twilio will request if an error occurs in executing TwiML" }, "sms_method": { - "description": "HTTP method to use when requesting the sms url", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -4982,252 +4874,393 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "HTTP method to use when requesting the sms url" }, "sms_url": { - "description": "URL we call when receiving an incoming SMS message to this short code", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "URL we call when receiving an incoming SMS message to this short code" }, "uri": { - "description": "The URI of this resource, relative to `https://api.twilio.com`", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI of this resource, relative to `https://api.twilio.com`" } - }, - "type": "object" + } }, "api.v2010.account.signing_key": { + "type": "object", + "properties": { + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^SK[0-9a-fA-F]{32}$", + "nullable": true + }, + "friendly_name": { + "type": "string", + "nullable": true + }, + "date_created": { + "type": "string", + "format": "date-time-rfc-2822", + "nullable": true + }, + "date_updated": { + "type": "string", + "format": "date-time-rfc-2822", + "nullable": true + } + } + }, + "api.v2010.account.sip": { + "type": "object", + "properties": {} + }, + "api.v2010.account.sip.sip_domain.sip_auth": { + "type": "object", + "properties": {} + }, + "api.v2010.account.sip.sip_domain.sip_auth.sip_auth_calls": { + "type": "object", + "properties": {} + }, + "api.v2010.account.sip.sip_domain.sip_auth.sip_auth_calls.sip_auth_calls_credential_list_mapping": { + "type": "object", "properties": { + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" + }, "date_created": { + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was created" }, "date_updated": { + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was last updated" }, "friendly_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the resource" }, "sid": { - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^CL[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^SK[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" } - }, - "type": "object" - }, - "api.v2010.account.sip": { - "properties": {}, - "type": "object" + } }, - "api.v2010.account.sip.sip_credential_list": { + "api.v2010.account.sip.sip_domain.sip_auth.sip_auth_calls.sip_auth_calls_ip_access_control_list_mapping": { + "type": "object", "properties": { "account_sid": { - "description": "The unique sid that identifies this account", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "date_created": { - "description": "The date this resource was created", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was created" }, "date_updated": { - "description": "The date this resource was last updated", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was last updated" }, "friendly_name": { - "description": "Human readable descriptive text", + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the resource" }, "sid": { - "description": "A string that uniquely identifies this credential", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AL[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique string that identifies the resource" + } + } + }, + "api.v2010.account.sip.sip_domain.sip_auth.sip_auth_registrations": { + "type": "object", + "properties": {} + }, + "api.v2010.account.sip.sip_domain.sip_auth.sip_auth_registrations.sip_auth_registrations_credential_list_mapping": { + "type": "object", + "properties": { + "account_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^CL[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Account that created the resource" }, - "subresource_uris": { - "description": "The list of credentials associated with this credential list.", - "format": "uri-map", + "date_created": { + "type": "string", + "format": "date-time-rfc-2822", "nullable": true, - "type": "object" + "description": "The RFC 2822 date and time in GMT that the resource was created" }, - "uri": { - "description": "The URI for this resource", - "format": "uri", + "date_updated": { + "type": "string", + "format": "date-time-rfc-2822", + "nullable": true, + "description": "The RFC 2822 date and time in GMT that the resource was last updated" + }, + "friendly_name": { + "type": "string", + "nullable": true, + "description": "The string that you assigned to describe the resource" + }, + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CL[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique string that identifies the resource" } - }, - "type": "object" + } }, "api.v2010.account.sip.sip_credential_list.sip_credential": { + "type": "object", "properties": { - "account_sid": { - "description": "The unique id of the Account that is responsible for this resource.", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$", "nullable": true, + "description": "A 34 character string that uniquely identifies this resource." + }, + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique id of the Account that is responsible for this resource." }, "credential_list_sid": { - "description": "The unique id that identifies the credential list that includes this credential", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CL[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique id that identifies the credential list that includes this credential" + }, + "username": { + "type": "string", + "nullable": true, + "description": "The username for this credential." }, "date_created": { - "description": "The date that this resource was created, given as GMT in RFC 2822 format.", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The date that this resource was created, given as GMT in RFC 2822 format." }, "date_updated": { - "description": "The date that this resource was last updated, given as GMT in RFC 2822 format.", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" - }, - "sid": { - "description": "A 34 character string that uniquely identifies this resource.", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" + "description": "The date that this resource was last updated, given as GMT in RFC 2822 format." }, "uri": { - "description": "The URI for this resource, relative to https://api.twilio.com", + "type": "string", "format": "uri", "nullable": true, - "type": "string" - }, - "username": { - "description": "The username for this credential.", - "nullable": true, - "type": "string" + "description": "The URI for this resource, relative to https://api.twilio.com" } - }, - "type": "object" + } }, - "api.v2010.account.sip.sip_domain": { + "api.v2010.account.sip.sip_credential_list": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "api_version": { - "description": "The API version used to process the call", - "nullable": true, - "type": "string" - }, - "auth_type": { - "description": "The types of authentication mapped to the domain", - "nullable": true, - "type": "string" - }, - "byoc_trunk_sid": { - "description": "The SID of the BYOC Trunk resource.", "maxLength": 34, - "minLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^BY[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique sid that identifies this account" }, "date_created": { - "description": "The RFC 2822 date and time in GMT that the resource was created", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The date this resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT that the resource was last updated", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The date this resource was last updated" }, - "domain_name": { - "description": "The unique address on Twilio to route SIP traffic", + "friendly_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "Human readable descriptive text" }, - "emergency_caller_sid": { - "description": "Whether an emergency caller sid is configured for the domain.", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^CL[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^PN[0-9a-fA-F]{32}$", - "type": "string" + "description": "A string that uniquely identifies this credential" }, - "emergency_calling_enabled": { - "description": "Whether emergency calling is enabled for the domain.", + "subresource_uris": { + "type": "object", + "format": "uri-map", "nullable": true, - "type": "boolean" + "description": "The list of credentials associated with this credential list." }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", + "uri": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The URI for this resource" + } + } + }, + "api.v2010.account.sip.sip_domain.sip_credential_list_mapping": { + "type": "object", + "properties": { + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique id of the Account that is responsible for this resource." }, - "secure": { - "description": "Whether secure SIP is enabled for the domain", + "date_created": { + "type": "string", + "format": "date-time-rfc-2822", + "nullable": true, + "description": "The date that this resource was created, given as GMT in RFC 2822 format." + }, + "date_updated": { + "type": "string", + "format": "date-time-rfc-2822", + "nullable": true, + "description": "The date that this resource was last updated, given as GMT in RFC 2822 format." + }, + "domain_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^SD[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique string that identifies the SipDomain resource." + }, + "friendly_name": { + "type": "string", "nullable": true, - "type": "boolean" + "description": "A human readable descriptive text for this resource, up to 64 characters long." }, "sid": { - "description": "The unique string that identifies the resource", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^CL[0-9a-fA-F]{32}$", + "nullable": true, + "description": "A 34 character string that uniquely identifies this resource." + }, + "uri": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The URI for this resource, relative to https://api.twilio.com" + } + } + }, + "api.v2010.account.sip.sip_domain": { + "type": "object", + "properties": { + "account_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^SD[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Account that created the resource" }, - "sip_registration": { - "description": "Whether SIP registration is allowed", + "api_version": { + "type": "string", "nullable": true, - "type": "boolean" + "description": "The API version used to process the call" }, - "subresource_uris": { - "description": "A list mapping resources associated with the SIP Domain resource", - "format": "uri-map", + "auth_type": { + "type": "string", + "nullable": true, + "description": "The types of authentication mapped to the domain" + }, + "date_created": { + "type": "string", + "format": "date-time-rfc-2822", + "nullable": true, + "description": "The RFC 2822 date and time in GMT that the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time-rfc-2822", + "nullable": true, + "description": "The RFC 2822 date and time in GMT that the resource was last updated" + }, + "domain_name": { + "type": "string", "nullable": true, - "type": "object" + "description": "The unique address on Twilio to route SIP traffic" + }, + "friendly_name": { + "type": "string", + "nullable": true, + "description": "The string that you assigned to describe the resource" + }, + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^SD[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique string that identifies the resource" }, "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI of the resource, relative to `https://api.twilio.com`" }, "voice_fallback_method": { - "description": "The HTTP method used with voice_fallback_url", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -5236,18 +5269,18 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method used with voice_fallback_url" }, "voice_fallback_url": { - "description": "The URL we call when an error occurs while executing TwiML", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL we call when an error occurs while executing TwiML" }, "voice_method": { - "description": "The HTTP method to use with voice_url", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -5256,12 +5289,12 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method to use with voice_url" }, "voice_status_callback_method": { - "description": "The HTTP method we use to call voice_status_callback_url", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -5270,544 +5303,512 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method we use to call voice_status_callback_url" }, "voice_status_callback_url": { - "description": "The URL that we call with status updates", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL that we call with status updates" }, "voice_url": { - "description": "The URL we call when receiving a call", + "type": "string", "format": "uri", "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "api.v2010.account.sip.sip_domain.sip_auth": { - "properties": {}, - "type": "object" - }, - "api.v2010.account.sip.sip_domain.sip_auth.sip_auth_calls": { - "properties": {}, - "type": "object" - }, - "api.v2010.account.sip.sip_domain.sip_auth.sip_auth_calls.sip_auth_calls_credential_list_mapping": { - "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, - "minLength": 34, + "description": "The URL we call when receiving a call" + }, + "subresource_uris": { + "type": "object", + "format": "uri-map", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "A list mapping resources associated with the SIP Domain resource" }, - "date_created": { - "description": "The RFC 2822 date and time in GMT that the resource was created", - "format": "date-time-rfc-2822", + "sip_registration": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Whether SIP registration is allowed" }, - "date_updated": { - "description": "The RFC 2822 date and time in GMT that the resource was last updated", - "format": "date-time-rfc-2822", + "emergency_calling_enabled": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Whether emergency calling is enabled for the domain." }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", + "secure": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Whether secure SIP is enabled for the domain" }, - "sid": { - "description": "The unique string that identifies the resource", + "byoc_trunk_sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^BY[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the BYOC Trunk resource." + }, + "emergency_caller_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^PN[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^CL[0-9a-fA-F]{32}$", - "type": "string" + "description": "Whether an emergency caller sid is configured for the domain." } - }, - "type": "object" + } }, - "api.v2010.account.sip.sip_domain.sip_auth.sip_auth_calls.sip_auth_calls_ip_access_control_list_mapping": { + "api.v2010.account.sip.sip_ip_access_control_list": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^AL[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "description": "The RFC 2822 date and time in GMT that the resource was created", - "format": "date-time-rfc-2822", - "nullable": true, - "type": "string" + "description": "A string that uniquely identifies this resource" }, - "date_updated": { - "description": "The RFC 2822 date and time in GMT that the resource was last updated", - "format": "date-time-rfc-2822", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique sid that identifies this account" }, "friendly_name": { - "description": "The string that you assigned to describe the resource", - "nullable": true, - "type": "string" - }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^AL[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "type": "object" - }, - "api.v2010.account.sip.sip_domain.sip_auth.sip_auth_registrations": { - "properties": {}, - "type": "object" - }, - "api.v2010.account.sip.sip_domain.sip_auth.sip_auth_registrations.sip_auth_registrations_credential_list_mapping": { - "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, - "minLength": 34, + "type": "string", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "A human readable description of this resource" }, "date_created": { - "description": "The RFC 2822 date and time in GMT that the resource was created", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The date this resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT that the resource was last updated", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The date this resource was last updated" }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", + "subresource_uris": { + "type": "object", + "format": "uri-map", "nullable": true, - "type": "string" + "description": "The IP addresses associated with this resource." }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "uri": { + "type": "string", + "format": "uri", "nullable": true, - "pattern": "^CL[0-9a-fA-F]{32}$", - "type": "string" + "description": "The URI for this resource" } - }, - "type": "object" + } }, - "api.v2010.account.sip.sip_domain.sip_credential_list_mapping": { + "api.v2010.account.sip.sip_domain.sip_ip_access_control_list_mapping": { + "type": "object", "properties": { "account_sid": { - "description": "The unique id of the Account that is responsible for this resource.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique id of the Account that is responsible for this resource." }, "date_created": { - "description": "The date that this resource was created, given as GMT in RFC 2822 format.", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The date that this resource was created, given as GMT in RFC 2822 format." }, "date_updated": { - "description": "The date that this resource was last updated, given as GMT in RFC 2822 format.", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The date that this resource was last updated, given as GMT in RFC 2822 format." }, "domain_sid": { - "description": "The unique string that identifies the SipDomain resource.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^SD[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string that identifies the SipDomain resource." }, "friendly_name": { - "description": "A human readable descriptive text for this resource, up to 64 characters long.", + "type": "string", "nullable": true, - "type": "string" + "description": "A human readable descriptive text for this resource, up to 64 characters long." }, "sid": { - "description": "A 34 character string that uniquely identifies this resource.", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^AL[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^CL[0-9a-fA-F]{32}$", - "type": "string" + "description": "A 34 character string that uniquely identifies this resource." }, "uri": { - "description": "The URI for this resource, relative to https://api.twilio.com", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI for this resource, relative to https://api.twilio.com" } - }, - "type": "object" + } }, - "api.v2010.account.sip.sip_domain.sip_ip_access_control_list_mapping": { + "api.v2010.account.sip.sip_ip_access_control_list.sip_ip_address": { + "type": "object", "properties": { - "account_sid": { - "description": "The unique id of the Account that is responsible for this resource.", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^IP[0-9a-fA-F]{32}$", "nullable": true, + "description": "A 34 character string that uniquely identifies this resource." + }, + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique id of the Account that is responsible for this resource." }, - "date_created": { - "description": "The date that this resource was created, given as GMT in RFC 2822 format.", - "format": "date-time-rfc-2822", + "friendly_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "A human readable descriptive text for this resource, up to 64 characters long." }, - "date_updated": { - "description": "The date that this resource was last updated, given as GMT in RFC 2822 format.", - "format": "date-time-rfc-2822", + "ip_address": { + "type": "string", "nullable": true, - "type": "string" + "description": "An IP address in dotted decimal notation from which you want to accept traffic. Any SIP requests from this IP address will be allowed by Twilio. IPv4 only supported today." }, - "domain_sid": { - "description": "The unique string that identifies the SipDomain resource.", - "maxLength": 34, + "cidr_prefix_length": { + "type": "integer", + "nullable": true, + "description": "An integer representing the length of the CIDR prefix to use with this IP address when accepting traffic. By default the entire IP address is used." + }, + "ip_access_control_list_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^AL[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^SD[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique id of the IpAccessControlList resource that includes this resource." }, - "friendly_name": { - "description": "A human readable descriptive text for this resource, up to 64 characters long.", + "date_created": { + "type": "string", + "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The date that this resource was created, given as GMT in RFC 2822 format." }, - "sid": { - "description": "A 34 character string that uniquely identifies this resource.", - "maxLength": 34, - "minLength": 34, + "date_updated": { + "type": "string", + "format": "date-time-rfc-2822", "nullable": true, - "pattern": "^AL[0-9a-fA-F]{32}$", - "type": "string" + "description": "The date that this resource was last updated, given as GMT in RFC 2822 format." }, "uri": { - "description": "The URI for this resource, relative to https://api.twilio.com", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI for this resource, relative to https://api.twilio.com" } - }, - "type": "object" + } }, - "api.v2010.account.sip.sip_ip_access_control_list": { + "api.v2010.account.call.siprec": { + "type": "object", "properties": { - "account_sid": { - "description": "The unique sid that identifies this account", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^SR[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Siprec resource." }, - "date_created": { - "description": "The date this resource was created", - "format": "date-time-rfc-2822", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created this resource" }, - "date_updated": { - "description": "The date this resource was last updated", - "format": "date-time-rfc-2822", + "call_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Call the resource is associated with" }, - "friendly_name": { - "description": "A human readable description of this resource", + "name": { + "type": "string", "nullable": true, - "type": "string" + "description": "The name of this resource" }, - "sid": { - "description": "A string that uniquely identifies this resource", - "maxLength": 34, - "minLength": 34, + "status": { + "type": "string", + "enum": [ + "in-progress", + "stopped" + ], "nullable": true, - "pattern": "^AL[0-9a-fA-F]{32}$", - "type": "string" + "description": "The status - one of `stopped`, `in-progress`" }, - "subresource_uris": { - "description": "The IP addresses associated with this resource.", - "format": "uri-map", + "date_updated": { + "type": "string", + "format": "date-time-rfc-2822", "nullable": true, - "type": "object" + "description": "The RFC 2822 date and time in GMT that this resource was last updated" }, "uri": { - "description": "The URI for this resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI of the resource, relative to `https://api.twilio.com`" } - }, - "type": "object" + } }, - "api.v2010.account.sip.sip_ip_access_control_list.sip_ip_address": { + "api.v2010.account.call.stream": { + "type": "object", "properties": { - "account_sid": { - "description": "The unique id of the Account that is responsible for this resource.", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^MZ[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "cidr_prefix_length": { - "description": "An integer representing the length of the CIDR prefix to use with this IP address when accepting traffic. By default the entire IP address is used.", - "nullable": true, - "type": "integer" - }, - "date_created": { - "description": "The date that this resource was created, given as GMT in RFC 2822 format.", - "format": "date-time-rfc-2822", - "nullable": true, - "type": "string" + "description": "The SID of the Stream resource." }, - "date_updated": { - "description": "The date that this resource was last updated, given as GMT in RFC 2822 format.", - "format": "date-time-rfc-2822", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created this resource" }, - "friendly_name": { - "description": "A human readable descriptive text for this resource, up to 64 characters long.", + "call_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Call the resource is associated with" }, - "ip_access_control_list_sid": { - "description": "The unique id of the IpAccessControlList resource that includes this resource.", - "maxLength": 34, - "minLength": 34, + "name": { + "type": "string", "nullable": true, - "pattern": "^AL[0-9a-fA-F]{32}$", - "type": "string" + "description": "The name of this resource" }, - "ip_address": { - "description": "An IP address in dotted decimal notation from which you want to accept traffic. Any SIP requests from this IP address will be allowed by Twilio. IPv4 only supported today.", + "status": { + "type": "string", + "enum": [ + "in-progress", + "stopped" + ], "nullable": true, - "type": "string" + "description": "The status - one of `stopped`, `in-progress`" }, - "sid": { - "description": "A 34 character string that uniquely identifies this resource.", - "maxLength": 34, - "minLength": 34, + "date_updated": { + "type": "string", + "format": "date-time-rfc-2822", "nullable": true, - "pattern": "^IP[0-9a-fA-F]{32}$", - "type": "string" + "description": "The RFC 2822 date and time in GMT that this resource was last updated" }, "uri": { - "description": "The URI for this resource, relative to https://api.twilio.com", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI of the resource, relative to `https://api.twilio.com`" } - }, - "type": "object" + } }, "api.v2010.account.token": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "date_created": { - "description": "The RFC 2822 date and time in GMT that the resource was created", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT that the resource was last updated", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was last updated" }, "ice_servers": { - "description": "An array representing the ephemeral credentials", + "type": "array", "items": { + "type": "object", "format": "ice-servers", "properties": { "credential": { "type": "string" }, - "url": { + "username": { "type": "string" }, - "urls": { + "url": { "type": "string" }, - "username": { + "urls": { "type": "string" } - }, - "type": "object" + } }, "nullable": true, - "type": "array" + "description": "An array representing the ephemeral credentials" }, "password": { - "description": "The temporary password used for authenticating", + "type": "string", "nullable": true, - "type": "string" + "description": "The temporary password used for authenticating" }, "ttl": { - "description": "The duration in seconds the credentials are valid", + "type": "string", "nullable": true, - "type": "string" + "description": "The duration in seconds the credentials are valid" }, "username": { - "description": "The temporary username that uniquely identifies a Token", + "type": "string", "nullable": true, - "type": "string" + "description": "The temporary username that uniquely identifies a Token" } - }, - "type": "object" + } }, "api.v2010.account.transcription": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "api_version": { - "description": "The API version used to create the transcription", + "type": "string", "nullable": true, - "type": "string" + "description": "The API version used to create the transcription" }, "date_created": { - "description": "The RFC 2822 date and time in GMT that the resource was created", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT that the resource was last updated", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was last updated" }, "duration": { - "description": "The duration of the transcribed audio in seconds.", + "type": "string", "nullable": true, - "type": "string" + "description": "The duration of the transcribed audio in seconds." }, "price": { - "description": "The charge for the transcription", + "type": "number", "nullable": true, - "type": "number" + "description": "The charge for the transcription" }, "price_unit": { - "description": "The currency in which price is measured", + "type": "string", "format": "currency", "nullable": true, - "type": "string" + "description": "The currency in which price is measured" }, "recording_sid": { - "description": "The SID that identifies the transcription's recording", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^RE[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID that identifies the transcription's recording" }, "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^TR[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string that identifies the resource" }, "status": { - "description": "The status of the transcription", + "type": "string", "enum": [ "in-progress", "completed", "failed" ], "nullable": true, - "type": "string" + "description": "The status of the transcription" }, "transcription_text": { - "description": "The text content of the transcription.", + "type": "string", "nullable": true, - "type": "string" + "description": "The text content of the transcription." }, "type": { - "description": "The transcription type", + "type": "string", "nullable": true, - "type": "string" + "description": "The transcription type" }, "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI of the resource, relative to `https://api.twilio.com`" } - }, - "type": "object" + } }, "api.v2010.account.usage": { - "properties": {}, - "type": "object" + "type": "object", + "properties": {} }, "api.v2010.account.usage.usage_record": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account accrued the usage", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account accrued the usage" }, "api_version": { - "description": "The API version used to create the resource", + "type": "string", "nullable": true, - "type": "string" + "description": "The API version used to create the resource" }, "as_of": { - "description": "Usage records up to date as of this timestamp", + "type": "string", "nullable": true, - "type": "string" + "description": "Usage records up to date as of this timestamp" }, "category": { - "description": "The category of usage", + "type": "string", "enum": [ "a2p-registration-fees", "agent-conference", @@ -6055,93 +6056,93 @@ "wireless-usage-voice" ], "nullable": true, - "type": "string" + "description": "The category of usage" }, "count": { - "description": "The number of usage events", + "type": "string", "nullable": true, - "type": "string" + "description": "The number of usage events" }, "count_unit": { - "description": "The units in which count is measured", + "type": "string", "nullable": true, - "type": "string" + "description": "The units in which count is measured" }, "description": { - "description": "A plain-language description of the usage category", + "type": "string", "nullable": true, - "type": "string" + "description": "A plain-language description of the usage category" }, "end_date": { - "description": "The last date for which usage is included in the UsageRecord", + "type": "string", "format": "date", "nullable": true, - "type": "string" + "description": "The last date for which usage is included in the UsageRecord" }, "price": { - "description": "The total price of the usage", + "type": "number", "nullable": true, - "type": "number" + "description": "The total price of the usage" }, "price_unit": { - "description": "The currency in which `price` is measured", + "type": "string", "format": "currency", "nullable": true, - "type": "string" + "description": "The currency in which `price` is measured" }, "start_date": { - "description": "The first date for which usage is included in this UsageRecord", + "type": "string", "format": "date", "nullable": true, - "type": "string" + "description": "The first date for which usage is included in this UsageRecord" }, "subresource_uris": { - "description": "A list of related resources identified by their relative URIs", + "type": "object", "format": "uri-map", "nullable": true, - "type": "object" + "description": "A list of related resources identified by their relative URIs" }, "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI of the resource, relative to `https://api.twilio.com`" }, "usage": { - "description": "The amount of usage", + "type": "string", "nullable": true, - "type": "string" + "description": "The amount of usage" }, "usage_unit": { - "description": "The units in which usage is measured", + "type": "string", "nullable": true, - "type": "string" + "description": "The units in which usage is measured" } - }, - "type": "object" + } }, "api.v2010.account.usage.usage_record.usage_record_all_time": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account accrued the usage", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account accrued the usage" }, "api_version": { - "description": "The API version used to create the resource", + "type": "string", "nullable": true, - "type": "string" + "description": "The API version used to create the resource" }, "as_of": { - "description": "Usage records up to date as of this timestamp", + "type": "string", "nullable": true, - "type": "string" + "description": "Usage records up to date as of this timestamp" }, "category": { - "description": "The category of usage", + "type": "string", "enum": [ "a2p-registration-fees", "agent-conference", @@ -6389,93 +6390,93 @@ "wireless-usage-voice" ], "nullable": true, - "type": "string" + "description": "The category of usage" }, "count": { - "description": "The number of usage events", + "type": "string", "nullable": true, - "type": "string" + "description": "The number of usage events" }, "count_unit": { - "description": "The units in which count is measured", + "type": "string", "nullable": true, - "type": "string" + "description": "The units in which count is measured" }, "description": { - "description": "A plain-language description of the usage category", + "type": "string", "nullable": true, - "type": "string" + "description": "A plain-language description of the usage category" }, "end_date": { - "description": "The last date for which usage is included in the UsageRecord", + "type": "string", "format": "date", "nullable": true, - "type": "string" + "description": "The last date for which usage is included in the UsageRecord" }, "price": { - "description": "The total price of the usage", + "type": "number", "nullable": true, - "type": "number" + "description": "The total price of the usage" }, "price_unit": { - "description": "The currency in which `price` is measured", + "type": "string", "format": "currency", "nullable": true, - "type": "string" + "description": "The currency in which `price` is measured" }, "start_date": { - "description": "The first date for which usage is included in this UsageRecord", + "type": "string", "format": "date", "nullable": true, - "type": "string" + "description": "The first date for which usage is included in this UsageRecord" }, "subresource_uris": { - "description": "A list of related resources identified by their relative URIs", + "type": "object", "format": "uri-map", "nullable": true, - "type": "object" + "description": "A list of related resources identified by their relative URIs" }, "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI of the resource, relative to `https://api.twilio.com`" }, "usage": { - "description": "The amount of usage", + "type": "string", "nullable": true, - "type": "string" + "description": "The amount of usage" }, "usage_unit": { - "description": "The units in which usage is measured", + "type": "string", "nullable": true, - "type": "string" + "description": "The units in which usage is measured" } - }, - "type": "object" + } }, "api.v2010.account.usage.usage_record.usage_record_daily": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account accrued the usage", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account accrued the usage" }, "api_version": { - "description": "The API version used to create the resource", + "type": "string", "nullable": true, - "type": "string" + "description": "The API version used to create the resource" }, "as_of": { - "description": "Usage records up to date as of this timestamp", + "type": "string", "nullable": true, - "type": "string" + "description": "Usage records up to date as of this timestamp" }, "category": { - "description": "The category of usage", + "type": "string", "enum": [ "a2p-registration-fees", "agent-conference", @@ -6723,93 +6724,93 @@ "wireless-usage-voice" ], "nullable": true, - "type": "string" + "description": "The category of usage" }, "count": { - "description": "The number of usage events", + "type": "string", "nullable": true, - "type": "string" + "description": "The number of usage events" }, "count_unit": { - "description": "The units in which count is measured", + "type": "string", "nullable": true, - "type": "string" + "description": "The units in which count is measured" }, "description": { - "description": "A plain-language description of the usage category", + "type": "string", "nullable": true, - "type": "string" + "description": "A plain-language description of the usage category" }, "end_date": { - "description": "The last date for which usage is included in the UsageRecord", + "type": "string", "format": "date", "nullable": true, - "type": "string" + "description": "The last date for which usage is included in the UsageRecord" }, "price": { - "description": "The total price of the usage", + "type": "number", "nullable": true, - "type": "number" + "description": "The total price of the usage" }, "price_unit": { - "description": "The currency in which `price` is measured", + "type": "string", "format": "currency", "nullable": true, - "type": "string" + "description": "The currency in which `price` is measured" }, "start_date": { - "description": "The first date for which usage is included in this UsageRecord", + "type": "string", "format": "date", "nullable": true, - "type": "string" + "description": "The first date for which usage is included in this UsageRecord" }, "subresource_uris": { - "description": "A list of related resources identified by their relative URIs", + "type": "object", "format": "uri-map", "nullable": true, - "type": "object" + "description": "A list of related resources identified by their relative URIs" }, "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI of the resource, relative to `https://api.twilio.com`" }, "usage": { - "description": "The amount of usage", + "type": "string", "nullable": true, - "type": "string" + "description": "The amount of usage" }, "usage_unit": { - "description": "The units in which usage is measured", + "type": "string", "nullable": true, - "type": "string" + "description": "The units in which usage is measured" } - }, - "type": "object" + } }, "api.v2010.account.usage.usage_record.usage_record_last_month": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account accrued the usage", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account accrued the usage" }, "api_version": { - "description": "The API version used to create the resource", + "type": "string", "nullable": true, - "type": "string" + "description": "The API version used to create the resource" }, "as_of": { - "description": "Usage records up to date as of this timestamp", + "type": "string", "nullable": true, - "type": "string" + "description": "Usage records up to date as of this timestamp" }, "category": { - "description": "The category of usage", + "type": "string", "enum": [ "a2p-registration-fees", "agent-conference", @@ -7057,93 +7058,93 @@ "wireless-usage-voice" ], "nullable": true, - "type": "string" + "description": "The category of usage" }, "count": { - "description": "The number of usage events", + "type": "string", "nullable": true, - "type": "string" + "description": "The number of usage events" }, "count_unit": { - "description": "The units in which count is measured", + "type": "string", "nullable": true, - "type": "string" + "description": "The units in which count is measured" }, "description": { - "description": "A plain-language description of the usage category", + "type": "string", "nullable": true, - "type": "string" + "description": "A plain-language description of the usage category" }, "end_date": { - "description": "The last date for which usage is included in the UsageRecord", + "type": "string", "format": "date", "nullable": true, - "type": "string" + "description": "The last date for which usage is included in the UsageRecord" }, "price": { - "description": "The total price of the usage", + "type": "number", "nullable": true, - "type": "number" + "description": "The total price of the usage" }, "price_unit": { - "description": "The currency in which `price` is measured", + "type": "string", "format": "currency", "nullable": true, - "type": "string" + "description": "The currency in which `price` is measured" }, "start_date": { - "description": "The first date for which usage is included in this UsageRecord", + "type": "string", "format": "date", "nullable": true, - "type": "string" + "description": "The first date for which usage is included in this UsageRecord" }, "subresource_uris": { - "description": "A list of related resources identified by their relative URIs", + "type": "object", "format": "uri-map", "nullable": true, - "type": "object" + "description": "A list of related resources identified by their relative URIs" }, "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI of the resource, relative to `https://api.twilio.com`" }, "usage": { - "description": "The amount of usage", + "type": "string", "nullable": true, - "type": "string" + "description": "The amount of usage" }, "usage_unit": { - "description": "The units in which usage is measured", + "type": "string", "nullable": true, - "type": "string" + "description": "The units in which usage is measured" } - }, - "type": "object" + } }, "api.v2010.account.usage.usage_record.usage_record_monthly": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account accrued the usage", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account accrued the usage" }, "api_version": { - "description": "The API version used to create the resource", + "type": "string", "nullable": true, - "type": "string" + "description": "The API version used to create the resource" }, "as_of": { - "description": "Usage records up to date as of this timestamp", + "type": "string", "nullable": true, - "type": "string" + "description": "Usage records up to date as of this timestamp" }, "category": { - "description": "The category of usage", + "type": "string", "enum": [ "a2p-registration-fees", "agent-conference", @@ -7391,93 +7392,93 @@ "wireless-usage-voice" ], "nullable": true, - "type": "string" + "description": "The category of usage" }, "count": { - "description": "The number of usage events", + "type": "string", "nullable": true, - "type": "string" + "description": "The number of usage events" }, "count_unit": { - "description": "The units in which count is measured", + "type": "string", "nullable": true, - "type": "string" + "description": "The units in which count is measured" }, "description": { - "description": "A plain-language description of the usage category", + "type": "string", "nullable": true, - "type": "string" + "description": "A plain-language description of the usage category" }, "end_date": { - "description": "The last date for which usage is included in the UsageRecord", + "type": "string", "format": "date", "nullable": true, - "type": "string" + "description": "The last date for which usage is included in the UsageRecord" }, "price": { - "description": "The total price of the usage", + "type": "number", "nullable": true, - "type": "number" + "description": "The total price of the usage" }, "price_unit": { - "description": "The currency in which `price` is measured", + "type": "string", "format": "currency", "nullable": true, - "type": "string" + "description": "The currency in which `price` is measured" }, "start_date": { - "description": "The first date for which usage is included in this UsageRecord", + "type": "string", "format": "date", "nullable": true, - "type": "string" + "description": "The first date for which usage is included in this UsageRecord" }, "subresource_uris": { - "description": "A list of related resources identified by their relative URIs", + "type": "object", "format": "uri-map", "nullable": true, - "type": "object" + "description": "A list of related resources identified by their relative URIs" }, "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI of the resource, relative to `https://api.twilio.com`" }, "usage": { - "description": "The amount of usage", + "type": "string", "nullable": true, - "type": "string" + "description": "The amount of usage" }, "usage_unit": { - "description": "The units in which usage is measured", + "type": "string", "nullable": true, - "type": "string" + "description": "The units in which usage is measured" } - }, - "type": "object" + } }, "api.v2010.account.usage.usage_record.usage_record_this_month": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account accrued the usage", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account accrued the usage" }, "api_version": { - "description": "The API version used to create the resource", + "type": "string", "nullable": true, - "type": "string" + "description": "The API version used to create the resource" }, "as_of": { - "description": "Usage records up to date as of this timestamp", + "type": "string", "nullable": true, - "type": "string" + "description": "Usage records up to date as of this timestamp" }, "category": { - "description": "The category of usage", + "type": "string", "enum": [ "a2p-registration-fees", "agent-conference", @@ -7725,93 +7726,93 @@ "wireless-usage-voice" ], "nullable": true, - "type": "string" + "description": "The category of usage" }, "count": { - "description": "The number of usage events", + "type": "string", "nullable": true, - "type": "string" + "description": "The number of usage events" }, "count_unit": { - "description": "The units in which count is measured", + "type": "string", "nullable": true, - "type": "string" + "description": "The units in which count is measured" }, "description": { - "description": "A plain-language description of the usage category", + "type": "string", "nullable": true, - "type": "string" + "description": "A plain-language description of the usage category" }, "end_date": { - "description": "The last date for which usage is included in the UsageRecord", + "type": "string", "format": "date", "nullable": true, - "type": "string" + "description": "The last date for which usage is included in the UsageRecord" }, "price": { - "description": "The total price of the usage", + "type": "number", "nullable": true, - "type": "number" + "description": "The total price of the usage" }, "price_unit": { - "description": "The currency in which `price` is measured", + "type": "string", "format": "currency", "nullable": true, - "type": "string" + "description": "The currency in which `price` is measured" }, "start_date": { - "description": "The first date for which usage is included in this UsageRecord", + "type": "string", "format": "date", "nullable": true, - "type": "string" + "description": "The first date for which usage is included in this UsageRecord" }, "subresource_uris": { - "description": "A list of related resources identified by their relative URIs", + "type": "object", "format": "uri-map", "nullable": true, - "type": "object" + "description": "A list of related resources identified by their relative URIs" }, "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI of the resource, relative to `https://api.twilio.com`" }, "usage": { - "description": "The amount of usage", + "type": "string", "nullable": true, - "type": "string" + "description": "The amount of usage" }, "usage_unit": { - "description": "The units in which usage is measured", + "type": "string", "nullable": true, - "type": "string" + "description": "The units in which usage is measured" } - }, - "type": "object" + } }, "api.v2010.account.usage.usage_record.usage_record_today": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account accrued the usage", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account accrued the usage" }, "api_version": { - "description": "The API version used to create the resource", + "type": "string", "nullable": true, - "type": "string" + "description": "The API version used to create the resource" }, "as_of": { - "description": "Usage records up to date as of this timestamp", + "type": "string", "nullable": true, - "type": "string" + "description": "Usage records up to date as of this timestamp" }, "category": { - "description": "The category of usage", + "type": "string", "enum": [ "a2p-registration-fees", "agent-conference", @@ -8059,93 +8060,93 @@ "wireless-usage-voice" ], "nullable": true, - "type": "string" + "description": "The category of usage" }, "count": { - "description": "The number of usage events", + "type": "string", "nullable": true, - "type": "string" + "description": "The number of usage events" }, "count_unit": { - "description": "The units in which count is measured", + "type": "string", "nullable": true, - "type": "string" + "description": "The units in which count is measured" }, "description": { - "description": "A plain-language description of the usage category", + "type": "string", "nullable": true, - "type": "string" + "description": "A plain-language description of the usage category" }, "end_date": { - "description": "The last date for which usage is included in the UsageRecord", + "type": "string", "format": "date", "nullable": true, - "type": "string" + "description": "The last date for which usage is included in the UsageRecord" }, "price": { - "description": "The total price of the usage", + "type": "number", "nullable": true, - "type": "number" + "description": "The total price of the usage" }, "price_unit": { - "description": "The currency in which `price` is measured", + "type": "string", "format": "currency", "nullable": true, - "type": "string" + "description": "The currency in which `price` is measured" }, "start_date": { - "description": "The first date for which usage is included in this UsageRecord", + "type": "string", "format": "date", "nullable": true, - "type": "string" + "description": "The first date for which usage is included in this UsageRecord" }, "subresource_uris": { - "description": "A list of related resources identified by their relative URIs", + "type": "object", "format": "uri-map", "nullable": true, - "type": "object" + "description": "A list of related resources identified by their relative URIs" }, "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI of the resource, relative to `https://api.twilio.com`" }, "usage": { - "description": "The amount of usage", + "type": "string", "nullable": true, - "type": "string" + "description": "The amount of usage" }, "usage_unit": { - "description": "The units in which usage is measured", + "type": "string", "nullable": true, - "type": "string" + "description": "The units in which usage is measured" } - }, - "type": "object" + } }, "api.v2010.account.usage.usage_record.usage_record_yearly": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account accrued the usage", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account accrued the usage" }, "api_version": { - "description": "The API version used to create the resource", + "type": "string", "nullable": true, - "type": "string" + "description": "The API version used to create the resource" }, "as_of": { - "description": "Usage records up to date as of this timestamp", + "type": "string", "nullable": true, - "type": "string" + "description": "Usage records up to date as of this timestamp" }, "category": { - "description": "The category of usage", + "type": "string", "enum": [ "a2p-registration-fees", "agent-conference", @@ -8393,93 +8394,93 @@ "wireless-usage-voice" ], "nullable": true, - "type": "string" + "description": "The category of usage" }, "count": { - "description": "The number of usage events", + "type": "string", "nullable": true, - "type": "string" + "description": "The number of usage events" }, "count_unit": { - "description": "The units in which count is measured", + "type": "string", "nullable": true, - "type": "string" + "description": "The units in which count is measured" }, "description": { - "description": "A plain-language description of the usage category", + "type": "string", "nullable": true, - "type": "string" + "description": "A plain-language description of the usage category" }, "end_date": { - "description": "The last date for which usage is included in the UsageRecord", + "type": "string", "format": "date", "nullable": true, - "type": "string" + "description": "The last date for which usage is included in the UsageRecord" }, "price": { - "description": "The total price of the usage", + "type": "number", "nullable": true, - "type": "number" + "description": "The total price of the usage" }, "price_unit": { - "description": "The currency in which `price` is measured", + "type": "string", "format": "currency", "nullable": true, - "type": "string" + "description": "The currency in which `price` is measured" }, "start_date": { - "description": "The first date for which usage is included in this UsageRecord", + "type": "string", "format": "date", "nullable": true, - "type": "string" + "description": "The first date for which usage is included in this UsageRecord" }, "subresource_uris": { - "description": "A list of related resources identified by their relative URIs", + "type": "object", "format": "uri-map", "nullable": true, - "type": "object" + "description": "A list of related resources identified by their relative URIs" }, "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI of the resource, relative to `https://api.twilio.com`" }, "usage": { - "description": "The amount of usage", + "type": "string", "nullable": true, - "type": "string" + "description": "The amount of usage" }, "usage_unit": { - "description": "The units in which usage is measured", + "type": "string", "nullable": true, - "type": "string" + "description": "The units in which usage is measured" } - }, - "type": "object" + } }, "api.v2010.account.usage.usage_record.usage_record_yesterday": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account accrued the usage", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account accrued the usage" }, "api_version": { - "description": "The API version used to create the resource", + "type": "string", "nullable": true, - "type": "string" + "description": "The API version used to create the resource" }, "as_of": { - "description": "Usage records up to date as of this timestamp", + "type": "string", "nullable": true, - "type": "string" + "description": "Usage records up to date as of this timestamp" }, "category": { - "description": "The category of usage", + "type": "string", "enum": [ "a2p-registration-fees", "agent-conference", @@ -8727,88 +8728,89 @@ "wireless-usage-voice" ], "nullable": true, - "type": "string" + "description": "The category of usage" }, "count": { - "description": "The number of usage events", + "type": "string", "nullable": true, - "type": "string" + "description": "The number of usage events" }, "count_unit": { - "description": "The units in which count is measured", + "type": "string", "nullable": true, - "type": "string" + "description": "The units in which count is measured" }, "description": { - "description": "A plain-language description of the usage category", + "type": "string", "nullable": true, - "type": "string" + "description": "A plain-language description of the usage category" }, "end_date": { - "description": "The last date for which usage is included in the UsageRecord", + "type": "string", "format": "date", "nullable": true, - "type": "string" + "description": "The last date for which usage is included in the UsageRecord" }, "price": { - "description": "The total price of the usage", + "type": "number", "nullable": true, - "type": "number" + "description": "The total price of the usage" }, "price_unit": { - "description": "The currency in which `price` is measured", + "type": "string", "format": "currency", "nullable": true, - "type": "string" + "description": "The currency in which `price` is measured" }, "start_date": { - "description": "The first date for which usage is included in this UsageRecord", + "type": "string", "format": "date", "nullable": true, - "type": "string" + "description": "The first date for which usage is included in this UsageRecord" }, "subresource_uris": { - "description": "A list of related resources identified by their relative URIs", + "type": "object", "format": "uri-map", "nullable": true, - "type": "object" + "description": "A list of related resources identified by their relative URIs" }, "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI of the resource, relative to `https://api.twilio.com`" }, "usage": { - "description": "The amount of usage", + "type": "string", "nullable": true, - "type": "string" + "description": "The amount of usage" }, "usage_unit": { - "description": "The units in which usage is measured", + "type": "string", "nullable": true, - "type": "string" + "description": "The units in which usage is measured" } - }, - "type": "object" + } }, "api.v2010.account.usage.usage_trigger": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that this trigger monitors", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that this trigger monitors" }, "api_version": { - "description": "The API version used to create the resource", + "type": "string", "nullable": true, - "type": "string" + "description": "The API version used to create the resource" }, "callback_method": { - "description": "The HTTP method we use to call callback_url", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -8817,46 +8819,45 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method we use to call callback_url" }, "callback_url": { - "description": "he URL we call when the trigger fires", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "he URL we call when the trigger fires" }, "current_value": { - "description": "The current value of the field the trigger is watching", + "type": "string", "nullable": true, - "type": "string" + "description": "The current value of the field the trigger is watching" }, "date_created": { - "description": "The RFC 2822 date and time in GMT that the resource was created", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was created" }, "date_fired": { - "description": "The RFC 2822 date and time in GMT that the trigger was last fired", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the trigger was last fired" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT that the resource was last updated", + "type": "string", "format": "date-time-rfc-2822", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was last updated" }, "friendly_name": { - "description": "The string that you assigned to describe the trigger", + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the trigger" }, "recurring": { - "description": "The frequency of a recurring UsageTrigger", + "type": "string", "enum": [ "daily", "monthly", @@ -8864,39 +8865,39 @@ "alltime" ], "nullable": true, - "type": "string" + "description": "The frequency of a recurring UsageTrigger" }, "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^UT[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string that identifies the resource" }, "trigger_by": { - "description": "The field in the UsageRecord resource that fires the trigger", + "type": "string", "enum": [ "count", "usage", "price" ], "nullable": true, - "type": "string" + "description": "The field in the UsageRecord resource that fires the trigger" }, "trigger_value": { - "description": "The value at which the trigger will fire", + "type": "string", "nullable": true, - "type": "string" + "description": "The value at which the trigger will fire" }, "uri": { - "description": "The URI of the resource, relative to `https://api.twilio.com`", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URI of the resource, relative to `https://api.twilio.com`" }, "usage_category": { - "description": "The usage category the trigger watches", + "type": "string", "enum": [ "a2p-registration-fees", "agent-conference", @@ -9144,113 +9145,164 @@ "wireless-usage-voice" ], "nullable": true, - "type": "string" + "description": "The usage category the trigger watches" }, "usage_record_uri": { - "description": "The URI of the UsageRecord resource this trigger watches", + "type": "string", "nullable": true, - "type": "string" + "description": "The URI of the UsageRecord resource this trigger watches" } - }, - "type": "object" + } }, "api.v2010.account.validation_request": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "call_sid": { - "description": "The SID of the Call the resource is associated with", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Call the resource is associated with" }, "friendly_name": { - "description": "The string that you assigned to describe the resource", + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the resource" }, "phone_number": { - "description": "The phone number to verify in E.164 format", + "type": "string", "format": "phone-number", "nullable": true, - "type": "string" + "description": "The phone number to verify in E.164 format" }, "validation_code": { - "description": "The 6 digit validation code that someone must enter to validate the Caller ID when `phone_number` is called", + "type": "string", "nullable": true, - "type": "string" + "description": "The 6 digit validation code that someone must enter to validate the Caller ID when `phone_number` is called" } - }, - "type": "object" + } } }, "securitySchemes": { "accountSid_authToken": { - "scheme": "basic", - "type": "http" + "type": "http", + "scheme": "basic" } } }, "info": { + "title": "Twilio - Api", + "description": "This is the public Twilio REST API.", + "termsOfService": "https://www.twilio.com/legal/tos", "contact": { - "email": "support@twilio.com", "name": "Twilio Support", - "url": "https://support.twilio.com" + "url": "https://support.twilio.com", + "email": "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 - Api", "version": "1.30.0" }, "openapi": "3.0.1", "paths": { "/2010-04-01/Accounts.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], "description": "Twilio accounts (aka Project) or subaccounts", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "status" + ], + "pathType": "list" + }, + "post": { + "description": "Create a new Twilio Subaccount from the account making the request", + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateAccount", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateAccountRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A human readable description of the account to create, defaults to `SubAccount Created at {YYYY-MM-DD HH:MM meridian}`" + } + } + } + } + } + } + }, "get": { "description": "Retrieves a collection of Accounts belonging to the account used to make the request", - "operationId": "ListAccount", "parameters": [ { - "description": "Only return the Account resources with friendly names that exactly match this name.", - "in": "query", "name": "FriendlyName", + "in": "query", + "description": "Only return the Account resources with friendly names that exactly match this name.", "schema": { "type": "string" } }, { - "description": "Only return Account resources with the given status. Can be `closed`, `suspended` or `active`.", - "in": "query", "name": "Status", + "in": "query", + "description": "Only return Account resources with the given status. Can be `closed`, `suspended` or `active`.", "schema": { + "type": "string", "enum": [ "active", "suspended", "closed" - ], - "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", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -9259,23 +9311,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListAccountResponse", "properties": { "accounts": { + "type": "array", "items": { "$ref": "#/components/schemas/api.v2010.account" - }, - "type": "array" + } }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -9284,19 +9338,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" } - }, - "title": "ListAccountResponse", - "type": "object" + } } } }, @@ -9308,31 +9360,45 @@ "accountSid_authToken": [] } ], + "operationId": "ListAccount", "x-maturity": [ "GA" ] + } + }, + "/2010-04-01/Accounts/{Sid}.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], + "description": "Twilio accounts (aka Project) or subaccounts", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "status" + ], + "pathType": "instance" }, - "post": { - "description": "Create a new Twilio Subaccount from the account making the request", - "operationId": "CreateAccount", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "FriendlyName": { - "description": "A human readable description of the account to create, defaults to `SubAccount Created at {YYYY-MM-DD HH:MM meridian}`", - "type": "string" - } - }, - "title": "CreateAccountRequest", - "type": "object" - } - } + "get": { + "description": "Fetch the account specified by the provided Account Sid", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The Account Sid that uniquely identifies the account to fetch", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true } - }, + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { @@ -9340,7 +9406,7 @@ } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -9348,75 +9414,235 @@ "accountSid_authToken": [] } ], + "operationId": "FetchAccount", "x-maturity": [ "GA" ] }, + "post": { + "description": "Modify the properties of a given Account", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The Account Sid that uniquely identifies the account to update", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "UpdateAccount", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateAccountRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "Update the human-readable description of this Account" + }, + "Status": { + "type": "string", + "enum": [ + "active", + "suspended", + "closed" + ], + "description": "Alter the status of this account: use `closed` to irreversibly close this account, `suspended` to temporarily suspend it, or `active` to reactivate it." + } + } + } + } + } + } + } + }, + "/2010-04-01/Accounts/{AccountSid}/Addresses.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "An Address instance resource represents your or your customer's physical location within a country. Around the world, some local authorities require the name and address of the user to be on file with Twilio to purchase and own a phone number.", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name", - "status" + "validated", + "verified" ], - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Addresses.json": { - "description": "An Address instance resource represents your or your customer's physical location within a country. Around the world, some local authorities require the name and address of the user to be on file with Twilio to purchase and own a phone number.", - "get": { + "pathType": "list", + "parent": "/Accounts.json" + }, + "post": { "description": "", - "operationId": "ListAddress", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that is responsible for the Address resource to read.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will be responsible for the new Address resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.address" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateAddress", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateAddressRequest", + "properties": { + "CustomerName": { + "type": "string", + "description": "The name to associate with the new address." + }, + "Street": { + "type": "string", + "description": "The number and street address of the new address." + }, + "City": { + "type": "string", + "description": "The city of the new address." + }, + "Region": { + "type": "string", + "description": "The state or region of the new address." + }, + "PostalCode": { + "type": "string", + "description": "The postal code of the new address." + }, + "IsoCountry": { + "type": "string", + "format": "iso-country-code", + "description": "The ISO country code of the new address." + }, + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the new address. It can be up to 64 characters long." + }, + "EmergencyEnabled": { + "type": "boolean", + "description": "Whether to enable emergency calling on the new address. Can be: `true` or `false`." + }, + "AutoCorrectAddress": { + "type": "boolean", + "description": "Whether we should automatically correct the address. Can be: `true` or `false` and the default is `true`. If empty or `true`, we will correct the address you provide if necessary. If `false`, we won't alter the address you provide." + } + }, + "required": [ + "CustomerName", + "Street", + "City", + "Region", + "PostalCode", + "IsoCountry" + ] + } } + } + } + }, + "get": { + "description": "", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that is responsible for the Address resource to read.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The `customer_name` of the Address resources to read.", - "in": "query", "name": "CustomerName", + "in": "query", + "description": "The `customer_name` of the Address resources to read.", "schema": { "type": "string" } }, { - "description": "The string that identifies the Address resources to read.", - "in": "query", "name": "FriendlyName", + "in": "query", + "description": "The string that identifies the Address resources to read.", "schema": { "type": "string" } }, { - "description": "The ISO country code of the Address resources to read.", - "in": "query", "name": "IsoCountry", + "in": "query", + "description": "The ISO country code of the Address resources to read.", "schema": { - "format": "iso-country-code", - "type": "string" + "type": "string", + "format": "iso-country-code" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -9425,23 +9651,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListAddressResponse", "properties": { "addresses": { + "type": "array", "items": { "$ref": "#/components/schemas/api.v2010.account.address" - }, - "type": "array" + } }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -9450,19 +9678,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" } - }, - "title": "ListAddressResponse", - "type": "object" + } } } }, @@ -9474,94 +9700,60 @@ "accountSid_authToken": [] } ], + "operationId": "ListAddress", "x-maturity": [ "GA" ] + } + }, + "/2010-04-01/Accounts/{AccountSid}/Addresses/{Sid}.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], + "description": "An Address instance resource represents your or your customer's physical location within a country. Around the world, some local authorities require the name and address of the user to be on file with Twilio to purchase and own a phone number.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "validated", + "verified" + ], + "pathType": "instance", + "parent": "/Accounts.json" }, - "post": { + "delete": { "description": "", - "operationId": "CreateAddress", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will be responsible for the new Address resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that is responsible for the Address resource to delete.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Address resource to delete.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AD[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "AutoCorrectAddress": { - "description": "Whether we should automatically correct the address. Can be: `true` or `false` and the default is `true`. If empty or `true`, we will correct the address you provide if necessary. If `false`, we won't alter the address you provide.", - "type": "boolean" - }, - "City": { - "description": "The city of the new address.", - "type": "string" - }, - "CustomerName": { - "description": "The name to associate with the new address.", - "type": "string" - }, - "EmergencyEnabled": { - "description": "Whether to enable emergency calling on the new address. Can be: `true` or `false`.", - "type": "boolean" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the new address. It can be up to 64 characters long.", - "type": "string" - }, - "IsoCountry": { - "description": "The ISO country code of the new address.", - "format": "iso-country-code", - "type": "string" - }, - "PostalCode": { - "description": "The postal code of the new address.", - "type": "string" - }, - "Region": { - "description": "The state or region of the new address.", - "type": "string" - }, - "Street": { - "description": "The number and street address of the new address.", - "type": "string" - } - }, - "required": [ - "CustomerName", - "Street", - "City", - "Region", - "PostalCode", - "IsoCountry" - ], - "title": "CreateAddressRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.address" - } - } - }, - "description": "Created" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -9569,65 +9761,37 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteAddress", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://api.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "validated", - "verified" - ], - "parent": "/Accounts.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Addresses/{AddressSid}/DependentPhoneNumbers.json": { - "description": "Phone numbers dependent on an Address resource", "get": { "description": "", - "operationId": "ListDependentPhoneNumber", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the DependentPhoneNumber resources to read.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that is responsible for the Address resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the Address resource associated with the phone number.", + "name": "Sid", "in": "path", - "name": "AddressSid", - "required": true, + "description": "The Twilio-provided string that uniquely identifies the Address resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AD[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" - } + "maxLength": 34, + "pattern": "^AD[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -9635,44 +9799,7 @@ "content": { "application/json": { "schema": { - "properties": { - "dependent_phone_numbers": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.address.dependent_phone_number" - }, - "type": "array" - }, - "end": { - "type": "integer" - }, - "first_page_uri": { - "format": "uri", - "type": "string" - }, - "next_page_uri": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_uri": { - "format": "uri", - "type": "string" - }, - "start": { - "type": "integer" - }, - "uri": { - "format": "uri", - "type": "string" - } - }, - "title": "ListDependentPhoneNumberResponse", - "type": "object" + "$ref": "#/components/schemas/api.v2010.account.address" } } }, @@ -9684,97 +9811,37 @@ "accountSid_authToken": [] } ], + "operationId": "FetchAddress", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://api.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "phone_number", - "friendly_name" - ], - "parent": "/Accounts/{AccountSid}/Addresses.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Addresses/{Sid}.json": { - "delete": { + "post": { "description": "", - "operationId": "DeleteAddress", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that is responsible for the Address resource to delete.", - "in": "path", "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the Address resource to delete.", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that is responsible for the Address resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AD[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "description": "An Address instance resource represents your or your customer's physical location within a country. Around the world, some local authorities require the name and address of the user to be on file with Twilio to purchase and own a phone number.", - "get": { - "description": "", - "operationId": "FetchAddress", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that is responsible for the Address resource to fetch.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Address resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Address resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AD[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AD[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -9794,204 +9861,98 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateAddress", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "", - "operationId": "UpdateAddress", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that is responsible for the Address resource to update.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the Address resource to update.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AD[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateAddressRequest", "properties": { - "AutoCorrectAddress": { - "description": "Whether we should automatically correct the address. Can be: `true` or `false` and the default is `true`. If empty or `true`, we will correct the address you provide if necessary. If `false`, we won't alter the address you provide.", - "type": "boolean" - }, - "City": { - "description": "The city of the address.", - "type": "string" + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the address. It can be up to 64 characters long." }, "CustomerName": { - "description": "The name to associate with the address.", - "type": "string" + "type": "string", + "description": "The name to associate with the address." }, - "EmergencyEnabled": { - "description": "Whether to enable emergency calling on the address. Can be: `true` or `false`.", - "type": "boolean" + "Street": { + "type": "string", + "description": "The number and street address of the address." }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the address. It can be up to 64 characters long.", - "type": "string" + "City": { + "type": "string", + "description": "The city of the address." + }, + "Region": { + "type": "string", + "description": "The state or region of the address." }, "PostalCode": { - "description": "The postal code of the address.", - "type": "string" + "type": "string", + "description": "The postal code of the address." }, - "Region": { - "description": "The state or region of the address.", - "type": "string" + "EmergencyEnabled": { + "type": "boolean", + "description": "Whether to enable emergency calling on the address. Can be: `true` or `false`." }, - "Street": { - "description": "The number and street address of the address.", - "type": "string" + "AutoCorrectAddress": { + "type": "boolean", + "description": "Whether we should automatically correct the address. Can be: `true` or `false` and the default is `true`. If empty or `true`, we will correct the address you provide if necessary. If `false`, we won't alter the address you provide." } - }, - "title": "UpdateAddressRequest", - "type": "object" - } - } - } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.address" } } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] + } } - ], - "x-maturity": [ - "GA" - ] - }, + } + } + }, + "/2010-04-01/Accounts/{AccountSid}/Applications.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "An Application instance resource represents an application that you have created with Twilio. An application inside of Twilio is just a set of URLs and other configuration data that tells Twilio how to behave when one of your Twilio numbers receives a call or SMS message.", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name", - "validated", - "verified" + "date_created" ], - "parent": "/Accounts.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Applications.json": { - "description": "An Application instance resource represents an application that you have created with Twilio. An application inside of Twilio is just a set of URLs and other configuration data that tells Twilio how to behave when one of your Twilio numbers receives a call or SMS message.", - "get": { - "description": "Retrieve a list of applications representing an application within the requesting account", - "operationId": "ListApplication", + "pathType": "list", + "parent": "/Accounts.json" + }, + "post": { + "description": "Create a new application within your account", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Application resources to read.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The string that identifies the Application resources to read.", - "in": "query", - "name": "FriendlyName", - "schema": { - "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" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "properties": { - "applications": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.application" - }, - "type": "array" - }, - "end": { - "type": "integer" - }, - "first_page_uri": { - "format": "uri", - "type": "string" - }, - "next_page_uri": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_uri": { - "format": "uri", - "type": "string" - }, - "start": { - "type": "integer" - }, - "uri": { - "format": "uri", - "type": "string" - } - }, - "title": "ListApplicationResponse", - "type": "object" + "$ref": "#/components/schemas/api.v2010.account.application" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -9999,47 +9960,29 @@ "accountSid_authToken": [] } ], + "operationId": "CreateApplication", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "Create a new application within your account", - "operationId": "CreateApplication", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateApplicationRequest", "properties": { "ApiVersion": { - "description": "The API version to use to start a new TwiML session. Can be: `2010-04-01` or `2008-08-01`. The default value is the account's default API version.", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the new application. It can be up to 64 characters long.", - "type": "string" + "type": "string", + "description": "The API version to use to start a new TwiML session. Can be: `2010-04-01` or `2008-08-01`. The default value is the account's default API version." }, - "MessageStatusCallback": { - "description": "The URL we should call using a POST method to send message status information to your application.", + "VoiceUrl": { + "type": "string", "format": "uri", - "type": "string" + "description": "The URL we should call when the phone number assigned to this application receives a call." }, - "SmsFallbackMethod": { - "description": "The HTTP method we should use to call `sms_fallback_url`. Can be: `GET` or `POST`.", + "VoiceMethod": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -10048,16 +9991,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method we should use to call `voice_url`. Can be: `GET` or `POST`." }, - "SmsFallbackUrl": { - "description": "The URL that we should call when an error occurs while retrieving or executing the TwiML from `sms_url`.", + "VoiceFallbackUrl": { + "type": "string", "format": "uri", - "type": "string" + "description": "The URL that we should call when an error occurs retrieving or executing the TwiML requested by `url`." }, - "SmsMethod": { - "description": "The HTTP method we should use to call `sms_url`. Can be: `GET` or `POST`.", + "VoiceFallbackMethod": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -10066,26 +10009,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" - }, - "SmsStatusCallback": { - "description": "The URL we should call using a POST method to send status information about SMS messages sent by the application.", - "format": "uri", - "type": "string" - }, - "SmsUrl": { - "description": "The URL we should call when the phone number receives an incoming SMS message.", - "format": "uri", - "type": "string" + "description": "The HTTP method we should use to call `voice_fallback_url`. Can be: `GET` or `POST`." }, "StatusCallback": { - "description": "The URL we should call using the `status_callback_method` to send status information to your application.", + "type": "string", "format": "uri", - "type": "string" + "description": "The URL we should call using the `status_callback_method` to send status information to your application." }, "StatusCallbackMethod": { - "description": "The HTTP method we should use to call `status_callback`. Can be: `GET` or `POST`.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -10094,15 +10027,20 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method we should use to call `status_callback`. Can be: `GET` or `POST`." }, "VoiceCallerIdLookup": { - "description": "Whether we should look up the caller's caller-ID name from the CNAM database (additional charges apply). Can be: `true` or `false`.", - "type": "boolean" + "type": "boolean", + "description": "Whether we should look up the caller's caller-ID name from the CNAM database (additional charges apply). Can be: `true` or `false`." }, - "VoiceFallbackMethod": { - "description": "The HTTP method we should use to call `voice_fallback_url`. Can be: `GET` or `POST`.", + "SmsUrl": { + "type": "string", + "format": "uri", + "description": "The URL we should call when the phone number receives an incoming SMS message." + }, + "SmsMethod": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -10111,16 +10049,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method we should use to call `sms_url`. Can be: `GET` or `POST`." }, - "VoiceFallbackUrl": { - "description": "The URL that we should call when an error occurs retrieving or executing the TwiML requested by `url`.", + "SmsFallbackUrl": { + "type": "string", "format": "uri", - "type": "string" + "description": "The URL that we should call when an error occurs while retrieving or executing the TwiML from `sms_url`." }, - "VoiceMethod": { - "description": "The HTTP method we should use to call `voice_url`. Can be: `GET` or `POST`.", + "SmsFallbackMethod": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -10129,31 +10067,109 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method we should use to call `sms_fallback_url`. Can be: `GET` or `POST`." }, - "VoiceUrl": { - "description": "The URL we should call when the phone number assigned to this application receives a call.", + "SmsStatusCallback": { + "type": "string", + "format": "uri", + "description": "The URL we should call using a POST method to send status information about SMS messages sent by the application." + }, + "MessageStatusCallback": { + "type": "string", "format": "uri", - "type": "string" + "description": "The URL we should call using a POST method to send message status information to your application." + }, + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the new application. It can be up to 64 characters long." } - }, - "title": "CreateApplicationRequest", - "type": "object" + } } } } - }, + } + }, + "get": { + "description": "Retrieve a list of applications representing an application within the requesting account", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Application resources to read.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "FriendlyName", + "in": "query", + "description": "The string that identifies the Application resources to read.", + "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 + } + } + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.application" + "type": "object", + "title": "ListApplicationResponse", + "properties": { + "applications": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.application" + } + }, + "end": { + "type": "integer" + }, + "first_page_uri": { + "type": "string", + "format": "uri" + }, + "next_page_uri": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_uri": { + "type": "string", + "format": "uri" + }, + "start": { + "type": "integer" + }, + "uri": { + "type": "string", + "format": "uri" + } + } } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -10161,53 +10177,54 @@ "accountSid_authToken": [] } ], + "operationId": "ListApplication", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/Applications/{Sid}.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "An Application instance resource represents an application that you have created with Twilio. An application inside of Twilio is just a set of URLs and other configuration data that tells Twilio how to behave when one of your Twilio numbers receives a call or SMS message.", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name", "date_created" ], - "parent": "/Accounts.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Applications/{Sid}.json": { + "pathType": "instance", + "parent": "/Accounts.json" + }, "delete": { "description": "Delete the application by the specified application sid", - "operationId": "DeleteApplication", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Application resources to delete.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Application resources to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Application resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Application resource to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AP[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AP[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -10220,38 +10237,37 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteApplication", "x-maturity": [ "GA" ] }, - "description": "An Application instance resource represents an application that you have created with Twilio. An application inside of Twilio is just a set of URLs and other configuration data that tells Twilio how to behave when one of your Twilio numbers receives a call or SMS message.", "get": { "description": "Fetch the application specified by the provided sid", - "operationId": "FetchApplication", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Application resource to fetch.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Application resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Application resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Application resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AP[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AP[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -10271,59 +10287,83 @@ "accountSid_authToken": [] } ], + "operationId": "FetchApplication", "x-maturity": [ "GA" ] }, "post": { "description": "Updates the application's properties", - "operationId": "UpdateApplication", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Application resources to update.", - "in": "path", "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Application resources to update.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Application resource to update.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Application resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AP[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AP[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.application" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] } ], + "operationId": "UpdateApplication", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateApplicationRequest", "properties": { - "ApiVersion": { - "description": "The API version to use to start a new TwiML session. Can be: `2010-04-01` or `2008-08-01`. The default value is your account's default API version.", - "type": "string" - }, "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long.", - "type": "string" + "type": "string", + "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long." }, - "MessageStatusCallback": { - "description": "The URL we should call using a POST method to send message status information to your application.", + "ApiVersion": { + "type": "string", + "description": "The API version to use to start a new TwiML session. Can be: `2010-04-01` or `2008-08-01`. The default value is your account's default API version." + }, + "VoiceUrl": { + "type": "string", "format": "uri", - "type": "string" + "description": "The URL we should call when the phone number assigned to this application receives a call." }, - "SmsFallbackMethod": { - "description": "The HTTP method we should use to call `sms_fallback_url`. Can be: `GET` or `POST`.", + "VoiceMethod": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -10332,16 +10372,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method we should use to call `voice_url`. Can be: `GET` or `POST`." }, - "SmsFallbackUrl": { - "description": "The URL that we should call when an error occurs while retrieving or executing the TwiML from `sms_url`.", + "VoiceFallbackUrl": { + "type": "string", "format": "uri", - "type": "string" + "description": "The URL that we should call when an error occurs retrieving or executing the TwiML requested by `url`." }, - "SmsMethod": { - "description": "The HTTP method we should use to call `sms_url`. Can be: `GET` or `POST`.", + "VoiceFallbackMethod": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -10350,26 +10390,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" - }, - "SmsStatusCallback": { - "description": "Same as message_status_callback: The URL we should call using a POST method to send status information about SMS messages sent by the application. Deprecated, included for backwards compatibility.", - "format": "uri", - "type": "string" - }, - "SmsUrl": { - "description": "The URL we should call when the phone number receives an incoming SMS message.", - "format": "uri", - "type": "string" + "description": "The HTTP method we should use to call `voice_fallback_url`. Can be: `GET` or `POST`." }, "StatusCallback": { - "description": "The URL we should call using the `status_callback_method` to send status information to your application.", + "type": "string", "format": "uri", - "type": "string" + "description": "The URL we should call using the `status_callback_method` to send status information to your application." }, "StatusCallbackMethod": { - "description": "The HTTP method we should use to call `status_callback`. Can be: `GET` or `POST`.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -10378,15 +10408,20 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method we should use to call `status_callback`. Can be: `GET` or `POST`." }, "VoiceCallerIdLookup": { - "description": "Whether we should look up the caller's caller-ID name from the CNAM database (additional charges apply). Can be: `true` or `false`.", - "type": "boolean" + "type": "boolean", + "description": "Whether we should look up the caller's caller-ID name from the CNAM database (additional charges apply). Can be: `true` or `false`." }, - "VoiceFallbackMethod": { - "description": "The HTTP method we should use to call `voice_fallback_url`. Can be: `GET` or `POST`.", + "SmsUrl": { + "type": "string", + "format": "uri", + "description": "The URL we should call when the phone number receives an incoming SMS message." + }, + "SmsMethod": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -10395,16 +10430,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method we should use to call `sms_url`. Can be: `GET` or `POST`." }, - "VoiceFallbackUrl": { - "description": "The URL that we should call when an error occurs retrieving or executing the TwiML requested by `url`.", + "SmsFallbackUrl": { + "type": "string", "format": "uri", - "type": "string" + "description": "The URL that we should call when an error occurs while retrieving or executing the TwiML from `sms_url`." }, - "VoiceMethod": { - "description": "The HTTP method we should use to call `voice_url`. Can be: `GET` or `POST`.", + "SmsFallbackMethod": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -10413,27 +10448,74 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method we should use to call `sms_fallback_url`. Can be: `GET` or `POST`." }, - "VoiceUrl": { - "description": "The URL we should call when the phone number assigned to this application receives a call.", + "SmsStatusCallback": { + "type": "string", + "format": "uri", + "description": "Same as message_status_callback: The URL we should call using a POST method to send status information about SMS messages sent by the application. Deprecated, included for backwards compatibility." + }, + "MessageStatusCallback": { + "type": "string", "format": "uri", - "type": "string" + "description": "The URL we should call using a POST method to send message status information to your application." } - }, - "title": "UpdateApplicationRequest", - "type": "object" + } } } } - }, + } + } + }, + "/2010-04-01/Accounts/{AccountSid}/AuthorizedConnectApps/{ConnectAppSid}.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], + "description": "Authorized Twilio Connect apps", + "x-twilio": { + "defaultOutputProperties": [ + "connect_app_sid", + "connect_app_friendly_name" + ], + "pathType": "instance", + "parent": "/Accounts.json" + }, + "get": { + "description": "Fetch an instance of an authorized-connect-app", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the AuthorizedConnectApp resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "ConnectAppSid", + "in": "path", + "description": "The SID of the Connect App to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CN[0-9a-fA-F]{32}$" + }, + "required": true + } + ], "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.application" + "$ref": "#/components/schemas/api.v2010.account.authorized_connect_app" } } }, @@ -10445,51 +10527,50 @@ "accountSid_authToken": [] } ], + "operationId": "FetchAuthorizedConnectApp", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/AuthorizedConnectApps.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Authorized Twilio Connect apps", "x-twilio": { "defaultOutputProperties": [ - "sid", - "friendly_name", - "date_created" + "connect_app_sid", + "connect_app_friendly_name" ], - "parent": "/Accounts.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/AuthorizedConnectApps.json": { - "description": "Authorized Twilio Connect apps", + "pathType": "list", + "parent": "/Accounts.json" + }, "get": { "description": "Retrieve a list of authorized-connect-apps belonging to the account used to make the request", - "operationId": "ListAuthorizedConnectApp", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the AuthorizedConnectApp resources to read.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the AuthorizedConnectApp resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -10498,23 +10579,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListAuthorizedConnectAppResponse", "properties": { "authorized_connect_apps": { + "type": "array", "items": { "$ref": "#/components/schemas/api.v2010.account.authorized_connect_app" - }, - "type": "array" + } }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -10523,19 +10606,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" } - }, - "title": "ListAuthorizedConnectAppResponse", - "type": "object" + } } } }, @@ -10547,52 +10628,52 @@ "accountSid_authToken": [] } ], + "operationId": "ListAuthorizedConnectApp", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Country codes with available phone numbers", "x-twilio": { "defaultOutputProperties": [ - "connect_app_sid", - "connect_app_friendly_name" + "country_code", + "country", + "beta" ], + "pathType": "list", "parent": "/Accounts.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/AuthorizedConnectApps/{ConnectAppSid}.json": { - "description": "Authorized Twilio Connect apps", + "className": "available_phone_number_country" + }, "get": { - "description": "Fetch an instance of an authorized-connect-app", - "operationId": "FetchAuthorizedConnectApp", + "description": "", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the AuthorizedConnectApp resource to fetch.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) requesting the available phone number Country resources.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the Connect App to fetch.", - "in": "path", - "name": "ConnectAppSid", - "required": true, + "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CN[0-9a-fA-F]{32}$", - "type": "string" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], @@ -10601,7 +10682,44 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.authorized_connect_app" + "type": "object", + "title": "ListAvailablePhoneNumberCountryResponse", + "properties": { + "countries": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.available_phone_number_country" + } + }, + "end": { + "type": "integer" + }, + "first_page_uri": { + "type": "string", + "format": "uri" + }, + "next_page_uri": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_uri": { + "type": "string", + "format": "uri" + }, + "start": { + "type": "integer" + }, + "uri": { + "type": "string", + "format": "uri" + } + } } } }, @@ -10613,154 +10731,53 @@ "accountSid_authToken": [] } ], + "operationId": "ListAvailablePhoneNumberCountry", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Country codes with available phone numbers", "x-twilio": { "defaultOutputProperties": [ - "connect_app_sid", - "connect_app_friendly_name" + "country_code", + "country", + "beta" ], + "pathType": "instance", "parent": "/Accounts.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers.json": { - "description": "Country codes with available phone numbers", + "className": "available_phone_number_country" + }, "get": { "description": "", - "operationId": "ListAvailablePhoneNumberCountry", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) requesting the available phone number Country resources.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) requesting the available phone number Country resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[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" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "countries": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.available_phone_number_country" - }, - "type": "array" - }, - "end": { - "type": "integer" - }, - "first_page_uri": { - "format": "uri", - "type": "string" - }, - "next_page_uri": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_uri": { - "format": "uri", - "type": "string" - }, - "start": { - "type": "integer" - }, - "uri": { - "format": "uri", - "type": "string" - } - }, - "title": "ListAvailablePhoneNumberCountryResponse", - "type": "object" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://api.twilio.com" - } - ], - "x-twilio": { - "className": "available_phone_number_country", - "defaultOutputProperties": [ - "country_code", - "country", - "beta" - ], - "parent": "/Accounts.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}.json": { - "description": "Country codes with available phone numbers", - "get": { - "description": "", - "operationId": "FetchAvailablePhoneNumberCountry", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) requesting the available phone number Country resource.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code of the country to fetch available phone number information about.", - "in": "path", "name": "CountryCode", - "required": true, + "in": "path", + "description": "The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code of the country to fetch available phone number information about.", "schema": { - "format": "iso-country-code", - "type": "string" - } + "type": "string", + "format": "iso-country-code" + }, + "required": true } ], "responses": { @@ -10780,207 +10797,206 @@ "accountSid_authToken": [] } ], + "operationId": "FetchAvailablePhoneNumberCountry", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}/Local.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Available local phone numbers", "x-twilio": { - "className": "available_phone_number_country", "defaultOutputProperties": [ - "country_code", - "country", + "phone_number", + "region", "beta" ], - "parent": "/Accounts.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}/Local.json": { - "description": "Available local phone numbers", + "pathType": "list", + "parent": "/Accounts/{AccountSid}/AvailablePhoneNumbers.json" + }, "get": { "description": "", - "operationId": "ListAvailablePhoneNumberLocal", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) requesting the AvailablePhoneNumber resources.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) requesting the AvailablePhoneNumber resources.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code of the country from which to read phone numbers.", - "in": "path", "name": "CountryCode", - "required": true, + "in": "path", + "description": "The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code of the country from which to read phone numbers.", "schema": { - "format": "iso-country-code", - "type": "string" - } + "type": "string", + "format": "iso-country-code" + }, + "required": true }, { - "description": "The area code of the phone numbers to read. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "AreaCode", + "in": "query", + "description": "The area code of the phone numbers to read. Applies to only phone numbers in the US and Canada.", "schema": { "type": "integer" } }, { - "description": "The pattern on which to match phone numbers. Valid characters are `*`, `0-9`, `a-z`, and `A-Z`. The `*` character matches any single digit. For examples, see [Example 2](https://www.twilio.com/docs/phone-numbers/api/availablephonenumberlocal-resource?code-sample=code-find-phone-numbers-by-number-pattern) and [Example 3](https://www.twilio.com/docs/phone-numbers/api/availablephonenumberlocal-resource?code-sample=code-find-phone-numbers-by-character-pattern). If specified, this value must have at least two characters.", - "in": "query", "name": "Contains", + "in": "query", + "description": "The pattern on which to match phone numbers. Valid characters are `*`, `0-9`, `a-z`, and `A-Z`. The `*` character matches any single digit. For examples, see [Example 2](https://www.twilio.com/docs/phone-numbers/api/availablephonenumberlocal-resource?code-sample=code-find-phone-numbers-by-number-pattern) and [Example 3](https://www.twilio.com/docs/phone-numbers/api/availablephonenumberlocal-resource?code-sample=code-find-phone-numbers-by-character-pattern). If specified, this value must have at least two characters.", "schema": { "type": "string" } }, { - "description": "Whether the phone numbers can receive text messages. Can be: `true` or `false`.", - "in": "query", "name": "SmsEnabled", + "in": "query", + "description": "Whether the phone numbers can receive text messages. Can be: `true` or `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether the phone numbers can receive MMS messages. Can be: `true` or `false`.", - "in": "query", "name": "MmsEnabled", + "in": "query", + "description": "Whether the phone numbers can receive MMS messages. Can be: `true` or `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether the phone numbers can receive calls. Can be: `true` or `false`.", - "in": "query", "name": "VoiceEnabled", + "in": "query", + "description": "Whether the phone numbers can receive calls. Can be: `true` or `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether to exclude phone numbers that require an [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", - "in": "query", "name": "ExcludeAllAddressRequired", + "in": "query", + "description": "Whether to exclude phone numbers that require an [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether to exclude phone numbers that require a local [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", - "in": "query", "name": "ExcludeLocalAddressRequired", + "in": "query", + "description": "Whether to exclude phone numbers that require a local [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether to exclude phone numbers that require a foreign [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", - "in": "query", "name": "ExcludeForeignAddressRequired", + "in": "query", + "description": "Whether to exclude phone numbers that require a foreign [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether to read phone numbers that are new to the Twilio platform. Can be: `true` or `false` and the default is `true`.", - "in": "query", "name": "Beta", + "in": "query", + "description": "Whether to read phone numbers that are new to the Twilio platform. Can be: `true` or `false` and the default is `true`.", "schema": { "type": "boolean" } }, { - "description": "Given a phone number, find a geographically close number within `distance` miles. Distance defaults to 25 miles. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "NearNumber", + "in": "query", + "description": "Given a phone number, find a geographically close number within `distance` miles. Distance defaults to 25 miles. Applies to only phone numbers in the US and Canada.", "schema": { - "format": "phone-number", - "type": "string" + "type": "string", + "format": "phone-number" } }, { - "description": "Given a latitude/longitude pair `lat,long` find geographically close numbers within `distance` miles. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "NearLatLong", + "in": "query", + "description": "Given a latitude/longitude pair `lat,long` find geographically close numbers within `distance` miles. Applies to only phone numbers in the US and Canada.", "schema": { "type": "string" } }, { - "description": "The search radius, in miles, for a `near_` query. Can be up to `500` and the default is `25`. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "Distance", + "in": "query", + "description": "The search radius, in miles, for a `near_` query. Can be up to `500` and the default is `25`. Applies to only phone numbers in the US and Canada.", "schema": { "type": "integer" } }, { - "description": "Limit results to a particular postal code. Given a phone number, search within the same postal code as that number. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "InPostalCode", + "in": "query", + "description": "Limit results to a particular postal code. Given a phone number, search within the same postal code as that number. Applies to only phone numbers in the US and Canada.", "schema": { "type": "string" } }, { - "description": "Limit results to a particular region, state, or province. Given a phone number, search within the same region as that number. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "InRegion", + "in": "query", + "description": "Limit results to a particular region, state, or province. Given a phone number, search within the same region as that number. Applies to only phone numbers in the US and Canada.", "schema": { "type": "string" } }, { - "description": "Limit results to a specific rate center, or given a phone number search within the same rate center as that number. Requires `in_lata` to be set as well. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "InRateCenter", + "in": "query", + "description": "Limit results to a specific rate center, or given a phone number search within the same rate center as that number. Requires `in_lata` to be set as well. Applies to only phone numbers in the US and Canada.", "schema": { "type": "string" } }, { - "description": "Limit results to a specific local access and transport area ([LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area)). Given a phone number, search within the same [LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area) as that number. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "InLata", + "in": "query", + "description": "Limit results to a specific local access and transport area ([LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area)). Given a phone number, search within the same [LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area) as that number. Applies to only phone numbers in the US and Canada.", "schema": { "type": "string" } }, { - "description": "Limit results to a particular locality or city. Given a phone number, search within the same Locality as that number.", - "in": "query", "name": "InLocality", + "in": "query", + "description": "Limit results to a particular locality or city. Given a phone number, search within the same Locality as that number.", "schema": { "type": "string" } }, { - "description": "Whether the phone numbers can receive faxes. Can be: `true` or `false`.", - "in": "query", "name": "FaxEnabled", + "in": "query", + "description": "Whether the phone numbers can receive faxes. Can be: `true` or `false`.", "schema": { "type": "boolean" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -10989,23 +11005,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListAvailablePhoneNumberLocalResponse", "properties": { "available_phone_numbers": { + "type": "array", "items": { "$ref": "#/components/schemas/api.v2010.account.available_phone_number_country.available_phone_number_local" - }, - "type": "array" + } }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -11014,19 +11032,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" } - }, - "title": "ListAvailablePhoneNumberLocalResponse", - "type": "object" + } } } }, @@ -11038,206 +11054,206 @@ "accountSid_authToken": [] } ], + "operationId": "ListAvailablePhoneNumberLocal", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}/MachineToMachine.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Available machine-to-machine phone numbers", "x-twilio": { "defaultOutputProperties": [ "phone_number", "region", "beta" ], - "parent": "/Accounts/{AccountSid}/AvailablePhoneNumbers.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}/MachineToMachine.json": { - "description": "Available machine-to-machine phone numbers", + "pathType": "list", + "parent": "/Accounts/{AccountSid}/AvailablePhoneNumbers.json" + }, "get": { "description": "", - "operationId": "ListAvailablePhoneNumberMachineToMachine", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) requesting the AvailablePhoneNumber resources.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) requesting the AvailablePhoneNumber resources.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code of the country from which to read phone numbers.", - "in": "path", "name": "CountryCode", - "required": true, + "in": "path", + "description": "The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code of the country from which to read phone numbers.", "schema": { - "format": "iso-country-code", - "type": "string" - } + "type": "string", + "format": "iso-country-code" + }, + "required": true }, { - "description": "The area code of the phone numbers to read. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "AreaCode", + "in": "query", + "description": "The area code of the phone numbers to read. Applies to only phone numbers in the US and Canada.", "schema": { "type": "integer" } }, { - "description": "The pattern on which to match phone numbers. Valid characters are `*`, `0-9`, `a-z`, and `A-Z`. The `*` character matches any single digit. For examples, see [Example 2](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-2) and [Example 3](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-3). If specified, this value must have at least two characters.", - "in": "query", "name": "Contains", + "in": "query", + "description": "The pattern on which to match phone numbers. Valid characters are `*`, `0-9`, `a-z`, and `A-Z`. The `*` character matches any single digit. For examples, see [Example 2](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-2) and [Example 3](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-3). If specified, this value must have at least two characters.", "schema": { "type": "string" } }, { - "description": "Whether the phone numbers can receive text messages. Can be: `true` or `false`.", - "in": "query", "name": "SmsEnabled", + "in": "query", + "description": "Whether the phone numbers can receive text messages. Can be: `true` or `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether the phone numbers can receive MMS messages. Can be: `true` or `false`.", - "in": "query", "name": "MmsEnabled", + "in": "query", + "description": "Whether the phone numbers can receive MMS messages. Can be: `true` or `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether the phone numbers can receive calls. Can be: `true` or `false`.", - "in": "query", "name": "VoiceEnabled", + "in": "query", + "description": "Whether the phone numbers can receive calls. Can be: `true` or `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether to exclude phone numbers that require an [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", - "in": "query", "name": "ExcludeAllAddressRequired", + "in": "query", + "description": "Whether to exclude phone numbers that require an [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether to exclude phone numbers that require a local [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", - "in": "query", "name": "ExcludeLocalAddressRequired", + "in": "query", + "description": "Whether to exclude phone numbers that require a local [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether to exclude phone numbers that require a foreign [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", - "in": "query", "name": "ExcludeForeignAddressRequired", + "in": "query", + "description": "Whether to exclude phone numbers that require a foreign [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether to read phone numbers that are new to the Twilio platform. Can be: `true` or `false` and the default is `true`.", - "in": "query", "name": "Beta", + "in": "query", + "description": "Whether to read phone numbers that are new to the Twilio platform. Can be: `true` or `false` and the default is `true`.", "schema": { "type": "boolean" } }, { - "description": "Given a phone number, find a geographically close number within `distance` miles. Distance defaults to 25 miles. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "NearNumber", + "in": "query", + "description": "Given a phone number, find a geographically close number within `distance` miles. Distance defaults to 25 miles. Applies to only phone numbers in the US and Canada.", "schema": { - "format": "phone-number", - "type": "string" + "type": "string", + "format": "phone-number" } }, { - "description": "Given a latitude/longitude pair `lat,long` find geographically close numbers within `distance` miles. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "NearLatLong", + "in": "query", + "description": "Given a latitude/longitude pair `lat,long` find geographically close numbers within `distance` miles. Applies to only phone numbers in the US and Canada.", "schema": { "type": "string" } }, { - "description": "The search radius, in miles, for a `near_` query. Can be up to `500` and the default is `25`. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "Distance", + "in": "query", + "description": "The search radius, in miles, for a `near_` query. Can be up to `500` and the default is `25`. Applies to only phone numbers in the US and Canada.", "schema": { "type": "integer" } }, { - "description": "Limit results to a particular postal code. Given a phone number, search within the same postal code as that number. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "InPostalCode", + "in": "query", + "description": "Limit results to a particular postal code. Given a phone number, search within the same postal code as that number. Applies to only phone numbers in the US and Canada.", "schema": { "type": "string" } }, { - "description": "Limit results to a particular region, state, or province. Given a phone number, search within the same region as that number. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "InRegion", + "in": "query", + "description": "Limit results to a particular region, state, or province. Given a phone number, search within the same region as that number. Applies to only phone numbers in the US and Canada.", "schema": { "type": "string" } }, { - "description": "Limit results to a specific rate center, or given a phone number search within the same rate center as that number. Requires `in_lata` to be set as well. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "InRateCenter", + "in": "query", + "description": "Limit results to a specific rate center, or given a phone number search within the same rate center as that number. Requires `in_lata` to be set as well. Applies to only phone numbers in the US and Canada.", "schema": { "type": "string" } }, { - "description": "Limit results to a specific local access and transport area ([LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area)). Given a phone number, search within the same [LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area) as that number. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "InLata", + "in": "query", + "description": "Limit results to a specific local access and transport area ([LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area)). Given a phone number, search within the same [LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area) as that number. Applies to only phone numbers in the US and Canada.", "schema": { "type": "string" } }, { - "description": "Limit results to a particular locality or city. Given a phone number, search within the same Locality as that number.", - "in": "query", "name": "InLocality", + "in": "query", + "description": "Limit results to a particular locality or city. Given a phone number, search within the same Locality as that number.", "schema": { "type": "string" } }, { - "description": "Whether the phone numbers can receive faxes. Can be: `true` or `false`.", - "in": "query", "name": "FaxEnabled", + "in": "query", + "description": "Whether the phone numbers can receive faxes. Can be: `true` or `false`.", "schema": { "type": "boolean" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -11246,23 +11262,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListAvailablePhoneNumberMachineToMachineResponse", "properties": { "available_phone_numbers": { + "type": "array", "items": { "$ref": "#/components/schemas/api.v2010.account.available_phone_number_country.available_phone_number_machine_to_machine" - }, - "type": "array" + } }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -11271,19 +11289,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" } - }, - "title": "ListAvailablePhoneNumberMachineToMachineResponse", - "type": "object" + } } } }, @@ -11295,206 +11311,206 @@ "accountSid_authToken": [] } ], + "operationId": "ListAvailablePhoneNumberMachineToMachine", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}/Mobile.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Available mobile phone numbers", "x-twilio": { "defaultOutputProperties": [ "phone_number", "region", "beta" ], - "parent": "/Accounts/{AccountSid}/AvailablePhoneNumbers.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}/Mobile.json": { - "description": "Available mobile phone numbers", + "pathType": "list", + "parent": "/Accounts/{AccountSid}/AvailablePhoneNumbers.json" + }, "get": { "description": "", - "operationId": "ListAvailablePhoneNumberMobile", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) requesting the AvailablePhoneNumber resources.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) requesting the AvailablePhoneNumber resources.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code of the country from which to read phone numbers.", - "in": "path", "name": "CountryCode", - "required": true, + "in": "path", + "description": "The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code of the country from which to read phone numbers.", "schema": { - "format": "iso-country-code", - "type": "string" - } + "type": "string", + "format": "iso-country-code" + }, + "required": true }, { - "description": "The area code of the phone numbers to read. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "AreaCode", + "in": "query", + "description": "The area code of the phone numbers to read. Applies to only phone numbers in the US and Canada.", "schema": { "type": "integer" } }, { - "description": "The pattern on which to match phone numbers. Valid characters are `*`, `0-9`, `a-z`, and `A-Z`. The `*` character matches any single digit. For examples, see [Example 2](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-2) and [Example 3](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-3). If specified, this value must have at least two characters.", - "in": "query", "name": "Contains", + "in": "query", + "description": "The pattern on which to match phone numbers. Valid characters are `*`, `0-9`, `a-z`, and `A-Z`. The `*` character matches any single digit. For examples, see [Example 2](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-2) and [Example 3](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-3). If specified, this value must have at least two characters.", "schema": { "type": "string" } }, { - "description": "Whether the phone numbers can receive text messages. Can be: `true` or `false`.", - "in": "query", "name": "SmsEnabled", + "in": "query", + "description": "Whether the phone numbers can receive text messages. Can be: `true` or `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether the phone numbers can receive MMS messages. Can be: `true` or `false`.", - "in": "query", "name": "MmsEnabled", + "in": "query", + "description": "Whether the phone numbers can receive MMS messages. Can be: `true` or `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether the phone numbers can receive calls. Can be: `true` or `false`.", - "in": "query", "name": "VoiceEnabled", + "in": "query", + "description": "Whether the phone numbers can receive calls. Can be: `true` or `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether to exclude phone numbers that require an [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", - "in": "query", "name": "ExcludeAllAddressRequired", + "in": "query", + "description": "Whether to exclude phone numbers that require an [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether to exclude phone numbers that require a local [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", - "in": "query", "name": "ExcludeLocalAddressRequired", + "in": "query", + "description": "Whether to exclude phone numbers that require a local [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether to exclude phone numbers that require a foreign [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", - "in": "query", "name": "ExcludeForeignAddressRequired", + "in": "query", + "description": "Whether to exclude phone numbers that require a foreign [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether to read phone numbers that are new to the Twilio platform. Can be: `true` or `false` and the default is `true`.", - "in": "query", "name": "Beta", + "in": "query", + "description": "Whether to read phone numbers that are new to the Twilio platform. Can be: `true` or `false` and the default is `true`.", "schema": { "type": "boolean" } }, { - "description": "Given a phone number, find a geographically close number within `distance` miles. Distance defaults to 25 miles. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "NearNumber", + "in": "query", + "description": "Given a phone number, find a geographically close number within `distance` miles. Distance defaults to 25 miles. Applies to only phone numbers in the US and Canada.", "schema": { - "format": "phone-number", - "type": "string" + "type": "string", + "format": "phone-number" } }, { - "description": "Given a latitude/longitude pair `lat,long` find geographically close numbers within `distance` miles. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "NearLatLong", + "in": "query", + "description": "Given a latitude/longitude pair `lat,long` find geographically close numbers within `distance` miles. Applies to only phone numbers in the US and Canada.", "schema": { "type": "string" } }, { - "description": "The search radius, in miles, for a `near_` query. Can be up to `500` and the default is `25`. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "Distance", + "in": "query", + "description": "The search radius, in miles, for a `near_` query. Can be up to `500` and the default is `25`. Applies to only phone numbers in the US and Canada.", "schema": { "type": "integer" } }, { - "description": "Limit results to a particular postal code. Given a phone number, search within the same postal code as that number. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "InPostalCode", + "in": "query", + "description": "Limit results to a particular postal code. Given a phone number, search within the same postal code as that number. Applies to only phone numbers in the US and Canada.", "schema": { "type": "string" } }, { - "description": "Limit results to a particular region, state, or province. Given a phone number, search within the same region as that number. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "InRegion", + "in": "query", + "description": "Limit results to a particular region, state, or province. Given a phone number, search within the same region as that number. Applies to only phone numbers in the US and Canada.", "schema": { "type": "string" } }, { - "description": "Limit results to a specific rate center, or given a phone number search within the same rate center as that number. Requires `in_lata` to be set as well. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "InRateCenter", + "in": "query", + "description": "Limit results to a specific rate center, or given a phone number search within the same rate center as that number. Requires `in_lata` to be set as well. Applies to only phone numbers in the US and Canada.", "schema": { "type": "string" } }, { - "description": "Limit results to a specific local access and transport area ([LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area)). Given a phone number, search within the same [LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area) as that number. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "InLata", + "in": "query", + "description": "Limit results to a specific local access and transport area ([LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area)). Given a phone number, search within the same [LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area) as that number. Applies to only phone numbers in the US and Canada.", "schema": { "type": "string" } }, { - "description": "Limit results to a particular locality or city. Given a phone number, search within the same Locality as that number.", - "in": "query", "name": "InLocality", + "in": "query", + "description": "Limit results to a particular locality or city. Given a phone number, search within the same Locality as that number.", "schema": { "type": "string" } }, { - "description": "Whether the phone numbers can receive faxes. Can be: `true` or `false`.", - "in": "query", "name": "FaxEnabled", + "in": "query", + "description": "Whether the phone numbers can receive faxes. Can be: `true` or `false`.", "schema": { "type": "boolean" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -11503,23 +11519,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListAvailablePhoneNumberMobileResponse", "properties": { "available_phone_numbers": { + "type": "array", "items": { "$ref": "#/components/schemas/api.v2010.account.available_phone_number_country.available_phone_number_mobile" - }, - "type": "array" + } }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -11528,19 +11546,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" } - }, - "title": "ListAvailablePhoneNumberMobileResponse", - "type": "object" + } } } }, @@ -11552,206 +11568,206 @@ "accountSid_authToken": [] } ], + "operationId": "ListAvailablePhoneNumberMobile", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}/National.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Available national phone numbers", "x-twilio": { "defaultOutputProperties": [ "phone_number", "region", "beta" ], - "parent": "/Accounts/{AccountSid}/AvailablePhoneNumbers.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}/National.json": { - "description": "Available national phone numbers", + "pathType": "list", + "parent": "/Accounts/{AccountSid}/AvailablePhoneNumbers.json" + }, "get": { "description": "", - "operationId": "ListAvailablePhoneNumberNational", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) requesting the AvailablePhoneNumber resources.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) requesting the AvailablePhoneNumber resources.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code of the country from which to read phone numbers.", - "in": "path", "name": "CountryCode", - "required": true, + "in": "path", + "description": "The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code of the country from which to read phone numbers.", "schema": { - "format": "iso-country-code", - "type": "string" - } + "type": "string", + "format": "iso-country-code" + }, + "required": true }, { - "description": "The area code of the phone numbers to read. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "AreaCode", + "in": "query", + "description": "The area code of the phone numbers to read. Applies to only phone numbers in the US and Canada.", "schema": { "type": "integer" } }, { - "description": "The pattern on which to match phone numbers. Valid characters are `*`, `0-9`, `a-z`, and `A-Z`. The `*` character matches any single digit. For examples, see [Example 2](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-2) and [Example 3](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-3). If specified, this value must have at least two characters.", - "in": "query", "name": "Contains", + "in": "query", + "description": "The pattern on which to match phone numbers. Valid characters are `*`, `0-9`, `a-z`, and `A-Z`. The `*` character matches any single digit. For examples, see [Example 2](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-2) and [Example 3](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-3). If specified, this value must have at least two characters.", "schema": { "type": "string" } }, { - "description": "Whether the phone numbers can receive text messages. Can be: `true` or `false`.", - "in": "query", "name": "SmsEnabled", + "in": "query", + "description": "Whether the phone numbers can receive text messages. Can be: `true` or `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether the phone numbers can receive MMS messages. Can be: `true` or `false`.", - "in": "query", "name": "MmsEnabled", + "in": "query", + "description": "Whether the phone numbers can receive MMS messages. Can be: `true` or `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether the phone numbers can receive calls. Can be: `true` or `false`.", - "in": "query", "name": "VoiceEnabled", + "in": "query", + "description": "Whether the phone numbers can receive calls. Can be: `true` or `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether to exclude phone numbers that require an [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", - "in": "query", "name": "ExcludeAllAddressRequired", + "in": "query", + "description": "Whether to exclude phone numbers that require an [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether to exclude phone numbers that require a local [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", - "in": "query", "name": "ExcludeLocalAddressRequired", + "in": "query", + "description": "Whether to exclude phone numbers that require a local [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether to exclude phone numbers that require a foreign [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", - "in": "query", "name": "ExcludeForeignAddressRequired", + "in": "query", + "description": "Whether to exclude phone numbers that require a foreign [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether to read phone numbers that are new to the Twilio platform. Can be: `true` or `false` and the default is `true`.", - "in": "query", "name": "Beta", + "in": "query", + "description": "Whether to read phone numbers that are new to the Twilio platform. Can be: `true` or `false` and the default is `true`.", "schema": { "type": "boolean" } }, { - "description": "Given a phone number, find a geographically close number within `distance` miles. Distance defaults to 25 miles. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "NearNumber", + "in": "query", + "description": "Given a phone number, find a geographically close number within `distance` miles. Distance defaults to 25 miles. Applies to only phone numbers in the US and Canada.", "schema": { - "format": "phone-number", - "type": "string" + "type": "string", + "format": "phone-number" } }, { - "description": "Given a latitude/longitude pair `lat,long` find geographically close numbers within `distance` miles. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "NearLatLong", + "in": "query", + "description": "Given a latitude/longitude pair `lat,long` find geographically close numbers within `distance` miles. Applies to only phone numbers in the US and Canada.", "schema": { "type": "string" } }, { - "description": "The search radius, in miles, for a `near_` query. Can be up to `500` and the default is `25`. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "Distance", + "in": "query", + "description": "The search radius, in miles, for a `near_` query. Can be up to `500` and the default is `25`. Applies to only phone numbers in the US and Canada.", "schema": { "type": "integer" } }, { - "description": "Limit results to a particular postal code. Given a phone number, search within the same postal code as that number. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "InPostalCode", + "in": "query", + "description": "Limit results to a particular postal code. Given a phone number, search within the same postal code as that number. Applies to only phone numbers in the US and Canada.", "schema": { "type": "string" } }, { - "description": "Limit results to a particular region, state, or province. Given a phone number, search within the same region as that number. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "InRegion", + "in": "query", + "description": "Limit results to a particular region, state, or province. Given a phone number, search within the same region as that number. Applies to only phone numbers in the US and Canada.", "schema": { "type": "string" } }, { - "description": "Limit results to a specific rate center, or given a phone number search within the same rate center as that number. Requires `in_lata` to be set as well. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "InRateCenter", + "in": "query", + "description": "Limit results to a specific rate center, or given a phone number search within the same rate center as that number. Requires `in_lata` to be set as well. Applies to only phone numbers in the US and Canada.", "schema": { "type": "string" } }, { - "description": "Limit results to a specific local access and transport area ([LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area)). Given a phone number, search within the same [LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area) as that number. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "InLata", + "in": "query", + "description": "Limit results to a specific local access and transport area ([LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area)). Given a phone number, search within the same [LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area) as that number. Applies to only phone numbers in the US and Canada.", "schema": { "type": "string" } }, { - "description": "Limit results to a particular locality or city. Given a phone number, search within the same Locality as that number.", - "in": "query", "name": "InLocality", + "in": "query", + "description": "Limit results to a particular locality or city. Given a phone number, search within the same Locality as that number.", "schema": { "type": "string" } }, { - "description": "Whether the phone numbers can receive faxes. Can be: `true` or `false`.", - "in": "query", "name": "FaxEnabled", + "in": "query", + "description": "Whether the phone numbers can receive faxes. Can be: `true` or `false`.", "schema": { "type": "boolean" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -11760,23 +11776,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListAvailablePhoneNumberNationalResponse", "properties": { "available_phone_numbers": { + "type": "array", "items": { "$ref": "#/components/schemas/api.v2010.account.available_phone_number_country.available_phone_number_national" - }, - "type": "array" + } }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -11785,19 +11803,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" } - }, - "title": "ListAvailablePhoneNumberNationalResponse", - "type": "object" + } } } }, @@ -11809,206 +11825,206 @@ "accountSid_authToken": [] } ], + "operationId": "ListAvailablePhoneNumberNational", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}/SharedCost.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Available shared cost numbers", "x-twilio": { "defaultOutputProperties": [ "phone_number", "region", "beta" ], - "parent": "/Accounts/{AccountSid}/AvailablePhoneNumbers.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}/SharedCost.json": { - "description": "Available shared cost numbers", + "pathType": "list", + "parent": "/Accounts/{AccountSid}/AvailablePhoneNumbers.json" + }, "get": { "description": "", - "operationId": "ListAvailablePhoneNumberSharedCost", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) requesting the AvailablePhoneNumber resources.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) requesting the AvailablePhoneNumber resources.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code of the country from which to read phone numbers.", - "in": "path", "name": "CountryCode", - "required": true, + "in": "path", + "description": "The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code of the country from which to read phone numbers.", "schema": { - "format": "iso-country-code", - "type": "string" - } + "type": "string", + "format": "iso-country-code" + }, + "required": true }, { - "description": "The area code of the phone numbers to read. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "AreaCode", + "in": "query", + "description": "The area code of the phone numbers to read. Applies to only phone numbers in the US and Canada.", "schema": { "type": "integer" } }, { - "description": "The pattern on which to match phone numbers. Valid characters are `*`, `0-9`, `a-z`, and `A-Z`. The `*` character matches any single digit. For examples, see [Example 2](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-2) and [Example 3](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-3). If specified, this value must have at least two characters.", - "in": "query", "name": "Contains", + "in": "query", + "description": "The pattern on which to match phone numbers. Valid characters are `*`, `0-9`, `a-z`, and `A-Z`. The `*` character matches any single digit. For examples, see [Example 2](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-2) and [Example 3](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-3). If specified, this value must have at least two characters.", "schema": { "type": "string" } }, { - "description": "Whether the phone numbers can receive text messages. Can be: `true` or `false`.", - "in": "query", "name": "SmsEnabled", + "in": "query", + "description": "Whether the phone numbers can receive text messages. Can be: `true` or `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether the phone numbers can receive MMS messages. Can be: `true` or `false`.", - "in": "query", "name": "MmsEnabled", + "in": "query", + "description": "Whether the phone numbers can receive MMS messages. Can be: `true` or `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether the phone numbers can receive calls. Can be: `true` or `false`.", - "in": "query", "name": "VoiceEnabled", + "in": "query", + "description": "Whether the phone numbers can receive calls. Can be: `true` or `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether to exclude phone numbers that require an [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", - "in": "query", "name": "ExcludeAllAddressRequired", + "in": "query", + "description": "Whether to exclude phone numbers that require an [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether to exclude phone numbers that require a local [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", - "in": "query", "name": "ExcludeLocalAddressRequired", + "in": "query", + "description": "Whether to exclude phone numbers that require a local [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether to exclude phone numbers that require a foreign [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", - "in": "query", "name": "ExcludeForeignAddressRequired", + "in": "query", + "description": "Whether to exclude phone numbers that require a foreign [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether to read phone numbers that are new to the Twilio platform. Can be: `true` or `false` and the default is `true`.", - "in": "query", "name": "Beta", + "in": "query", + "description": "Whether to read phone numbers that are new to the Twilio platform. Can be: `true` or `false` and the default is `true`.", "schema": { "type": "boolean" } }, { - "description": "Given a phone number, find a geographically close number within `distance` miles. Distance defaults to 25 miles. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "NearNumber", + "in": "query", + "description": "Given a phone number, find a geographically close number within `distance` miles. Distance defaults to 25 miles. Applies to only phone numbers in the US and Canada.", "schema": { - "format": "phone-number", - "type": "string" + "type": "string", + "format": "phone-number" } }, { - "description": "Given a latitude/longitude pair `lat,long` find geographically close numbers within `distance` miles. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "NearLatLong", + "in": "query", + "description": "Given a latitude/longitude pair `lat,long` find geographically close numbers within `distance` miles. Applies to only phone numbers in the US and Canada.", "schema": { "type": "string" } }, { - "description": "The search radius, in miles, for a `near_` query. Can be up to `500` and the default is `25`. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "Distance", + "in": "query", + "description": "The search radius, in miles, for a `near_` query. Can be up to `500` and the default is `25`. Applies to only phone numbers in the US and Canada.", "schema": { "type": "integer" } }, { - "description": "Limit results to a particular postal code. Given a phone number, search within the same postal code as that number. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "InPostalCode", + "in": "query", + "description": "Limit results to a particular postal code. Given a phone number, search within the same postal code as that number. Applies to only phone numbers in the US and Canada.", "schema": { "type": "string" } }, { - "description": "Limit results to a particular region, state, or province. Given a phone number, search within the same region as that number. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "InRegion", + "in": "query", + "description": "Limit results to a particular region, state, or province. Given a phone number, search within the same region as that number. Applies to only phone numbers in the US and Canada.", "schema": { "type": "string" } }, { - "description": "Limit results to a specific rate center, or given a phone number search within the same rate center as that number. Requires `in_lata` to be set as well. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "InRateCenter", + "in": "query", + "description": "Limit results to a specific rate center, or given a phone number search within the same rate center as that number. Requires `in_lata` to be set as well. Applies to only phone numbers in the US and Canada.", "schema": { "type": "string" } }, { - "description": "Limit results to a specific local access and transport area ([LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area)). Given a phone number, search within the same [LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area) as that number. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "InLata", + "in": "query", + "description": "Limit results to a specific local access and transport area ([LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area)). Given a phone number, search within the same [LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area) as that number. Applies to only phone numbers in the US and Canada.", "schema": { "type": "string" } }, { - "description": "Limit results to a particular locality or city. Given a phone number, search within the same Locality as that number.", - "in": "query", "name": "InLocality", + "in": "query", + "description": "Limit results to a particular locality or city. Given a phone number, search within the same Locality as that number.", "schema": { "type": "string" } }, { - "description": "Whether the phone numbers can receive faxes. Can be: `true` or `false`.", - "in": "query", "name": "FaxEnabled", + "in": "query", + "description": "Whether the phone numbers can receive faxes. Can be: `true` or `false`.", "schema": { "type": "boolean" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -12017,23 +12033,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListAvailablePhoneNumberSharedCostResponse", "properties": { "available_phone_numbers": { + "type": "array", "items": { "$ref": "#/components/schemas/api.v2010.account.available_phone_number_country.available_phone_number_shared_cost" - }, - "type": "array" + } }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -12042,19 +12060,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" } - }, - "title": "ListAvailablePhoneNumberSharedCostResponse", - "type": "object" + } } } }, @@ -12066,206 +12082,206 @@ "accountSid_authToken": [] } ], + "operationId": "ListAvailablePhoneNumberSharedCost", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}/TollFree.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Available toll free phone numbers", "x-twilio": { "defaultOutputProperties": [ "phone_number", "region", "beta" ], - "parent": "/Accounts/{AccountSid}/AvailablePhoneNumbers.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}/TollFree.json": { - "description": "Available toll free phone numbers", + "pathType": "list", + "parent": "/Accounts/{AccountSid}/AvailablePhoneNumbers.json" + }, "get": { "description": "", - "operationId": "ListAvailablePhoneNumberTollFree", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) requesting the AvailablePhoneNumber resources.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) requesting the AvailablePhoneNumber resources.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code of the country from which to read phone numbers.", - "in": "path", "name": "CountryCode", - "required": true, + "in": "path", + "description": "The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code of the country from which to read phone numbers.", "schema": { - "format": "iso-country-code", - "type": "string" - } + "type": "string", + "format": "iso-country-code" + }, + "required": true }, { - "description": "The area code of the phone numbers to read. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "AreaCode", + "in": "query", + "description": "The area code of the phone numbers to read. Applies to only phone numbers in the US and Canada.", "schema": { "type": "integer" } }, { - "description": "The pattern on which to match phone numbers. Valid characters are `*`, `0-9`, `a-z`, and `A-Z`. The `*` character matches any single digit. For examples, see [Example 2](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-2) and [Example 3](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-3). If specified, this value must have at least two characters.", - "in": "query", "name": "Contains", + "in": "query", + "description": "The pattern on which to match phone numbers. Valid characters are `*`, `0-9`, `a-z`, and `A-Z`. The `*` character matches any single digit. For examples, see [Example 2](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-2) and [Example 3](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-3). If specified, this value must have at least two characters.", "schema": { "type": "string" } }, { - "description": "Whether the phone numbers can receive text messages. Can be: `true` or `false`.", - "in": "query", "name": "SmsEnabled", + "in": "query", + "description": "Whether the phone numbers can receive text messages. Can be: `true` or `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether the phone numbers can receive MMS messages. Can be: `true` or `false`.", - "in": "query", "name": "MmsEnabled", + "in": "query", + "description": "Whether the phone numbers can receive MMS messages. Can be: `true` or `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether the phone numbers can receive calls. Can be: `true` or `false`.", - "in": "query", "name": "VoiceEnabled", + "in": "query", + "description": "Whether the phone numbers can receive calls. Can be: `true` or `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether to exclude phone numbers that require an [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", - "in": "query", "name": "ExcludeAllAddressRequired", + "in": "query", + "description": "Whether to exclude phone numbers that require an [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether to exclude phone numbers that require a local [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", - "in": "query", "name": "ExcludeLocalAddressRequired", + "in": "query", + "description": "Whether to exclude phone numbers that require a local [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether to exclude phone numbers that require a foreign [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", - "in": "query", "name": "ExcludeForeignAddressRequired", + "in": "query", + "description": "Whether to exclude phone numbers that require a foreign [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether to read phone numbers that are new to the Twilio platform. Can be: `true` or `false` and the default is `true`.", - "in": "query", "name": "Beta", + "in": "query", + "description": "Whether to read phone numbers that are new to the Twilio platform. Can be: `true` or `false` and the default is `true`.", "schema": { "type": "boolean" } }, { - "description": "Given a phone number, find a geographically close number within `distance` miles. Distance defaults to 25 miles. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "NearNumber", + "in": "query", + "description": "Given a phone number, find a geographically close number within `distance` miles. Distance defaults to 25 miles. Applies to only phone numbers in the US and Canada.", "schema": { - "format": "phone-number", - "type": "string" + "type": "string", + "format": "phone-number" } }, { - "description": "Given a latitude/longitude pair `lat,long` find geographically close numbers within `distance` miles. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "NearLatLong", + "in": "query", + "description": "Given a latitude/longitude pair `lat,long` find geographically close numbers within `distance` miles. Applies to only phone numbers in the US and Canada.", "schema": { "type": "string" } }, { - "description": "The search radius, in miles, for a `near_` query. Can be up to `500` and the default is `25`. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "Distance", + "in": "query", + "description": "The search radius, in miles, for a `near_` query. Can be up to `500` and the default is `25`. Applies to only phone numbers in the US and Canada.", "schema": { "type": "integer" } }, { - "description": "Limit results to a particular postal code. Given a phone number, search within the same postal code as that number. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "InPostalCode", + "in": "query", + "description": "Limit results to a particular postal code. Given a phone number, search within the same postal code as that number. Applies to only phone numbers in the US and Canada.", "schema": { "type": "string" } }, { - "description": "Limit results to a particular region, state, or province. Given a phone number, search within the same region as that number. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "InRegion", + "in": "query", + "description": "Limit results to a particular region, state, or province. Given a phone number, search within the same region as that number. Applies to only phone numbers in the US and Canada.", "schema": { "type": "string" } }, { - "description": "Limit results to a specific rate center, or given a phone number search within the same rate center as that number. Requires `in_lata` to be set as well. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "InRateCenter", + "in": "query", + "description": "Limit results to a specific rate center, or given a phone number search within the same rate center as that number. Requires `in_lata` to be set as well. Applies to only phone numbers in the US and Canada.", "schema": { "type": "string" } }, { - "description": "Limit results to a specific local access and transport area ([LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area)). Given a phone number, search within the same [LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area) as that number. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "InLata", + "in": "query", + "description": "Limit results to a specific local access and transport area ([LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area)). Given a phone number, search within the same [LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area) as that number. Applies to only phone numbers in the US and Canada.", "schema": { "type": "string" } }, { - "description": "Limit results to a particular locality or city. Given a phone number, search within the same Locality as that number.", - "in": "query", "name": "InLocality", + "in": "query", + "description": "Limit results to a particular locality or city. Given a phone number, search within the same Locality as that number.", "schema": { "type": "string" } }, { - "description": "Whether the phone numbers can receive faxes. Can be: `true` or `false`.", - "in": "query", "name": "FaxEnabled", + "in": "query", + "description": "Whether the phone numbers can receive faxes. Can be: `true` or `false`.", "schema": { "type": "boolean" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -12274,23 +12290,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListAvailablePhoneNumberTollFreeResponse", "properties": { "available_phone_numbers": { + "type": "array", "items": { "$ref": "#/components/schemas/api.v2010.account.available_phone_number_country.available_phone_number_toll_free" - }, - "type": "array" + } }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -12299,19 +12317,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" } - }, - "title": "ListAvailablePhoneNumberTollFreeResponse", - "type": "object" + } } } }, @@ -12323,206 +12339,206 @@ "accountSid_authToken": [] } ], + "operationId": "ListAvailablePhoneNumberTollFree", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}/Voip.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Available VoIP phone numbers", "x-twilio": { "defaultOutputProperties": [ "phone_number", "region", "beta" ], - "parent": "/Accounts/{AccountSid}/AvailablePhoneNumbers.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}/Voip.json": { - "description": "Available VoIP phone numbers", + "pathType": "list", + "parent": "/Accounts/{AccountSid}/AvailablePhoneNumbers.json" + }, "get": { "description": "", - "operationId": "ListAvailablePhoneNumberVoip", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) requesting the AvailablePhoneNumber resources.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) requesting the AvailablePhoneNumber resources.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code of the country from which to read phone numbers.", - "in": "path", "name": "CountryCode", - "required": true, + "in": "path", + "description": "The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code of the country from which to read phone numbers.", "schema": { - "format": "iso-country-code", - "type": "string" - } + "type": "string", + "format": "iso-country-code" + }, + "required": true }, { - "description": "The area code of the phone numbers to read. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "AreaCode", + "in": "query", + "description": "The area code of the phone numbers to read. Applies to only phone numbers in the US and Canada.", "schema": { "type": "integer" } }, { - "description": "The pattern on which to match phone numbers. Valid characters are `*`, `0-9`, `a-z`, and `A-Z`. The `*` character matches any single digit. For examples, see [Example 2](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-2) and [Example 3](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-3). If specified, this value must have at least two characters.", - "in": "query", "name": "Contains", + "in": "query", + "description": "The pattern on which to match phone numbers. Valid characters are `*`, `0-9`, `a-z`, and `A-Z`. The `*` character matches any single digit. For examples, see [Example 2](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-2) and [Example 3](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-3). If specified, this value must have at least two characters.", "schema": { "type": "string" } }, { - "description": "Whether the phone numbers can receive text messages. Can be: `true` or `false`.", - "in": "query", "name": "SmsEnabled", + "in": "query", + "description": "Whether the phone numbers can receive text messages. Can be: `true` or `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether the phone numbers can receive MMS messages. Can be: `true` or `false`.", - "in": "query", "name": "MmsEnabled", + "in": "query", + "description": "Whether the phone numbers can receive MMS messages. Can be: `true` or `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether the phone numbers can receive calls. Can be: `true` or `false`.", - "in": "query", "name": "VoiceEnabled", + "in": "query", + "description": "Whether the phone numbers can receive calls. Can be: `true` or `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether to exclude phone numbers that require an [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", - "in": "query", "name": "ExcludeAllAddressRequired", + "in": "query", + "description": "Whether to exclude phone numbers that require an [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether to exclude phone numbers that require a local [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", - "in": "query", "name": "ExcludeLocalAddressRequired", + "in": "query", + "description": "Whether to exclude phone numbers that require a local [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether to exclude phone numbers that require a foreign [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", - "in": "query", "name": "ExcludeForeignAddressRequired", + "in": "query", + "description": "Whether to exclude phone numbers that require a foreign [Address](https://www.twilio.com/docs/usage/api/address). Can be: `true` or `false` and the default is `false`.", "schema": { "type": "boolean" } }, { - "description": "Whether to read phone numbers that are new to the Twilio platform. Can be: `true` or `false` and the default is `true`.", - "in": "query", "name": "Beta", + "in": "query", + "description": "Whether to read phone numbers that are new to the Twilio platform. Can be: `true` or `false` and the default is `true`.", "schema": { "type": "boolean" } }, { - "description": "Given a phone number, find a geographically close number within `distance` miles. Distance defaults to 25 miles. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "NearNumber", + "in": "query", + "description": "Given a phone number, find a geographically close number within `distance` miles. Distance defaults to 25 miles. Applies to only phone numbers in the US and Canada.", "schema": { - "format": "phone-number", - "type": "string" + "type": "string", + "format": "phone-number" } }, { - "description": "Given a latitude/longitude pair `lat,long` find geographically close numbers within `distance` miles. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "NearLatLong", + "in": "query", + "description": "Given a latitude/longitude pair `lat,long` find geographically close numbers within `distance` miles. Applies to only phone numbers in the US and Canada.", "schema": { "type": "string" } }, { - "description": "The search radius, in miles, for a `near_` query. Can be up to `500` and the default is `25`. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "Distance", + "in": "query", + "description": "The search radius, in miles, for a `near_` query. Can be up to `500` and the default is `25`. Applies to only phone numbers in the US and Canada.", "schema": { "type": "integer" } }, { - "description": "Limit results to a particular postal code. Given a phone number, search within the same postal code as that number. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "InPostalCode", + "in": "query", + "description": "Limit results to a particular postal code. Given a phone number, search within the same postal code as that number. Applies to only phone numbers in the US and Canada.", "schema": { "type": "string" } }, { - "description": "Limit results to a particular region, state, or province. Given a phone number, search within the same region as that number. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "InRegion", + "in": "query", + "description": "Limit results to a particular region, state, or province. Given a phone number, search within the same region as that number. Applies to only phone numbers in the US and Canada.", "schema": { "type": "string" } }, { - "description": "Limit results to a specific rate center, or given a phone number search within the same rate center as that number. Requires `in_lata` to be set as well. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "InRateCenter", + "in": "query", + "description": "Limit results to a specific rate center, or given a phone number search within the same rate center as that number. Requires `in_lata` to be set as well. Applies to only phone numbers in the US and Canada.", "schema": { "type": "string" } }, { - "description": "Limit results to a specific local access and transport area ([LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area)). Given a phone number, search within the same [LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area) as that number. Applies to only phone numbers in the US and Canada.", - "in": "query", "name": "InLata", + "in": "query", + "description": "Limit results to a specific local access and transport area ([LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area)). Given a phone number, search within the same [LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area) as that number. Applies to only phone numbers in the US and Canada.", "schema": { "type": "string" } }, { - "description": "Limit results to a particular locality or city. Given a phone number, search within the same Locality as that number.", - "in": "query", "name": "InLocality", + "in": "query", + "description": "Limit results to a particular locality or city. Given a phone number, search within the same Locality as that number.", "schema": { "type": "string" } }, { - "description": "Whether the phone numbers can receive faxes. Can be: `true` or `false`.", - "in": "query", "name": "FaxEnabled", + "in": "query", + "description": "Whether the phone numbers can receive faxes. Can be: `true` or `false`.", "schema": { "type": "boolean" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -12531,23 +12547,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListAvailablePhoneNumberVoipResponse", "properties": { "available_phone_numbers": { + "type": "array", "items": { "$ref": "#/components/schemas/api.v2010.account.available_phone_number_country.available_phone_number_voip" - }, - "type": "array" + } }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -12556,19 +12574,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" } - }, - "title": "ListAvailablePhoneNumberVoipResponse", - "type": "object" + } } } }, @@ -12580,42 +12596,42 @@ "accountSid_authToken": [] } ], + "operationId": "ListAvailablePhoneNumberVoip", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/Balance.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Account balance", "x-twilio": { "defaultOutputProperties": [ - "phone_number", - "region", - "beta" + "account_sid", + "balance", + "currency" ], - "parent": "/Accounts/{AccountSid}/AvailablePhoneNumbers.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Balance.json": { - "description": "Account balance", + "pathType": "list", + "parent": "/Accounts.json" + }, "get": { "description": "Fetch the balance for an Account based on Account Sid. Balance changes may not be reflected immediately. Child accounts do not contain balance information", - "operationId": "FetchBalance", "parameters": [ { - "description": "The unique SID identifier of the Account.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The unique SID identifier of the Account.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -12635,253 +12651,85 @@ "accountSid_authToken": [] } ], + "operationId": "FetchBalance", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/Calls.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "A Call is an object that represents a connection between a telephone and Twilio.", "x-twilio": { "defaultOutputProperties": [ - "account_sid", - "balance", - "currency" + "sid", + "from", + "to", + "status", + "start_time" ], - "parent": "/Accounts.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Calls.json": { - "description": "A Call is an object that represents a connection between a telephone and Twilio.", - "get": { - "description": "Retrieves a collection of calls made to and from your account", - "operationId": "ListCall", + "pathType": "list", + "parent": "/Accounts.json" + }, + "post": { + "description": "Create a new outgoing call to phones, SIP-enabled endpoints or Twilio Client connections", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Call resource(s) to read.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "Only show calls made to this phone number, SIP address, Client identifier or SIM SID.", - "in": "query", - "name": "To", - "schema": { - "format": "phone-number", - "type": "string" - } - }, - { - "description": "Only include calls from this phone number, SIP address, Client identifier or SIM SID.", - "in": "query", - "name": "From", - "schema": { - "format": "phone-number", - "type": "string" - } - }, - { - "description": "Only include calls spawned by calls with this SID.", - "in": "query", - "name": "ParentCallSid", - "schema": { "maxLength": 34, - "minLength": 34, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The status of the calls to include. Can be: `queued`, `ringing`, `in-progress`, `canceled`, `completed`, `failed`, `busy`, or `no-answer`.", - "in": "query", - "name": "Status", - "schema": { - "enum": [ - "queued", - "ringing", - "in-progress", - "completed", - "busy", - "failed", - "no-answer", - "canceled" - ], - "type": "string" - } - }, - { - "description": "Only include calls that started on this date. Specify a date as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read only calls that started on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, to read calls that started on or before midnight of this date, and `StartTime>=YYYY-MM-DD` to read calls that started on or after midnight of this date.", - "in": "query", - "name": "StartTime", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "description": "Only include calls that started on this date. Specify a date as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read only calls that started on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, to read calls that started on or before midnight of this date, and `StartTime>=YYYY-MM-DD` to read calls that started on or after midnight of this date.", - "in": "query", - "name": "StartTime<", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "description": "Only include calls that started on this date. Specify a date as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read only calls that started on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, to read calls that started on or before midnight of this date, and `StartTime>=YYYY-MM-DD` to read calls that started on or after midnight of this date.", - "in": "query", - "name": "StartTime>", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "description": "Only include calls that ended on this date. Specify a date as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read only calls that ended on this date. You can also specify an inequality, such as `EndTime<=YYYY-MM-DD`, to read calls that ended on or before midnight of this date, and `EndTime>=YYYY-MM-DD` to read calls that ended on or after midnight of this date.", - "in": "query", - "name": "EndTime", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "description": "Only include calls that ended on this date. Specify a date as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read only calls that ended on this date. You can also specify an inequality, such as `EndTime<=YYYY-MM-DD`, to read calls that ended on or before midnight of this date, and `EndTime>=YYYY-MM-DD` to read calls that ended on or after midnight of this date.", - "in": "query", - "name": "EndTime<", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "description": "Only include calls that ended on this date. Specify a date as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read only calls that ended on this date. You can also specify an inequality, such as `EndTime<=YYYY-MM-DD`, to read calls that ended on or before midnight of this date, and `EndTime>=YYYY-MM-DD` to read calls that ended on or after midnight of this date.", - "in": "query", - "name": "EndTime>", - "schema": { - "format": "date-time", - "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" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "calls": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.call" - }, - "type": "array" - }, - "end": { - "type": "integer" - }, - "first_page_uri": { - "format": "uri", - "type": "string" - }, - "next_page_uri": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_uri": { - "format": "uri", - "type": "string" - }, - "start": { - "type": "integer" - }, - "uri": { - "format": "uri", - "type": "string" - } - }, - "title": "ListCallResponse", - "type": "object" - } - } - }, - "description": "OK" - } - }, - "security": [ + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.call" + } + } + }, + "description": "Created" + } + }, + "security": [ { "accountSid_authToken": [] } ], + "operationId": "CreateCall", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "Create a new outgoing call to phones, SIP-enabled endpoints or Twilio Client connections", - "operationId": "CreateCall", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateCallRequest", "properties": { - "ApplicationSid": { - "description": "The SID of the Application resource that will handle the call, if the call will be handled by an application.", - "maxLength": 34, - "minLength": 34, - "pattern": "^AP[0-9a-fA-F]{32}$", - "type": "string" - }, - "AsyncAmd": { - "description": "Select whether to perform answering machine detection in the background. Default, blocks the execution of the call until Answering Machine Detection is completed. Can be: `true` or `false`.", - "type": "string" + "To": { + "type": "string", + "description": "The phone number, SIP address, or client identifier to call." }, - "AsyncAmdStatusCallback": { - "description": "The URL that we should call using the `async_amd_status_callback_method` to notify customer application whether the call was answered by human, machine or fax.", - "format": "uri", - "type": "string" + "From": { + "type": "string", + "description": "The phone number or client identifier to use as the caller id. If using a phone number, it must be a Twilio number or a Verified [outgoing caller id](https://www.twilio.com/docs/voice/api/outgoing-caller-ids) for your account. If the `to` parameter is a phone number, `From` must also be a phone number." }, - "AsyncAmdStatusCallbackMethod": { - "description": "The HTTP method we should use when calling the `async_amd_status_callback` URL. Can be: `GET` or `POST` and the default is `POST`.", + "Method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -12890,30 +12738,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" - }, - "Byoc": { - "description": "The SID of a BYOC (Bring Your Own Carrier) trunk to route this call with. Note that `byoc` is only meaningful when `to` is a phone number; it will otherwise be ignored. (Beta)", - "maxLength": 34, - "minLength": 34, - "pattern": "^BY[0-9a-fA-F]{32}$", - "type": "string" - }, - "CallReason": { - "description": "The Reason for the outgoing call. Use it to specify the purpose of the call that is presented on the called party's phone. (Branded Calls Beta)", - "type": "string" - }, - "CallToken": { - "description": "A token string needed to invoke a forwarded call. A call_token is generated when an incoming call is received on a Twilio number. Pass an incoming call's call_token value to a forwarded call via the call_token parameter when creating a new call. A forwarded call should bear the same CallerID of the original incoming call.", - "type": "string" + "description": "The HTTP method we should use when calling the `url` parameter's value. Can be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter is present, this parameter is ignored." }, - "CallerId": { - "description": "The phone number, SIP address, or Client identifier that made this call. Phone numbers are in [E.164 format](https://wwnw.twilio.com/docs/glossary/what-e164) (e.g., +16175551212). SIP addresses are formatted as `name@company.com`.", - "type": "string" + "FallbackUrl": { + "type": "string", + "format": "uri", + "description": "The URL that we call using the `fallback_method` if an error occurs when requesting or executing the TwiML at `url`. If an `application_sid` parameter is present, this parameter is ignored." }, "FallbackMethod": { - "description": "The HTTP method that we should use to request the `fallback_url`. Can be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter is present, this parameter is ignored.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -12922,40 +12756,23 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method that we should use to request the `fallback_url`. Can be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter is present, this parameter is ignored." }, - "FallbackUrl": { - "description": "The URL that we call using the `fallback_method` if an error occurs when requesting or executing the TwiML at `url`. If an `application_sid` parameter is present, this parameter is ignored.", + "StatusCallback": { + "type": "string", "format": "uri", - "type": "string" - }, - "From": { - "description": "The phone number or client identifier to use as the caller id. If using a phone number, it must be a Twilio number or a Verified [outgoing caller id](https://www.twilio.com/docs/voice/api/outgoing-caller-ids) for your account. If the `to` parameter is a phone number, `From` must also be a phone number.", - "type": "string" - }, - "MachineDetection": { - "description": "Whether to detect if a human, answering machine, or fax has picked up the call. Can be: `Enable` or `DetectMessageEnd`. Use `Enable` if you would like us to return `AnsweredBy` as soon as the called party is identified. Use `DetectMessageEnd`, if you would like to leave a message on an answering machine. If `send_digits` is provided, this parameter is ignored. For more information, see [Answering Machine Detection](https://www.twilio.com/docs/voice/answering-machine-detection).", - "type": "string" + "description": "The URL we should call using the `status_callback_method` to send status information to your application. If no `status_callback_event` is specified, we will send the `completed` status. If an `application_sid` parameter is present, this parameter is ignored. URLs must contain a valid hostname (underscores are not permitted)." }, - "MachineDetectionSilenceTimeout": { - "description": "The number of milliseconds of initial silence after which an `unknown` AnsweredBy result will be returned. Possible Values: 2000-10000. Default: 5000.", - "type": "integer" - }, - "MachineDetectionSpeechEndThreshold": { - "description": "The number of milliseconds of silence after speech activity at which point the speech activity is considered complete. Possible Values: 500-5000. Default: 1200.", - "type": "integer" - }, - "MachineDetectionSpeechThreshold": { - "description": "The number of milliseconds that is used as the measuring stick for the length of the speech activity, where durations lower than this value will be interpreted as a human and longer than this value as a machine. Possible Values: 1000-6000. Default: 2400.", - "type": "integer" - }, - "MachineDetectionTimeout": { - "description": "The number of seconds that we should attempt to detect an answering machine before timing out and sending a voice request with `AnsweredBy` of `unknown`. The default timeout is 30 seconds.", - "type": "integer" + "StatusCallbackEvent": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The call progress events that we will send to the `status_callback` URL. Can be: `initiated`, `ringing`, `answered`, and `completed`. If no event is specified, we send the `completed` status. If you want to receive multiple events, specify each one in a separate `status_callback_event` parameter. See the code sample for [monitoring call progress](https://www.twilio.com/docs/voice/api/call-resource?code-sample=code-create-a-call-resource-and-specify-a-statuscallbackevent&code-sdk-version=json). If an `application_sid` is present, this parameter is ignored." }, - "Method": { - "description": "The HTTP method we should use when calling the `url` parameter's value. Can be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter is present, this parameter is ignored.", + "StatusCallbackMethod": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -12964,30 +12781,31 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method we should use when calling the `status_callback` URL. Can be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter is present, this parameter is ignored." + }, + "SendDigits": { + "type": "string", + "description": "A string of keys to dial after connecting to the number, maximum of 32 digits. Valid digits in the string include: any digit (`0`-`9`), '`#`', '`*`' and '`w`', to insert a half second pause. For example, if you connected to a company phone number and wanted to pause for one second, and then dial extension 1234 followed by the pound key, the value of this parameter would be `ww1234#`. Remember to URL-encode this string, since the '`#`' character has special meaning in a URL. If both `SendDigits` and `MachineDetection` parameters are provided, then `MachineDetection` will be ignored." + }, + "Timeout": { + "type": "integer", + "description": "The integer number of seconds that we should allow the phone to ring before assuming there is no answer. The default is `60` seconds and the maximum is `600` seconds. For some call flows, we will add a 5-second buffer to the timeout value you provide. For this reason, a timeout value of 10 seconds could result in an actual timeout closer to 15 seconds. You can set this to a short time, such as `15` seconds, to hang up before reaching an answering machine or voicemail." }, "Record": { - "description": "Whether to record the call. Can be `true` to record the phone call, or `false` to not. The default is `false`. The `recording_url` is sent to the `status_callback` URL.", - "type": "boolean" + "type": "boolean", + "description": "Whether to record the call. Can be `true` to record the phone call, or `false` to not. The default is `false`. The `recording_url` is sent to the `status_callback` URL." }, "RecordingChannels": { - "description": "The number of channels in the final recording. Can be: `mono` or `dual`. The default is `mono`. `mono` records both legs of the call in a single channel of the recording file. `dual` records each leg to a separate channel of the recording file. The first channel of a dual-channel recording contains the parent call and the second channel contains the child call.", - "type": "string" + "type": "string", + "description": "The number of channels in the final recording. Can be: `mono` or `dual`. The default is `mono`. `mono` records both legs of the call in a single channel of the recording file. `dual` records each leg to a separate channel of the recording file. The first channel of a dual-channel recording contains the parent call and the second channel contains the child call." }, "RecordingStatusCallback": { - "description": "The URL that we call when the recording is available to be accessed.", - "type": "string" - }, - "RecordingStatusCallbackEvent": { - "description": "The recording status events that will trigger calls to the URL specified in `recording_status_callback`. Can be: `in-progress`, `completed` and `absent`. Defaults to `completed`. Separate multiple values with a space.", - "items": { - "type": "string" - }, - "type": "array" + "type": "string", + "description": "The URL that we call when the recording is available to be accessed." }, "RecordingStatusCallbackMethod": { - "description": "The HTTP method we should use when calling the `recording_status_callback` URL. Can be: `GET` or `POST` and the default is `POST`.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -12996,39 +12814,63 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" - }, - "RecordingTrack": { - "description": "The audio track to record for the call. Can be: `inbound`, `outbound` or `both`. The default is `both`. `inbound` records the audio that is received by Twilio. `outbound` records the audio that is generated from Twilio. `both` records the audio that is received and generated by Twilio.", - "type": "string" + "description": "The HTTP method we should use when calling the `recording_status_callback` URL. Can be: `GET` or `POST` and the default is `POST`." }, - "SendDigits": { - "description": "A string of keys to dial after connecting to the number, maximum of 32 digits. Valid digits in the string include: any digit (`0`-`9`), '`#`', '`*`' and '`w`', to insert a half second pause. For example, if you connected to a company phone number and wanted to pause for one second, and then dial extension 1234 followed by the pound key, the value of this parameter would be `ww1234#`. Remember to URL-encode this string, since the '`#`' character has special meaning in a URL. If both `SendDigits` and `MachineDetection` parameters are provided, then `MachineDetection` will be ignored.", - "type": "string" + "SipAuthUsername": { + "type": "string", + "description": "The username used to authenticate the caller making a SIP call." }, "SipAuthPassword": { - "description": "The password required to authenticate the user account specified in `sip_auth_username`.", - "type": "string" + "type": "string", + "description": "The password required to authenticate the user account specified in `sip_auth_username`." }, - "SipAuthUsername": { - "description": "The username used to authenticate the caller making a SIP call.", - "type": "string" + "MachineDetection": { + "type": "string", + "description": "Whether to detect if a human, answering machine, or fax has picked up the call. Can be: `Enable` or `DetectMessageEnd`. Use `Enable` if you would like us to return `AnsweredBy` as soon as the called party is identified. Use `DetectMessageEnd`, if you would like to leave a message on an answering machine. If `send_digits` is provided, this parameter is ignored. For more information, see [Answering Machine Detection](https://www.twilio.com/docs/voice/answering-machine-detection)." }, - "StatusCallback": { - "description": "The URL we should call using the `status_callback_method` to send status information to your application. If no `status_callback_event` is specified, we will send the `completed` status. If an `application_sid` parameter is present, this parameter is ignored. URLs must contain a valid hostname (underscores are not permitted).", - "format": "uri", - "type": "string" + "MachineDetectionTimeout": { + "type": "integer", + "description": "The number of seconds that we should attempt to detect an answering machine before timing out and sending a voice request with `AnsweredBy` of `unknown`. The default timeout is 30 seconds." }, - "StatusCallbackEvent": { - "description": "The call progress events that we will send to the `status_callback` URL. Can be: `initiated`, `ringing`, `answered`, and `completed`. If no event is specified, we send the `completed` status. If you want to receive multiple events, specify each one in a separate `status_callback_event` parameter. See the code sample for [monitoring call progress](https://www.twilio.com/docs/voice/api/call-resource?code-sample=code-create-a-call-resource-and-specify-a-statuscallbackevent&code-sdk-version=json). If an `application_sid` is present, this parameter is ignored.", + "RecordingStatusCallbackEvent": { + "type": "array", "items": { "type": "string" }, - "type": "array" + "description": "The recording status events that will trigger calls to the URL specified in `recording_status_callback`. Can be: `in-progress`, `completed` and `absent`. Defaults to `completed`. Separate multiple values with a space." }, - "StatusCallbackMethod": { - "description": "The HTTP method we should use when calling the `status_callback` URL. Can be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter is present, this parameter is ignored.", + "Trim": { + "type": "string", + "description": "Whether to trim any leading and trailing silence from the recording. Can be: `trim-silence` or `do-not-trim` and the default is `trim-silence`." + }, + "CallerId": { + "type": "string", + "description": "The phone number, SIP address, or Client identifier that made this call. Phone numbers are in [E.164 format](https://wwnw.twilio.com/docs/glossary/what-e164) (e.g., +16175551212). SIP addresses are formatted as `name@company.com`." + }, + "MachineDetectionSpeechThreshold": { + "type": "integer", + "description": "The number of milliseconds that is used as the measuring stick for the length of the speech activity, where durations lower than this value will be interpreted as a human and longer than this value as a machine. Possible Values: 1000-6000. Default: 2400." + }, + "MachineDetectionSpeechEndThreshold": { + "type": "integer", + "description": "The number of milliseconds of silence after speech activity at which point the speech activity is considered complete. Possible Values: 500-5000. Default: 1200." + }, + "MachineDetectionSilenceTimeout": { + "type": "integer", + "description": "The number of milliseconds of initial silence after which an `unknown` AnsweredBy result will be returned. Possible Values: 2000-10000. Default: 5000." + }, + "AsyncAmd": { + "type": "string", + "description": "Select whether to perform answering machine detection in the background. Default, blocks the execution of the call until Answering Machine Detection is completed. Can be: `true` or `false`." + }, + "AsyncAmdStatusCallback": { + "type": "string", + "format": "uri", + "description": "The URL that we should call using the `async_amd_status_callback_method` to notify customer application whether the call was answered by human, machine or fax." + }, + "AsyncAmdStatusCallbackMethod": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -13037,65 +12879,56 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method we should use when calling the `async_amd_status_callback` URL. Can be: `GET` or `POST` and the default is `POST`." }, - "TimeLimit": { - "description": "The maximum duration of the call in seconds. Constraints depend on account and configuration.", - "type": "integer" + "Byoc": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BY[0-9a-fA-F]{32}$", + "description": "The SID of a BYOC (Bring Your Own Carrier) trunk to route this call with. Note that `byoc` is only meaningful when `to` is a phone number; it will otherwise be ignored. (Beta)" }, - "Timeout": { - "description": "The integer number of seconds that we should allow the phone to ring before assuming there is no answer. The default is `60` seconds and the maximum is `600` seconds. For some call flows, we will add a 5-second buffer to the timeout value you provide. For this reason, a timeout value of 10 seconds could result in an actual timeout closer to 15 seconds. You can set this to a short time, such as `15` seconds, to hang up before reaching an answering machine or voicemail.", - "type": "integer" + "CallReason": { + "type": "string", + "description": "The Reason for the outgoing call. Use it to specify the purpose of the call that is presented on the called party's phone. (Branded Calls Beta)" }, - "To": { - "description": "The phone number, SIP address, or client identifier to call.", - "type": "string" + "CallToken": { + "type": "string", + "description": "A token string needed to invoke a forwarded call. A call_token is generated when an incoming call is received on a Twilio number. Pass an incoming call's call_token value to a forwarded call via the call_token parameter when creating a new call. A forwarded call should bear the same CallerID of the original incoming call." }, - "Trim": { - "description": "Whether to trim any leading and trailing silence from the recording. Can be: `trim-silence` or `do-not-trim` and the default is `trim-silence`.", - "type": "string" + "RecordingTrack": { + "type": "string", + "description": "The audio track to record for the call. Can be: `inbound`, `outbound` or `both`. The default is `both`. `inbound` records the audio that is received by Twilio. `outbound` records the audio that is generated from Twilio. `both` records the audio that is received and generated by Twilio." }, - "Twiml": { - "description": "TwiML instructions for the call Twilio will use without fetching Twiml from url parameter. If both `twiml` and `url` are provided then `twiml` parameter will be ignored. Max 4000 characters.", - "type": "string" + "TimeLimit": { + "type": "integer", + "description": "The maximum duration of the call in seconds. Constraints depend on account and configuration." }, "Url": { - "description": "The absolute URL that returns the TwiML instructions for the call. We will call this URL using the `method` when the call connects. For more information, see the [Url Parameter](https://www.twilio.com/docs/voice/make-calls#specify-a-url-parameter) section in [Making Calls](https://www.twilio.com/docs/voice/make-calls).", + "type": "string", "format": "uri", - "type": "string" + "description": "The absolute URL that returns the TwiML instructions for the call. We will call this URL using the `method` when the call connects. For more information, see the [Url Parameter](https://www.twilio.com/docs/voice/make-calls#specify-a-url-parameter) section in [Making Calls](https://www.twilio.com/docs/voice/make-calls)." + }, + "Twiml": { + "type": "string", + "description": "TwiML instructions for the call Twilio will use without fetching Twiml from url parameter. If both `twiml` and `url` are provided then `twiml` parameter will be ignored. Max 4000 characters." + }, + "ApplicationSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AP[0-9a-fA-F]{32}$", + "description": "The SID of the Application resource that will handle the call, if the call will be handled by an application." } }, "required": [ "To", "From" - ], - "title": "CreateCallRequest", - "type": "object" + ] } } } }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.call" - } - } - }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ], "x-twilio": { "conditional": [ [ @@ -13106,100 +12939,180 @@ ] } }, - "servers": [ - { - "url": "https://api.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "from", - "to", - "status", - "start_time" - ], - "parent": "/Accounts.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Calls/FeedbackSummary.json": { - "description": "Call FeedbackSummary resources provide an idea of how your end user's perceive the quality of their calls and the most common issues they have encountered in the context of all your voice traffic during a specific time frame.", - "post": { - "description": "Create a FeedbackSummary resource for a call", - "operationId": "CreateCallFeedbackSummary", + "get": { + "description": "Retrieves a collection of calls made to and from your account", "parameters": [ { - "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Call resource(s) to read.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "To", + "in": "query", + "description": "Only show calls made to this phone number, SIP address, Client identifier or SIM SID.", + "schema": { + "type": "string", + "format": "phone-number" + } + }, + { + "name": "From", + "in": "query", + "description": "Only include calls from this phone number, SIP address, Client identifier or SIM SID.", + "schema": { + "type": "string", + "format": "phone-number" + } + }, + { + "name": "ParentCallSid", + "in": "query", + "description": "Only include calls spawned by calls with this SID.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$" } - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "EndDate": { - "description": "Only include feedback given on or before this date. Format is `YYYY-MM-DD` and specified in UTC.", - "format": "date", - "type": "string" - }, - "IncludeSubaccounts": { - "description": "Whether to also include Feedback resources from all subaccounts. `true` includes feedback from all subaccounts and `false`, the default, includes feedback from only the specified account.", - "type": "boolean" - }, - "StartDate": { - "description": "Only include feedback given on or after this date. Format is `YYYY-MM-DD` and specified in UTC.", - "format": "date", - "type": "string" - }, - "StatusCallback": { - "description": "The URL that we will request when the feedback summary is complete.", - "format": "uri", - "type": "string" - }, - "StatusCallbackMethod": { - "description": "The HTTP method (`GET` or `POST`) we use to make the request to the `StatusCallback` URL.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - } - }, - "required": [ - "StartDate", - "EndDate" - ], - "title": "CreateCallFeedbackSummaryRequest", - "type": "object" - } + }, + { + "name": "Status", + "in": "query", + "description": "The status of the calls to include. Can be: `queued`, `ringing`, `in-progress`, `canceled`, `completed`, `failed`, `busy`, or `no-answer`.", + "schema": { + "type": "string", + "enum": [ + "queued", + "ringing", + "in-progress", + "completed", + "busy", + "failed", + "no-answer", + "canceled" + ] + } + }, + { + "name": "StartTime", + "in": "query", + "description": "Only include calls that started on this date. Specify a date as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read only calls that started on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, to read calls that started on or before midnight of this date, and `StartTime>=YYYY-MM-DD` to read calls that started on or after midnight of this date.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "StartTime<", + "in": "query", + "description": "Only include calls that started on this date. Specify a date as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read only calls that started on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, to read calls that started on or before midnight of this date, and `StartTime>=YYYY-MM-DD` to read calls that started on or after midnight of this date.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "StartTime>", + "in": "query", + "description": "Only include calls that started on this date. Specify a date as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read only calls that started on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, to read calls that started on or before midnight of this date, and `StartTime>=YYYY-MM-DD` to read calls that started on or after midnight of this date.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "EndTime", + "in": "query", + "description": "Only include calls that ended on this date. Specify a date as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read only calls that ended on this date. You can also specify an inequality, such as `EndTime<=YYYY-MM-DD`, to read calls that ended on or before midnight of this date, and `EndTime>=YYYY-MM-DD` to read calls that ended on or after midnight of this date.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "EndTime<", + "in": "query", + "description": "Only include calls that ended on this date. Specify a date as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read only calls that ended on this date. You can also specify an inequality, such as `EndTime<=YYYY-MM-DD`, to read calls that ended on or before midnight of this date, and `EndTime>=YYYY-MM-DD` to read calls that ended on or after midnight of this date.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "EndTime>", + "in": "query", + "description": "Only include calls that ended on this date. Specify a date as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read only calls that ended on this date. You can also specify an inequality, such as `EndTime<=YYYY-MM-DD`, to read calls that ended on or before midnight of this date, and `EndTime>=YYYY-MM-DD` to read calls that ended on or after midnight of this date.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "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 } } - }, + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.call.call_feedback_summary" + "type": "object", + "title": "ListCallResponse", + "properties": { + "calls": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.call" + } + }, + "end": { + "type": "integer" + }, + "first_page_uri": { + "type": "string", + "format": "uri" + }, + "next_page_uri": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_uri": { + "type": "string", + "format": "uri" + }, + "start": { + "type": "integer" + }, + "uri": { + "type": "string", + "format": "uri" + } + } } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -13207,54 +13120,56 @@ "accountSid_authToken": [] } ], + "operationId": "ListCall", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/Calls/{Sid}.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "A Call is an object that represents a connection between a telephone and Twilio.", "x-twilio": { "defaultOutputProperties": [ "sid", - "call_feedback_count", - "quality_score_average", - "start_date" + "from", + "to", + "status", + "start_time" ], - "parent": "/Accounts/{AccountSid}/Calls.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Calls/FeedbackSummary/{Sid}.json": { + "pathType": "instance", + "parent": "/Accounts.json" + }, "delete": { - "description": "Delete a FeedbackSummary resource from a call", - "operationId": "DeleteCallFeedbackSummary", + "description": "Delete a Call record from your account. Once the record is deleted, it will no longer appear in the API and Account Portal logs.", "parameters": [ { - "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Call resource(s) to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "A 34 character string that uniquely identifies this resource.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided Call SID that uniquely identifies the Call resource to delete", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -13267,38 +13182,37 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteCall", "x-maturity": [ "GA" ] }, - "description": "Call FeedbackSummary resources provide an idea of how your end user's perceive the quality of their calls and the most common issues they have encountered in the context of all your voice traffic during a specific time frame.", "get": { - "description": "Fetch a FeedbackSummary resource from a call", - "operationId": "FetchCallFeedbackSummary", + "description": "Fetch the call specified by the provided Call SID", "parameters": [ { - "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Call resource(s) to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "A 34 character string that uniquely identifies this resource.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Call resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -13306,7 +13220,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.call.call_feedback_summary" + "$ref": "#/components/schemas/api.v2010.account.call" } } }, @@ -13318,64 +13232,194 @@ "accountSid_authToken": [] } ], + "operationId": "FetchCall", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://api.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "call_feedback_count", - "quality_score_average", - "start_date" + "post": { + "description": "Initiates a call redirect or terminates a call", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Call resource(s) to update.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Call resource to update", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$" + }, + "required": true + } ], - "parent": "/Accounts/{AccountSid}/Calls.json", - "pathType": "instance" + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.call" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "UpdateCall", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateCallRequest", + "properties": { + "Url": { + "type": "string", + "format": "uri", + "description": "The absolute URL that returns the TwiML instructions for the call. We will call this URL using the `method` when the call connects. For more information, see the [Url Parameter](https://www.twilio.com/docs/voice/make-calls#specify-a-url-parameter) section in [Making Calls](https://www.twilio.com/docs/voice/make-calls)." + }, + "Method": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method we should use when calling the `url`. Can be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter is present, this parameter is ignored." + }, + "Status": { + "type": "string", + "enum": [ + "canceled", + "completed" + ], + "description": "The new status of the resource. Can be: `canceled` or `completed`. Specifying `canceled` will attempt to hang up calls that are queued or ringing; however, it will not affect calls already in progress. Specifying `completed` will attempt to hang up a call even if it's already in progress." + }, + "FallbackUrl": { + "type": "string", + "format": "uri", + "description": "The URL that we call using the `fallback_method` if an error occurs when requesting or executing the TwiML at `url`. If an `application_sid` parameter is present, this parameter is ignored." + }, + "FallbackMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method that we should use to request the `fallback_url`. Can be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter is present, this parameter is ignored." + }, + "StatusCallback": { + "type": "string", + "format": "uri", + "description": "The URL we should call using the `status_callback_method` to send status information to your application. If no `status_callback_event` is specified, we will send the `completed` status. If an `application_sid` parameter is present, this parameter is ignored. URLs must contain a valid hostname (underscores are not permitted)." + }, + "StatusCallbackMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method we should use when requesting the `status_callback` URL. Can be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter is present, this parameter is ignored." + }, + "Twiml": { + "type": "string", + "description": "TwiML instructions for the call Twilio will use without fetching Twiml from url. Twiml and url parameters are mutually exclusive" + }, + "TimeLimit": { + "type": "integer", + "description": "The maximum duration of the call in seconds. Constraints depend on account and configuration." + } + } + } + } + } + } } }, "/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Events.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "request", + "response" + ], + "pathType": "list", + "parent": "/Accounts/{AccountSid}/Calls.json" + }, "get": { "description": "Retrieve a list of all events for a call.", - "operationId": "ListCallEvent", "parameters": [ { - "description": "The unique SID identifier of the Account.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The unique SID identifier of the Account.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique SID identifier of the Call.", - "in": "path", "name": "CallSid", - "required": true, + "in": "path", + "description": "The unique SID identifier of the Call.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -13384,23 +13428,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListCallEventResponse", "properties": { - "end": { - "type": "integer" - }, "events": { + "type": "array", "items": { "$ref": "#/components/schemas/api.v2010.account.call.call_event" - }, - "type": "array" + } + }, + "end": { + "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -13409,19 +13455,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" } - }, - "title": "ListCallEventResponse", - "type": "object" + } } } }, @@ -13433,53 +13477,54 @@ "accountSid_authToken": [] } ], + "operationId": "ListCallEvent", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Feedback.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "The call Feedback subresource describes the quality experienced during a phone call.", "x-twilio": { "defaultOutputProperties": [ - "request", - "response" + "sid", + "quality_score", + "date_created" ], - "parent": "/Accounts/{AccountSid}/Calls.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Feedback.json": { - "description": "The call Feedback subresource describes the quality experienced during a phone call.", + "pathType": "instance", + "parent": "/Accounts/{AccountSid}/Calls.json" + }, "get": { "description": "Fetch a Feedback resource from a call", - "operationId": "FetchCallFeedback", "parameters": [ { - "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The call sid that uniquely identifies the call", - "in": "path", "name": "CallSid", - "required": true, + "in": "path", + "description": "The call sid that uniquely identifies the call", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -13499,44 +13544,72 @@ "accountSid_authToken": [] } ], + "operationId": "FetchCallFeedback", "x-maturity": [ "GA" ] }, "post": { "description": "Update a Feedback resource for a call", - "operationId": "UpdateCallFeedback", "parameters": [ { - "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The call sid that uniquely identifies the call", - "in": "path", "name": "CallSid", - "required": true, + "in": "path", + "description": "The call sid that uniquely identifies the call", "schema": { "type": "string" - } + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.call.call_feedback" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] } ], + "operationId": "UpdateCallFeedback", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateCallFeedbackRequest", "properties": { + "QualityScore": { + "type": "integer", + "description": "The call quality expressed as an integer from `1` to `5` where `1` represents very poor call quality and `5` represents a perfect call." + }, "Issue": { - "description": "One or more issues experienced during the call. The issues can be: `imperfect-audio`, `dropped-call`, `incorrect-caller-id`, `post-dial-delay`, `digits-not-captured`, `audio-latency`, `unsolicited-call`, or `one-way-audio`.", + "type": "array", "items": { + "type": "string", "enum": [ "audio-latency", "digits-not-captured", @@ -13546,181 +13619,60 @@ "one-way-audio", "post-dial-delay", "unsolicited-call" - ], - "type": "string" + ] }, - "type": "array" - }, - "QualityScore": { - "description": "The call quality expressed as an integer from `1` to `5` where `1` represents very poor call quality and `5` represents a perfect call.", - "type": "integer" + "description": "One or more issues experienced during the call. The issues can be: `imperfect-audio`, `dropped-call`, `incorrect-caller-id`, `post-dial-delay`, `digits-not-captured`, `audio-latency`, `unsolicited-call`, or `one-way-audio`." } - }, - "title": "UpdateCallFeedbackRequest", - "type": "object" + } } } } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.call.call_feedback" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, + } + } + }, + "/2010-04-01/Accounts/{AccountSid}/Calls/FeedbackSummary.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Call FeedbackSummary resources provide an idea of how your end user's perceive the quality of their calls and the most common issues they have encountered in the context of all your voice traffic during a specific time frame.", "x-twilio": { "defaultOutputProperties": [ "sid", - "quality_score", - "date_created" + "call_feedback_count", + "quality_score_average", + "start_date" ], - "parent": "/Accounts/{AccountSid}/Calls.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Notifications.json": { - "description": "Error notifications for calls", - "get": { - "description": "", - "operationId": "ListCallNotification", + "pathType": "list", + "parent": "/Accounts/{AccountSid}/Calls.json" + }, + "post": { + "description": "Create a FeedbackSummary resource for a call", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Call Notification resources to read.", - "in": "path", "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The [Call](https://www.twilio.com/docs/voice/api/call-resource) SID of the Call Notification resources to read.", "in": "path", - "name": "CallSid", - "required": true, + "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "Only read notifications of the specified log level. Can be: `0` to read only ERROR notifications or `1` to read only WARNING notifications. By default, all notifications are read.", - "in": "query", - "name": "Log", - "schema": { - "type": "integer" - } - }, - { - "description": "Only show notifications for the specified date, formatted as `YYYY-MM-DD`. You can also specify an inequality, such as `<=YYYY-MM-DD` for messages logged at or before midnight on a date, or `>=YYYY-MM-DD` for messages logged at or after midnight on a date.", - "in": "query", - "name": "MessageDate", - "schema": { - "format": "date", - "type": "string" - } - }, - { - "description": "Only show notifications for the specified date, formatted as `YYYY-MM-DD`. You can also specify an inequality, such as `<=YYYY-MM-DD` for messages logged at or before midnight on a date, or `>=YYYY-MM-DD` for messages logged at or after midnight on a date.", - "in": "query", - "name": "MessageDate<", - "schema": { - "format": "date", - "type": "string" - } - }, - { - "description": "Only show notifications for the specified date, formatted as `YYYY-MM-DD`. You can also specify an inequality, such as `<=YYYY-MM-DD` for messages logged at or before midnight on a date, or `>=YYYY-MM-DD` for messages logged at or after midnight on a date.", - "in": "query", - "name": "MessageDate>", - "schema": { - "format": "date", - "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" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "properties": { - "end": { - "type": "integer" - }, - "first_page_uri": { - "format": "uri", - "type": "string" - }, - "next_page_uri": { - "format": "uri", - "type": "string" - }, - "notifications": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.call.call_notification" - }, - "type": "array" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_uri": { - "format": "uri", - "type": "string" - }, - "start": { - "type": "integer" - }, - "uri": { - "format": "uri", - "type": "string" - } - }, - "title": "ListCallNotificationResponse", - "type": "object" + "$ref": "#/components/schemas/api.v2010.account.call.call_feedback_summary" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -13728,67 +13680,103 @@ "accountSid_authToken": [] } ], + "operationId": "CreateCallFeedbackSummary", "x-maturity": [ "GA" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateCallFeedbackSummaryRequest", + "properties": { + "StartDate": { + "type": "string", + "format": "date", + "description": "Only include feedback given on or after this date. Format is `YYYY-MM-DD` and specified in UTC." + }, + "EndDate": { + "type": "string", + "format": "date", + "description": "Only include feedback given on or before this date. Format is `YYYY-MM-DD` and specified in UTC." + }, + "IncludeSubaccounts": { + "type": "boolean", + "description": "Whether to also include Feedback resources from all subaccounts. `true` includes feedback from all subaccounts and `false`, the default, includes feedback from only the specified account." + }, + "StatusCallback": { + "type": "string", + "format": "uri", + "description": "The URL that we will request when the feedback summary is complete." + }, + "StatusCallbackMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method (`GET` or `POST`) we use to make the request to the `StatusCallback` URL." + } + }, + "required": [ + "StartDate", + "EndDate" + ] + } + } + } + } + } + }, + "/2010-04-01/Accounts/{AccountSid}/Calls/FeedbackSummary/{Sid}.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Call FeedbackSummary resources provide an idea of how your end user's perceive the quality of their calls and the most common issues they have encountered in the context of all your voice traffic during a specific time frame.", "x-twilio": { "defaultOutputProperties": [ "sid", - "call_sid", - "error_code", - "message_date" + "call_feedback_count", + "quality_score_average", + "start_date" ], - "parent": "/Accounts/{AccountSid}/Calls.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Notifications/{Sid}.json": { - "description": "Error notifications for calls", + "pathType": "instance", + "parent": "/Accounts/{AccountSid}/Calls.json" + }, "get": { - "description": "", - "operationId": "FetchCallNotification", + "description": "Fetch a FeedbackSummary resource from a call", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Call Notification resource to fetch.", - "in": "path", "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The [Call](https://www.twilio.com/docs/voice/api/call-resource) SID of the Call Notification resource to fetch.", "in": "path", - "name": "CallSid", - "required": true, + "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Call Notification resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "A 34 character string that uniquely identifies this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^NO[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FS[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -13796,7 +13784,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.call.call_notification-instance" + "$ref": "#/components/schemas/api.v2010.account.call.call_feedback_summary" } } }, @@ -13808,160 +13796,42 @@ "accountSid_authToken": [] } ], + "operationId": "FetchCallFeedbackSummary", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://api.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "call_sid", - "error_code", - "message_date" - ], - "parent": "/Accounts/{AccountSid}/Calls.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Payments.json": { - "description": "Twilio enabled secure payments solution for accepting credit and ACH payments over the phone.", - "post": { - "description": "create an instance of payments. This will start a new payments session", - "operationId": "CreatePayments", + "delete": { + "description": "Delete a FeedbackSummary resource from a call", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the call that will create the resource. Call leg associated with this sid is expected to provide payment information thru DTMF.", + "name": "Sid", "in": "path", - "name": "CallSid", - "required": true, + "description": "A 34 character string that uniquely identifies this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FS[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "BankAccountType": { - "description": "Type of bank account if payment source is ACH. One of `consumer-checking`, `consumer-savings`, or `commercial-checking`. The default value is `consumer-checking`.", - "enum": [ - "consumer-checking", - "consumer-savings", - "commercial-checking" - ], - "type": "string" - }, - "ChargeAmount": { - "description": "A positive decimal value less than 1,000,000 to charge against the credit card or bank account. Default currency can be overwritten with `currency` field. Leave blank or set to 0 to tokenize.", - "type": "number" - }, - "Currency": { - "description": "The currency of the `charge_amount`, formatted as [ISO 4127](http://www.iso.org/iso/home/standards/currency_codes.htm) format. The default value is `USD` and all values allowed from the Pay Connector are accepted.", - "type": "string" - }, - "Description": { - "description": "The description can be used to provide more details regarding the transaction. This information is submitted along with the payment details to the Payment Connector which are then posted on the transactions.", - "type": "string" - }, - "IdempotencyKey": { - "description": "A unique token that will be used to ensure that multiple API calls with the same information do not result in multiple transactions. This should be a unique string value per API call and can be a randomly generated.", - "type": "string" - }, - "Input": { - "description": "A list of inputs that should be accepted. Currently only `dtmf` is supported. All digits captured during a pay session are redacted from the logs.", - "type": "string" - }, - "MinPostalCodeLength": { - "description": "A positive integer that is used to validate the length of the `PostalCode` inputted by the user. User must enter this many digits.", - "type": "integer" - }, - "Parameter": { - "description": "A single-level JSON object used to pass custom parameters to payment processors. (Required for ACH payments). The information that has to be included here depends on the Connector. [Read more](https://www.twilio.com/console/voice/pay-connectors)." - }, - "PaymentConnector": { - "description": "This is the unique name corresponding to the Pay Connector installed in the Twilio Add-ons. Learn more about [ Connectors](https://www.twilio.com/console/voice/pay-connectors). The default value is `Default`.", - "type": "string" - }, - "PaymentMethod": { - "description": "Type of payment being captured. One of `credit-card` or `ach-debit`. The default value is `credit-card`.", - "enum": [ - "credit-card", - "ach-debit" - ], - "type": "string" - }, - "PostalCode": { - "description": "Indicates whether the credit card postal code (zip code) is a required piece of payment information that must be provided by the caller. The default is `true`.", - "type": "boolean" - }, - "SecurityCode": { - "description": "Indicates whether the credit card security code is a required piece of payment information that must be provided by the caller. The default is `true`.", - "type": "boolean" - }, - "StatusCallback": { - "description": "Provide an absolute or relative URL to receive status updates regarding your Pay session. Read more about the [expected StatusCallback values](https://www.twilio.com/docs/voice/api/payment-resource#statuscallback)", - "format": "uri", - "type": "string" - }, - "Timeout": { - "description": "The number of seconds that should wait for the caller to press a digit between each subsequent digit, after the first one, before moving on to validate the digits captured. The default is `5`, maximum is `600`.", - "type": "integer" - }, - "TokenType": { - "description": "Indicates whether the payment method should be tokenized as a `one-time` or `reusable` token. The default value is `reusable`. Do not enter a charge amount when tokenizing. If a charge amount is entered, the payment method will be charged and not tokenized.", - "enum": [ - "one-time", - "reusable" - ], - "type": "string" - }, - "ValidCardTypes": { - "description": "Credit card types separated by space that Pay should accept. The default value is `visa mastercard amex`", - "type": "string" - } - }, - "required": [ - "IdempotencyKey", - "StatusCallback" - ], - "title": "CreatePaymentsRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.call.payments" - } - } - }, - "description": "Created" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -13969,121 +13839,79 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteCallFeedbackSummary", "x-maturity": [ - "Preview" + "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Notifications/{Sid}.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Error notifications for calls", "x-twilio": { "defaultOutputProperties": [ - "sid" + "sid", + "call_sid", + "error_code", + "message_date" ], - "parent": "/Accounts/{AccountSid}/Calls.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Payments/{Sid}.json": { - "description": "Twilio enabled secure payments solution for accepting credit and ACH payments over the phone.", - "post": { - "description": "update an instance of payments with different phases of payment flows.", - "operationId": "UpdatePayments", + "pathType": "instance", + "parent": "/Accounts/{AccountSid}/Calls.json" + }, + "get": { + "description": "", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will update the resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Call Notification resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the call that will update the resource. This should be the same call sid that was used to create payments resource.", - "in": "path", "name": "CallSid", - "required": true, + "in": "path", + "description": "The [Call](https://www.twilio.com/docs/voice/api/call-resource) SID of the Call Notification resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of Payments session that needs to be updated.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Call Notification resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^PK[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^NO[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Capture": { - "description": "The piece of payment information that you wish the caller to enter. Must be one of `payment-card-number`, `expiration-date`, `security-code`, `postal-code`, `bank-routing-number`, or `bank-account-number`.", - "enum": [ - "payment-card-number", - "expiration-date", - "security-code", - "postal-code", - "bank-routing-number", - "bank-account-number" - ], - "type": "string" - }, - "IdempotencyKey": { - "description": "A unique token that will be used to ensure that multiple API calls with the same information do not result in multiple transactions. This should be a unique string value per API call and can be a randomly generated.", - "type": "string" - }, - "Status": { - "description": "Indicates whether the current payment session should be cancelled or completed. When `cancel` the payment session is cancelled. When `complete`, Twilio sends the payment information to the selected Pay Connector for processing.", - "enum": [ - "complete", - "cancel" - ], - "type": "string" - }, - "StatusCallback": { - "description": "Provide an absolute or relative URL to receive status updates regarding your Pay session. Read more about the [Update](https://www.twilio.com/docs/voice/api/payment-resource#statuscallback-update) and [Complete/Cancel](https://www.twilio.com/docs/voice/api/payment-resource#statuscallback-cancelcomplete) POST requests.", - "format": "uri", - "type": "string" - } - }, - "required": [ - "IdempotencyKey", - "StatusCallback" - ], - "title": "UpdatePaymentsRequest", - "type": "object" - } - } - } - }, "responses": { - "202": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.call.payments" + "$ref": "#/components/schemas/api.v2010.account.call.call_notification-instance" } } }, - "description": "Accepted" + "description": "OK" } }, "security": [ @@ -14091,88 +13919,99 @@ "accountSid_authToken": [] } ], + "operationId": "FetchCallNotification", "x-maturity": [ - "Preview" + "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Notifications.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Error notifications for calls", "x-twilio": { "defaultOutputProperties": [ - "sid" + "sid", + "call_sid", + "error_code", + "message_date" ], - "parent": "/Accounts/{AccountSid}/Calls.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Recordings.json": { - "description": "A Recording resource represents the recording associated with a voice call, conference, or SIP Trunk.", + "pathType": "list", + "parent": "/Accounts/{AccountSid}/Calls.json" + }, "get": { - "description": "Retrieve a list of recordings belonging to the call used to make the request", - "operationId": "ListCallRecording", + "description": "", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Recording resources to read.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Call Notification resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The [Call](https://www.twilio.com/docs/voice/api/call-resource) SID of the resources to read.", - "in": "path", "name": "CallSid", - "required": true, + "in": "path", + "description": "The [Call](https://www.twilio.com/docs/voice/api/call-resource) SID of the Call Notification resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The `date_created` value, specified as `YYYY-MM-DD`, of the resources to read. You can also specify inequality: `DateCreated<=YYYY-MM-DD` will return recordings generated at or before midnight on a given date, and `DateCreated>=YYYY-MM-DD` returns recordings generated at or after midnight on a date.", + "name": "Log", "in": "query", - "name": "DateCreated", + "description": "Only read notifications of the specified log level. Can be: `0` to read only ERROR notifications or `1` to read only WARNING notifications. By default, all notifications are read.", "schema": { - "format": "date", - "type": "string" + "type": "integer" } }, { - "description": "The `date_created` value, specified as `YYYY-MM-DD`, of the resources to read. You can also specify inequality: `DateCreated<=YYYY-MM-DD` will return recordings generated at or before midnight on a given date, and `DateCreated>=YYYY-MM-DD` returns recordings generated at or after midnight on a date.", + "name": "MessageDate", "in": "query", - "name": "DateCreated<", + "description": "Only show notifications for the specified date, formatted as `YYYY-MM-DD`. You can also specify an inequality, such as `<=YYYY-MM-DD` for messages logged at or before midnight on a date, or `>=YYYY-MM-DD` for messages logged at or after midnight on a date.", "schema": { - "format": "date", - "type": "string" + "type": "string", + "format": "date" } }, { - "description": "The `date_created` value, specified as `YYYY-MM-DD`, of the resources to read. You can also specify inequality: `DateCreated<=YYYY-MM-DD` will return recordings generated at or before midnight on a given date, and `DateCreated>=YYYY-MM-DD` returns recordings generated at or after midnight on a date.", + "name": "MessageDate<", "in": "query", - "name": "DateCreated>", + "description": "Only show notifications for the specified date, formatted as `YYYY-MM-DD`. You can also specify an inequality, such as `<=YYYY-MM-DD` for messages logged at or before midnight on a date, or `>=YYYY-MM-DD` for messages logged at or after midnight on a date.", "schema": { - "format": "date", - "type": "string" + "type": "string", + "format": "date" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", + "name": "MessageDate>", "in": "query", + "description": "Only show notifications for the specified date, formatted as `YYYY-MM-DD`. You can also specify an inequality, such as `<=YYYY-MM-DD` for messages logged at or before midnight on a date, or `>=YYYY-MM-DD` for messages logged at or after midnight on a date.", + "schema": { + "type": "string", + "format": "date" + } + }, + { "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -14181,17 +14020,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListCallNotificationResponse", "properties": { + "notifications": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.call.call_notification" + } + }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -14200,25 +14047,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" - }, - "recordings": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.call.call_recording" - }, - "type": "array" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" } - }, - "title": "ListCallRecordingResponse", - "type": "object" + } } } }, @@ -14230,62 +14069,101 @@ "accountSid_authToken": [] } ], + "operationId": "ListCallNotification", "x-maturity": [ "GA" ] - }, - "post": { - "description": "Create a recording for the call", - "operationId": "CreateCallRecording", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, + } + }, + "/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Recordings.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], + "description": "A Recording resource represents the recording associated with a voice call, conference, or SIP Trunk.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "call_sid", + "status", + "start_time", + "duration" + ], + "pathType": "list", + "parent": "/Accounts/{AccountSid}/Calls.json" + }, + "post": { + "description": "Create a recording for the call", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the [Call](https://www.twilio.com/docs/voice/api/call-resource) to associate the resource with.", - "in": "path", "name": "CallSid", - "required": true, + "in": "path", + "description": "The SID of the [Call](https://www.twilio.com/docs/voice/api/call-resource) to associate the resource with.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.call.call_recording" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] } ], + "operationId": "CreateCallRecording", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateCallRecordingRequest", "properties": { - "RecordingChannels": { - "description": "The number of channels used in the recording. Can be: `mono` or `dual` and the default is `mono`. `mono` records all parties of the call into one channel. `dual` records each party of a 2-party call into separate channels.", - "type": "string" - }, - "RecordingStatusCallback": { - "description": "The URL we should call using the `recording_status_callback_method` on each recording event specified in `recording_status_callback_event`. For more information, see [RecordingStatusCallback parameters](https://www.twilio.com/docs/voice/api/recording#recordingstatuscallback).", - "format": "uri", - "type": "string" - }, "RecordingStatusCallbackEvent": { - "description": "The recording status events on which we should call the `recording_status_callback` URL. Can be: `in-progress`, `completed` and `absent` and the default is `completed`. Separate multiple event values with a space.", + "type": "array", "items": { "type": "string" }, - "type": "array" + "description": "The recording status events on which we should call the `recording_status_callback` URL. Can be: `in-progress`, `completed` and `absent` and the default is `completed`. Separate multiple event values with a space." + }, + "RecordingStatusCallback": { + "type": "string", + "format": "uri", + "description": "The URL we should call using the `recording_status_callback_method` on each recording event specified in `recording_status_callback_event`. For more information, see [RecordingStatusCallback parameters](https://www.twilio.com/docs/voice/api/recording#recordingstatuscallback)." }, "RecordingStatusCallbackMethod": { - "description": "The HTTP method we should use to call `recording_status_callback`. Can be: `GET` or `POST` and the default is `POST`.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -14294,34 +14172,138 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" - }, - "RecordingTrack": { - "description": "The audio track to record for the call. Can be: `inbound`, `outbound` or `both`. The default is `both`. `inbound` records the audio that is received by Twilio. `outbound` records the audio that is generated from Twilio. `both` records the audio that is received and generated by Twilio.", - "type": "string" + "description": "The HTTP method we should use to call `recording_status_callback`. Can be: `GET` or `POST` and the default is `POST`." }, "Trim": { - "description": "Whether to trim any leading and trailing silence in the recording. Can be: `trim-silence` or `do-not-trim` and the default is `do-not-trim`. `trim-silence` trims the silence from the beginning and end of the recording and `do-not-trim` does not.", - "type": "string" + "type": "string", + "description": "Whether to trim any leading and trailing silence in the recording. Can be: `trim-silence` or `do-not-trim` and the default is `do-not-trim`. `trim-silence` trims the silence from the beginning and end of the recording and `do-not-trim` does not." + }, + "RecordingChannels": { + "type": "string", + "description": "The number of channels used in the recording. Can be: `mono` or `dual` and the default is `mono`. `mono` records all parties of the call into one channel. `dual` records each party of a 2-party call into separate channels." + }, + "RecordingTrack": { + "type": "string", + "description": "The audio track to record for the call. Can be: `inbound`, `outbound` or `both`. The default is `both`. `inbound` records the audio that is received by Twilio. `outbound` records the audio that is generated from Twilio. `both` records the audio that is received and generated by Twilio." } - }, - "title": "CreateCallRecordingRequest", - "type": "object" + } } } } - }, + } + }, + "get": { + "description": "Retrieve a list of recordings belonging to the call used to make the request", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Recording resources to read.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "CallSid", + "in": "path", + "description": "The [Call](https://www.twilio.com/docs/voice/api/call-resource) SID of the resources to read.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "DateCreated", + "in": "query", + "description": "The `date_created` value, specified as `YYYY-MM-DD`, of the resources to read. You can also specify inequality: `DateCreated<=YYYY-MM-DD` will return recordings generated at or before midnight on a given date, and `DateCreated>=YYYY-MM-DD` returns recordings generated at or after midnight on a date.", + "schema": { + "type": "string", + "format": "date" + } + }, + { + "name": "DateCreated<", + "in": "query", + "description": "The `date_created` value, specified as `YYYY-MM-DD`, of the resources to read. You can also specify inequality: `DateCreated<=YYYY-MM-DD` will return recordings generated at or before midnight on a given date, and `DateCreated>=YYYY-MM-DD` returns recordings generated at or after midnight on a date.", + "schema": { + "type": "string", + "format": "date" + } + }, + { + "name": "DateCreated>", + "in": "query", + "description": "The `date_created` value, specified as `YYYY-MM-DD`, of the resources to read. You can also specify inequality: `DateCreated<=YYYY-MM-DD` will return recordings generated at or before midnight on a given date, and `DateCreated>=YYYY-MM-DD` returns recordings generated at or after midnight on a date.", + "schema": { + "type": "string", + "format": "date" + } + }, + { + "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 + } + } + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.call.call_recording" + "type": "object", + "title": "ListCallRecordingResponse", + "properties": { + "recordings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.call.call_recording" + } + }, + "end": { + "type": "integer" + }, + "first_page_uri": { + "type": "string", + "format": "uri" + }, + "next_page_uri": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_uri": { + "type": "string", + "format": "uri" + }, + "start": { + "type": "integer" + }, + "uri": { + "type": "string", + "format": "uri" + } + } } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -14329,15 +14311,19 @@ "accountSid_authToken": [] } ], + "operationId": "ListCallRecording", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Recordings/{Sid}.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "A Recording resource represents the recording associated with a voice call, conference, or SIP Trunk.", "x-twilio": { "defaultOutputProperties": [ "sid", @@ -14346,106 +14332,44 @@ "start_time", "duration" ], - "parent": "/Accounts/{AccountSid}/Calls.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Recordings/{Sid}.json": { - "delete": { - "description": "Delete a recording from your account", - "operationId": "DeleteCallRecording", + "pathType": "instance", + "parent": "/Accounts/{AccountSid}/Calls.json" + }, + "post": { + "description": "Changes the status of the recording to paused, stopped, or in-progress. Note: Pass `Twilio.CURRENT` instead of recording sid to reference current active recording.", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Recording resources to delete.", - "in": "path", "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The [Call](https://www.twilio.com/docs/voice/api/call-resource) SID of the resources to delete.", "in": "path", - "name": "CallSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the Recording resource to delete.", - "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Recording resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^RE[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "description": "A Recording resource represents the recording associated with a voice call, conference, or SIP Trunk.", - "get": { - "description": "Fetch an instance of a recording for a call", - "operationId": "FetchCallRecording", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Recording resource to fetch.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The [Call](https://www.twilio.com/docs/voice/api/call-resource) SID of the resource to fetch.", - "in": "path", "name": "CallSid", - "required": true, + "in": "path", + "description": "The [Call](https://www.twilio.com/docs/voice/api/call-resource) SID of the resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Recording resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Recording resource to update.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^RE[0-9a-fA-F]{32}$", "type": "string" - } + }, + "required": true } ], "responses": { @@ -14465,59 +14389,19 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateCallRecording", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "Changes the status of the recording to paused, stopped, or in-progress. Note: Pass `Twilio.CURRENT` instead of recording sid to reference current active recording.", - "operationId": "UpdateCallRecording", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Recording resource to update.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The [Call](https://www.twilio.com/docs/voice/api/call-resource) SID of the resource to update.", - "in": "path", - "name": "CallSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the Recording resource to update.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateCallRecordingRequest", "properties": { - "PauseBehavior": { - "description": "Whether to record during a pause. Can be: `skip` or `silence` and the default is `silence`. `skip` does not record during the pause period, while `silence` will replace the actual audio of the call with silence during the pause period. This parameter only applies when setting `status` is set to `paused`.", - "type": "string" - }, "Status": { - "description": "The new status of the recording. Can be: `stopped`, `paused`, `in-progress`.", + "type": "string", "enum": [ "in-progress", "paused", @@ -14526,18 +14410,61 @@ "completed", "absent" ], - "type": "string" + "description": "The new status of the recording. Can be: `stopped`, `paused`, `in-progress`." + }, + "PauseBehavior": { + "type": "string", + "description": "Whether to record during a pause. Can be: `skip` or `silence` and the default is `silence`. `skip` does not record during the pause period, while `silence` will replace the actual audio of the call with silence during the pause period. This parameter only applies when setting `status` is set to `paused`." } }, "required": [ "Status" - ], - "title": "UpdateCallRecordingRequest", - "type": "object" + ] } } } - }, + } + }, + "get": { + "description": "Fetch an instance of a recording for a call", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Recording resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "CallSid", + "in": "path", + "description": "The [Call](https://www.twilio.com/docs/voice/api/call-resource) SID of the resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Recording resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RE[0-9a-fA-F]{32}$" + }, + "required": true + } + ], "responses": { "200": { "content": { @@ -14555,3496 +14482,543 @@ "accountSid_authToken": [] } ], + "operationId": "FetchCallRecording", "x-maturity": [ "GA" ] }, + "delete": { + "description": "Delete a recording from your account", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Recording resources to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "CallSid", + "in": "path", + "description": "The [Call](https://www.twilio.com/docs/voice/api/call-resource) SID of the resources to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Recording resource to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RE[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteCallRecording", + "x-maturity": [ + "GA" + ] + } + }, + "/2010-04-01/Accounts/{AccountSid}/Conferences/{Sid}.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Voice call conferences", "x-twilio": { "defaultOutputProperties": [ "sid", - "call_sid", - "status", - "start_time", - "duration" + "friendly_name", + "status" ], - "parent": "/Accounts/{AccountSid}/Calls.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Siprec.json": { - "description": "TODO: Resource-level docs", - "post": { - "description": "Create a Siprec", - "operationId": "CreateSiprec", + "pathType": "instance", + "parent": "/Accounts.json" + }, + "get": { + "description": "Fetch an instance of a conference", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created this Siprec resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Conference resource(s) to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the [Call](https://www.twilio.com/docs/voice/api/call-resource) the Siprec resource is associated with.", + "name": "Sid", "in": "path", - "name": "CallSid", - "required": true, + "description": "The Twilio-provided string that uniquely identifies the Conference resource to fetch", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^CF[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.conference" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "FetchConference", + "x-maturity": [ + "GA" + ] + }, + "post": { + "description": "", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Conference resource(s) to update.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^CA[0-9a-fA-F]{32}$", + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Conference resource to update", + "schema": { "type": "string" - } + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.conference" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] } ], + "operationId": "UpdateConference", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateConferenceRequest", "properties": { - "ConnectorName": { - "description": "Unique name used when configuring the connector via Marketplace Add-on.", - "type": "string" - }, - "Name": { - "description": "The user-specified name of this Siprec, if one was given when the Siprec was created. This may be used to stop the Siprec.", - "type": "string" - }, - "Parameter1.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter1.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter10.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter10.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter11.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter11.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter12.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter12.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter13.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter13.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter14.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter14.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter15.Name": { - "description": "Parameter name", - "type": "string" + "Status": { + "type": "string", + "enum": [ + "completed" + ], + "description": "The new status of the resource. Can be: Can be: `init`, `in-progress`, or `completed`. Specifying `completed` will end the conference and hang up all participants" }, - "Parameter15.Value": { - "description": "Parameter value", - "type": "string" + "AnnounceUrl": { + "type": "string", + "format": "uri", + "description": "The URL we should call to announce something into the conference. The URL can return an MP3, a WAV, or a TwiML document with `` or ``." }, - "Parameter16.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter16.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter17.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter17.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter18.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter18.Value": { - "description": "Parameter value", - "type": "string" + "AnnounceMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method used to call `announce_url`. Can be: `GET` or `POST` and the default is `POST`" + } + } + } + } + } + } + } + }, + "/2010-04-01/Accounts/{AccountSid}/Conferences.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], + "description": "Voice call conferences", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "status" + ], + "pathType": "list", + "parent": "/Accounts.json" + }, + "get": { + "description": "Retrieve a list of conferences belonging to the account used to make the request", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Conference resource(s) to read.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "DateCreated", + "in": "query", + "description": "The `date_created` value, specified as `YYYY-MM-DD`, of the resources to read. To read conferences that started on or before midnight on a date, use `<=YYYY-MM-DD`, and to specify conferences that started on or after midnight on a date, use `>=YYYY-MM-DD`.", + "schema": { + "type": "string", + "format": "date" + } + }, + { + "name": "DateCreated<", + "in": "query", + "description": "The `date_created` value, specified as `YYYY-MM-DD`, of the resources to read. To read conferences that started on or before midnight on a date, use `<=YYYY-MM-DD`, and to specify conferences that started on or after midnight on a date, use `>=YYYY-MM-DD`.", + "schema": { + "type": "string", + "format": "date" + } + }, + { + "name": "DateCreated>", + "in": "query", + "description": "The `date_created` value, specified as `YYYY-MM-DD`, of the resources to read. To read conferences that started on or before midnight on a date, use `<=YYYY-MM-DD`, and to specify conferences that started on or after midnight on a date, use `>=YYYY-MM-DD`.", + "schema": { + "type": "string", + "format": "date" + } + }, + { + "name": "DateUpdated", + "in": "query", + "description": "The `date_updated` value, specified as `YYYY-MM-DD`, of the resources to read. To read conferences that were last updated on or before midnight on a date, use `<=YYYY-MM-DD`, and to specify conferences that were last updated on or after midnight on a given date, use `>=YYYY-MM-DD`.", + "schema": { + "type": "string", + "format": "date" + } + }, + { + "name": "DateUpdated<", + "in": "query", + "description": "The `date_updated` value, specified as `YYYY-MM-DD`, of the resources to read. To read conferences that were last updated on or before midnight on a date, use `<=YYYY-MM-DD`, and to specify conferences that were last updated on or after midnight on a given date, use `>=YYYY-MM-DD`.", + "schema": { + "type": "string", + "format": "date" + } + }, + { + "name": "DateUpdated>", + "in": "query", + "description": "The `date_updated` value, specified as `YYYY-MM-DD`, of the resources to read. To read conferences that were last updated on or before midnight on a date, use `<=YYYY-MM-DD`, and to specify conferences that were last updated on or after midnight on a given date, use `>=YYYY-MM-DD`.", + "schema": { + "type": "string", + "format": "date" + } + }, + { + "name": "FriendlyName", + "in": "query", + "description": "The string that identifies the Conference resources to read.", + "schema": { + "type": "string" + } + }, + { + "name": "Status", + "in": "query", + "description": "The status of the resources to read. Can be: `init`, `in-progress`, or `completed`.", + "schema": { + "type": "string", + "enum": [ + "init", + "in-progress", + "completed" + ] + } + }, + { + "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 + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "ListConferenceResponse", + "properties": { + "conferences": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.conference" + } + }, + "end": { + "type": "integer" + }, + "first_page_uri": { + "type": "string", + "format": "uri" + }, + "next_page_uri": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_uri": { + "type": "string", + "format": "uri" + }, + "start": { + "type": "integer" + }, + "uri": { + "type": "string", + "format": "uri" + } + } + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "ListConference", + "x-maturity": [ + "GA" + ] + } + }, + "/2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Recordings/{Sid}.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], + "description": "Recordings of conferences", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "conference_sid", + "status", + "start_time", + "duration" + ], + "pathType": "instance", + "parent": "/Accounts/{AccountSid}/Conferences.json" + }, + "post": { + "description": "Changes the status of the recording to paused, stopped, or in-progress. Note: To use `Twilio.CURRENT`, pass it as recording sid.", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Conference Recording resource to update.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "ConferenceSid", + "in": "path", + "description": "The Conference SID that identifies the conference associated with the recording to update.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CF[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Conference Recording resource to update. Use `Twilio.CURRENT` to reference the current active recording.", + "schema": { + "type": "string" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.conference.conference_recording" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "UpdateConferenceRecording", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateConferenceRecordingRequest", + "properties": { + "Status": { + "type": "string", + "enum": [ + "in-progress", + "paused", + "stopped", + "processing", + "completed", + "absent" + ], + "description": "The new status of the recording. Can be: `stopped`, `paused`, `in-progress`." }, - "Parameter19.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter19.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter2.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter2.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter20.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter20.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter21.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter21.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter22.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter22.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter23.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter23.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter24.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter24.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter25.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter25.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter26.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter26.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter27.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter27.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter28.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter28.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter29.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter29.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter3.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter3.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter30.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter30.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter31.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter31.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter32.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter32.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter33.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter33.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter34.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter34.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter35.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter35.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter36.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter36.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter37.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter37.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter38.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter38.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter39.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter39.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter4.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter4.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter40.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter40.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter41.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter41.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter42.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter42.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter43.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter43.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter44.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter44.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter45.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter45.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter46.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter46.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter47.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter47.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter48.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter48.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter49.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter49.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter5.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter5.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter50.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter50.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter51.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter51.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter52.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter52.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter53.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter53.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter54.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter54.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter55.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter55.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter56.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter56.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter57.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter57.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter58.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter58.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter59.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter59.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter6.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter6.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter60.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter60.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter61.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter61.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter62.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter62.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter63.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter63.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter64.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter64.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter65.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter65.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter66.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter66.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter67.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter67.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter68.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter68.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter69.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter69.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter7.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter7.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter70.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter70.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter71.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter71.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter72.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter72.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter73.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter73.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter74.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter74.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter75.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter75.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter76.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter76.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter77.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter77.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter78.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter78.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter79.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter79.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter8.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter8.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter80.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter80.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter81.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter81.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter82.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter82.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter83.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter83.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter84.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter84.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter85.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter85.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter86.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter86.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter87.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter87.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter88.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter88.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter89.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter89.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter9.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter9.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter90.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter90.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter91.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter91.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter92.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter92.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter93.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter93.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter94.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter94.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter95.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter95.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter96.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter96.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter97.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter97.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter98.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter98.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter99.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter99.Value": { - "description": "Parameter value", - "type": "string" - }, - "StatusCallback": { - "description": "Absolute URL of the status callback.", - "format": "uri", - "type": "string" - }, - "StatusCallbackMethod": { - "description": "The http method for the status_callback (one of GET, POST).", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "Track": { - "description": "One of `inbound_track`, `outbound_track`, `both_tracks`.", - "enum": [ - "inbound_track", - "outbound_track", - "both_tracks" - ], - "type": "string" - } - }, - "title": "CreateSiprecRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.call.siprec" - } - } - }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://api.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "call_sid", - "name" - ], - "parent": "/Accounts/{AccountSid}/Calls.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Siprec/{Sid}.json": { - "description": "TODO: Resource-level docs", - "post": { - "description": "Stop a Siprec using either the SID of the Siprec resource or the `name` used when creating the resource", - "operationId": "UpdateSiprec", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created this Siprec resource.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the [Call](https://www.twilio.com/docs/voice/api/call-resource) the Siprec resource is associated with.", - "in": "path", - "name": "CallSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the Siprec resource, or the `name` used when creating the resource", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Status": { - "description": "The status. Must have the value `stopped`", - "enum": [ - "stopped" - ], - "type": "string" - } - }, - "required": [ - "Status" - ], - "title": "UpdateSiprecRequest", - "type": "object" - } - } - } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.call.siprec" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://api.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "call_sid", - "name" - ], - "parent": "/Accounts/{AccountSid}/Calls.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Streams.json": { - "description": "TODO: Resource-level docs", - "post": { - "description": "Create a Stream", - "operationId": "CreateStream", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created this Stream resource.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the [Call](https://www.twilio.com/docs/voice/api/call-resource) the Stream resource is associated with.", - "in": "path", - "name": "CallSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Name": { - "description": "The user-specified name of this Stream, if one was given when the Stream was created. This may be used to stop the Stream.", - "type": "string" - }, - "Parameter1.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter1.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter10.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter10.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter11.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter11.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter12.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter12.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter13.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter13.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter14.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter14.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter15.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter15.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter16.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter16.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter17.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter17.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter18.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter18.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter19.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter19.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter2.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter2.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter20.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter20.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter21.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter21.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter22.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter22.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter23.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter23.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter24.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter24.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter25.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter25.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter26.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter26.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter27.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter27.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter28.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter28.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter29.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter29.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter3.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter3.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter30.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter30.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter31.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter31.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter32.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter32.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter33.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter33.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter34.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter34.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter35.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter35.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter36.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter36.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter37.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter37.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter38.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter38.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter39.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter39.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter4.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter4.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter40.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter40.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter41.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter41.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter42.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter42.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter43.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter43.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter44.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter44.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter45.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter45.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter46.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter46.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter47.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter47.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter48.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter48.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter49.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter49.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter5.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter5.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter50.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter50.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter51.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter51.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter52.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter52.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter53.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter53.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter54.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter54.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter55.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter55.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter56.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter56.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter57.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter57.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter58.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter58.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter59.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter59.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter6.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter6.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter60.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter60.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter61.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter61.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter62.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter62.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter63.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter63.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter64.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter64.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter65.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter65.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter66.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter66.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter67.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter67.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter68.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter68.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter69.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter69.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter7.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter7.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter70.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter70.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter71.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter71.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter72.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter72.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter73.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter73.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter74.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter74.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter75.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter75.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter76.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter76.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter77.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter77.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter78.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter78.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter79.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter79.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter8.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter8.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter80.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter80.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter81.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter81.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter82.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter82.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter83.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter83.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter84.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter84.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter85.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter85.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter86.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter86.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter87.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter87.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter88.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter88.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter89.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter89.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter9.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter9.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter90.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter90.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter91.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter91.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter92.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter92.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter93.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter93.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter94.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter94.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter95.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter95.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter96.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter96.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter97.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter97.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter98.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter98.Value": { - "description": "Parameter value", - "type": "string" - }, - "Parameter99.Name": { - "description": "Parameter name", - "type": "string" - }, - "Parameter99.Value": { - "description": "Parameter value", - "type": "string" - }, - "StatusCallback": { - "description": "Absolute URL of the status callback.", - "format": "uri", - "type": "string" - }, - "StatusCallbackMethod": { - "description": "The http method for the status_callback (one of GET, POST).", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "Track": { - "description": "One of `inbound_track`, `outbound_track`, `both_tracks`.", - "enum": [ - "inbound_track", - "outbound_track", - "both_tracks" - ], - "type": "string" - }, - "Url": { - "description": "Relative or absolute url where WebSocket connection will be established.", - "format": "uri", - "type": "string" - } - }, - "required": [ - "Url" - ], - "title": "CreateStreamRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.call.stream" - } - } - }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://api.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "call_sid", - "name" - ], - "parent": "/Accounts/{AccountSid}/Calls.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Streams/{Sid}.json": { - "description": "TODO: Resource-level docs", - "post": { - "description": "Stop a Stream using either the SID of the Stream resource or the `name` used when creating the resource", - "operationId": "UpdateStream", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created this Stream resource.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the [Call](https://www.twilio.com/docs/voice/api/call-resource) the Stream resource is associated with.", - "in": "path", - "name": "CallSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the Stream resource, or the `name` used when creating the resource", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Status": { - "description": "The status. Must have the value `stopped`", - "enum": [ - "stopped" - ], - "type": "string" - } - }, - "required": [ - "Status" - ], - "title": "UpdateStreamRequest", - "type": "object" - } - } - } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.call.stream" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://api.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "call_sid", - "name" - ], - "parent": "/Accounts/{AccountSid}/Calls.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Calls/{Sid}.json": { - "delete": { - "description": "Delete a Call record from your account. Once the record is deleted, it will no longer appear in the API and Account Portal logs.", - "operationId": "DeleteCall", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Call resource(s) to delete.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided Call SID that uniquely identifies the Call resource to delete", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "description": "A Call is an object that represents a connection between a telephone and Twilio.", - "get": { - "description": "Fetch the call specified by the provided Call SID", - "operationId": "FetchCall", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Call resource(s) to fetch.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the Call resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.call" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "Initiates a call redirect or terminates a call", - "operationId": "UpdateCall", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Call resource(s) to update.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the Call resource to update", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "FallbackMethod": { - "description": "The HTTP method that we should use to request the `fallback_url`. Can be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter is present, this parameter is ignored.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "FallbackUrl": { - "description": "The URL that we call using the `fallback_method` if an error occurs when requesting or executing the TwiML at `url`. If an `application_sid` parameter is present, this parameter is ignored.", - "format": "uri", - "type": "string" - }, - "Method": { - "description": "The HTTP method we should use when calling the `url`. Can be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter is present, this parameter is ignored.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "Status": { - "description": "The new status of the resource. Can be: `canceled` or `completed`. Specifying `canceled` will attempt to hang up calls that are queued or ringing; however, it will not affect calls already in progress. Specifying `completed` will attempt to hang up a call even if it's already in progress.", - "enum": [ - "canceled", - "completed" - ], - "type": "string" - }, - "StatusCallback": { - "description": "The URL we should call using the `status_callback_method` to send status information to your application. If no `status_callback_event` is specified, we will send the `completed` status. If an `application_sid` parameter is present, this parameter is ignored. URLs must contain a valid hostname (underscores are not permitted).", - "format": "uri", - "type": "string" - }, - "StatusCallbackMethod": { - "description": "The HTTP method we should use when requesting the `status_callback` URL. Can be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter is present, this parameter is ignored.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "TimeLimit": { - "description": "The maximum duration of the call in seconds. Constraints depend on account and configuration.", - "type": "integer" - }, - "Twiml": { - "description": "TwiML instructions for the call Twilio will use without fetching Twiml from url. Twiml and url parameters are mutually exclusive", - "type": "string" - }, - "Url": { - "description": "The absolute URL that returns the TwiML instructions for the call. We will call this URL using the `method` when the call connects. For more information, see the [Url Parameter](https://www.twilio.com/docs/voice/make-calls#specify-a-url-parameter) section in [Making Calls](https://www.twilio.com/docs/voice/make-calls).", - "format": "uri", - "type": "string" - } - }, - "title": "UpdateCallRequest", - "type": "object" - } - } - } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.call" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://api.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "from", - "to", - "status", - "start_time" - ], - "parent": "/Accounts.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Conferences.json": { - "description": "Voice call conferences", - "get": { - "description": "Retrieve a list of conferences belonging to the account used to make the request", - "operationId": "ListConference", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Conference resource(s) to read.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The `date_created` value, specified as `YYYY-MM-DD`, of the resources to read. To read conferences that started on or before midnight on a date, use `<=YYYY-MM-DD`, and to specify conferences that started on or after midnight on a date, use `>=YYYY-MM-DD`.", - "in": "query", - "name": "DateCreated", - "schema": { - "format": "date", - "type": "string" - } - }, - { - "description": "The `date_created` value, specified as `YYYY-MM-DD`, of the resources to read. To read conferences that started on or before midnight on a date, use `<=YYYY-MM-DD`, and to specify conferences that started on or after midnight on a date, use `>=YYYY-MM-DD`.", - "in": "query", - "name": "DateCreated<", - "schema": { - "format": "date", - "type": "string" - } - }, - { - "description": "The `date_created` value, specified as `YYYY-MM-DD`, of the resources to read. To read conferences that started on or before midnight on a date, use `<=YYYY-MM-DD`, and to specify conferences that started on or after midnight on a date, use `>=YYYY-MM-DD`.", - "in": "query", - "name": "DateCreated>", - "schema": { - "format": "date", - "type": "string" - } - }, - { - "description": "The `date_updated` value, specified as `YYYY-MM-DD`, of the resources to read. To read conferences that were last updated on or before midnight on a date, use `<=YYYY-MM-DD`, and to specify conferences that were last updated on or after midnight on a given date, use `>=YYYY-MM-DD`.", - "in": "query", - "name": "DateUpdated", - "schema": { - "format": "date", - "type": "string" - } - }, - { - "description": "The `date_updated` value, specified as `YYYY-MM-DD`, of the resources to read. To read conferences that were last updated on or before midnight on a date, use `<=YYYY-MM-DD`, and to specify conferences that were last updated on or after midnight on a given date, use `>=YYYY-MM-DD`.", - "in": "query", - "name": "DateUpdated<", - "schema": { - "format": "date", - "type": "string" - } - }, - { - "description": "The `date_updated` value, specified as `YYYY-MM-DD`, of the resources to read. To read conferences that were last updated on or before midnight on a date, use `<=YYYY-MM-DD`, and to specify conferences that were last updated on or after midnight on a given date, use `>=YYYY-MM-DD`.", - "in": "query", - "name": "DateUpdated>", - "schema": { - "format": "date", - "type": "string" - } - }, - { - "description": "The string that identifies the Conference resources to read.", - "in": "query", - "name": "FriendlyName", - "schema": { - "type": "string" - } - }, - { - "description": "The status of the resources to read. Can be: `init`, `in-progress`, or `completed`.", - "in": "query", - "name": "Status", - "schema": { - "enum": [ - "init", - "in-progress", - "completed" - ], - "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" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "conferences": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.conference" - }, - "type": "array" - }, - "end": { - "type": "integer" - }, - "first_page_uri": { - "format": "uri", - "type": "string" - }, - "next_page_uri": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_uri": { - "format": "uri", - "type": "string" - }, - "start": { - "type": "integer" - }, - "uri": { - "format": "uri", - "type": "string" - } - }, - "title": "ListConferenceResponse", - "type": "object" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://api.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "status" - ], - "parent": "/Accounts.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Participants.json": { - "description": "Conference participants", - "get": { - "description": "Retrieve a list of participants belonging to the account used to make the request", - "operationId": "ListParticipant", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Participant resources to read.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the conference with the participants to read.", - "in": "path", - "name": "ConferenceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CF[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "Whether to return only participants that are muted. Can be: `true` or `false`.", - "in": "query", - "name": "Muted", - "schema": { - "type": "boolean" - } - }, - { - "description": "Whether to return only participants that are on hold. Can be: `true` or `false`.", - "in": "query", - "name": "Hold", - "schema": { - "type": "boolean" - } - }, - { - "description": "Whether to return only participants who are coaching another call. Can be: `true` or `false`.", - "in": "query", - "name": "Coaching", - "schema": { - "type": "boolean" - } - }, - { - "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" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "end": { - "type": "integer" - }, - "first_page_uri": { - "format": "uri", - "type": "string" - }, - "next_page_uri": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "participants": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.conference.participant" - }, - "type": "array" - }, - "previous_page_uri": { - "format": "uri", - "type": "string" - }, - "start": { - "type": "integer" - }, - "uri": { - "format": "uri", - "type": "string" - } - }, - "title": "ListParticipantResponse", - "type": "object" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "", - "operationId": "CreateParticipant", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the participant's conference.", - "in": "path", - "name": "ConferenceSid", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Beep": { - "description": "Whether to play a notification beep to the conference when the participant joins. Can be: `true`, `false`, `onEnter`, or `onExit`. The default value is `true`.", - "type": "string" - }, - "Byoc": { - "description": "The SID of a BYOC (Bring Your Own Carrier) trunk to route this call with. Note that `byoc` is only meaningful when `to` is a phone number; it will otherwise be ignored. (Beta)", - "maxLength": 34, - "minLength": 34, - "pattern": "^BY[0-9a-fA-F]{32}$", - "type": "string" - }, - "CallReason": { - "description": "The Reason for the outgoing call. Use it to specify the purpose of the call that is presented on the called party's phone. (Branded Calls Beta)", - "type": "string" - }, - "CallSidToCoach": { - "description": "The SID of the participant who is being `coached`. The participant being coached is the only participant who can hear the participant who is `coaching`.", - "maxLength": 34, - "minLength": 34, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" - }, - "CallerId": { - "description": "The phone number, Client identifier, or username portion of SIP address that made this call. Phone numbers are in [E.164](https://www.twilio.com/docs/glossary/what-e164) format (e.g., +16175551212). Client identifiers are formatted `client:name`. If using a phone number, it must be a Twilio number or a Verified [outgoing caller id](https://www.twilio.com/docs/voice/api/outgoing-caller-ids) for your account. If the `to` parameter is a phone number, `callerId` must also be a phone number. If `to` is sip address, this value of `callerId` should be a username portion to be used to populate the From header that is passed to the SIP endpoint.", - "type": "string" - }, - "Coaching": { - "description": "Whether the participant is coaching another call. Can be: `true` or `false`. If not present, defaults to `false` unless `call_sid_to_coach` is defined. If `true`, `call_sid_to_coach` must be defined.", - "type": "boolean" - }, - "ConferenceRecord": { - "description": "Whether to record the conference the participant is joining. Can be: `true`, `false`, `record-from-start`, and `do-not-record`. The default value is `false`.", - "type": "string" - }, - "ConferenceRecordingStatusCallback": { - "description": "The URL we should call using the `conference_recording_status_callback_method` when the conference recording is available.", - "format": "uri", - "type": "string" - }, - "ConferenceRecordingStatusCallbackEvent": { - "description": "The conference recording state changes that generate a call to `conference_recording_status_callback`. Can be: `in-progress`, `completed`, `failed`, and `absent`. Separate multiple values with a space, ex: `'in-progress completed failed'`", - "items": { - "type": "string" - }, - "type": "array" - }, - "ConferenceRecordingStatusCallbackMethod": { - "description": "The HTTP method we should use to call `conference_recording_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "ConferenceStatusCallback": { - "description": "The URL we should call using the `conference_status_callback_method` when the conference events in `conference_status_callback_event` occur. Only the value set by the first participant to join the conference is used. Subsequent `conference_status_callback` values are ignored.", - "format": "uri", - "type": "string" - }, - "ConferenceStatusCallbackEvent": { - "description": "The conference state changes that should generate a call to `conference_status_callback`. Can be: `start`, `end`, `join`, `leave`, `mute`, `hold`, `modify`, `speaker`, and `announcement`. Separate multiple values with a space. Defaults to `start end`.", - "items": { - "type": "string" - }, - "type": "array" - }, - "ConferenceStatusCallbackMethod": { - "description": "The HTTP method we should use to call `conference_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "ConferenceTrim": { - "description": "Whether to trim leading and trailing silence from your recorded conference audio files. Can be: `trim-silence` or `do-not-trim` and defaults to `trim-silence`.", - "type": "string" - }, - "EarlyMedia": { - "description": "Whether to allow an agent to hear the state of the outbound call, including ringing or disconnect messages. Can be: `true` or `false` and defaults to `true`.", - "type": "boolean" - }, - "EndConferenceOnExit": { - "description": "Whether to end the conference when the participant leaves. Can be: `true` or `false` and defaults to `false`.", - "type": "boolean" - }, - "From": { - "description": "The phone number, Client identifier, or username portion of SIP address that made this call. Phone numbers are in [E.164](https://www.twilio.com/docs/glossary/what-e164) format (e.g., +16175551212). Client identifiers are formatted `client:name`. If using a phone number, it must be a Twilio number or a Verified [outgoing caller id](https://www.twilio.com/docs/voice/api/outgoing-caller-ids) for your account. If the `to` parameter is a phone number, `from` must also be a phone number. If `to` is sip address, this value of `from` should be a username portion to be used to populate the P-Asserted-Identity header that is passed to the SIP endpoint.", - "type": "string" - }, - "JitterBufferSize": { - "description": "Jitter buffer size for the connecting participant. Twilio will use this setting to apply Jitter Buffer before participant's audio is mixed into the conference. Can be: `off`, `small`, `medium`, and `large`. Default to `large`.", - "type": "string" - }, - "Label": { - "description": "A label for this participant. If one is supplied, it may subsequently be used to fetch, update or delete the participant.", - "type": "string" - }, - "MaxParticipants": { - "description": "The maximum number of participants in the conference. Can be a positive integer from `2` to `250`. The default value is `250`.", - "type": "integer" - }, - "Muted": { - "description": "Whether the agent is muted in the conference. Can be `true` or `false` and the default is `false`.", - "type": "boolean" - }, - "Record": { - "description": "Whether to record the participant and their conferences, including the time between conferences. Can be `true` or `false` and the default is `false`.", - "type": "boolean" - }, - "RecordingChannels": { - "description": "The recording channels for the final recording. Can be: `mono` or `dual` and the default is `mono`.", - "type": "string" - }, - "RecordingStatusCallback": { - "description": "The URL that we should call using the `recording_status_callback_method` when the recording status changes.", - "format": "uri", - "type": "string" - }, - "RecordingStatusCallbackEvent": { - "description": "The recording state changes that should generate a call to `recording_status_callback`. Can be: `started`, `in-progress`, `paused`, `resumed`, `stopped`, `completed`, `failed`, and `absent`. Separate multiple values with a space, ex: `'in-progress completed failed'`.", - "items": { - "type": "string" - }, - "type": "array" - }, - "RecordingStatusCallbackMethod": { - "description": "The HTTP method we should use when we call `recording_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "RecordingTrack": { - "description": "The audio track to record for the call. Can be: `inbound`, `outbound` or `both`. The default is `both`. `inbound` records the audio that is received by Twilio. `outbound` records the audio that is sent from Twilio. `both` records the audio that is received and sent by Twilio.", - "type": "string" - }, - "Region": { - "description": "The [region](https://support.twilio.com/hc/en-us/articles/223132167-How-global-low-latency-routing-and-region-selection-work-for-conferences-and-Client-calls) where we should mix the recorded audio. Can be:`us1`, `ie1`, `de1`, `sg1`, `br1`, `au1`, or `jp1`.", - "type": "string" - }, - "SipAuthPassword": { - "description": "The SIP password for authentication.", - "type": "string" - }, - "SipAuthUsername": { - "description": "The SIP username used for authentication.", - "type": "string" - }, - "StartConferenceOnEnter": { - "description": "Whether to start the conference when the participant joins, if it has not already started. Can be: `true` or `false` and the default is `true`. If `false` and the conference has not started, the participant is muted and hears background music until another participant starts the conference.", - "type": "boolean" - }, - "StatusCallback": { - "description": "The URL we should call using the `status_callback_method` to send status information to your application.", - "format": "uri", - "type": "string" - }, - "StatusCallbackEvent": { - "description": "The conference state changes that should generate a call to `status_callback`. Can be: `initiated`, `ringing`, `answered`, and `completed`. Separate multiple values with a space. The default value is `completed`.", - "items": { - "type": "string" - }, - "type": "array" - }, - "StatusCallbackMethod": { - "description": "The HTTP method we should use to call `status_callback`. Can be: `GET` and `POST` and defaults to `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "TimeLimit": { - "description": "The maximum duration of the call in seconds. Constraints depend on account and configuration.", - "type": "integer" - }, - "Timeout": { - "description": "The number of seconds that we should allow the phone to ring before assuming there is no answer. Can be an integer between `5` and `600`, inclusive. The default value is `60`. We always add a 5-second timeout buffer to outgoing calls, so value of 10 would result in an actual timeout that was closer to 15 seconds.", - "type": "integer" - }, - "To": { - "description": "The phone number, SIP address, or Client identifier that received this call. Phone numbers are in [E.164](https://www.twilio.com/docs/glossary/what-e164) format (e.g., +16175551212). SIP addresses are formatted as `sip:name@company.com`. Client identifiers are formatted `client:name`. [Custom parameters](https://www.twilio.com/docs/voice/api/conference-participant-resource#custom-parameters) may also be specified.", - "type": "string" - }, - "WaitMethod": { - "description": "The HTTP method we should use to call `wait_url`. Can be `GET` or `POST` and the default is `POST`. When using a static audio file, this should be `GET` so that we can cache the file.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "WaitUrl": { - "description": "The URL we should call using the `wait_method` for the music to play while participants are waiting for the conference to start. The default value is the URL of our standard hold music. [Learn more about hold music](https://www.twilio.com/labs/twimlets/holdmusic).", - "format": "uri", - "type": "string" - } - }, - "required": [ - "From", - "To" - ], - "title": "CreateParticipantRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.conference.participant" - } - } - }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://api.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "call_sid", - "label", - "status", - "muted", - "hold" - ], - "parent": "/Accounts/{AccountSid}/Conferences.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Participants/{CallSid}.json": { - "delete": { - "description": "Kick a participant from a given conference", - "operationId": "DeleteParticipant", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Participant resources to delete.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the conference with the participants to delete.", - "in": "path", - "name": "ConferenceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CF[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The [Call](https://www.twilio.com/docs/voice/api/call-resource) SID or label of the participant to delete. Non URL safe characters in a label must be percent encoded, for example, a space character is represented as %20.", - "in": "path", - "name": "CallSid", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "description": "Conference participants", - "get": { - "description": "Fetch an instance of a participant", - "operationId": "FetchParticipant", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Participant resource to fetch.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the conference with the participant to fetch.", - "in": "path", - "name": "ConferenceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CF[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The [Call](https://www.twilio.com/docs/voice/api/call-resource) SID or label of the participant to fetch. Non URL safe characters in a label must be percent encoded, for example, a space character is represented as %20.", - "in": "path", - "name": "CallSid", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.conference.participant" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "Update the properties of the participant", - "operationId": "UpdateParticipant", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Participant resources to update.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the conference with the participant to update.", - "in": "path", - "name": "ConferenceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CF[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The [Call](https://www.twilio.com/docs/voice/api/call-resource) SID or label of the participant to update. Non URL safe characters in a label must be percent encoded, for example, a space character is represented as %20.", - "in": "path", - "name": "CallSid", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "AnnounceMethod": { - "description": "The HTTP method we should use to call `announce_url`. Can be: `GET` or `POST` and defaults to `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "AnnounceUrl": { - "description": "The URL we call using the `announce_method` for an announcement to the participant. The URL must return an MP3 file, a WAV file, or a TwiML document that contains `` or `` commands.", - "format": "uri", - "type": "string" - }, - "BeepOnExit": { - "description": "Whether to play a notification beep to the conference when the participant exits. Can be: `true` or `false`.", - "type": "boolean" - }, - "CallSidToCoach": { - "description": "The SID of the participant who is being `coached`. The participant being coached is the only participant who can hear the participant who is `coaching`.", - "maxLength": 34, - "minLength": 34, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" - }, - "Coaching": { - "description": "Whether the participant is coaching another call. Can be: `true` or `false`. If not present, defaults to `false` unless `call_sid_to_coach` is defined. If `true`, `call_sid_to_coach` must be defined.", - "type": "boolean" - }, - "EndConferenceOnExit": { - "description": "Whether to end the conference when the participant leaves. Can be: `true` or `false` and defaults to `false`.", - "type": "boolean" - }, - "Hold": { - "description": "Whether the participant should be on hold. Can be: `true` or `false`. `true` puts the participant on hold, and `false` lets them rejoin the conference.", - "type": "boolean" - }, - "HoldMethod": { - "description": "The HTTP method we should use to call `hold_url`. Can be: `GET` or `POST` and the default is `GET`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "HoldUrl": { - "description": "The URL we call using the `hold_method` for music that plays when the participant is on hold. The URL may return an MP3 file, a WAV file, or a TwiML document that contains the ``, `` or `` commands.", - "format": "uri", - "type": "string" - }, - "Muted": { - "description": "Whether the participant should be muted. Can be `true` or `false`. `true` will mute the participant, and `false` will un-mute them. Anything value other than `true` or `false` is interpreted as `false`.", - "type": "boolean" - }, - "WaitMethod": { - "description": "The HTTP method we should use to call `wait_url`. Can be `GET` or `POST` and the default is `POST`. When using a static audio file, this should be `GET` so that we can cache the file.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "WaitUrl": { - "description": "The URL we should call using the `wait_method` for the music to play while participants are waiting for the conference to start. The default value is the URL of our standard hold music. [Learn more about hold music](https://www.twilio.com/labs/twimlets/holdmusic).", - "format": "uri", - "type": "string" - } - }, - "title": "UpdateParticipantRequest", - "type": "object" - } - } - } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.conference.participant" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://api.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "call_sid", - "label", - "status", - "muted", - "hold" - ], - "parent": "/Accounts/{AccountSid}/Conferences.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Recordings.json": { - "description": "Recordings of conferences", - "get": { - "description": "Retrieve a list of recordings belonging to the call used to make the request", - "operationId": "ListConferenceRecording", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Conference Recording resources to read.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Conference SID that identifies the conference associated with the recording to read.", - "in": "path", - "name": "ConferenceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CF[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The `date_created` value, specified as `YYYY-MM-DD`, of the resources to read. You can also specify inequality: `DateCreated<=YYYY-MM-DD` will return recordings generated at or before midnight on a given date, and `DateCreated>=YYYY-MM-DD` returns recordings generated at or after midnight on a date.", - "in": "query", - "name": "DateCreated", - "schema": { - "format": "date", - "type": "string" - } - }, - { - "description": "The `date_created` value, specified as `YYYY-MM-DD`, of the resources to read. You can also specify inequality: `DateCreated<=YYYY-MM-DD` will return recordings generated at or before midnight on a given date, and `DateCreated>=YYYY-MM-DD` returns recordings generated at or after midnight on a date.", - "in": "query", - "name": "DateCreated<", - "schema": { - "format": "date", - "type": "string" - } - }, - { - "description": "The `date_created` value, specified as `YYYY-MM-DD`, of the resources to read. You can also specify inequality: `DateCreated<=YYYY-MM-DD` will return recordings generated at or before midnight on a given date, and `DateCreated>=YYYY-MM-DD` returns recordings generated at or after midnight on a date.", - "in": "query", - "name": "DateCreated>", - "schema": { - "format": "date", - "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" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "end": { - "type": "integer" - }, - "first_page_uri": { - "format": "uri", - "type": "string" - }, - "next_page_uri": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_uri": { - "format": "uri", - "type": "string" - }, - "recordings": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.conference.conference_recording" - }, - "type": "array" - }, - "start": { - "type": "integer" - }, - "uri": { - "format": "uri", - "type": "string" - } - }, - "title": "ListConferenceRecordingResponse", - "type": "object" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://api.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "conference_sid", - "status", - "start_time", - "duration" - ], - "parent": "/Accounts/{AccountSid}/Conferences.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Recordings/{Sid}.json": { - "delete": { - "description": "Delete a recording from your account", - "operationId": "DeleteConferenceRecording", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Conference Recording resources to delete.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Conference SID that identifies the conference associated with the recording to delete.", - "in": "path", - "name": "ConferenceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CF[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the Conference Recording resource to delete.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^RE[0-9a-fA-F]{32}$", - "type": "string" + "PauseBehavior": { + "type": "string", + "description": "Whether to record during a pause. Can be: `skip` or `silence` and the default is `silence`. `skip` does not record during the pause period, while `silence` will replace the actual audio of the call with silence during the pause period. This parameter only applies when setting `status` is set to `paused`." + } + }, + "required": [ + "Status" + ] + } } } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] + } }, - "description": "Recordings of conferences", "get": { "description": "Fetch an instance of a recording for a call", - "operationId": "FetchConferenceRecording", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Conference Recording resource to fetch.", - "in": "path", "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Conference SID that identifies the conference associated with the recording to fetch.", "in": "path", - "name": "ConferenceSid", - "required": true, + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Conference Recording resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CF[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the Conference Recording resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { "maxLength": 34, - "minLength": 34, - "pattern": "^RE[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.conference.conference_recording" - } - } + "pattern": "^AC[0-9a-fA-F]{32}$" }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "Changes the status of the recording to paused, stopped, or in-progress. Note: To use `Twilio.CURRENT`, pass it as recording sid.", - "operationId": "UpdateConferenceRecording", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Conference Recording resource to update.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "required": true }, { - "description": "The Conference SID that identifies the conference associated with the recording to update.", - "in": "path", "name": "ConferenceSid", - "required": true, + "in": "path", + "description": "The Conference SID that identifies the conference associated with the recording to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CF[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CF[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Conference Recording resource to update. Use `Twilio.CURRENT` to reference the current active recording.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Conference Recording resource to fetch.", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RE[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "PauseBehavior": { - "description": "Whether to record during a pause. Can be: `skip` or `silence` and the default is `silence`. `skip` does not record during the pause period, while `silence` will replace the actual audio of the call with silence during the pause period. This parameter only applies when setting `status` is set to `paused`.", - "type": "string" - }, - "Status": { - "description": "The new status of the recording. Can be: `stopped`, `paused`, `in-progress`.", - "enum": [ - "in-progress", - "paused", - "stopped", - "processing", - "completed", - "absent" - ], - "type": "string" - } - }, - "required": [ - "Status" - ], - "title": "UpdateConferenceRecordingRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { @@ -18062,152 +15036,54 @@ "accountSid_authToken": [] } ], + "operationId": "FetchConferenceRecording", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://api.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "conference_sid", - "status", - "start_time", - "duration" - ], - "parent": "/Accounts/{AccountSid}/Conferences.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Conferences/{Sid}.json": { - "description": "Voice call conferences", - "get": { - "description": "Fetch an instance of a conference", - "operationId": "FetchConference", + "delete": { + "description": "Delete a recording from your account", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Conference resource(s) to fetch.", - "in": "path", "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the Conference resource to fetch", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Conference Recording resources to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CF[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.conference" - } - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "", - "operationId": "UpdateConference", - "parameters": [ + "required": true + }, { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Conference resource(s) to update.", + "name": "ConferenceSid", "in": "path", - "name": "AccountSid", - "required": true, + "description": "The Conference SID that identifies the conference associated with the recording to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CF[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Conference resource to update", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Conference Recording resource to delete.", "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "AnnounceMethod": { - "description": "The HTTP method used to call `announce_url`. Can be: `GET` or `POST` and the default is `POST`", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "AnnounceUrl": { - "description": "The URL we should call to announce something into the conference. The URL can return an MP3, a WAV, or a TwiML document with `` or ``.", - "format": "uri", - "type": "string" - }, - "Status": { - "description": "The new status of the resource. Can be: Can be: `init`, `in-progress`, or `completed`. Specifying `completed` will end the conference and hang up all participants", - "enum": [ - "completed" - ], - "type": "string" - } - }, - "title": "UpdateConferenceRequest", - "type": "object" - } - } - } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.conference" - } - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RE[0-9a-fA-F]{32}$" }, - "description": "OK" + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -18215,51 +15091,92 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteConferenceRecording", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Recordings.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Recordings of conferences", "x-twilio": { "defaultOutputProperties": [ "sid", - "friendly_name", - "status" + "conference_sid", + "status", + "start_time", + "duration" ], - "parent": "/Accounts.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/ConnectApps.json": { - "description": "Twilio Connect apps", + "pathType": "list", + "parent": "/Accounts/{AccountSid}/Conferences.json" + }, "get": { - "description": "Retrieve a list of connect-apps belonging to the account used to make the request", - "operationId": "ListConnectApp", + "description": "Retrieve a list of recordings belonging to the call used to make the request", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the ConnectApp resources to read.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Conference Recording resources to read.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "ConferenceSid", + "in": "path", + "description": "The Conference SID that identifies the conference associated with the recording to read.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^CF[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "DateCreated", + "in": "query", + "description": "The `date_created` value, specified as `YYYY-MM-DD`, of the resources to read. You can also specify inequality: `DateCreated<=YYYY-MM-DD` will return recordings generated at or before midnight on a given date, and `DateCreated>=YYYY-MM-DD` returns recordings generated at or after midnight on a date.", + "schema": { + "type": "string", + "format": "date" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", + "name": "DateCreated<", + "in": "query", + "description": "The `date_created` value, specified as `YYYY-MM-DD`, of the resources to read. You can also specify inequality: `DateCreated<=YYYY-MM-DD` will return recordings generated at or before midnight on a given date, and `DateCreated>=YYYY-MM-DD` returns recordings generated at or after midnight on a date.", + "schema": { + "type": "string", + "format": "date" + } + }, + { + "name": "DateCreated>", "in": "query", + "description": "The `date_created` value, specified as `YYYY-MM-DD`, of the resources to read. You can also specify inequality: `DateCreated<=YYYY-MM-DD` will return recordings generated at or before midnight on a given date, and `DateCreated>=YYYY-MM-DD` returns recordings generated at or after midnight on a date.", + "schema": { + "type": "string", + "format": "date" + } + }, + { "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -18268,23 +15185,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListConferenceRecordingResponse", "properties": { - "connect_apps": { + "recordings": { + "type": "array", "items": { - "$ref": "#/components/schemas/api.v2010.account.connect_app" - }, - "type": "array" + "$ref": "#/components/schemas/api.v2010.account.conference.conference_recording" + } }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -18293,19 +15212,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" } - }, - "title": "ListConnectAppResponse", - "type": "object" + } } } }, @@ -18317,57 +15234,65 @@ "accountSid_authToken": [] } ], + "operationId": "ListConferenceRecording", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/ConnectApps/{Sid}.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Twilio Connect apps", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name" ], - "parent": "/Accounts.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/ConnectApps/{Sid}.json": { - "delete": { - "description": "Delete an instance of a connect-app", - "operationId": "DeleteConnectApp", + "pathType": "instance", + "parent": "/Accounts.json" + }, + "get": { + "description": "Fetch an instance of a connect-app", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the ConnectApp resource to fetch.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the ConnectApp resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the ConnectApp resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the ConnectApp resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CN[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CN[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.connect_app" + } + } + }, + "description": "OK" } }, "security": [ @@ -18375,38 +15300,37 @@ "accountSid_authToken": [] } ], + "operationId": "FetchConnectApp", "x-maturity": [ "GA" ] }, - "description": "Twilio Connect apps", - "get": { - "description": "Fetch an instance of a connect-app", - "operationId": "FetchConnectApp", + "post": { + "description": "Update a connect-app with the specified parameters", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the ConnectApp resource to fetch.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the ConnectApp resources to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the ConnectApp resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the ConnectApp resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CN[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CN[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -18426,108 +15350,202 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateConnectApp", "x-maturity": [ "GA" - ] + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateConnectAppRequest", + "properties": { + "AuthorizeRedirectUrl": { + "type": "string", + "format": "uri", + "description": "The URL to redirect the user to after we authenticate the user and obtain authorization to access the Connect App." + }, + "CompanyName": { + "type": "string", + "description": "The company name to set for the Connect App." + }, + "DeauthorizeCallbackMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method to use when calling `deauthorize_callback_url`." + }, + "DeauthorizeCallbackUrl": { + "type": "string", + "format": "uri", + "description": "The URL to call using the `deauthorize_callback_method` to de-authorize the Connect App." + }, + "Description": { + "type": "string", + "description": "A description of the Connect App." + }, + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long." + }, + "HomepageUrl": { + "type": "string", + "format": "uri", + "description": "A public URL where users can obtain more information about this Connect App." + }, + "Permissions": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "get-all", + "post-all" + ] + }, + "description": "A comma-separated list of the permissions you will request from the users of this ConnectApp. Can include: `get-all` and `post-all`." + } + } + } + } + } + } }, - "post": { - "description": "Update a connect-app with the specified parameters", - "operationId": "UpdateConnectApp", + "delete": { + "description": "Delete an instance of a connect-app", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the ConnectApp resources to update.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the ConnectApp resource to fetch.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the ConnectApp resource to fetch.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CN[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteConnectApp", + "x-maturity": [ + "GA" + ] + } + }, + "/2010-04-01/Accounts/{AccountSid}/ConnectApps.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], + "description": "Twilio Connect apps", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name" + ], + "pathType": "list", + "parent": "/Accounts.json" + }, + "get": { + "description": "Retrieve a list of connect-apps belonging to the account used to make the request", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the ConnectApp resources to read.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the ConnectApp resource to update.", - "in": "path", - "name": "Sid", - "required": true, + "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CN[0-9a-fA-F]{32}$", - "type": "string" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "AuthorizeRedirectUrl": { - "description": "The URL to redirect the user to after we authenticate the user and obtain authorization to access the Connect App.", - "format": "uri", - "type": "string" - }, - "CompanyName": { - "description": "The company name to set for the Connect App.", - "type": "string" - }, - "DeauthorizeCallbackMethod": { - "description": "The HTTP method to use when calling `deauthorize_callback_url`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "DeauthorizeCallbackUrl": { - "description": "The URL to call using the `deauthorize_callback_method` to de-authorize the Connect App.", - "format": "uri", - "type": "string" - }, - "Description": { - "description": "A description of the Connect App.", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long.", - "type": "string" - }, - "HomepageUrl": { - "description": "A public URL where users can obtain more information about this Connect App.", - "format": "uri", - "type": "string" - }, - "Permissions": { - "description": "A comma-separated list of the permissions you will request from the users of this ConnectApp. Can include: `get-all` and `post-all`.", - "items": { - "enum": [ - "get-all", - "post-all" - ], - "type": "string" - }, - "type": "array" - } - }, - "title": "UpdateConnectAppRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.connect_app" + "type": "object", + "title": "ListConnectAppResponse", + "properties": { + "connect_apps": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.connect_app" + } + }, + "end": { + "type": "integer" + }, + "first_page_uri": { + "type": "string", + "format": "uri" + }, + "next_page_uri": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_uri": { + "type": "string", + "format": "uri" + }, + "start": { + "type": "integer" + }, + "uri": { + "type": "string", + "format": "uri" + } + } } } }, @@ -18539,83 +15557,63 @@ "accountSid_authToken": [] } ], + "operationId": "ListConnectApp", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/Addresses/{AddressSid}/DependentPhoneNumbers.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Phone numbers dependent on an Address resource", "x-twilio": { "defaultOutputProperties": [ "sid", + "phone_number", "friendly_name" ], - "parent": "/Accounts.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers.json": { - "description": "Incoming phone numbers on a Twilio account/project", + "pathType": "list", + "parent": "/Accounts/{AccountSid}/Addresses.json" + }, "get": { - "description": "Retrieve a list of incoming-phone-numbers belonging to the account used to make the request.", - "operationId": "ListIncomingPhoneNumber", + "description": "", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the IncomingPhoneNumber resources to read.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the DependentPhoneNumber resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "Whether to include phone numbers new to the Twilio platform. Can be: `true` or `false` and the default is `true`.", - "in": "query", - "name": "Beta", - "schema": { - "type": "boolean" - } - }, - { - "description": "A string that identifies the IncomingPhoneNumber resources to read.", - "in": "query", - "name": "FriendlyName", - "schema": { - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The phone numbers of the IncomingPhoneNumber resources to read. You can specify partial numbers and use '*' as a wildcard for any digit.", - "in": "query", - "name": "PhoneNumber", + "name": "AddressSid", + "in": "path", + "description": "The SID of the Address resource associated with the phone number.", "schema": { - "format": "phone-number", - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AD[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "Whether to include phone numbers based on their origin. Can be: `twilio` or `hosted`. By default, phone numbers of all origin are included.", + "name": "PageSize", "in": "query", - "name": "Origin", - "schema": { - "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, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -18624,23 +15622,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListDependentPhoneNumberResponse", "properties": { + "dependent_phone_numbers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.address.dependent_phone_number" + } + }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" - }, - "incoming_phone_numbers": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.incoming_phone_number" - }, - "type": "array" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -18649,19 +15649,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" } - }, - "title": "ListIncomingPhoneNumberResponse", - "type": "object" + } } } }, @@ -18673,94 +15671,109 @@ "accountSid_authToken": [] } ], + "operationId": "ListDependentPhoneNumber", "x-maturity": [ "GA" ] + } + }, + "/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/{Sid}.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], + "description": "Incoming phone numbers on a Twilio account/project", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "phone_number", + "friendly_name" + ], + "pathType": "instance", + "parent": "/Accounts.json" }, "post": { - "description": "Purchase a phone-number for the account.", - "operationId": "CreateIncomingPhoneNumber", + "description": "Update an incoming-phone-number instance.", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the IncomingPhoneNumber resource to update. For more information, see [Exchanging Numbers Between Subaccounts](https://www.twilio.com/docs/iam/api/subaccounts#exchanging-numbers).", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the IncomingPhoneNumber resource to update.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^PN[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.incoming_phone_number" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] } ], + "operationId": "UpdateIncomingPhoneNumber", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateIncomingPhoneNumberRequest", "properties": { - "AddressSid": { - "description": "The SID of the Address resource we should associate with the new phone number. Some regions require addresses to meet local regulations.", - "maxLength": 34, - "minLength": 34, - "pattern": "^AD[0-9a-fA-F]{32}$", - "type": "string" - }, - "ApiVersion": { - "description": "The API version to use for incoming calls made to the new phone number. The default is `2010-04-01`.", - "type": "string" - }, - "AreaCode": { - "description": "The desired area code for your new incoming phone number. Can be any three-digit, US or Canada area code. We will provision an available phone number within this area code for you. **You must provide an `area_code` or a `phone_number`.** (US and Canada only).", - "type": "string" - }, - "BundleSid": { - "description": "The SID of the Bundle resource that you associate with the phone number. Some regions require a Bundle to meet local Regulations.", - "maxLength": 34, + "AccountSid": { + "type": "string", "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - }, - "EmergencyAddressSid": { - "description": "The SID of the emergency address configuration to use for emergency calling from the new phone number.", "maxLength": 34, - "minLength": 34, - "pattern": "^AD[0-9a-fA-F]{32}$", - "type": "string" + "pattern": "^AC[0-9a-fA-F]{32}$", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the IncomingPhoneNumber resource to update. For more information, see [Exchanging Numbers Between Subaccounts](https://www.twilio.com/docs/iam/api/subaccounts#exchanging-numbers)." }, - "EmergencyStatus": { - "description": "The parameter displays if emergency calling is enabled for this number. Active numbers may place emergency calls by dialing valid emergency numbers for the country.", - "enum": [ - "Active", - "Inactive" - ], - "type": "string" + "ApiVersion": { + "type": "string", + "description": "The API version to use for incoming calls made to the phone number. The default is `2010-04-01`." }, "FriendlyName": { - "description": "A descriptive string that you created to describe the new phone number. It can be up to 64 characters long. By default, this is a formatted version of the new phone number.", - "type": "string" - }, - "IdentitySid": { - "description": "The SID of the Identity resource that we should associate with the new phone number. Some regions require an identity to meet local regulations.", - "maxLength": 34, - "minLength": 34, - "pattern": "^RI[0-9a-fA-F]{32}$", - "type": "string" - }, - "PhoneNumber": { - "description": "The phone number to purchase specified 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" + "type": "string", + "description": "A descriptive string that you created to describe this phone number. It can be up to 64 characters long. By default, this is a formatted version of the phone number." }, "SmsApplicationSid": { - "description": "The SID of the application that should handle SMS messages sent to the new phone number. If an `sms_application_sid` is present, we ignore all of the `sms_*_url` urls and use those set on the application.", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, "pattern": "^AP[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the application that should handle SMS messages sent to the number. If an `sms_application_sid` is present, we ignore all of the `sms_*_url` urls and use those set on the application." }, "SmsFallbackMethod": { - "description": "The HTTP method that we should use to call `sms_fallback_url`. Can be: `GET` or `POST` and defaults to `POST`.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -18769,16 +15782,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method that we should use to call `sms_fallback_url`. Can be: `GET` or `POST` and defaults to `POST`." }, "SmsFallbackUrl": { - "description": "The URL that we should call when an error occurs while requesting or executing the TwiML defined by `sms_url`.", + "type": "string", "format": "uri", - "type": "string" + "description": "The URL that we should call when an error occurs while requesting or executing the TwiML defined by `sms_url`." }, "SmsMethod": { - "description": "The HTTP method that we should use to call `sms_url`. Can be: `GET` or `POST` and defaults to `POST`.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -18787,21 +15800,21 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method that we should use to call `sms_url`. Can be: `GET` or `POST` and defaults to `POST`." }, "SmsUrl": { - "description": "The URL we should call when the new phone number receives an incoming SMS message.", + "type": "string", "format": "uri", - "type": "string" + "description": "The URL we should call when the phone number receives an incoming SMS message." }, "StatusCallback": { - "description": "The URL we should call using the `status_callback_method` to send status information to your application.", + "type": "string", "format": "uri", - "type": "string" + "description": "The URL we should call using the `status_callback_method` to send status information to your application." }, "StatusCallbackMethod": { - "description": "The HTTP method we should use to call `status_callback`. Can be: `GET` or `POST` and defaults to `POST`.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -18810,29 +15823,22 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" - }, - "TrunkSid": { - "description": "The SID of the Trunk we should use to handle calls to the new phone number. If a `trunk_sid` is present, we ignore all of the voice urls and voice applications and use only those set on the Trunk. Setting a `trunk_sid` will automatically delete your `voice_application_sid` and vice versa.", - "maxLength": 34, - "minLength": 34, - "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" + "description": "The HTTP method we should use to call `status_callback`. Can be: `GET` or `POST` and defaults to `POST`." }, "VoiceApplicationSid": { - "description": "The SID of the application we should use to handle calls to the new phone number. If a `voice_application_sid` is present, we ignore all of the voice urls and use only those set on the application. Setting a `voice_application_sid` will automatically delete your `trunk_sid` and vice versa.", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, "pattern": "^AP[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the application we should use to handle phone calls to the phone number. If a `voice_application_sid` is present, we ignore all of the voice urls and use only those set on the application. Setting a `voice_application_sid` will automatically delete your `trunk_sid` and vice versa." }, "VoiceCallerIdLookup": { - "description": "Whether to lookup the caller's name from the CNAM database and post it to your app. Can be: `true` or `false` and defaults to `false`.", - "type": "boolean" + "type": "boolean", + "description": "Whether to lookup the caller's name from the CNAM database and post it to your app. Can be: `true` or `false` and defaults to `false`." }, "VoiceFallbackMethod": { - "description": "The HTTP method that we should use to call `voice_fallback_url`. Can be: `GET` or `POST` and defaults to `POST`.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -18841,16 +15847,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method that we should use to call `voice_fallback_url`. Can be: `GET` or `POST` and defaults to `POST`." }, "VoiceFallbackUrl": { - "description": "The URL that we should call when an error occurs retrieving or executing the TwiML requested by `url`.", + "type": "string", "format": "uri", - "type": "string" + "description": "The URL that we should call when an error occurs retrieving or executing the TwiML requested by `url`." }, "VoiceMethod": { - "description": "The HTTP method that we should use to call `voice_url`. Can be: `GET` or `POST` and defaults to `POST`.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -18859,31 +15865,100 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method that we should use to call `voice_url`. Can be: `GET` or `POST` and defaults to `POST`." + }, + "VoiceUrl": { + "type": "string", + "format": "uri", + "description": "The URL that we should call to answer a call to the phone number. The `voice_url` will not be called if a `voice_application_sid` or a `trunk_sid` is set." + }, + "EmergencyStatus": { + "type": "string", + "enum": [ + "Active", + "Inactive" + ], + "description": "The parameter displays if emergency calling is enabled for this number. Active numbers may place emergency calls by dialing valid emergency numbers for the country." + }, + "EmergencyAddressSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AD[0-9a-fA-F]{32}$", + "description": "The SID of the emergency address configuration to use for emergency calling from this phone number." + }, + "TrunkSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^TK[0-9a-fA-F]{32}$", + "description": "The SID of the Trunk we should use to handle phone calls to the phone number. If a `trunk_sid` is present, we ignore all of the voice urls and voice applications and use only those set on the Trunk. Setting a `trunk_sid` will automatically delete your `voice_application_sid` and vice versa." }, "VoiceReceiveMode": { - "description": "The configuration parameter for the new phone number to receive incoming voice calls or faxes. Can be: `fax` or `voice` and defaults to `voice`.", + "type": "string", "enum": [ "voice", "fax" ], - "type": "string" + "description": "The configuration parameter for the phone number to receive incoming voice calls or faxes. Can be: `fax` or `voice` and defaults to `voice`." }, - "VoiceUrl": { - "description": "The URL that we should call to answer a call to the new phone number. The `voice_url` will not be called if a `voice_application_sid` or a `trunk_sid` is set.", - "format": "uri", - "type": "string" + "IdentitySid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RI[0-9a-fA-F]{32}$", + "description": "The SID of the Identity resource that we should associate with the phone number. Some regions require an identity to meet local regulations." + }, + "AddressSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AD[0-9a-fA-F]{32}$", + "description": "The SID of the Address resource we should associate with the phone number. Some regions require addresses to meet local regulations." + }, + "BundleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$", + "description": "The SID of the Bundle resource that you associate with the phone number. Some regions require a Bundle to meet local Regulations." } - }, - "title": "CreateIncomingPhoneNumberRequest", - "type": "object" + } } } } - }, + } + }, + "get": { + "description": "Fetch an incoming-phone-number belonging to the account used to make the request.", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the IncomingPhoneNumber resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the IncomingPhoneNumber resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^PN[0-9a-fA-F]{32}$" + }, + "required": true + } + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { @@ -18891,7 +15966,7 @@ } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -18899,92 +15974,127 @@ "accountSid_authToken": [] } ], + "operationId": "FetchIncomingPhoneNumber", "x-maturity": [ "GA" - ], - "x-twilio": { - "conditional": [ - [ - "phone_number", - "area_code" - ] - ] - } + ] }, + "delete": { + "description": "Delete a phone-numbers belonging to the account used to make the request.", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the IncomingPhoneNumber resources to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the IncomingPhoneNumber resource to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^PN[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteIncomingPhoneNumber", + "x-maturity": [ + "GA" + ] + } + }, + "/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Incoming phone numbers on a Twilio account/project", "x-twilio": { "defaultOutputProperties": [ "sid", "phone_number", "friendly_name" ], - "parent": "/Accounts.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/Local.json": { - "description": "Incoming local phone numbers on a Twilio account/project", + "pathType": "list", + "parent": "/Accounts.json" + }, "get": { - "description": "", - "operationId": "ListIncomingPhoneNumberLocal", + "description": "Retrieve a list of incoming-phone-numbers belonging to the account used to make the request.", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the resources to read.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the IncomingPhoneNumber resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "Whether to include phone numbers new to the Twilio platform. Can be: `true` or `false` and the default is `true`.", - "in": "query", "name": "Beta", + "in": "query", + "description": "Whether to include phone numbers new to the Twilio platform. Can be: `true` or `false` and the default is `true`.", "schema": { "type": "boolean" } }, { - "description": "A string that identifies the resources to read.", - "in": "query", "name": "FriendlyName", + "in": "query", + "description": "A string that identifies the IncomingPhoneNumber resources to read.", "schema": { "type": "string" } }, { - "description": "The phone numbers of the IncomingPhoneNumber resources to read. You can specify partial numbers and use '*' as a wildcard for any digit.", - "in": "query", "name": "PhoneNumber", + "in": "query", + "description": "The phone numbers of the IncomingPhoneNumber resources to read. You can specify partial numbers and use '*' as a wildcard for any digit.", "schema": { - "format": "phone-number", - "type": "string" + "type": "string", + "format": "phone-number" } }, { - "description": "Whether to include phone numbers based on their origin. Can be: `twilio` or `hosted`. By default, phone numbers of all origin are included.", - "in": "query", "name": "Origin", + "in": "query", + "description": "Whether to include phone numbers based on their origin. Can be: `twilio` or `hosted`. By default, phone numbers of all origin are included.", "schema": { "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", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -18993,23 +16103,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListIncomingPhoneNumberResponse", "properties": { + "incoming_phone_numbers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.incoming_phone_number" + } + }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" - }, - "incoming_phone_numbers": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_local" - }, - "type": "array" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -19018,19 +16130,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" } - }, - "title": "ListIncomingPhoneNumberLocalResponse", - "type": "object" + } } } }, @@ -19042,90 +16152,73 @@ "accountSid_authToken": [] } ], + "operationId": "ListIncomingPhoneNumber", "x-maturity": [ "GA" ] }, "post": { - "description": "", - "operationId": "CreateIncomingPhoneNumberLocal", + "description": "Purchase a phone-number for the account.", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.incoming_phone_number" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] } ], + "operationId": "CreateIncomingPhoneNumber", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { - "properties": { - "AddressSid": { - "description": "The SID of the Address resource we should associate with the new phone number. Some regions require addresses to meet local regulations.", - "maxLength": 34, - "minLength": 34, - "pattern": "^AD[0-9a-fA-F]{32}$", - "type": "string" - }, - "ApiVersion": { - "description": "The API version to use for incoming calls made to the new phone number. The default is `2010-04-01`.", - "type": "string" - }, - "BundleSid": { - "description": "The SID of the Bundle resource that you associate with the phone number. Some regions require a Bundle to meet local Regulations.", - "maxLength": 34, - "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - }, - "EmergencyAddressSid": { - "description": "The SID of the emergency address configuration to use for emergency calling from the new phone number.", - "maxLength": 34, - "minLength": 34, - "pattern": "^AD[0-9a-fA-F]{32}$", - "type": "string" - }, - "EmergencyStatus": { - "description": "The parameter displays if emergency calling is enabled for this number. Active numbers may place emergency calls by dialing valid emergency numbers for the country.", - "enum": [ - "Active", - "Inactive" - ], - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you created to describe the new phone number. It can be up to 64 characters long. By default, this is a formatted version of the phone number.", - "type": "string" - }, - "IdentitySid": { - "description": "The SID of the Identity resource that we should associate with the new phone number. Some regions require an identity to meet local regulations.", - "maxLength": 34, - "minLength": 34, - "pattern": "^RI[0-9a-fA-F]{32}$", - "type": "string" + "type": "object", + "title": "CreateIncomingPhoneNumberRequest", + "properties": { + "ApiVersion": { + "type": "string", + "description": "The API version to use for incoming calls made to the new phone number. The default is `2010-04-01`." }, - "PhoneNumber": { - "description": "The phone number to purchase specified 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" + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you created to describe the new phone number. It can be up to 64 characters long. By default, this is a formatted version of the new phone number." }, "SmsApplicationSid": { - "description": "The SID of the application that should handle SMS messages sent to the new phone number. If an `sms_application_sid` is present, we ignore all of the `sms_*_url` urls and use those set on the application.", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, "pattern": "^AP[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the application that should handle SMS messages sent to the new phone number. If an `sms_application_sid` is present, we ignore all of the `sms_*_url` urls and use those set on the application." }, "SmsFallbackMethod": { - "description": "The HTTP method that we should use to call `sms_fallback_url`. Can be: `GET` or `POST` and defaults to `POST`.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -19134,16 +16227,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method that we should use to call `sms_fallback_url`. Can be: `GET` or `POST` and defaults to `POST`." }, "SmsFallbackUrl": { - "description": "The URL that we should call when an error occurs while requesting or executing the TwiML defined by `sms_url`.", + "type": "string", "format": "uri", - "type": "string" + "description": "The URL that we should call when an error occurs while requesting or executing the TwiML defined by `sms_url`." }, "SmsMethod": { - "description": "The HTTP method that we should use to call `sms_url`. Can be: `GET` or `POST` and defaults to `POST`.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -19152,21 +16245,21 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method that we should use to call `sms_url`. Can be: `GET` or `POST` and defaults to `POST`." }, "SmsUrl": { - "description": "The URL we should call when the new phone number receives an incoming SMS message.", + "type": "string", "format": "uri", - "type": "string" + "description": "The URL we should call when the new phone number receives an incoming SMS message." }, "StatusCallback": { - "description": "The URL we should call using the `status_callback_method` to send status information to your application.", + "type": "string", "format": "uri", - "type": "string" + "description": "The URL we should call using the `status_callback_method` to send status information to your application." }, "StatusCallbackMethod": { - "description": "The HTTP method we should use to call `status_callback`. Can be: `GET` or `POST` and defaults to `POST`.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -19175,29 +16268,22 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" - }, - "TrunkSid": { - "description": "The SID of the Trunk we should use to handle calls to the new phone number. If a `trunk_sid` is present, we ignore all of the voice urls and voice applications and use only those set on the Trunk. Setting a `trunk_sid` will automatically delete your `voice_application_sid` and vice versa.", - "maxLength": 34, - "minLength": 34, - "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" + "description": "The HTTP method we should use to call `status_callback`. Can be: `GET` or `POST` and defaults to `POST`." }, "VoiceApplicationSid": { - "description": "The SID of the application we should use to handle calls to the new phone number. If a `voice_application_sid` is present, we ignore all of the voice urls and use only those set on the application. Setting a `voice_application_sid` will automatically delete your `trunk_sid` and vice versa.", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, "pattern": "^AP[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the application we should use to handle calls to the new phone number. If a `voice_application_sid` is present, we ignore all of the voice urls and use only those set on the application. Setting a `voice_application_sid` will automatically delete your `trunk_sid` and vice versa." }, "VoiceCallerIdLookup": { - "description": "Whether to lookup the caller's name from the CNAM database and post it to your app. Can be: `true` or `false` and defaults to `false`.", - "type": "boolean" + "type": "boolean", + "description": "Whether to lookup the caller's name from the CNAM database and post it to your app. Can be: `true` or `false` and defaults to `false`." }, "VoiceFallbackMethod": { - "description": "The HTTP method that we should use to call `voice_fallback_url`. Can be: `GET` or `POST` and defaults to `POST`.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -19206,16 +16292,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method that we should use to call `voice_fallback_url`. Can be: `GET` or `POST` and defaults to `POST`." }, "VoiceFallbackUrl": { - "description": "The URL that we should call when an error occurs retrieving or executing the TwiML requested by `url`.", + "type": "string", "format": "uri", - "type": "string" + "description": "The URL that we should call when an error occurs retrieving or executing the TwiML requested by `url`." }, "VoiceMethod": { - "description": "The HTTP method that we should use to call `voice_url`. Can be: `GET` or `POST` and defaults to `POST`.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -19224,42 +16310,155 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method that we should use to call `voice_url`. Can be: `GET` or `POST` and defaults to `POST`." + }, + "VoiceUrl": { + "type": "string", + "format": "uri", + "description": "The URL that we should call to answer a call to the new phone number. The `voice_url` will not be called if a `voice_application_sid` or a `trunk_sid` is set." + }, + "EmergencyStatus": { + "type": "string", + "enum": [ + "Active", + "Inactive" + ], + "description": "The parameter displays if emergency calling is enabled for this number. Active numbers may place emergency calls by dialing valid emergency numbers for the country." + }, + "EmergencyAddressSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AD[0-9a-fA-F]{32}$", + "description": "The SID of the emergency address configuration to use for emergency calling from the new phone number." + }, + "TrunkSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^TK[0-9a-fA-F]{32}$", + "description": "The SID of the Trunk we should use to handle calls to the new phone number. If a `trunk_sid` is present, we ignore all of the voice urls and voice applications and use only those set on the Trunk. Setting a `trunk_sid` will automatically delete your `voice_application_sid` and vice versa." + }, + "IdentitySid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RI[0-9a-fA-F]{32}$", + "description": "The SID of the Identity resource that we should associate with the new phone number. Some regions require an identity to meet local regulations." + }, + "AddressSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AD[0-9a-fA-F]{32}$", + "description": "The SID of the Address resource we should associate with the new phone number. Some regions require addresses to meet local regulations." }, "VoiceReceiveMode": { - "description": "The configuration parameter for the new phone number to receive incoming voice calls or faxes. Can be: `fax` or `voice` and defaults to `voice`.", + "type": "string", "enum": [ "voice", "fax" ], - "type": "string" + "description": "The configuration parameter for the new phone number to receive incoming voice calls or faxes. Can be: `fax` or `voice` and defaults to `voice`." }, - "VoiceUrl": { - "description": "The URL that we should call to answer a call to the new phone number. The `voice_url` will not be called if a `voice_application_sid` or a `trunk_sid` is set.", - "format": "uri", - "type": "string" + "BundleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$", + "description": "The SID of the Bundle resource that you associate with the phone number. Some regions require a Bundle to meet local Regulations." + }, + "PhoneNumber": { + "type": "string", + "format": "phone-number", + "description": "The phone number to purchase specified 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." + }, + "AreaCode": { + "type": "string", + "description": "The desired area code for your new incoming phone number. Can be any three-digit, US or Canada area code. We will provision an available phone number within this area code for you. **You must provide an `area_code` or a `phone_number`.** (US and Canada only)." } - }, - "required": [ - "PhoneNumber" - ], - "title": "CreateIncomingPhoneNumberLocalRequest", - "type": "object" + } } } } }, + "x-twilio": { + "conditional": [ + [ + "phone_number", + "area_code" + ] + ] + } + } + }, + "/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/{ResourceSid}/AssignedAddOns/{Sid}.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "unique_name", + "friendly_name", + "description" + ], + "pathType": "instance", + "parent": "/Accounts/{AccountSid}/IncomingPhoneNumbers.json" + }, + "get": { + "description": "Fetch an instance of an Add-on installation currently assigned to this Number.", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "ResourceSid", + "in": "path", + "description": "The SID of the Phone Number to which the Add-on is assigned.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^PN[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^XE[0-9a-fA-F]{32}$" + }, + "required": true + } + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_local" + "$ref": "#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_assigned_add_on" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -19267,84 +16466,119 @@ "accountSid_authToken": [] } ], + "operationId": "FetchIncomingPhoneNumberAssignedAddOn", "x-maturity": [ - "GA" + "Beta" ] }, + "delete": { + "description": "Remove the assignment of an Add-on installation from the Number specified.", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the resources to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "ResourceSid", + "in": "path", + "description": "The SID of the Phone Number to which the Add-on is assigned.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^PN[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the resource to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^XE[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteIncomingPhoneNumberAssignedAddOn", + "x-maturity": [ + "Beta" + ] + } + }, + "/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/{ResourceSid}/AssignedAddOns.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", - "phone_number", - "friendly_name" + "unique_name", + "friendly_name", + "description" ], - "parent": "/Accounts/{AccountSid}/IncomingPhoneNumbers.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/Mobile.json": { - "description": "Incoming mobile phone numbers on a Twilio account/project", + "pathType": "list", + "parent": "/Accounts/{AccountSid}/IncomingPhoneNumbers.json" + }, "get": { - "description": "", - "operationId": "ListIncomingPhoneNumberMobile", + "description": "Retrieve a list of Add-on installations currently assigned to this Number.", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the resources to read.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "Whether to include phone numbers new to the Twilio platform. Can be: `true` or `false` and the default is `true`.", - "in": "query", - "name": "Beta", - "schema": { - "type": "boolean" - } - }, - { - "description": "A string that identifies the resources to read.", - "in": "query", - "name": "FriendlyName", - "schema": { - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The phone numbers of the IncomingPhoneNumber resources to read. You can specify partial numbers and use '*' as a wildcard for any digit.", - "in": "query", - "name": "PhoneNumber", + "name": "ResourceSid", + "in": "path", + "description": "The SID of the Phone Number to which the Add-on is assigned.", "schema": { - "format": "phone-number", - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^PN[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "Whether to include phone numbers based on their origin. Can be: `twilio` or `hosted`. By default, phone numbers of all origin are included.", + "name": "PageSize", "in": "query", - "name": "Origin", - "schema": { - "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, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -19353,23 +16587,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListIncomingPhoneNumberAssignedAddOnResponse", "properties": { + "assigned_add_ons": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_assigned_add_on" + } + }, "end": { "type": "integer" }, - "first_page_uri": { - "format": "uri", - "type": "string" - }, - "incoming_phone_numbers": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_mobile" - }, - "type": "array" + "first_page_uri": { + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -19378,19 +16614,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" } - }, - "title": "ListIncomingPhoneNumberMobileResponse", - "type": "object" + } } } }, @@ -19402,224 +16636,164 @@ "accountSid_authToken": [] } ], + "operationId": "ListIncomingPhoneNumberAssignedAddOn", "x-maturity": [ - "GA" + "Beta" ] }, "post": { - "description": "", - "operationId": "CreateIncomingPhoneNumberMobile", + "description": "Assign an Add-on installation to the Number specified.", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "ResourceSid", + "in": "path", + "description": "The SID of the Phone Number to assign the Add-on.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^PN[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_assigned_add_on" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] } ], + "operationId": "CreateIncomingPhoneNumberAssignedAddOn", + "x-maturity": [ + "Beta" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateIncomingPhoneNumberAssignedAddOnRequest", "properties": { - "AddressSid": { - "description": "The SID of the Address resource we should associate with the new phone number. Some regions require addresses to meet local regulations.", - "maxLength": 34, - "minLength": 34, - "pattern": "^AD[0-9a-fA-F]{32}$", - "type": "string" - }, - "ApiVersion": { - "description": "The API version to use for incoming calls made to the new phone number. The default is `2010-04-01`.", - "type": "string" - }, - "BundleSid": { - "description": "The SID of the Bundle resource that you associate with the phone number. Some regions require a Bundle to meet local Regulations.", - "maxLength": 34, - "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - }, - "EmergencyAddressSid": { - "description": "The SID of the emergency address configuration to use for emergency calling from the new phone number.", - "maxLength": 34, - "minLength": 34, - "pattern": "^AD[0-9a-fA-F]{32}$", - "type": "string" - }, - "EmergencyStatus": { - "description": "The parameter displays if emergency calling is enabled for this number. Active numbers may place emergency calls by dialing valid emergency numbers for the country.", - "enum": [ - "Active", - "Inactive" - ], - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you created to describe the new phone number. It can be up to 64 characters long. By default, the is a formatted version of the phone number.", - "type": "string" - }, - "IdentitySid": { - "description": "The SID of the Identity resource that we should associate with the new phone number. Some regions require an identity to meet local regulations.", - "maxLength": 34, - "minLength": 34, - "pattern": "^RI[0-9a-fA-F]{32}$", - "type": "string" - }, - "PhoneNumber": { - "description": "The phone number to purchase specified 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" - }, - "SmsApplicationSid": { - "description": "The SID of the application that should handle SMS messages sent to the new phone number. If an `sms_application_sid` is present, we ignore all of the `sms_*_url` urls and use those of the application.", - "maxLength": 34, - "minLength": 34, - "pattern": "^AP[0-9a-fA-F]{32}$", - "type": "string" - }, - "SmsFallbackMethod": { - "description": "The HTTP method that we should use to call `sms_fallback_url`. Can be: `GET` or `POST` and defaults to `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "SmsFallbackUrl": { - "description": "The URL that we should call when an error occurs while requesting or executing the TwiML defined by `sms_url`.", - "format": "uri", - "type": "string" - }, - "SmsMethod": { - "description": "The HTTP method that we should use to call `sms_url`. Can be: `GET` or `POST` and defaults to `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "SmsUrl": { - "description": "The URL we should call when the new phone number receives an incoming SMS message.", - "format": "uri", - "type": "string" - }, - "StatusCallback": { - "description": "The URL we should call using the `status_callback_method` to send status information to your application.", - "format": "uri", - "type": "string" - }, - "StatusCallbackMethod": { - "description": "The HTTP method we should use to call `status_callback`. Can be: `GET` or `POST` and defaults to `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "TrunkSid": { - "description": "The SID of the Trunk we should use to handle calls to the new phone number. If a `trunk_sid` is present, we ignore all of the voice urls and voice applications and use only those set on the Trunk. Setting a `trunk_sid` will automatically delete your `voice_application_sid` and vice versa.", - "maxLength": 34, + "InstalledAddOnSid": { + "type": "string", "minLength": 34, - "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" - }, - "VoiceApplicationSid": { - "description": "The SID of the application we should use to handle calls to the new phone number. If a `voice_application_sid` is present, we ignore all of the voice urls and use only those set on the application. Setting a `voice_application_sid` will automatically delete your `trunk_sid` and vice versa.", "maxLength": 34, - "minLength": 34, - "pattern": "^AP[0-9a-fA-F]{32}$", - "type": "string" - }, - "VoiceCallerIdLookup": { - "description": "Whether to lookup the caller's name from the CNAM database and post it to your app. Can be: `true` or `false` and defaults to `false`.", - "type": "boolean" - }, - "VoiceFallbackMethod": { - "description": "The HTTP method that we should use to call `voice_fallback_url`. Can be: `GET` or `POST` and defaults to `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "VoiceFallbackUrl": { - "description": "The URL that we should call when an error occurs retrieving or executing the TwiML requested by `url`.", - "format": "uri", - "type": "string" - }, - "VoiceMethod": { - "description": "The HTTP method that we should use to call `voice_url`. Can be: `GET` or `POST` and defaults to `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "VoiceReceiveMode": { - "description": "The configuration parameter for the new phone number to receive incoming voice calls or faxes. Can be: `fax` or `voice` and defaults to `voice`.", - "enum": [ - "voice", - "fax" - ], - "type": "string" - }, - "VoiceUrl": { - "description": "The URL that we should call to answer a call to the new phone number. The `voice_url` will not be called if a `voice_application_sid` or a `trunk_sid` is set.", - "format": "uri", - "type": "string" + "pattern": "^XE[0-9a-fA-F]{32}$", + "description": "The SID that identifies the Add-on installation." } }, "required": [ - "PhoneNumber" - ], - "title": "CreateIncomingPhoneNumberMobileRequest", - "type": "object" + "InstalledAddOnSid" + ] } } } - }, + } + } + }, + "/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/{ResourceSid}/AssignedAddOns/{AssignedAddOnSid}/Extensions/{Sid}.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "unique_name", + "friendly_name", + "product_name" + ], + "pathType": "instance", + "parent": "/Accounts/{AccountSid}/IncomingPhoneNumbers/{ResourceSid}/AssignedAddOns.json", + "className": "assigned_add_on_extension" + }, + "get": { + "description": "Fetch an instance of an Extension for the Assigned Add-on.", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "ResourceSid", + "in": "path", + "description": "The SID of the Phone Number to which the Add-on is assigned.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^PN[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "AssignedAddOnSid", + "in": "path", + "description": "The SID that uniquely identifies the assigned Add-on installation.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^XE[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^XF[0-9a-fA-F]{32}$" + }, + "required": true + } + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_mobile" + "$ref": "#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_assigned_add_on.incoming_phone_number_assigned_add_on_extension" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -19627,84 +16801,77 @@ "accountSid_authToken": [] } ], + "operationId": "FetchIncomingPhoneNumberAssignedAddOnExtension", "x-maturity": [ - "GA" + "Beta" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/{ResourceSid}/AssignedAddOns/{AssignedAddOnSid}/Extensions.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", - "phone_number", - "friendly_name" + "unique_name", + "friendly_name", + "product_name" ], - "parent": "/Accounts/{AccountSid}/IncomingPhoneNumbers.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/TollFree.json": { - "description": "Incoming toll free phone numbers on a Twilio account/project", + "pathType": "list", + "parent": "/Accounts/{AccountSid}/IncomingPhoneNumbers/{ResourceSid}/AssignedAddOns.json", + "className": "assigned_add_on_extension" + }, "get": { - "description": "", - "operationId": "ListIncomingPhoneNumberTollFree", + "description": "Retrieve a list of Extensions for the Assigned Add-on.", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the resources to read.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "Whether to include phone numbers new to the Twilio platform. Can be: `true` or `false` and the default is `true`.", - "in": "query", - "name": "Beta", - "schema": { - "type": "boolean" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "A string that identifies the resources to read.", - "in": "query", - "name": "FriendlyName", + "name": "ResourceSid", + "in": "path", + "description": "The SID of the Phone Number to which the Add-on is assigned.", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^PN[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The phone numbers of the IncomingPhoneNumber resources to read. You can specify partial numbers and use '*' as a wildcard for any digit.", - "in": "query", - "name": "PhoneNumber", + "name": "AssignedAddOnSid", + "in": "path", + "description": "The SID that uniquely identifies the assigned Add-on installation.", "schema": { - "format": "phone-number", - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^XE[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "Whether to include phone numbers based on their origin. Can be: `twilio` or `hosted`. By default, phone numbers of all origin are included.", + "name": "PageSize", "in": "query", - "name": "Origin", - "schema": { - "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, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -19713,23 +16880,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListIncomingPhoneNumberAssignedAddOnExtensionResponse", "properties": { + "extensions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_assigned_add_on.incoming_phone_number_assigned_add_on_extension" + } + }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" - }, - "incoming_phone_numbers": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_toll_free" - }, - "type": "array" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -19738,248 +16907,21 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" } - }, - "title": "ListIncomingPhoneNumberTollFreeResponse", - "type": "object" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "", - "operationId": "CreateIncomingPhoneNumberTollFree", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "AddressSid": { - "description": "The SID of the Address resource we should associate with the new phone number. Some regions require addresses to meet local regulations.", - "maxLength": 34, - "minLength": 34, - "pattern": "^AD[0-9a-fA-F]{32}$", - "type": "string" - }, - "ApiVersion": { - "description": "The API version to use for incoming calls made to the new phone number. The default is `2010-04-01`.", - "type": "string" - }, - "BundleSid": { - "description": "The SID of the Bundle resource that you associate with the phone number. Some regions require a Bundle to meet local Regulations.", - "maxLength": 34, - "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - }, - "EmergencyAddressSid": { - "description": "The SID of the emergency address configuration to use for emergency calling from the new phone number.", - "maxLength": 34, - "minLength": 34, - "pattern": "^AD[0-9a-fA-F]{32}$", - "type": "string" - }, - "EmergencyStatus": { - "description": "The parameter displays if emergency calling is enabled for this number. Active numbers may place emergency calls by dialing valid emergency numbers for the country.", - "enum": [ - "Active", - "Inactive" - ], - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you created to describe the new phone number. It can be up to 64 characters long. By default, this is a formatted version of the phone number.", - "type": "string" - }, - "IdentitySid": { - "description": "The SID of the Identity resource that we should associate with the new phone number. Some regions require an Identity to meet local regulations.", - "maxLength": 34, - "minLength": 34, - "pattern": "^RI[0-9a-fA-F]{32}$", - "type": "string" - }, - "PhoneNumber": { - "description": "The phone number to purchase specified 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" - }, - "SmsApplicationSid": { - "description": "The SID of the application that should handle SMS messages sent to the new phone number. If an `sms_application_sid` is present, we ignore all `sms_*_url` values and use those of the application.", - "maxLength": 34, - "minLength": 34, - "pattern": "^AP[0-9a-fA-F]{32}$", - "type": "string" - }, - "SmsFallbackMethod": { - "description": "The HTTP method that we should use to call `sms_fallback_url`. Can be: `GET` or `POST` and defaults to `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "SmsFallbackUrl": { - "description": "The URL that we should call when an error occurs while requesting or executing the TwiML defined by `sms_url`.", - "format": "uri", - "type": "string" - }, - "SmsMethod": { - "description": "The HTTP method that we should use to call `sms_url`. Can be: `GET` or `POST` and defaults to `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "SmsUrl": { - "description": "The URL we should call when the new phone number receives an incoming SMS message.", - "format": "uri", - "type": "string" - }, - "StatusCallback": { - "description": "The URL we should call using the `status_callback_method` to send status information to your application.", - "format": "uri", - "type": "string" - }, - "StatusCallbackMethod": { - "description": "The HTTP method we should use to call `status_callback`. Can be: `GET` or `POST` and defaults to `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "TrunkSid": { - "description": "The SID of the Trunk we should use to handle calls to the new phone number. If a `trunk_sid` is present, we ignore all of the voice urls and voice applications and use only those set on the Trunk. Setting a `trunk_sid` will automatically delete your `voice_application_sid` and vice versa.", - "maxLength": 34, - "minLength": 34, - "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" - }, - "VoiceApplicationSid": { - "description": "The SID of the application we should use to handle calls to the new phone number. If a `voice_application_sid` is present, we ignore all of the voice urls and use those set on the application. Setting a `voice_application_sid` will automatically delete your `trunk_sid` and vice versa.", - "maxLength": 34, - "minLength": 34, - "pattern": "^AP[0-9a-fA-F]{32}$", - "type": "string" - }, - "VoiceCallerIdLookup": { - "description": "Whether to lookup the caller's name from the CNAM database and post it to your app. Can be: `true` or `false` and defaults to `false`.", - "type": "boolean" - }, - "VoiceFallbackMethod": { - "description": "The HTTP method that we should use to call `voice_fallback_url`. Can be: `GET` or `POST` and defaults to `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "VoiceFallbackUrl": { - "description": "The URL that we should call when an error occurs retrieving or executing the TwiML requested by `url`.", - "format": "uri", - "type": "string" - }, - "VoiceMethod": { - "description": "The HTTP method that we should use to call `voice_url`. Can be: `GET` or `POST` and defaults to `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "VoiceReceiveMode": { - "description": "The configuration parameter for the new phone number to receive incoming voice calls or faxes. Can be: `fax` or `voice` and defaults to `voice`.", - "enum": [ - "voice", - "fax" - ], - "type": "string" - }, - "VoiceUrl": { - "description": "The URL that we should call to answer a call to the new phone number. The `voice_url` will not be called if a `voice_application_sid` or a `trunk_sid` is set.", - "format": "uri", - "type": "string" } - }, - "required": [ - "PhoneNumber" - ], - "title": "CreateIncomingPhoneNumberTollFreeRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_toll_free" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -19987,63 +16929,84 @@ "accountSid_authToken": [] } ], + "operationId": "ListIncomingPhoneNumberAssignedAddOnExtension", "x-maturity": [ - "GA" + "Beta" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/Local.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Incoming local phone numbers on a Twilio account/project", "x-twilio": { "defaultOutputProperties": [ "sid", "phone_number", "friendly_name" ], - "parent": "/Accounts/{AccountSid}/IncomingPhoneNumbers.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/{ResourceSid}/AssignedAddOns.json": { - "description": "TODO: Resource-level docs", + "pathType": "list", + "parent": "/Accounts/{AccountSid}/IncomingPhoneNumbers.json" + }, "get": { - "description": "Retrieve a list of Add-on installations currently assigned to this Number.", - "operationId": "ListIncomingPhoneNumberAssignedAddOn", + "description": "", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the resources to read.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Beta", + "in": "query", + "description": "Whether to include phone numbers new to the Twilio platform. Can be: `true` or `false` and the default is `true`.", + "schema": { + "type": "boolean" } }, { - "description": "The SID of the Phone Number to which the Add-on is assigned.", - "in": "path", - "name": "ResourceSid", - "required": true, + "name": "FriendlyName", + "in": "query", + "description": "A string that identifies the resources to read.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^PN[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.", + "name": "PhoneNumber", + "in": "query", + "description": "The phone numbers of the IncomingPhoneNumber resources to read. You can specify partial numbers and use '*' as a wildcard for any digit.", + "schema": { + "type": "string", + "format": "phone-number" + } + }, + { + "name": "Origin", "in": "query", + "description": "Whether to include phone numbers based on their origin. Can be: `twilio` or `hosted`. By default, phone numbers of all origin are included.", + "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": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -20052,23 +17015,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListIncomingPhoneNumberLocalResponse", "properties": { - "assigned_add_ons": { + "incoming_phone_numbers": { + "type": "array", "items": { - "$ref": "#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_assigned_add_on" - }, - "type": "array" + "$ref": "#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_local" + } }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -20077,19 +17042,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" } - }, - "title": "ListIncomingPhoneNumberAssignedAddOnResponse", - "type": "object" + } } } }, @@ -20101,67 +17064,33 @@ "accountSid_authToken": [] } ], + "operationId": "ListIncomingPhoneNumberLocal", "x-maturity": [ - "Beta" + "GA" ] }, "post": { - "description": "Assign an Add-on installation to the Number specified.", - "operationId": "CreateIncomingPhoneNumberAssignedAddOn", + "description": "", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", - "in": "path", "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the Phone Number to assign the Add-on.", "in": "path", - "name": "ResourceSid", - "required": true, + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^PN[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "InstalledAddOnSid": { - "description": "The SID that identifies the Add-on installation.", - "maxLength": 34, - "minLength": 34, - "pattern": "^XE[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "required": [ - "InstalledAddOnSid" - ], - "title": "CreateIncomingPhoneNumberAssignedAddOnRequest", - "type": "object" - } - } - } - }, "responses": { "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_assigned_add_on" + "$ref": "#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_local" } } }, @@ -20173,76 +17102,271 @@ "accountSid_authToken": [] } ], + "operationId": "CreateIncomingPhoneNumberLocal", "x-maturity": [ - "Beta" - ] - }, + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateIncomingPhoneNumberLocalRequest", + "properties": { + "PhoneNumber": { + "type": "string", + "format": "phone-number", + "description": "The phone number to purchase specified 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." + }, + "ApiVersion": { + "type": "string", + "description": "The API version to use for incoming calls made to the new phone number. The default is `2010-04-01`." + }, + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you created to describe the new phone number. It can be up to 64 characters long. By default, this is a formatted version of the phone number." + }, + "SmsApplicationSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AP[0-9a-fA-F]{32}$", + "description": "The SID of the application that should handle SMS messages sent to the new phone number. If an `sms_application_sid` is present, we ignore all of the `sms_*_url` urls and use those set on the application." + }, + "SmsFallbackMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method that we should use to call `sms_fallback_url`. Can be: `GET` or `POST` and defaults to `POST`." + }, + "SmsFallbackUrl": { + "type": "string", + "format": "uri", + "description": "The URL that we should call when an error occurs while requesting or executing the TwiML defined by `sms_url`." + }, + "SmsMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method that we should use to call `sms_url`. Can be: `GET` or `POST` and defaults to `POST`." + }, + "SmsUrl": { + "type": "string", + "format": "uri", + "description": "The URL we should call when the new phone number receives an incoming SMS message." + }, + "StatusCallback": { + "type": "string", + "format": "uri", + "description": "The URL we should call using the `status_callback_method` to send status information to your application." + }, + "StatusCallbackMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method we should use to call `status_callback`. Can be: `GET` or `POST` and defaults to `POST`." + }, + "VoiceApplicationSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AP[0-9a-fA-F]{32}$", + "description": "The SID of the application we should use to handle calls to the new phone number. If a `voice_application_sid` is present, we ignore all of the voice urls and use only those set on the application. Setting a `voice_application_sid` will automatically delete your `trunk_sid` and vice versa." + }, + "VoiceCallerIdLookup": { + "type": "boolean", + "description": "Whether to lookup the caller's name from the CNAM database and post it to your app. Can be: `true` or `false` and defaults to `false`." + }, + "VoiceFallbackMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method that we should use to call `voice_fallback_url`. Can be: `GET` or `POST` and defaults to `POST`." + }, + "VoiceFallbackUrl": { + "type": "string", + "format": "uri", + "description": "The URL that we should call when an error occurs retrieving or executing the TwiML requested by `url`." + }, + "VoiceMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method that we should use to call `voice_url`. Can be: `GET` or `POST` and defaults to `POST`." + }, + "VoiceUrl": { + "type": "string", + "format": "uri", + "description": "The URL that we should call to answer a call to the new phone number. The `voice_url` will not be called if a `voice_application_sid` or a `trunk_sid` is set." + }, + "IdentitySid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RI[0-9a-fA-F]{32}$", + "description": "The SID of the Identity resource that we should associate with the new phone number. Some regions require an identity to meet local regulations." + }, + "AddressSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AD[0-9a-fA-F]{32}$", + "description": "The SID of the Address resource we should associate with the new phone number. Some regions require addresses to meet local regulations." + }, + "EmergencyStatus": { + "type": "string", + "enum": [ + "Active", + "Inactive" + ], + "description": "The parameter displays if emergency calling is enabled for this number. Active numbers may place emergency calls by dialing valid emergency numbers for the country." + }, + "EmergencyAddressSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AD[0-9a-fA-F]{32}$", + "description": "The SID of the emergency address configuration to use for emergency calling from the new phone number." + }, + "TrunkSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^TK[0-9a-fA-F]{32}$", + "description": "The SID of the Trunk we should use to handle calls to the new phone number. If a `trunk_sid` is present, we ignore all of the voice urls and voice applications and use only those set on the Trunk. Setting a `trunk_sid` will automatically delete your `voice_application_sid` and vice versa." + }, + "VoiceReceiveMode": { + "type": "string", + "enum": [ + "voice", + "fax" + ], + "description": "The configuration parameter for the new phone number to receive incoming voice calls or faxes. Can be: `fax` or `voice` and defaults to `voice`." + }, + "BundleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$", + "description": "The SID of the Bundle resource that you associate with the phone number. Some regions require a Bundle to meet local Regulations." + } + }, + "required": [ + "PhoneNumber" + ] + } + } + } + } + } + }, + "/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/Mobile.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Incoming mobile phone numbers on a Twilio account/project", "x-twilio": { "defaultOutputProperties": [ "sid", - "unique_name", - "friendly_name", - "description" + "phone_number", + "friendly_name" ], - "parent": "/Accounts/{AccountSid}/IncomingPhoneNumbers.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/{ResourceSid}/AssignedAddOns/{AssignedAddOnSid}/Extensions.json": { - "description": "TODO: Resource-level docs", + "pathType": "list", + "parent": "/Accounts/{AccountSid}/IncomingPhoneNumbers.json" + }, "get": { - "description": "Retrieve a list of Extensions for the Assigned Add-on.", - "operationId": "ListIncomingPhoneNumberAssignedAddOnExtension", + "description": "", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the resources to read.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Beta", + "in": "query", + "description": "Whether to include phone numbers new to the Twilio platform. Can be: `true` or `false` and the default is `true`.", + "schema": { + "type": "boolean" } }, { - "description": "The SID of the Phone Number to which the Add-on is assigned.", - "in": "path", - "name": "ResourceSid", - "required": true, + "name": "FriendlyName", + "in": "query", + "description": "A string that identifies the resources to read.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^PN[0-9a-fA-F]{32}$", "type": "string" } }, { - "description": "The SID that uniquely identifies the assigned Add-on installation.", - "in": "path", - "name": "AssignedAddOnSid", - "required": true, + "name": "PhoneNumber", + "in": "query", + "description": "The phone numbers of the IncomingPhoneNumber resources to read. You can specify partial numbers and use '*' as a wildcard for any digit.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^XE[0-9a-fA-F]{32}$", - "type": "string" + "type": "string", + "format": "phone-number" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", + "name": "Origin", "in": "query", + "description": "Whether to include phone numbers based on their origin. Can be: `twilio` or `hosted`. By default, phone numbers of all origin are included.", + "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": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -20251,23 +17375,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListIncomingPhoneNumberMobileResponse", "properties": { + "incoming_phone_numbers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_mobile" + } + }, "end": { "type": "integer" }, - "extensions": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_assigned_add_on.incoming_phone_number_assigned_add_on_extension" - }, - "type": "array" - }, "first_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -20276,19 +17402,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" } - }, - "title": "ListIncomingPhoneNumberAssignedAddOnExtensionResponse", - "type": "object" + } } } }, @@ -20300,215 +17424,309 @@ "accountSid_authToken": [] } ], + "operationId": "ListIncomingPhoneNumberMobile", "x-maturity": [ - "Beta" + "GA" ] }, - "servers": [ - { - "url": "https://api.twilio.com" - } - ], - "x-twilio": { - "className": "assigned_add_on_extension", - "defaultOutputProperties": [ - "sid", - "unique_name", - "friendly_name", - "product_name" - ], - "parent": "/Accounts/{AccountSid}/IncomingPhoneNumbers/{ResourceSid}/AssignedAddOns.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/{ResourceSid}/AssignedAddOns/{AssignedAddOnSid}/Extensions/{Sid}.json": { - "description": "TODO: Resource-level docs", - "get": { - "description": "Fetch an instance of an Extension for the Assigned Add-on.", - "operationId": "FetchIncomingPhoneNumberAssignedAddOnExtension", + "post": { + "description": "", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the resource to fetch.", - "in": "path", "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the Phone Number to which the Add-on is assigned.", "in": "path", - "name": "ResourceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^PN[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID that uniquely identifies the assigned Add-on installation.", - "in": "path", - "name": "AssignedAddOnSid", - "required": true, + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^XE[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { "maxLength": 34, - "minLength": 34, - "pattern": "^XF[0-9a-fA-F]{32}$", - "type": "string" - } + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_assigned_add_on.incoming_phone_number_assigned_add_on_extension" + "$ref": "#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_mobile" } } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateIncomingPhoneNumberMobile", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateIncomingPhoneNumberMobileRequest", + "properties": { + "PhoneNumber": { + "type": "string", + "format": "phone-number", + "description": "The phone number to purchase specified 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." + }, + "ApiVersion": { + "type": "string", + "description": "The API version to use for incoming calls made to the new phone number. The default is `2010-04-01`." + }, + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you created to describe the new phone number. It can be up to 64 characters long. By default, the is a formatted version of the phone number." + }, + "SmsApplicationSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AP[0-9a-fA-F]{32}$", + "description": "The SID of the application that should handle SMS messages sent to the new phone number. If an `sms_application_sid` is present, we ignore all of the `sms_*_url` urls and use those of the application." + }, + "SmsFallbackMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method that we should use to call `sms_fallback_url`. Can be: `GET` or `POST` and defaults to `POST`." + }, + "SmsFallbackUrl": { + "type": "string", + "format": "uri", + "description": "The URL that we should call when an error occurs while requesting or executing the TwiML defined by `sms_url`." + }, + "SmsMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method that we should use to call `sms_url`. Can be: `GET` or `POST` and defaults to `POST`." + }, + "SmsUrl": { + "type": "string", + "format": "uri", + "description": "The URL we should call when the new phone number receives an incoming SMS message." + }, + "StatusCallback": { + "type": "string", + "format": "uri", + "description": "The URL we should call using the `status_callback_method` to send status information to your application." + }, + "StatusCallbackMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method we should use to call `status_callback`. Can be: `GET` or `POST` and defaults to `POST`." + }, + "VoiceApplicationSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AP[0-9a-fA-F]{32}$", + "description": "The SID of the application we should use to handle calls to the new phone number. If a `voice_application_sid` is present, we ignore all of the voice urls and use only those set on the application. Setting a `voice_application_sid` will automatically delete your `trunk_sid` and vice versa." + }, + "VoiceCallerIdLookup": { + "type": "boolean", + "description": "Whether to lookup the caller's name from the CNAM database and post it to your app. Can be: `true` or `false` and defaults to `false`." + }, + "VoiceFallbackMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method that we should use to call `voice_fallback_url`. Can be: `GET` or `POST` and defaults to `POST`." + }, + "VoiceFallbackUrl": { + "type": "string", + "format": "uri", + "description": "The URL that we should call when an error occurs retrieving or executing the TwiML requested by `url`." + }, + "VoiceMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method that we should use to call `voice_url`. Can be: `GET` or `POST` and defaults to `POST`." + }, + "VoiceUrl": { + "type": "string", + "format": "uri", + "description": "The URL that we should call to answer a call to the new phone number. The `voice_url` will not be called if a `voice_application_sid` or a `trunk_sid` is set." + }, + "IdentitySid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RI[0-9a-fA-F]{32}$", + "description": "The SID of the Identity resource that we should associate with the new phone number. Some regions require an identity to meet local regulations." + }, + "AddressSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AD[0-9a-fA-F]{32}$", + "description": "The SID of the Address resource we should associate with the new phone number. Some regions require addresses to meet local regulations." + }, + "EmergencyStatus": { + "type": "string", + "enum": [ + "Active", + "Inactive" + ], + "description": "The parameter displays if emergency calling is enabled for this number. Active numbers may place emergency calls by dialing valid emergency numbers for the country." + }, + "EmergencyAddressSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AD[0-9a-fA-F]{32}$", + "description": "The SID of the emergency address configuration to use for emergency calling from the new phone number." + }, + "TrunkSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^TK[0-9a-fA-F]{32}$", + "description": "The SID of the Trunk we should use to handle calls to the new phone number. If a `trunk_sid` is present, we ignore all of the voice urls and voice applications and use only those set on the Trunk. Setting a `trunk_sid` will automatically delete your `voice_application_sid` and vice versa." + }, + "VoiceReceiveMode": { + "type": "string", + "enum": [ + "voice", + "fax" + ], + "description": "The configuration parameter for the new phone number to receive incoming voice calls or faxes. Can be: `fax` or `voice` and defaults to `voice`." + }, + "BundleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$", + "description": "The SID of the Bundle resource that you associate with the phone number. Some regions require a Bundle to meet local Regulations." + } + }, + "required": [ + "PhoneNumber" + ] + } + } } - ], - "x-maturity": [ - "Beta" - ] - }, + } + } + }, + "/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/TollFree.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Incoming toll free phone numbers on a Twilio account/project", "x-twilio": { - "className": "assigned_add_on_extension", "defaultOutputProperties": [ "sid", - "unique_name", - "friendly_name", - "product_name" + "phone_number", + "friendly_name" ], - "parent": "/Accounts/{AccountSid}/IncomingPhoneNumbers/{ResourceSid}/AssignedAddOns.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/{ResourceSid}/AssignedAddOns/{Sid}.json": { - "delete": { - "description": "Remove the assignment of an Add-on installation from the Number specified.", - "operationId": "DeleteIncomingPhoneNumberAssignedAddOn", + "pathType": "list", + "parent": "/Accounts/{AccountSid}/IncomingPhoneNumbers.json" + }, + "get": { + "description": "", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the resources to delete.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the Phone Number to which the Add-on is assigned.", - "in": "path", - "name": "ResourceSid", - "required": true, + "name": "Beta", + "in": "query", + "description": "Whether to include phone numbers new to the Twilio platform. Can be: `true` or `false` and the default is `true`.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^PN[0-9a-fA-F]{32}$", - "type": "string" + "type": "boolean" } }, { - "description": "The Twilio-provided string that uniquely identifies the resource to delete.", - "in": "path", - "name": "Sid", - "required": true, + "name": "FriendlyName", + "in": "query", + "description": "A string that identifies the resources to read.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^XE[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 an instance of an Add-on installation currently assigned to this Number.", - "operationId": "FetchIncomingPhoneNumberAssignedAddOn", - "parameters": [ + }, { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the resource to fetch.", - "in": "path", - "name": "AccountSid", - "required": true, + "name": "PhoneNumber", + "in": "query", + "description": "The phone numbers of the IncomingPhoneNumber resources to read. You can specify partial numbers and use '*' as a wildcard for any digit.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "type": "string", + "format": "phone-number" } }, { - "description": "The SID of the Phone Number to which the Add-on is assigned.", - "in": "path", - "name": "ResourceSid", - "required": true, + "name": "Origin", + "in": "query", + "description": "Whether to include phone numbers based on their origin. Can be: `twilio` or `hosted`. By default, phone numbers of all origin are included.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^PN[0-9a-fA-F]{32}$", "type": "string" } }, { - "description": "The Twilio-provided string that uniquely identifies the resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, + "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^XE[0-9a-fA-F]{32}$", - "type": "string" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], @@ -20517,7 +17735,44 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_assigned_add_on" + "type": "object", + "title": "ListIncomingPhoneNumberTollFreeResponse", + "properties": { + "incoming_phone_numbers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_toll_free" + } + }, + "end": { + "type": "integer" + }, + "first_page_uri": { + "type": "string", + "format": "uri" + }, + "next_page_uri": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_uri": { + "type": "string", + "format": "uri" + }, + "start": { + "type": "integer" + }, + "uri": { + "type": "string", + "format": "uri" + } + } } } }, @@ -20529,110 +17784,37 @@ "accountSid_authToken": [] } ], - "x-maturity": [ - "Beta" - ] - }, - "servers": [ - { - "url": "https://api.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "unique_name", - "friendly_name", - "description" - ], - "parent": "/Accounts/{AccountSid}/IncomingPhoneNumbers.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/{Sid}.json": { - "delete": { - "description": "Delete a phone-numbers belonging to the account used to make the request.", - "operationId": "DeleteIncomingPhoneNumber", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the IncomingPhoneNumber resources to delete.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the IncomingPhoneNumber 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": [] - } - ], + "operationId": "ListIncomingPhoneNumberTollFree", "x-maturity": [ "GA" ] }, - "description": "Incoming phone numbers on a Twilio account/project", - "get": { - "description": "Fetch an incoming-phone-number belonging to the account used to make the request.", - "operationId": "FetchIncomingPhoneNumber", + "post": { + "description": "", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the IncomingPhoneNumber resource to fetch.", - "in": "path", "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the IncomingPhoneNumber resource to fetch.", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^PN[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.incoming_phone_number" + "$ref": "#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_toll_free" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -20640,104 +17822,40 @@ "accountSid_authToken": [] } ], + "operationId": "CreateIncomingPhoneNumberTollFree", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "Update an incoming-phone-number instance.", - "operationId": "UpdateIncomingPhoneNumber", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the IncomingPhoneNumber resource to update. For more information, see [Exchanging Numbers Between Subaccounts](https://www.twilio.com/docs/iam/api/subaccounts#exchanging-numbers).", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the IncomingPhoneNumber 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": { + "type": "object", + "title": "CreateIncomingPhoneNumberTollFreeRequest", "properties": { - "AccountSid": { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the IncomingPhoneNumber resource to update. For more information, see [Exchanging Numbers Between Subaccounts](https://www.twilio.com/docs/iam/api/subaccounts#exchanging-numbers).", - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "AddressSid": { - "description": "The SID of the Address resource we should associate with the phone number. Some regions require addresses to meet local regulations.", - "maxLength": 34, - "minLength": 34, - "pattern": "^AD[0-9a-fA-F]{32}$", - "type": "string" + "PhoneNumber": { + "type": "string", + "format": "phone-number", + "description": "The phone number to purchase specified 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." }, "ApiVersion": { - "description": "The API version to use for incoming calls made to the phone number. The default is `2010-04-01`.", - "type": "string" - }, - "BundleSid": { - "description": "The SID of the Bundle resource that you associate with the phone number. Some regions require a Bundle to meet local Regulations.", - "maxLength": 34, - "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - }, - "EmergencyAddressSid": { - "description": "The SID of the emergency address configuration to use for emergency calling from this phone number.", - "maxLength": 34, - "minLength": 34, - "pattern": "^AD[0-9a-fA-F]{32}$", - "type": "string" - }, - "EmergencyStatus": { - "description": "The parameter displays if emergency calling is enabled for this number. Active numbers may place emergency calls by dialing valid emergency numbers for the country.", - "enum": [ - "Active", - "Inactive" - ], - "type": "string" + "type": "string", + "description": "The API version to use for incoming calls made to the new phone number. The default is `2010-04-01`." }, "FriendlyName": { - "description": "A descriptive string that you created to describe this phone number. It can be up to 64 characters long. By default, this is a formatted version of the phone number.", - "type": "string" - }, - "IdentitySid": { - "description": "The SID of the Identity resource that we should associate with the phone number. Some regions require an identity to meet local regulations.", - "maxLength": 34, - "minLength": 34, - "pattern": "^RI[0-9a-fA-F]{32}$", - "type": "string" + "type": "string", + "description": "A descriptive string that you created to describe the new phone number. It can be up to 64 characters long. By default, this is a formatted version of the phone number." }, "SmsApplicationSid": { - "description": "The SID of the application that should handle SMS messages sent to the number. If an `sms_application_sid` is present, we ignore all of the `sms_*_url` urls and use those set on the application.", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, "pattern": "^AP[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the application that should handle SMS messages sent to the new phone number. If an `sms_application_sid` is present, we ignore all `sms_*_url` values and use those of the application." }, "SmsFallbackMethod": { - "description": "The HTTP method that we should use to call `sms_fallback_url`. Can be: `GET` or `POST` and defaults to `POST`.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -20746,16 +17864,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method that we should use to call `sms_fallback_url`. Can be: `GET` or `POST` and defaults to `POST`." }, "SmsFallbackUrl": { - "description": "The URL that we should call when an error occurs while requesting or executing the TwiML defined by `sms_url`.", + "type": "string", "format": "uri", - "type": "string" + "description": "The URL that we should call when an error occurs while requesting or executing the TwiML defined by `sms_url`." }, "SmsMethod": { - "description": "The HTTP method that we should use to call `sms_url`. Can be: `GET` or `POST` and defaults to `POST`.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -20764,21 +17882,21 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method that we should use to call `sms_url`. Can be: `GET` or `POST` and defaults to `POST`." }, "SmsUrl": { - "description": "The URL we should call when the phone number receives an incoming SMS message.", + "type": "string", "format": "uri", - "type": "string" + "description": "The URL we should call when the new phone number receives an incoming SMS message." }, "StatusCallback": { - "description": "The URL we should call using the `status_callback_method` to send status information to your application.", + "type": "string", "format": "uri", - "type": "string" + "description": "The URL we should call using the `status_callback_method` to send status information to your application." }, "StatusCallbackMethod": { - "description": "The HTTP method we should use to call `status_callback`. Can be: `GET` or `POST` and defaults to `POST`.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -20787,29 +17905,22 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" - }, - "TrunkSid": { - "description": "The SID of the Trunk we should use to handle phone calls to the phone number. If a `trunk_sid` is present, we ignore all of the voice urls and voice applications and use only those set on the Trunk. Setting a `trunk_sid` will automatically delete your `voice_application_sid` and vice versa.", - "maxLength": 34, - "minLength": 34, - "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" + "description": "The HTTP method we should use to call `status_callback`. Can be: `GET` or `POST` and defaults to `POST`." }, "VoiceApplicationSid": { - "description": "The SID of the application we should use to handle phone calls to the phone number. If a `voice_application_sid` is present, we ignore all of the voice urls and use only those set on the application. Setting a `voice_application_sid` will automatically delete your `trunk_sid` and vice versa.", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, "pattern": "^AP[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the application we should use to handle calls to the new phone number. If a `voice_application_sid` is present, we ignore all of the voice urls and use those set on the application. Setting a `voice_application_sid` will automatically delete your `trunk_sid` and vice versa." }, "VoiceCallerIdLookup": { - "description": "Whether to lookup the caller's name from the CNAM database and post it to your app. Can be: `true` or `false` and defaults to `false`.", - "type": "boolean" + "type": "boolean", + "description": "Whether to lookup the caller's name from the CNAM database and post it to your app. Can be: `true` or `false` and defaults to `false`." }, "VoiceFallbackMethod": { - "description": "The HTTP method that we should use to call `voice_fallback_url`. Can be: `GET` or `POST` and defaults to `POST`.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -20818,16 +17929,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method that we should use to call `voice_fallback_url`. Can be: `GET` or `POST` and defaults to `POST`." }, "VoiceFallbackUrl": { - "description": "The URL that we should call when an error occurs retrieving or executing the TwiML requested by `url`.", + "type": "string", "format": "uri", - "type": "string" + "description": "The URL that we should call when an error occurs retrieving or executing the TwiML requested by `url`." }, "VoiceMethod": { - "description": "The HTTP method that we should use to call `voice_url`. Can be: `GET` or `POST` and defaults to `POST`.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -20836,35 +17947,124 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method that we should use to call `voice_url`. Can be: `GET` or `POST` and defaults to `POST`." + }, + "VoiceUrl": { + "type": "string", + "format": "uri", + "description": "The URL that we should call to answer a call to the new phone number. The `voice_url` will not be called if a `voice_application_sid` or a `trunk_sid` is set." + }, + "IdentitySid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RI[0-9a-fA-F]{32}$", + "description": "The SID of the Identity resource that we should associate with the new phone number. Some regions require an Identity to meet local regulations." + }, + "AddressSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AD[0-9a-fA-F]{32}$", + "description": "The SID of the Address resource we should associate with the new phone number. Some regions require addresses to meet local regulations." + }, + "EmergencyStatus": { + "type": "string", + "enum": [ + "Active", + "Inactive" + ], + "description": "The parameter displays if emergency calling is enabled for this number. Active numbers may place emergency calls by dialing valid emergency numbers for the country." + }, + "EmergencyAddressSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AD[0-9a-fA-F]{32}$", + "description": "The SID of the emergency address configuration to use for emergency calling from the new phone number." + }, + "TrunkSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^TK[0-9a-fA-F]{32}$", + "description": "The SID of the Trunk we should use to handle calls to the new phone number. If a `trunk_sid` is present, we ignore all of the voice urls and voice applications and use only those set on the Trunk. Setting a `trunk_sid` will automatically delete your `voice_application_sid` and vice versa." }, "VoiceReceiveMode": { - "description": "The configuration parameter for the phone number to receive incoming voice calls or faxes. Can be: `fax` or `voice` and defaults to `voice`.", + "type": "string", "enum": [ "voice", "fax" ], - "type": "string" + "description": "The configuration parameter for the new phone number to receive incoming voice calls or faxes. Can be: `fax` or `voice` and defaults to `voice`." }, - "VoiceUrl": { - "description": "The URL that we should call to answer a call to the phone number. The `voice_url` will not be called if a `voice_application_sid` or a `trunk_sid` is set.", - "format": "uri", - "type": "string" + "BundleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$", + "description": "The SID of the Bundle resource that you associate with the phone number. Some regions require a Bundle to meet local Regulations." } }, - "title": "UpdateIncomingPhoneNumberRequest", - "type": "object" + "required": [ + "PhoneNumber" + ] } } } - }, + } + } + }, + "/2010-04-01/Accounts/{AccountSid}/Keys/{Sid}.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], + "description": "API keys", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "date_created" + ], + "pathType": "instance", + "parent": "/Accounts.json" + }, + "get": { + "description": "", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Key resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Key resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^SK[0-9a-fA-F]{32}$" + }, + "required": true + } + ], "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.incoming_phone_number" + "$ref": "#/components/schemas/api.v2010.account.key" } } }, @@ -20876,51 +18076,160 @@ "accountSid_authToken": [] } ], + "operationId": "FetchKey", "x-maturity": [ "GA" ] }, + "post": { + "description": "", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Key resources to update.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Key resource to update.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^SK[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.key" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "UpdateKey", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateKeyRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long." + } + } + } + } + } + } + }, + "delete": { + "description": "", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Key resources to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Key resource to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^SK[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteKey", + "x-maturity": [ + "GA" + ] + } + }, + "/2010-04-01/Accounts/{AccountSid}/Keys.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "API keys", "x-twilio": { "defaultOutputProperties": [ "sid", - "phone_number", - "friendly_name" + "friendly_name", + "date_created" ], - "parent": "/Accounts.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Keys.json": { - "description": "API keys", + "pathType": "list", + "parent": "/Accounts.json" + }, "get": { "description": "", - "operationId": "ListKey", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Key resources to read.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Key resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -20929,23 +18238,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListKeyResponse", "properties": { + "keys": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.key" + } + }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" - }, - "keys": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.key" - }, - "type": "array" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -20954,19 +18265,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" } - }, - "title": "ListKeyResponse", - "type": "object" + } } } }, @@ -20978,53 +18287,331 @@ "accountSid_authToken": [] } ], + "operationId": "ListKey", "x-maturity": [ "GA" ] }, "post": { "description": "", - "operationId": "CreateNewKey", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will be responsible for the new Key resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will be responsible for the new Key resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.new_key" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] } ], + "operationId": "CreateNewKey", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateNewKeyRequest", "properties": { "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long.", - "type": "string" + "type": "string", + "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long." } - }, - "title": "CreateNewKeyRequest", - "type": "object" + } + } + } + } + }, + "x-twilio": { + "className": "new_key" + } + } + }, + "/2010-04-01/Accounts/{AccountSid}/Messages/{MessageSid}/Media/{Sid}.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], + "description": "The Media resource represents a piece of media, such as an image, that is associated with a message.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "parent_sid", + "content_type" + ], + "pathType": "instance", + "parent": "/Accounts/{AccountSid}/Messages.json" + }, + "delete": { + "description": "Delete media from your account. Once delete, you will no longer be billed", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Media resource(s) to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "MessageSid", + "in": "path", + "description": "The SID of the Message resource that this Media resource belongs to.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^(SM|MM)[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Media resource to delete", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^ME[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteMedia", + "x-maturity": [ + "GA" + ] + }, + "get": { + "description": "Fetch a single media instance belonging to the account used to make the request", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Media resource(s) to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "MessageSid", + "in": "path", + "description": "The SID of the Message resource that this Media resource belongs to.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^(SM|MM)[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Media resource to fetch", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^ME[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.message.media" + } } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "FetchMedia", + "x-maturity": [ + "GA" + ] + } + }, + "/2010-04-01/Accounts/{AccountSid}/Messages/{MessageSid}/Media.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], + "description": "The Media resource represents a piece of media, such as an image, that is associated with a message.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "parent_sid", + "content_type" + ], + "pathType": "list", + "parent": "/Accounts/{AccountSid}/Messages.json" + }, + "get": { + "description": "Retrieve a list of Media resources belonging to the account used to make the request", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Media resource(s) to read.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "MessageSid", + "in": "path", + "description": "The SID of the Message resource that this Media resource belongs to.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^(SM|MM)[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "DateCreated", + "in": "query", + "description": "Only include media that was created on this date. Specify a date as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read media that was created on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, to read media that was created on or before midnight of this date, and `StartTime>=YYYY-MM-DD` to read media that was created on or after midnight of this date.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "DateCreated<", + "in": "query", + "description": "Only include media that was created on this date. Specify a date as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read media that was created on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, to read media that was created on or before midnight of this date, and `StartTime>=YYYY-MM-DD` to read media that was created on or after midnight of this date.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "DateCreated>", + "in": "query", + "description": "Only include media that was created on this date. Specify a date as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read media that was created on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, to read media that was created on or before midnight of this date, and `StartTime>=YYYY-MM-DD` to read media that was created on or after midnight of this date.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "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 } } - }, + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.new_key" + "type": "object", + "title": "ListMediaResponse", + "properties": { + "media_list": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.message.media" + } + }, + "end": { + "type": "integer" + }, + "first_page_uri": { + "type": "string", + "format": "uri" + }, + "next_page_uri": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_uri": { + "type": "string", + "format": "uri" + }, + "start": { + "type": "integer" + }, + "uri": { + "type": "string", + "format": "uri" + } + } } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -21032,100 +18619,64 @@ "accountSid_authToken": [] } ], + "operationId": "ListMedia", "x-maturity": [ "GA" - ], - "x-twilio": { - "className": "new_key" - } - }, + ] + } + }, + "/2010-04-01/Accounts/{AccountSid}/Queues/{QueueSid}/Members/{CallSid}.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Calls in a call queue", "x-twilio": { "defaultOutputProperties": [ - "sid", - "friendly_name", - "date_created" + "call_sid", + "date_enqueued", + "position", + "wait_time" ], - "parent": "/Accounts.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Keys/{Sid}.json": { - "delete": { - "description": "", - "operationId": "DeleteKey", + "pathType": "instance", + "parent": "/Accounts/{AccountSid}/Queues.json" + }, + "get": { + "description": "Fetch a specific member from the queue", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Key resources to delete.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Member resource(s) to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Key resource to delete.", + "name": "QueueSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the Queue in which to find the members to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^SK[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "description": "API keys", - "get": { - "description": "", - "operationId": "FetchKey", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Key resource to fetch.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "pattern": "^QU[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Key resource to fetch.", + "name": "CallSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The [Call](https://www.twilio.com/docs/voice/api/call-resource) SID of the resource(s) to fetch.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^SK[0-9a-fA-F]{32}$", "type": "string" - } + }, + "required": true } ], "responses": { @@ -21133,7 +18684,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.key" + "$ref": "#/components/schemas/api.v2010.account.queue.member" } } }, @@ -21145,61 +18696,54 @@ "accountSid_authToken": [] } ], + "operationId": "FetchMember", "x-maturity": [ "GA" ] }, "post": { - "description": "", - "operationId": "UpdateKey", + "description": "Dequeue a member from a queue and have the member's call begin executing the TwiML document at that URL", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Key resources to update.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Member resource(s) to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Key resource to update.", + "name": "QueueSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the Queue in which to find the members to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^SK[0-9a-fA-F]{32}$", + "maxLength": 34, + "pattern": "^QU[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "CallSid", + "in": "path", + "description": "The [Call](https://www.twilio.com/docs/voice/api/call-resource) SID of the resource(s) to update.", + "schema": { "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long.", - "type": "string" - } - }, - "title": "UpdateKeyRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.key" + "$ref": "#/components/schemas/api.v2010.account.queue.member" } } }, @@ -21211,96 +18755,97 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateMember", "x-maturity": [ "GA" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateMemberRequest", + "properties": { + "Url": { + "type": "string", + "format": "uri", + "description": "The absolute URL of the Queue resource." + }, + "Method": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "How to pass the update request data. Can be `GET` or `POST` and the default is `POST`. `POST` sends the data as encoded form data and `GET` sends the data as query parameters." + } + }, + "required": [ + "Url" + ] + } + } + } + } + } + }, + "/2010-04-01/Accounts/{AccountSid}/Queues/{QueueSid}/Members.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Calls in a call queue", "x-twilio": { "defaultOutputProperties": [ - "sid", - "friendly_name", - "date_created" + "call_sid", + "date_enqueued", + "position", + "wait_time" ], - "parent": "/Accounts.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Messages.json": { - "description": "A Message resource represents an inbound or outbound message.", - "get": { - "description": "Retrieve a list of messages belonging to the account used to make the request", - "operationId": "ListMessage", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Message resources to read.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "Read messages sent to only this phone number.", - "in": "query", - "name": "To", - "schema": { - "format": "phone-number", - "type": "string" - } - }, - { - "description": "Read messages sent from only this phone number or alphanumeric sender ID.", - "in": "query", - "name": "From", - "schema": { - "format": "phone-number", - "type": "string" - } - }, - { - "description": "The date of the messages to show. Specify a date as `YYYY-MM-DD` in GMT to read only messages sent on this date. For example: `2009-07-06`. You can also specify an inequality, such as `DateSent<=YYYY-MM-DD`, to read messages sent on or before midnight on a date, and `DateSent>=YYYY-MM-DD` to read messages sent on or after midnight on a date.", - "in": "query", - "name": "DateSent", - "schema": { - "format": "date-time", - "type": "string" - } - }, + "pathType": "list", + "parent": "/Accounts/{AccountSid}/Queues.json" + }, + "get": { + "description": "Retrieve the members of the queue", + "parameters": [ { - "description": "The date of the messages to show. Specify a date as `YYYY-MM-DD` in GMT to read only messages sent on this date. For example: `2009-07-06`. You can also specify an inequality, such as `DateSent<=YYYY-MM-DD`, to read messages sent on or before midnight on a date, and `DateSent>=YYYY-MM-DD` to read messages sent on or after midnight on a date.", - "in": "query", - "name": "DateSent<", + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Member resource(s) to read.", "schema": { - "format": "date-time", - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The date of the messages to show. Specify a date as `YYYY-MM-DD` in GMT to read only messages sent on this date. For example: `2009-07-06`. You can also specify an inequality, such as `DateSent<=YYYY-MM-DD`, to read messages sent on or before midnight on a date, and `DateSent>=YYYY-MM-DD` to read messages sent on or after midnight on a date.", - "in": "query", - "name": "DateSent>", + "name": "QueueSid", + "in": "path", + "description": "The SID of the Queue in which to find the members", "schema": { - "format": "date-time", - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^QU[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -21309,23 +18854,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListMemberResponse", "properties": { + "queue_members": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.queue.member" + } + }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" - }, - "messages": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.message" - }, - "type": "array" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -21334,19 +18881,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" } - }, - "title": "ListMessageResponse", - "type": "object" + } } } }, @@ -21358,347 +18903,266 @@ "accountSid_authToken": [] } ], + "operationId": "ListMember", "x-maturity": [ "GA" ] + } + }, + "/2010-04-01/Accounts/{AccountSid}/Messages.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], + "description": "A Message resource represents an inbound or outbound message.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "from", + "to", + "status", + "direction", + "date_sent" + ], + "pathType": "list", + "parent": "/Accounts.json" }, "post": { "description": "Send a message from the account used to make the request", - "operationId": "CreateMessage", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.message" + } + } + }, + "description": "Created" } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateMessage", + "x-maturity": [ + "GA" ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateMessageRequest", "properties": { - "AddressRetention": { - "description": "Determines if the address can be stored or obfuscated based on privacy settings", - "enum": [ - "retain" - ], - "type": "string" + "To": { + "type": "string", + "format": "phone-number", + "description": "The destination phone number in [E.164](https://www.twilio.com/docs/glossary/what-e164) format for SMS/MMS or [Channel user address](https://www.twilio.com/docs/sms/channels#channel-addresses) for other 3rd-party channels." + }, + "StatusCallback": { + "type": "string", + "format": "uri", + "description": "The URL we should call using the `status_callback_method` to send status information to your application. If specified, we POST these message status changes to the URL: `queued`, `failed`, `sent`, `delivered`, or `undelivered`. Twilio will POST its [standard request parameters](https://www.twilio.com/docs/sms/twiml#request-parameters) as well as some additional parameters including `MessageSid`, `MessageStatus`, and `ErrorCode`. If you include this parameter with the `messaging_service_sid`, we use this URL instead of the Status Callback URL of the [Messaging Service](https://www.twilio.com/docs/sms/services/api). URLs must contain a valid hostname and underscores are not allowed." }, "ApplicationSid": { - "description": "The SID of the application that should receive message status. We POST a `message_sid` parameter and a `message_status` parameter with a value of `sent` or `failed` to the [application](https://www.twilio.com/docs/usage/api/applications)'s `message_status_callback`. If a `status_callback` parameter is also passed, it will be ignored and the application's `message_status_callback` parameter will be used.", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, "pattern": "^AP[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the application that should receive message status. We POST a `message_sid` parameter and a `message_status` parameter with a value of `sent` or `failed` to the [application](https://www.twilio.com/docs/usage/api/applications)'s `message_status_callback`. If a `status_callback` parameter is also passed, it will be ignored and the application's `message_status_callback` parameter will be used." + }, + "MaxPrice": { + "type": "number", + "description": "The maximum total price in US dollars that you will pay for the message to be delivered. Can be a decimal value that has up to 4 decimal places. All messages are queued for delivery and the message cost is checked before the message is sent. If the cost exceeds `max_price`, the message will fail and a status of `Failed` is sent to the status callback. If `MaxPrice` is not set, the message cost is not checked." + }, + "ProvideFeedback": { + "type": "boolean", + "description": "Whether to confirm delivery of the message. Set this value to `true` if you are sending messages that have a trackable user action and you intend to confirm delivery of the message using the [Message Feedback API](https://www.twilio.com/docs/sms/api/message-feedback-resource). This parameter is `false` by default." }, "Attempt": { - "description": "Total number of attempts made ( including this ) to send out the message regardless of the provider used", - "type": "integer" + "type": "integer", + "description": "Total number of attempts made ( including this ) to send out the message regardless of the provider used" }, - "Body": { - "description": "The text of the message you want to send. Can be up to 1,600 characters in length.", - "type": "string" + "ValidityPeriod": { + "type": "integer", + "description": "How long in seconds the message can remain in our outgoing message queue. After this period elapses, the message fails and we call your status callback. Can be between 1 and the default value of 14,400 seconds. After a message has been accepted by a carrier, however, we cannot guarantee that the message will not be queued after this period. We recommend that this value be at least 5 seconds." + }, + "ForceDelivery": { + "type": "boolean", + "description": "Reserved" }, "ContentRetention": { - "description": "Determines if the message content can be stored or redacted based on privacy settings", + "type": "string", "enum": [ "retain" ], - "type": "string" - }, - "ForceDelivery": { - "description": "Reserved", - "type": "boolean" - }, - "From": { - "description": "A Twilio phone number in [E.164](https://www.twilio.com/docs/glossary/what-e164) format, an [alphanumeric sender ID](https://www.twilio.com/docs/sms/send-messages#use-an-alphanumeric-sender-id), or a [Channel Endpoint address](https://www.twilio.com/docs/sms/channels#channel-addresses) that is enabled for the type of message you want to send. Phone numbers or [short codes](https://www.twilio.com/docs/sms/api/short-code) purchased from Twilio also work here. You cannot, for example, spoof messages from a private cell phone number. If you are using `messaging_service_sid`, this parameter must be empty.", - "format": "phone-number", - "type": "string" - }, - "MaxPrice": { - "description": "The maximum total price in US dollars that you will pay for the message to be delivered. Can be a decimal value that has up to 4 decimal places. All messages are queued for delivery and the message cost is checked before the message is sent. If the cost exceeds `max_price`, the message will fail and a status of `Failed` is sent to the status callback. If `MaxPrice` is not set, the message cost is not checked.", - "type": "number" + "description": "Determines if the message content can be stored or redacted based on privacy settings" }, - "MediaUrl": { - "description": "The URL of the media to send with the message. The media can be of type `gif`, `png`, and `jpeg` and will be formatted correctly on the recipient's device. The media size limit is 5MB for supported file types (JPEG, PNG, GIF) and 500KB for [other types](https://www.twilio.com/docs/sms/accepted-mime-types) of accepted media. To send more than one image in the message body, provide multiple `media_url` parameters in the POST request. You can include up to 10 `media_url` parameters per message. You can send images in an SMS message in only the US and Canada.", - "items": { - "format": "uri", - "type": "string" - }, - "type": "array" + "AddressRetention": { + "type": "string", + "enum": [ + "retain" + ], + "description": "Determines if the address can be stored or obfuscated based on privacy settings" }, - "MessagingServiceSid": { - "description": "The SID of the [Messaging Service](https://www.twilio.com/docs/sms/services#send-a-message-with-copilot) you want to associate with the Message. Set this parameter to use the [Messaging Service Settings and Copilot Features](https://www.twilio.com/console/sms/services) you have configured and leave the `from` parameter empty. When only this parameter is set, Twilio will use your enabled Copilot Features to select the `from` phone number for delivery.", - "maxLength": 34, - "minLength": 34, - "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" + "SmartEncoded": { + "type": "boolean", + "description": "Whether to detect Unicode characters that have a similar GSM-7 character and replace them. Can be: `true` or `false`." }, "PersistentAction": { - "description": "Rich actions for Channels Messages.", + "type": "array", "items": { "type": "string" }, - "type": "array" - }, - "ProvideFeedback": { - "description": "Whether to confirm delivery of the message. Set this value to `true` if you are sending messages that have a trackable user action and you intend to confirm delivery of the message using the [Message Feedback API](https://www.twilio.com/docs/sms/api/message-feedback-resource). This parameter is `false` by default.", - "type": "boolean" + "description": "Rich actions for Channels Messages." }, "ScheduleType": { - "description": "Indicates your intent to schedule a message. Pass the value `fixed` to schedule a message at a fixed time.", + "type": "string", "enum": [ "fixed" ], - "type": "string" - }, - "SendAsMms": { - "description": "If set to True, Twilio will deliver the message as a single MMS message, regardless of the presence of media.", - "type": "boolean" + "description": "Indicates your intent to schedule a message. Pass the value `fixed` to schedule a message at a fixed time." }, "SendAt": { - "description": "The time that Twilio will send the message. Must be in ISO 8601 format.", + "type": "string", "format": "date-time", - "type": "string" - }, - "SmartEncoded": { - "description": "Whether to detect Unicode characters that have a similar GSM-7 character and replace them. Can be: `true` or `false`.", - "type": "boolean" + "description": "The time that Twilio will send the message. Must be in ISO 8601 format." }, - "StatusCallback": { - "description": "The URL we should call using the `status_callback_method` to send status information to your application. If specified, we POST these message status changes to the URL: `queued`, `failed`, `sent`, `delivered`, or `undelivered`. Twilio will POST its [standard request parameters](https://www.twilio.com/docs/sms/twiml#request-parameters) as well as some additional parameters including `MessageSid`, `MessageStatus`, and `ErrorCode`. If you include this parameter with the `messaging_service_sid`, we use this URL instead of the Status Callback URL of the [Messaging Service](https://www.twilio.com/docs/sms/services/api). URLs must contain a valid hostname and underscores are not allowed.", - "format": "uri", - "type": "string" + "SendAsMms": { + "type": "boolean", + "description": "If set to True, Twilio will deliver the message as a single MMS message, regardless of the presence of media." }, - "To": { - "description": "The destination phone number in [E.164](https://www.twilio.com/docs/glossary/what-e164) format for SMS/MMS or [Channel user address](https://www.twilio.com/docs/sms/channels#channel-addresses) for other 3rd-party channels.", + "From": { + "type": "string", "format": "phone-number", - "type": "string" + "description": "A Twilio phone number in [E.164](https://www.twilio.com/docs/glossary/what-e164) format, an [alphanumeric sender ID](https://www.twilio.com/docs/sms/send-messages#use-an-alphanumeric-sender-id), or a [Channel Endpoint address](https://www.twilio.com/docs/sms/channels#channel-addresses) that is enabled for the type of message you want to send. Phone numbers or [short codes](https://www.twilio.com/docs/sms/api/short-code) purchased from Twilio also work here. You cannot, for example, spoof messages from a private cell phone number. If you are using `messaging_service_sid`, this parameter must be empty." }, - "ValidityPeriod": { - "description": "How long in seconds the message can remain in our outgoing message queue. After this period elapses, the message fails and we call your status callback. Can be between 1 and the default value of 14,400 seconds. After a message has been accepted by a carrier, however, we cannot guarantee that the message will not be queued after this period. We recommend that this value be at least 5 seconds.", - "type": "integer" - } - }, - "required": [ - "To" - ], - "title": "CreateMessageRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.message" - } - } - }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ], - "x-twilio": { - "conditional": [ - [ - "from", - "messaging_service_sid" - ], - [ - "body", - "media_url" - ] - ] - } - }, - "servers": [ - { - "url": "https://api.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "from", - "to", - "status", - "direction", - "date_sent" - ], - "parent": "/Accounts.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Messages/{MessageSid}/Feedback.json": { - "description": "Customer-provided feedback on delivery confirmation", - "post": { - "description": "", - "operationId": "CreateMessageFeedback", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the Message resource for which the feedback was provided.", - "in": "path", - "name": "MessageSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^(SM|MM)[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Outcome": { - "description": "Whether the feedback has arrived. Can be: `unconfirmed` or `confirmed`. If `provide_feedback`=`true` in [the initial HTTP POST](https://www.twilio.com/docs/sms/api/message-resource#create-a-message-resource), the initial value of this property is `unconfirmed`. After the message arrives, update the value to `confirmed`.", - "enum": [ - "confirmed", - "unconfirmed" - ], - "type": "string" + "MessagingServiceSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$", + "description": "The SID of the [Messaging Service](https://www.twilio.com/docs/sms/services#send-a-message-with-copilot) you want to associate with the Message. Set this parameter to use the [Messaging Service Settings and Copilot Features](https://www.twilio.com/console/sms/services) you have configured and leave the `from` parameter empty. When only this parameter is set, Twilio will use your enabled Copilot Features to select the `from` phone number for delivery." + }, + "Body": { + "type": "string", + "description": "The text of the message you want to send. Can be up to 1,600 characters in length." + }, + "MediaUrl": { + "type": "array", + "items": { + "type": "string", + "format": "uri" + }, + "description": "The URL of the media to send with the message. The media can be of type `gif`, `png`, and `jpeg` and will be formatted correctly on the recipient's device. The media size limit is 5MB for supported file types (JPEG, PNG, GIF) and 500KB for [other types](https://www.twilio.com/docs/sms/accepted-mime-types) of accepted media. To send more than one image in the message body, provide multiple `media_url` parameters in the POST request. You can include up to 10 `media_url` parameters per message. You can send images in an SMS message in only the US and Canada." } }, - "title": "CreateMessageFeedbackRequest", - "type": "object" + "required": [ + "To" + ] } } } }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.message.message_feedback" - } - } - }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://api.twilio.com" + "x-twilio": { + "conditional": [ + [ + "from", + "messaging_service_sid" + ], + [ + "body", + "media_url" + ] + ] } - ], - "x-twilio": { - "defaultOutputProperties": [ - "message_sid", - "outcome", - "date_created" - ], - "parent": "/Accounts/{AccountSid}/Messages.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Messages/{MessageSid}/Media.json": { - "description": "The Media resource represents a piece of media, such as an image, that is associated with a message.", + }, "get": { - "description": "Retrieve a list of Media resources belonging to the account used to make the request", - "operationId": "ListMedia", + "description": "Retrieve a list of messages belonging to the account used to make the request", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Media resource(s) to read.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Message resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the Message resource that this Media resource belongs to.", - "in": "path", - "name": "MessageSid", - "required": true, + "name": "To", + "in": "query", + "description": "Read messages sent to only this phone number.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^(SM|MM)[0-9a-fA-F]{32}$", - "type": "string" + "type": "string", + "format": "phone-number" } }, { - "description": "Only include media that was created on this date. Specify a date as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read media that was created on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, to read media that was created on or before midnight of this date, and `StartTime>=YYYY-MM-DD` to read media that was created on or after midnight of this date.", + "name": "From", "in": "query", - "name": "DateCreated", + "description": "Read messages sent from only this phone number or alphanumeric sender ID.", "schema": { - "format": "date-time", - "type": "string" + "type": "string", + "format": "phone-number" } }, { - "description": "Only include media that was created on this date. Specify a date as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read media that was created on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, to read media that was created on or before midnight of this date, and `StartTime>=YYYY-MM-DD` to read media that was created on or after midnight of this date.", + "name": "DateSent", "in": "query", - "name": "DateCreated<", + "description": "The date of the messages to show. Specify a date as `YYYY-MM-DD` in GMT to read only messages sent on this date. For example: `2009-07-06`. You can also specify an inequality, such as `DateSent<=YYYY-MM-DD`, to read messages sent on or before midnight on a date, and `DateSent>=YYYY-MM-DD` to read messages sent on or after midnight on a date.", "schema": { - "format": "date-time", - "type": "string" + "type": "string", + "format": "date-time" } }, { - "description": "Only include media that was created on this date. Specify a date as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read media that was created on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, to read media that was created on or before midnight of this date, and `StartTime>=YYYY-MM-DD` to read media that was created on or after midnight of this date.", + "name": "DateSent<", "in": "query", - "name": "DateCreated>", + "description": "The date of the messages to show. Specify a date as `YYYY-MM-DD` in GMT to read only messages sent on this date. For example: `2009-07-06`. You can also specify an inequality, such as `DateSent<=YYYY-MM-DD`, to read messages sent on or before midnight on a date, and `DateSent>=YYYY-MM-DD` to read messages sent on or after midnight on a date.", "schema": { - "format": "date-time", - "type": "string" + "type": "string", + "format": "date-time" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", + "name": "DateSent>", "in": "query", + "description": "The date of the messages to show. Specify a date as `YYYY-MM-DD` in GMT to read only messages sent on this date. For example: `2009-07-06`. You can also specify an inequality, such as `DateSent<=YYYY-MM-DD`, to read messages sent on or before midnight on a date, and `DateSent>=YYYY-MM-DD` to read messages sent on or after midnight on a date.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -21707,23 +19171,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListMessageResponse", "properties": { + "messages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.message" + } + }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" - }, - "media_list": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.message.media" - }, - "type": "array" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -21732,19 +19198,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" } - }, - "title": "ListMediaResponse", - "type": "object" + } } } }, @@ -21756,70 +19220,162 @@ "accountSid_authToken": [] } ], + "operationId": "ListMessage", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/Messages/{Sid}.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "A Message resource represents an inbound or outbound message.", "x-twilio": { "defaultOutputProperties": [ "sid", - "parent_sid", - "content_type" + "from", + "to", + "status", + "direction", + "date_sent" ], - "parent": "/Accounts/{AccountSid}/Messages.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Messages/{MessageSid}/Media/{Sid}.json": { + "pathType": "instance", + "parent": "/Accounts.json" + }, "delete": { - "description": "Delete media from your account. Once delete, you will no longer be billed", - "operationId": "DeleteMedia", + "description": "Deletes a message record from your account", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Media resource(s) to delete.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Message resources to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the Message resource that this Media resource belongs to.", + "name": "Sid", "in": "path", - "name": "MessageSid", - "required": true, + "description": "The Twilio-provided string that uniquely identifies the Message resource to delete.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^(SM|MM)[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteMessage", + "x-maturity": [ + "GA" + ] + }, + "get": { + "description": "Fetch a message belonging to the account used to make the request", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Message resource to fetch.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^(SM|MM)[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Media resource to delete", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Message resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^(SM|MM)[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.message" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "FetchMessage", + "x-maturity": [ + "GA" + ] + }, + "post": { + "description": "To redact a message-body from a post-flight message record, post to the message instance resource with an empty body", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Message resources to update.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Message resource to update.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^ME[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^(SM|MM)[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.message" + } + } + }, + "description": "OK" } }, "security": [ @@ -21827,62 +19383,89 @@ "accountSid_authToken": [] } ], - "x-maturity": [ - "GA" - ] + "operationId": "UpdateMessage", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateMessageRequest", + "properties": { + "Body": { + "type": "string", + "description": "The text of the message you want to send. Can be up to 1,600 characters long." + }, + "Status": { + "type": "string", + "enum": [ + "canceled" + ], + "description": "When set as `canceled`, allows a message cancelation request if a message has not yet been sent." + } + } + } + } + } + } + } + }, + "/2010-04-01/Accounts/{AccountSid}/Messages/{MessageSid}/Feedback.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], + "description": "Customer-provided feedback on delivery confirmation", + "x-twilio": { + "defaultOutputProperties": [ + "message_sid", + "outcome", + "date_created" + ], + "pathType": "list", + "parent": "/Accounts/{AccountSid}/Messages.json" }, - "description": "The Media resource represents a piece of media, such as an image, that is associated with a message.", - "get": { - "description": "Fetch a single media instance belonging to the account used to make the request", - "operationId": "FetchMedia", + "post": { + "description": "", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Media resource(s) to fetch.", - "in": "path", "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the Message resource that this Media resource belongs to.", "in": "path", - "name": "MessageSid", - "required": true, + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^(SM|MM)[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Media resource to fetch", + "name": "MessageSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the Message resource for which the feedback was provided.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^ME[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^(SM|MM)[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.message.media" + "$ref": "#/components/schemas/api.v2010.account.message.message_feedback" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -21890,58 +19473,74 @@ "accountSid_authToken": [] } ], + "operationId": "CreateMessageFeedback", "x-maturity": [ "GA" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateMessageFeedbackRequest", + "properties": { + "Outcome": { + "type": "string", + "enum": [ + "confirmed", + "unconfirmed" + ], + "description": "Whether the feedback has arrived. Can be: `unconfirmed` or `confirmed`. If `provide_feedback`=`true` in [the initial HTTP POST](https://www.twilio.com/docs/sms/api/message-resource#create-a-message-resource), the initial value of this property is `unconfirmed`. After the message arrives, update the value to `confirmed`." + } + } + } + } + } + } + } + }, + "/2010-04-01/Accounts/{AccountSid}/SigningKeys.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Create a new signing key", "x-twilio": { "defaultOutputProperties": [ "sid", - "parent_sid", - "content_type" + "friendly_name", + "secret" ], - "parent": "/Accounts/{AccountSid}/Messages.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Messages/{Sid}.json": { - "delete": { - "description": "Deletes a message record from your account", - "operationId": "DeleteMessage", + "pathType": "list", + "parent": "/Accounts.json" + }, + "post": { + "description": "Create a new Signing Key for the account making the request.", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Message resources to delete.", - "in": "path", "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the Message resource to delete.", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will be responsible for the new Key resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^(SM|MM)[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.new_signing_key" + } + } + }, + "description": "Created" } }, "security": [ @@ -21949,37 +19548,53 @@ "accountSid_authToken": [] } ], + "operationId": "CreateNewSigningKey", "x-maturity": [ "GA" - ] + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateNewSigningKeyRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long." + } + } + } + } + } + }, + "x-twilio": { + "className": "new_signing_key" + } }, - "description": "A Message resource represents an inbound or outbound message.", "get": { - "description": "Fetch a message belonging to the account used to make the request", - "operationId": "FetchMessage", + "description": "", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Message resource to fetch.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Message resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, + "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^(SM|MM)[0-9a-fA-F]{32}$", - "type": "string" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], @@ -21988,7 +19603,44 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.message" + "type": "object", + "title": "ListSigningKeyResponse", + "properties": { + "signing_keys": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.signing_key" + } + }, + "end": { + "type": "integer" + }, + "first_page_uri": { + "type": "string", + "format": "uri" + }, + "next_page_uri": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_uri": { + "type": "string", + "format": "uri" + }, + "start": { + "type": "integer" + }, + "uri": { + "type": "string", + "format": "uri" + } + } } } }, @@ -22000,68 +19652,63 @@ "accountSid_authToken": [] } ], + "operationId": "ListSigningKey", "x-maturity": [ "GA" ] + } + }, + "/2010-04-01/Accounts/{AccountSid}/Notifications/{Sid}.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], + "description": "[DEPRECATED] Log entries", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "call_sid", + "error_code", + "message_date" + ], + "pathType": "instance", + "parent": "/Accounts.json" }, - "post": { - "description": "To redact a message-body from a post-flight message record, post to the message instance resource with an empty body", - "operationId": "UpdateMessage", + "get": { + "description": "Fetch a notification belonging to the account used to make the request", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Message resources to update.", - "in": "path", "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the Message resource to update.", "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^(SM|MM)[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Body": { - "description": "The text of the message you want to send. Can be up to 1,600 characters long.", - "type": "string" - }, - "Status": { - "description": "When set as `canceled`, allows a message cancelation request if a message has not yet been sent.", - "enum": [ - "canceled" - ], - "type": "string" - } - }, - "title": "UpdateMessageRequest", - "type": "object" - } - } + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Notification resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Notification resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^NO[0-9a-fA-F]{32}$" + }, + "required": true } - }, + ], "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.message" + "$ref": "#/components/schemas/api.v2010.account.notification-instance" } } }, @@ -22073,89 +19720,87 @@ "accountSid_authToken": [] } ], + "operationId": "FetchNotification", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/Notifications.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "[DEPRECATED] Log entries", "x-twilio": { "defaultOutputProperties": [ "sid", - "from", - "to", - "status", - "direction", - "date_sent" + "call_sid", + "error_code", + "message_date" ], - "parent": "/Accounts.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Notifications.json": { - "description": "[DEPRECATED] Log entries", + "pathType": "list", + "parent": "/Accounts.json" + }, "get": { "description": "Retrieve a list of notifications belonging to the account used to make the request", - "operationId": "ListNotification", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Notification resources to read.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Notification resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "Only read notifications of the specified log level. Can be: `0` to read only ERROR notifications or `1` to read only WARNING notifications. By default, all notifications are read.", - "in": "query", "name": "Log", + "in": "query", + "description": "Only read notifications of the specified log level. Can be: `0` to read only ERROR notifications or `1` to read only WARNING notifications. By default, all notifications are read.", "schema": { "type": "integer" } }, { - "description": "Only show notifications for the specified date, formatted as `YYYY-MM-DD`. You can also specify an inequality, such as `<=YYYY-MM-DD` for messages logged at or before midnight on a date, or `>=YYYY-MM-DD` for messages logged at or after midnight on a date.", - "in": "query", "name": "MessageDate", + "in": "query", + "description": "Only show notifications for the specified date, formatted as `YYYY-MM-DD`. You can also specify an inequality, such as `<=YYYY-MM-DD` for messages logged at or before midnight on a date, or `>=YYYY-MM-DD` for messages logged at or after midnight on a date.", "schema": { - "format": "date", - "type": "string" + "type": "string", + "format": "date" } }, { - "description": "Only show notifications for the specified date, formatted as `YYYY-MM-DD`. You can also specify an inequality, such as `<=YYYY-MM-DD` for messages logged at or before midnight on a date, or `>=YYYY-MM-DD` for messages logged at or after midnight on a date.", - "in": "query", "name": "MessageDate<", + "in": "query", + "description": "Only show notifications for the specified date, formatted as `YYYY-MM-DD`. You can also specify an inequality, such as `<=YYYY-MM-DD` for messages logged at or before midnight on a date, or `>=YYYY-MM-DD` for messages logged at or after midnight on a date.", "schema": { - "format": "date", - "type": "string" + "type": "string", + "format": "date" } }, { - "description": "Only show notifications for the specified date, formatted as `YYYY-MM-DD`. You can also specify an inequality, such as `<=YYYY-MM-DD` for messages logged at or before midnight on a date, or `>=YYYY-MM-DD` for messages logged at or after midnight on a date.", - "in": "query", "name": "MessageDate>", + "in": "query", + "description": "Only show notifications for the specified date, formatted as `YYYY-MM-DD`. You can also specify an inequality, such as `<=YYYY-MM-DD` for messages logged at or before midnight on a date, or `>=YYYY-MM-DD` for messages logged at or after midnight on a date.", "schema": { - "format": "date", - "type": "string" + "type": "string", + "format": "date" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -22164,23 +19809,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListNotificationResponse", "properties": { + "notifications": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.notification" + } + }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" - }, - "notifications": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.notification" - }, - "type": "array" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -22189,19 +19836,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" } - }, - "title": "ListNotificationResponse", - "type": "object" + } } } }, @@ -22213,55 +19858,54 @@ "accountSid_authToken": [] } ], + "operationId": "ListNotification", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/OutgoingCallerIds/{Sid}.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "An OutgoingCallerId resource represents a single verified number that may be used as a caller ID when making outgoing calls via the REST API and within the TwiML verb.", "x-twilio": { "defaultOutputProperties": [ "sid", - "call_sid", - "error_code", - "message_date" + "phone_number", + "friendly_name" ], - "parent": "/Accounts.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Notifications/{Sid}.json": { - "description": "[DEPRECATED] Log entries", + "pathType": "instance", + "parent": "/Accounts.json" + }, "get": { - "description": "Fetch a notification belonging to the account used to make the request", - "operationId": "FetchNotification", + "description": "Fetch an outgoing-caller-id belonging to the account used to make the request", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Notification resource to fetch.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the OutgoingCallerId resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Notification resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the OutgoingCallerId resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^NO[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^PN[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -22269,7 +19913,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.notification-instance" + "$ref": "#/components/schemas/api.v2010.account.outgoing_caller_id" } } }, @@ -22281,69 +19925,177 @@ "accountSid_authToken": [] } ], + "operationId": "FetchOutgoingCallerId", "x-maturity": [ "GA" ] }, + "post": { + "description": "Updates the caller-id", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the OutgoingCallerId resources to update.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the OutgoingCallerId resource to update.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^PN[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.outgoing_caller_id" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "UpdateOutgoingCallerId", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateOutgoingCallerIdRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long." + } + } + } + } + } + } + }, + "delete": { + "description": "Delete the caller-id specified from the account", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the OutgoingCallerId resources to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the OutgoingCallerId resource to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^PN[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteOutgoingCallerId", + "x-maturity": [ + "GA" + ] + } + }, + "/2010-04-01/Accounts/{AccountSid}/OutgoingCallerIds.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "An OutgoingCallerId resource represents a single verified number that may be used as a caller ID when making outgoing calls via the REST API and within the TwiML verb.", "x-twilio": { "defaultOutputProperties": [ "sid", - "call_sid", - "error_code", - "message_date" + "phone_number", + "friendly_name" ], - "parent": "/Accounts.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/OutgoingCallerIds.json": { - "description": "An OutgoingCallerId resource represents a single verified number that may be used as a caller ID when making outgoing calls via the REST API and within the TwiML verb.", + "pathType": "list", + "parent": "/Accounts.json" + }, "get": { "description": "Retrieve a list of outgoing-caller-ids belonging to the account used to make the request", - "operationId": "ListOutgoingCallerId", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the OutgoingCallerId resources to read.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the OutgoingCallerId resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The phone number of the OutgoingCallerId resources to read.", - "in": "query", "name": "PhoneNumber", + "in": "query", + "description": "The phone number of the OutgoingCallerId resources to read.", "schema": { - "format": "phone-number", - "type": "string" + "type": "string", + "format": "phone-number" } }, { - "description": "The string that identifies the OutgoingCallerId resources to read.", - "in": "query", "name": "FriendlyName", + "in": "query", + "description": "The string that identifies the OutgoingCallerId resources to read.", "schema": { "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", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -22352,23 +20104,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListOutgoingCallerIdResponse", "properties": { + "outgoing_caller_ids": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.outgoing_caller_id" + } + }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" - }, - "outgoing_caller_ids": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.outgoing_caller_id" - }, - "type": "array" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -22377,19 +20131,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" } - }, - "title": "ListOutgoingCallerIdResponse", - "type": "object" + } } } }, @@ -22401,56 +20153,80 @@ "accountSid_authToken": [] } ], + "operationId": "ListOutgoingCallerId", "x-maturity": [ "GA" ] }, "post": { "description": "", - "operationId": "CreateValidationRequest", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for the new caller ID resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for the new caller ID resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.validation_request" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] } ], + "operationId": "CreateValidationRequest", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateValidationRequestRequest", "properties": { - "CallDelay": { - "description": "The number of seconds to delay before initiating the verification call. Can be an integer between `0` and `60`, inclusive. The default is `0`.", - "type": "integer" - }, - "Extension": { - "description": "The digits to dial after connecting the verification call.", - "type": "string" + "PhoneNumber": { + "type": "string", + "format": "phone-number", + "description": "The phone number to verify in [E.164](https://www.twilio.com/docs/glossary/what-e164) format, which consists of a + followed by the country code and subscriber number." }, "FriendlyName": { - "description": "A descriptive string that you create to describe the new caller ID resource. It can be up to 64 characters long. The default value is a formatted version of the phone number.", - "type": "string" + "type": "string", + "description": "A descriptive string that you create to describe the new caller ID resource. It can be up to 64 characters long. The default value is a formatted version of the phone number." }, - "PhoneNumber": { - "description": "The phone number to verify 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", - "type": "string" + "CallDelay": { + "type": "integer", + "description": "The number of seconds to delay before initiating the verification call. Can be an integer between `0` and `60`, inclusive. The default is `0`." + }, + "Extension": { + "type": "string", + "description": "The digits to dial after connecting the verification call." }, "StatusCallback": { - "description": "The URL we should call using the `status_callback_method` to send status information about the verification process to your application.", + "type": "string", "format": "uri", - "type": "string" + "description": "The URL we should call using the `status_callback_method` to send status information about the verification process to your application." }, "StatusCallbackMethod": { - "description": "The HTTP method we should use to call `status_callback`. Can be: `GET` or `POST`, and the default is `POST`.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -22459,29 +20235,86 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method we should use to call `status_callback`. Can be: `GET` or `POST`, and the default is `POST`." } }, "required": [ "PhoneNumber" - ], - "title": "CreateValidationRequestRequest", - "type": "object" + ] } } } }, + "x-twilio": { + "className": "validation_request" + } + } + }, + "/2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Participants/{CallSid}.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], + "description": "Conference participants", + "x-twilio": { + "defaultOutputProperties": [ + "call_sid", + "label", + "status", + "muted", + "hold" + ], + "pathType": "instance", + "parent": "/Accounts/{AccountSid}/Conferences.json" + }, + "get": { + "description": "Fetch an instance of a participant", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Participant resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "ConferenceSid", + "in": "path", + "description": "The SID of the conference with the participant to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CF[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "CallSid", + "in": "path", + "description": "The [Call](https://www.twilio.com/docs/voice/api/call-resource) SID or label of the participant to fetch. Non URL safe characters in a label must be percent encoded, for example, a space character is represented as %20.", + "schema": { + "type": "string" + }, + "required": true + } + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.validation_request" + "$ref": "#/components/schemas/api.v2010.account.conference.participant" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -22489,56 +20322,198 @@ "accountSid_authToken": [] } ], + "operationId": "FetchParticipant", "x-maturity": [ "GA" - ], - "x-twilio": { - "className": "validation_request" - } + ] }, - "servers": [ - { - "url": "https://api.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "phone_number", - "friendly_name" + "post": { + "description": "Update the properties of the participant", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Participant resources to update.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "ConferenceSid", + "in": "path", + "description": "The SID of the conference with the participant to update.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CF[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "CallSid", + "in": "path", + "description": "The [Call](https://www.twilio.com/docs/voice/api/call-resource) SID or label of the participant to update. Non URL safe characters in a label must be percent encoded, for example, a space character is represented as %20.", + "schema": { + "type": "string" + }, + "required": true + } ], - "parent": "/Accounts.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/OutgoingCallerIds/{Sid}.json": { + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.conference.participant" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "UpdateParticipant", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateParticipantRequest", + "properties": { + "Muted": { + "type": "boolean", + "description": "Whether the participant should be muted. Can be `true` or `false`. `true` will mute the participant, and `false` will un-mute them. Anything value other than `true` or `false` is interpreted as `false`." + }, + "Hold": { + "type": "boolean", + "description": "Whether the participant should be on hold. Can be: `true` or `false`. `true` puts the participant on hold, and `false` lets them rejoin the conference." + }, + "HoldUrl": { + "type": "string", + "format": "uri", + "description": "The URL we call using the `hold_method` for music that plays when the participant is on hold. The URL may return an MP3 file, a WAV file, or a TwiML document that contains the ``, `` or `` commands." + }, + "HoldMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method we should use to call `hold_url`. Can be: `GET` or `POST` and the default is `GET`." + }, + "AnnounceUrl": { + "type": "string", + "format": "uri", + "description": "The URL we call using the `announce_method` for an announcement to the participant. The URL must return an MP3 file, a WAV file, or a TwiML document that contains `` or `` commands." + }, + "AnnounceMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method we should use to call `announce_url`. Can be: `GET` or `POST` and defaults to `POST`." + }, + "WaitUrl": { + "type": "string", + "format": "uri", + "description": "The URL we should call using the `wait_method` for the music to play while participants are waiting for the conference to start. The default value is the URL of our standard hold music. [Learn more about hold music](https://www.twilio.com/labs/twimlets/holdmusic)." + }, + "WaitMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method we should use to call `wait_url`. Can be `GET` or `POST` and the default is `POST`. When using a static audio file, this should be `GET` so that we can cache the file." + }, + "BeepOnExit": { + "type": "boolean", + "description": "Whether to play a notification beep to the conference when the participant exits. Can be: `true` or `false`." + }, + "EndConferenceOnExit": { + "type": "boolean", + "description": "Whether to end the conference when the participant leaves. Can be: `true` or `false` and defaults to `false`." + }, + "Coaching": { + "type": "boolean", + "description": "Whether the participant is coaching another call. Can be: `true` or `false`. If not present, defaults to `false` unless `call_sid_to_coach` is defined. If `true`, `call_sid_to_coach` must be defined." + }, + "CallSidToCoach": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$", + "description": "The SID of the participant who is being `coached`. The participant being coached is the only participant who can hear the participant who is `coaching`." + } + } + } + } + } + } + }, "delete": { - "description": "Delete the caller-id specified from the account", - "operationId": "DeleteOutgoingCallerId", + "description": "Kick a participant from a given conference", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the OutgoingCallerId resources to delete.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Participant resources to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the OutgoingCallerId resource to delete.", + "name": "ConferenceSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the conference with the participants to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^PN[0-9a-fA-F]{32}$", + "maxLength": 34, + "pattern": "^CF[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "CallSid", + "in": "path", + "description": "The [Call](https://www.twilio.com/docs/voice/api/call-resource) SID or label of the participant to delete. Non URL safe characters in a label must be percent encoded, for example, a space character is represented as %20.", + "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -22551,50 +20526,65 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteParticipant", "x-maturity": [ "GA" ] + } + }, + "/2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Participants.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], + "description": "Conference participants", + "x-twilio": { + "defaultOutputProperties": [ + "call_sid", + "label", + "status", + "muted", + "hold" + ], + "pathType": "list", + "parent": "/Accounts/{AccountSid}/Conferences.json" }, - "description": "An OutgoingCallerId resource represents a single verified number that may be used as a caller ID when making outgoing calls via the REST API and within the TwiML verb.", - "get": { - "description": "Fetch an outgoing-caller-id belonging to the account used to make the request", - "operationId": "FetchOutgoingCallerId", + "post": { + "description": "", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the OutgoingCallerId resource to fetch.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the OutgoingCallerId resource to fetch.", + "name": "ConferenceSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the participant's conference.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^PN[0-9a-fA-F]{32}$", "type": "string" - } + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.outgoing_caller_id" + "$ref": "#/components/schemas/api.v2010.account.conference.participant" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -22602,117 +20592,310 @@ "accountSid_authToken": [] } ], + "operationId": "CreateParticipant", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "Updates the caller-id", - "operationId": "UpdateOutgoingCallerId", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the OutgoingCallerId resources to update.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the OutgoingCallerId 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": { + "type": "object", + "title": "CreateParticipantRequest", "properties": { - "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long.", - "type": "string" + "From": { + "type": "string", + "description": "The phone number, Client identifier, or username portion of SIP address that made this call. Phone numbers are in [E.164](https://www.twilio.com/docs/glossary/what-e164) format (e.g., +16175551212). Client identifiers are formatted `client:name`. If using a phone number, it must be a Twilio number or a Verified [outgoing caller id](https://www.twilio.com/docs/voice/api/outgoing-caller-ids) for your account. If the `to` parameter is a phone number, `from` must also be a phone number. If `to` is sip address, this value of `from` should be a username portion to be used to populate the P-Asserted-Identity header that is passed to the SIP endpoint." + }, + "To": { + "type": "string", + "description": "The phone number, SIP address, or Client identifier that received this call. Phone numbers are in [E.164](https://www.twilio.com/docs/glossary/what-e164) format (e.g., +16175551212). SIP addresses are formatted as `sip:name@company.com`. Client identifiers are formatted `client:name`. [Custom parameters](https://www.twilio.com/docs/voice/api/conference-participant-resource#custom-parameters) may also be specified." + }, + "StatusCallback": { + "type": "string", + "format": "uri", + "description": "The URL we should call using the `status_callback_method` to send status information to your application." + }, + "StatusCallbackMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method we should use to call `status_callback`. Can be: `GET` and `POST` and defaults to `POST`." + }, + "StatusCallbackEvent": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The conference state changes that should generate a call to `status_callback`. Can be: `initiated`, `ringing`, `answered`, and `completed`. Separate multiple values with a space. The default value is `completed`." + }, + "Label": { + "type": "string", + "description": "A label for this participant. If one is supplied, it may subsequently be used to fetch, update or delete the participant." + }, + "Timeout": { + "type": "integer", + "description": "The number of seconds that we should allow the phone to ring before assuming there is no answer. Can be an integer between `5` and `600`, inclusive. The default value is `60`. We always add a 5-second timeout buffer to outgoing calls, so value of 10 would result in an actual timeout that was closer to 15 seconds." + }, + "Record": { + "type": "boolean", + "description": "Whether to record the participant and their conferences, including the time between conferences. Can be `true` or `false` and the default is `false`." + }, + "Muted": { + "type": "boolean", + "description": "Whether the agent is muted in the conference. Can be `true` or `false` and the default is `false`." + }, + "Beep": { + "type": "string", + "description": "Whether to play a notification beep to the conference when the participant joins. Can be: `true`, `false`, `onEnter`, or `onExit`. The default value is `true`." + }, + "StartConferenceOnEnter": { + "type": "boolean", + "description": "Whether to start the conference when the participant joins, if it has not already started. Can be: `true` or `false` and the default is `true`. If `false` and the conference has not started, the participant is muted and hears background music until another participant starts the conference." + }, + "EndConferenceOnExit": { + "type": "boolean", + "description": "Whether to end the conference when the participant leaves. Can be: `true` or `false` and defaults to `false`." + }, + "WaitUrl": { + "type": "string", + "format": "uri", + "description": "The URL we should call using the `wait_method` for the music to play while participants are waiting for the conference to start. The default value is the URL of our standard hold music. [Learn more about hold music](https://www.twilio.com/labs/twimlets/holdmusic)." + }, + "WaitMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method we should use to call `wait_url`. Can be `GET` or `POST` and the default is `POST`. When using a static audio file, this should be `GET` so that we can cache the file." + }, + "EarlyMedia": { + "type": "boolean", + "description": "Whether to allow an agent to hear the state of the outbound call, including ringing or disconnect messages. Can be: `true` or `false` and defaults to `true`." + }, + "MaxParticipants": { + "type": "integer", + "description": "The maximum number of participants in the conference. Can be a positive integer from `2` to `250`. The default value is `250`." + }, + "ConferenceRecord": { + "type": "string", + "description": "Whether to record the conference the participant is joining. Can be: `true`, `false`, `record-from-start`, and `do-not-record`. The default value is `false`." + }, + "ConferenceTrim": { + "type": "string", + "description": "Whether to trim leading and trailing silence from your recorded conference audio files. Can be: `trim-silence` or `do-not-trim` and defaults to `trim-silence`." + }, + "ConferenceStatusCallback": { + "type": "string", + "format": "uri", + "description": "The URL we should call using the `conference_status_callback_method` when the conference events in `conference_status_callback_event` occur. Only the value set by the first participant to join the conference is used. Subsequent `conference_status_callback` values are ignored." + }, + "ConferenceStatusCallbackMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method we should use to call `conference_status_callback`. Can be: `GET` or `POST` and defaults to `POST`." + }, + "ConferenceStatusCallbackEvent": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The conference state changes that should generate a call to `conference_status_callback`. Can be: `start`, `end`, `join`, `leave`, `mute`, `hold`, `modify`, `speaker`, and `announcement`. Separate multiple values with a space. Defaults to `start end`." + }, + "RecordingChannels": { + "type": "string", + "description": "The recording channels for the final recording. Can be: `mono` or `dual` and the default is `mono`." + }, + "RecordingStatusCallback": { + "type": "string", + "format": "uri", + "description": "The URL that we should call using the `recording_status_callback_method` when the recording status changes." + }, + "RecordingStatusCallbackMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method we should use when we call `recording_status_callback`. Can be: `GET` or `POST` and defaults to `POST`." + }, + "SipAuthUsername": { + "type": "string", + "description": "The SIP username used for authentication." + }, + "SipAuthPassword": { + "type": "string", + "description": "The SIP password for authentication." + }, + "Region": { + "type": "string", + "description": "The [region](https://support.twilio.com/hc/en-us/articles/223132167-How-global-low-latency-routing-and-region-selection-work-for-conferences-and-Client-calls) where we should mix the recorded audio. Can be:`us1`, `ie1`, `de1`, `sg1`, `br1`, `au1`, or `jp1`." + }, + "ConferenceRecordingStatusCallback": { + "type": "string", + "format": "uri", + "description": "The URL we should call using the `conference_recording_status_callback_method` when the conference recording is available." + }, + "ConferenceRecordingStatusCallbackMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method we should use to call `conference_recording_status_callback`. Can be: `GET` or `POST` and defaults to `POST`." + }, + "RecordingStatusCallbackEvent": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The recording state changes that should generate a call to `recording_status_callback`. Can be: `started`, `in-progress`, `paused`, `resumed`, `stopped`, `completed`, `failed`, and `absent`. Separate multiple values with a space, ex: `'in-progress completed failed'`." + }, + "ConferenceRecordingStatusCallbackEvent": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The conference recording state changes that generate a call to `conference_recording_status_callback`. Can be: `in-progress`, `completed`, `failed`, and `absent`. Separate multiple values with a space, ex: `'in-progress completed failed'`" + }, + "Coaching": { + "type": "boolean", + "description": "Whether the participant is coaching another call. Can be: `true` or `false`. If not present, defaults to `false` unless `call_sid_to_coach` is defined. If `true`, `call_sid_to_coach` must be defined." + }, + "CallSidToCoach": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$", + "description": "The SID of the participant who is being `coached`. The participant being coached is the only participant who can hear the participant who is `coaching`." + }, + "JitterBufferSize": { + "type": "string", + "description": "Jitter buffer size for the connecting participant. Twilio will use this setting to apply Jitter Buffer before participant's audio is mixed into the conference. Can be: `off`, `small`, `medium`, and `large`. Default to `large`." + }, + "Byoc": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BY[0-9a-fA-F]{32}$", + "description": "The SID of a BYOC (Bring Your Own Carrier) trunk to route this call with. Note that `byoc` is only meaningful when `to` is a phone number; it will otherwise be ignored. (Beta)" + }, + "CallerId": { + "type": "string", + "description": "The phone number, Client identifier, or username portion of SIP address that made this call. Phone numbers are in [E.164](https://www.twilio.com/docs/glossary/what-e164) format (e.g., +16175551212). Client identifiers are formatted `client:name`. If using a phone number, it must be a Twilio number or a Verified [outgoing caller id](https://www.twilio.com/docs/voice/api/outgoing-caller-ids) for your account. If the `to` parameter is a phone number, `callerId` must also be a phone number. If `to` is sip address, this value of `callerId` should be a username portion to be used to populate the From header that is passed to the SIP endpoint." + }, + "CallReason": { + "type": "string", + "description": "The Reason for the outgoing call. Use it to specify the purpose of the call that is presented on the called party's phone. (Branded Calls Beta)" + }, + "RecordingTrack": { + "type": "string", + "description": "The audio track to record for the call. Can be: `inbound`, `outbound` or `both`. The default is `both`. `inbound` records the audio that is received by Twilio. `outbound` records the audio that is sent from Twilio. `both` records the audio that is received and sent by Twilio." + }, + "TimeLimit": { + "type": "integer", + "description": "The maximum duration of the call in seconds. Constraints depend on account and configuration." } }, - "title": "UpdateOutgoingCallerIdRequest", - "type": "object" + "required": [ + "From", + "To" + ] } } } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.outgoing_caller_id" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://api.twilio.com" } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "phone_number", - "friendly_name" - ], - "parent": "/Accounts.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Queues.json": { - "description": "Queues of calls", + }, "get": { - "description": "Retrieve a list of queues belonging to the account used to make the request", - "operationId": "ListQueue", + "description": "Retrieve a list of participants belonging to the account used to make the request", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Queue resources to read.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Participant resources to read.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "ConferenceSid", + "in": "path", + "description": "The SID of the conference with the participants to read.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^CF[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Muted", + "in": "query", + "description": "Whether to return only participants that are muted. Can be: `true` or `false`.", + "schema": { + "type": "boolean" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", + "name": "Hold", + "in": "query", + "description": "Whether to return only participants that are on hold. Can be: `true` or `false`.", + "schema": { + "type": "boolean" + } + }, + { + "name": "Coaching", "in": "query", + "description": "Whether to return only participants who are coaching another call. Can be: `true` or `false`.", + "schema": { + "type": "boolean" + } + }, + { "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -22721,17 +20904,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListParticipantResponse", "properties": { + "participants": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.conference.participant" + } + }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -22740,25 +20931,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" - }, - "queues": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.queue" - }, - "type": "array" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" } - }, - "title": "ListQueueResponse", - "type": "object" + } } } }, @@ -22770,56 +20953,60 @@ "accountSid_authToken": [] } ], + "operationId": "ListParticipant", "x-maturity": [ "GA" ] + } + }, + "/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Payments.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], + "description": "Twilio enabled secure payments solution for accepting credit and ACH payments over the phone.", + "x-twilio": { + "defaultOutputProperties": [ + "sid" + ], + "pathType": "list", + "parent": "/Accounts/{AccountSid}/Calls.json" }, "post": { - "description": "Create a queue", - "operationId": "CreateQueue", + "description": "create an instance of payments. This will start a new payments session", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "CallSid", + "in": "path", + "description": "The SID of the call that will create the resource. Call leg associated with this sid is expected to provide payment information thru DTMF.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "FriendlyName": { - "description": "A descriptive string that you created to describe this resource. It can be up to 64 characters long.", - "type": "string" - }, - "MaxSize": { - "description": "The maximum number of calls allowed to be in the queue. The default is 100. The maximum is 5000.", - "type": "integer" - } - }, - "required": [ - "FriendlyName" - ], - "title": "CreateQueueRequest", - "type": "object" - } - } - } - }, "responses": { "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.queue" + "$ref": "#/components/schemas/api.v2010.account.call.payments" } } }, @@ -22831,114 +21018,169 @@ "accountSid_authToken": [] } ], + "operationId": "CreatePayments", "x-maturity": [ - "GA" - ] - }, + "Preview" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreatePaymentsRequest", + "properties": { + "IdempotencyKey": { + "type": "string", + "description": "A unique token that will be used to ensure that multiple API calls with the same information do not result in multiple transactions. This should be a unique string value per API call and can be a randomly generated." + }, + "StatusCallback": { + "type": "string", + "format": "uri", + "description": "Provide an absolute or relative URL to receive status updates regarding your Pay session. Read more about the [expected StatusCallback values](https://www.twilio.com/docs/voice/api/payment-resource#statuscallback)" + }, + "BankAccountType": { + "type": "string", + "enum": [ + "consumer-checking", + "consumer-savings", + "commercial-checking" + ], + "description": "Type of bank account if payment source is ACH. One of `consumer-checking`, `consumer-savings`, or `commercial-checking`. The default value is `consumer-checking`." + }, + "ChargeAmount": { + "type": "number", + "description": "A positive decimal value less than 1,000,000 to charge against the credit card or bank account. Default currency can be overwritten with `currency` field. Leave blank or set to 0 to tokenize." + }, + "Currency": { + "type": "string", + "description": "The currency of the `charge_amount`, formatted as [ISO 4127](http://www.iso.org/iso/home/standards/currency_codes.htm) format. The default value is `USD` and all values allowed from the Pay Connector are accepted." + }, + "Description": { + "type": "string", + "description": "The description can be used to provide more details regarding the transaction. This information is submitted along with the payment details to the Payment Connector which are then posted on the transactions." + }, + "Input": { + "type": "string", + "description": "A list of inputs that should be accepted. Currently only `dtmf` is supported. All digits captured during a pay session are redacted from the logs." + }, + "MinPostalCodeLength": { + "type": "integer", + "description": "A positive integer that is used to validate the length of the `PostalCode` inputted by the user. User must enter this many digits." + }, + "Parameter": { + "description": "A single-level JSON object used to pass custom parameters to payment processors. (Required for ACH payments). The information that has to be included here depends on the Connector. [Read more](https://www.twilio.com/console/voice/pay-connectors)." + }, + "PaymentConnector": { + "type": "string", + "description": "This is the unique name corresponding to the Pay Connector installed in the Twilio Add-ons. Learn more about [ Connectors](https://www.twilio.com/console/voice/pay-connectors). The default value is `Default`." + }, + "PaymentMethod": { + "type": "string", + "enum": [ + "credit-card", + "ach-debit" + ], + "description": "Type of payment being captured. One of `credit-card` or `ach-debit`. The default value is `credit-card`." + }, + "PostalCode": { + "type": "boolean", + "description": "Indicates whether the credit card postal code (zip code) is a required piece of payment information that must be provided by the caller. The default is `true`." + }, + "SecurityCode": { + "type": "boolean", + "description": "Indicates whether the credit card security code is a required piece of payment information that must be provided by the caller. The default is `true`." + }, + "Timeout": { + "type": "integer", + "description": "The number of seconds that should wait for the caller to press a digit between each subsequent digit, after the first one, before moving on to validate the digits captured. The default is `5`, maximum is `600`." + }, + "TokenType": { + "type": "string", + "enum": [ + "one-time", + "reusable" + ], + "description": "Indicates whether the payment method should be tokenized as a `one-time` or `reusable` token. The default value is `reusable`. Do not enter a charge amount when tokenizing. If a charge amount is entered, the payment method will be charged and not tokenized." + }, + "ValidCardTypes": { + "type": "string", + "description": "Credit card types separated by space that Pay should accept. The default value is `visa mastercard amex`" + } + }, + "required": [ + "IdempotencyKey", + "StatusCallback" + ] + } + } + } + } + } + }, + "/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Payments/{Sid}.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Twilio enabled secure payments solution for accepting credit and ACH payments over the phone.", "x-twilio": { "defaultOutputProperties": [ - "sid", - "friendly_name", - "current_size", - "average_wait_time" + "sid" ], - "parent": "/Accounts.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Queues/{QueueSid}/Members.json": { - "description": "Calls in a call queue", - "get": { - "description": "Retrieve the members of the queue", - "operationId": "ListMember", + "pathType": "instance", + "parent": "/Accounts/{AccountSid}/Calls.json" + }, + "post": { + "description": "update an instance of payments with different phases of payment flows.", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Member resource(s) to read.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will update the resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the Queue in which to find the members", + "name": "CallSid", "in": "path", - "name": "QueueSid", - "required": true, + "description": "The SID of the call that will update the resource. This should be the same call sid that was used to create payments resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^QU[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", - "name": "PageSize", + "name": "Sid", + "in": "path", + "description": "The SID of Payments session that needs to be updated.", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^PK[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "202": { "content": { "application/json": { "schema": { - "properties": { - "end": { - "type": "integer" - }, - "first_page_uri": { - "format": "uri", - "type": "string" - }, - "next_page_uri": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_uri": { - "format": "uri", - "type": "string" - }, - "queue_members": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.queue.member" - }, - "type": "array" - }, - "start": { - "type": "integer" - }, - "uri": { - "format": "uri", - "type": "string" - } - }, - "title": "ListMemberResponse", - "type": "object" + "$ref": "#/components/schemas/api.v2010.account.call.payments" } } }, - "description": "OK" + "description": "Accepted" } }, "security": [ @@ -22946,64 +21188,100 @@ "accountSid_authToken": [] } ], + "operationId": "UpdatePayments", "x-maturity": [ - "GA" - ] - }, + "Preview" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdatePaymentsRequest", + "properties": { + "IdempotencyKey": { + "type": "string", + "description": "A unique token that will be used to ensure that multiple API calls with the same information do not result in multiple transactions. This should be a unique string value per API call and can be a randomly generated." + }, + "StatusCallback": { + "type": "string", + "format": "uri", + "description": "Provide an absolute or relative URL to receive status updates regarding your Pay session. Read more about the [Update](https://www.twilio.com/docs/voice/api/payment-resource#statuscallback-update) and [Complete/Cancel](https://www.twilio.com/docs/voice/api/payment-resource#statuscallback-cancelcomplete) POST requests." + }, + "Capture": { + "type": "string", + "enum": [ + "payment-card-number", + "expiration-date", + "security-code", + "postal-code", + "bank-routing-number", + "bank-account-number" + ], + "description": "The piece of payment information that you wish the caller to enter. Must be one of `payment-card-number`, `expiration-date`, `security-code`, `postal-code`, `bank-routing-number`, or `bank-account-number`." + }, + "Status": { + "type": "string", + "enum": [ + "complete", + "cancel" + ], + "description": "Indicates whether the current payment session should be cancelled or completed. When `cancel` the payment session is cancelled. When `complete`, Twilio sends the payment information to the selected Pay Connector for processing." + } + }, + "required": [ + "IdempotencyKey", + "StatusCallback" + ] + } + } + } + } + } + }, + "/2010-04-01/Accounts/{AccountSid}/Queues/{Sid}.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Queues of calls", "x-twilio": { "defaultOutputProperties": [ - "call_sid", - "date_enqueued", - "position", - "wait_time" + "sid", + "friendly_name", + "current_size", + "average_wait_time" ], - "parent": "/Accounts/{AccountSid}/Queues.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Queues/{QueueSid}/Members/{CallSid}.json": { - "description": "Calls in a call queue", + "pathType": "instance", + "parent": "/Accounts.json" + }, "get": { - "description": "Fetch a specific member from the queue", - "operationId": "FetchMember", + "description": "Fetch an instance of a queue identified by the QueueSid", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Member resource(s) to fetch.", - "in": "path", "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the Queue in which to find the members to fetch.", "in": "path", - "name": "QueueSid", - "required": true, + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Queue resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^QU[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The [Call](https://www.twilio.com/docs/voice/api/call-resource) SID of the resource(s) to fetch.", + "name": "Sid", "in": "path", - "name": "CallSid", - "required": true, + "description": "The Twilio-provided string that uniquely identifies the Queue resource to fetch", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^QU[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -23011,7 +21289,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.queue.member" + "$ref": "#/components/schemas/api.v2010.account.queue" } } }, @@ -23023,87 +21301,45 @@ "accountSid_authToken": [] } ], + "operationId": "FetchQueue", "x-maturity": [ "GA" ] }, "post": { - "description": "Dequeue a member from a queue and have the member's call begin executing the TwiML document at that URL", - "operationId": "UpdateMember", + "description": "Update the queue with the new parameters", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Member resource(s) to update.", - "in": "path", "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the Queue in which to find the members to update.", "in": "path", - "name": "QueueSid", - "required": true, + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Queue resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^QU[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The [Call](https://www.twilio.com/docs/voice/api/call-resource) SID of the resource(s) to update.", + "name": "Sid", "in": "path", - "name": "CallSid", - "required": true, + "description": "The Twilio-provided string that uniquely identifies the Queue resource to update", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^QU[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Method": { - "description": "How to pass the update request data. Can be `GET` or `POST` and the default is `POST`. `POST` sends the data as encoded form data and `GET` sends the data as query parameters.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "Url": { - "description": "The absolute URL of the Queue resource.", - "format": "uri", - "type": "string" - } - }, - "required": [ - "Url" - ], - "title": "UpdateMemberRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.queue.member" + "$ref": "#/components/schemas/api.v2010.account.queue" } } }, @@ -23115,54 +21351,57 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateQueue", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://api.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "call_sid", - "date_enqueued", - "position", - "wait_time" ], - "parent": "/Accounts/{AccountSid}/Queues.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Queues/{Sid}.json": { + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateQueueRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you created to describe this resource. It can be up to 64 characters long." + }, + "MaxSize": { + "type": "integer", + "description": "The maximum number of calls allowed to be in the queue. The default is 100. The maximum is 5000." + } + } + } + } + } + } + }, "delete": { "description": "Remove an empty queue", - "operationId": "DeleteQueue", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Queue resource to delete.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Queue resource to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Queue resource to delete", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Queue resource to delete", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^QU[0-9a-fA-F]{32}$", - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^QU[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -23175,37 +21414,52 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteQueue", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/Queues.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], "description": "Queues of calls", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "current_size", + "average_wait_time" + ], + "pathType": "list", + "parent": "/Accounts.json" + }, "get": { - "description": "Fetch an instance of a queue identified by the QueueSid", - "operationId": "FetchQueue", + "description": "Retrieve a list of queues belonging to the account used to make the request", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Queue resource to fetch.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Queue resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Queue resource to fetch", - "in": "path", - "name": "Sid", - "required": true, + "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^QU[0-9a-fA-F]{32}$", - "type": "string" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], @@ -23214,7 +21468,44 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.queue" + "type": "object", + "title": "ListQueueResponse", + "properties": { + "queues": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.queue" + } + }, + "end": { + "type": "integer" + }, + "first_page_uri": { + "type": "string", + "format": "uri" + }, + "next_page_uri": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_uri": { + "type": "string", + "format": "uri" + }, + "start": { + "type": "integer" + }, + "uri": { + "type": "string", + "format": "uri" + } + } } } }, @@ -23226,61 +21517,29 @@ "accountSid_authToken": [] } ], + "operationId": "ListQueue", "x-maturity": [ "GA" ] }, "post": { - "description": "Update the queue with the new parameters", - "operationId": "UpdateQueue", + "description": "Create a queue", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Queue resource to update.", - "in": "path", "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the Queue resource to update", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^QU[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "FriendlyName": { - "description": "A descriptive string that you created to describe this resource. It can be up to 64 characters long.", - "type": "string" - }, - "MaxSize": { - "description": "The maximum number of calls allowed to be in the queue. The default is 100. The maximum is 5000.", - "type": "integer" - } - }, - "title": "UpdateQueueRequest", - "type": "object" - } - } - } - }, "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { @@ -23288,7 +21547,7 @@ } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -23296,155 +21555,95 @@ "accountSid_authToken": [] } ], + "operationId": "CreateQueue", "x-maturity": [ "GA" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateQueueRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you created to describe this resource. It can be up to 64 characters long." + }, + "MaxSize": { + "type": "integer", + "description": "The maximum number of calls allowed to be in the queue. The default is 100. The maximum is 5000." + } + }, + "required": [ + "FriendlyName" + ] + } + } + } + } + } + }, + "/2010-04-01/Accounts/{AccountSid}/Recordings/{Sid}.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Recordings of phone calls", "x-twilio": { "defaultOutputProperties": [ "sid", - "friendly_name", - "current_size", - "average_wait_time" + "call_sid", + "status", + "start_time", + "duration" ], - "parent": "/Accounts.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Recordings.json": { - "description": "Recordings of phone calls", + "pathType": "instance", + "parent": "/Accounts.json" + }, "get": { - "description": "Retrieve a list of recordings belonging to the account used to make the request", - "operationId": "ListRecording", + "description": "Fetch an instance of a recording", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Recording resources to read.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Recording resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "Only include recordings that were created on this date. Specify a date as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read recordings that were created on this date. You can also specify an inequality, such as `DateCreated<=YYYY-MM-DD`, to read recordings that were created on or before midnight of this date, and `DateCreated>=YYYY-MM-DD` to read recordings that were created on or after midnight of this date.", - "in": "query", - "name": "DateCreated", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "description": "Only include recordings that were created on this date. Specify a date as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read recordings that were created on this date. You can also specify an inequality, such as `DateCreated<=YYYY-MM-DD`, to read recordings that were created on or before midnight of this date, and `DateCreated>=YYYY-MM-DD` to read recordings that were created on or after midnight of this date.", - "in": "query", - "name": "DateCreated<", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "description": "Only include recordings that were created on this date. Specify a date as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read recordings that were created on this date. You can also specify an inequality, such as `DateCreated<=YYYY-MM-DD`, to read recordings that were created on or before midnight of this date, and `DateCreated>=YYYY-MM-DD` to read recordings that were created on or after midnight of this date.", - "in": "query", - "name": "DateCreated>", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "description": "The [Call](https://www.twilio.com/docs/voice/api/call-resource) SID of the resources to read.", - "in": "query", - "name": "CallSid", - "schema": { "maxLength": 34, - "minLength": 34, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" - } + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Conference SID that identifies the conference associated with the recording to read.", - "in": "query", - "name": "ConferenceSid", + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Recording resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CF[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^RE[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "A boolean parameter indicating whether to retrieve soft deleted recordings or not. Recordings metadata are kept after deletion for a retention period of 40 days.", - "in": "query", "name": "IncludeSoftDeleted", - "schema": { - "type": "boolean" - } - }, - { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "in": "query", - "name": "PageSize", + "description": "A boolean parameter indicating whether to retrieve soft deleted recordings or not. Recordings metadata are kept after deletion for a retention period of 40 days.", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "end": { - "type": "integer" - }, - "first_page_uri": { - "format": "uri", - "type": "string" - }, - "next_page_uri": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_uri": { - "format": "uri", - "type": "string" - }, - "recordings": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.recording" - }, - "type": "array" - }, - "start": { - "type": "integer" - }, - "uri": { - "format": "uri", - "type": "string" - } - }, - "title": "ListRecordingResponse", - "type": "object" + "type": "boolean" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.recording" } } }, @@ -23456,15 +21655,62 @@ "accountSid_authToken": [] } ], + "operationId": "FetchRecording", "x-maturity": [ "GA" ] }, + "delete": { + "description": "Delete a recording from your account", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Recording resources to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Recording resource to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RE[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteRecording", + "x-maturity": [ + "GA" + ] + } + }, + "/2010-04-01/Accounts/{AccountSid}/Recordings.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Recordings of phone calls", "x-twilio": { "defaultOutputProperties": [ "sid", @@ -23473,48 +21719,89 @@ "start_time", "duration" ], - "parent": "/Accounts.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Recordings/{RecordingSid}/Transcriptions.json": { - "description": "References to text transcriptions of call recordings", + "pathType": "list", + "parent": "/Accounts.json" + }, "get": { - "description": "", - "operationId": "ListRecordingTranscription", + "description": "Retrieve a list of recordings belonging to the account used to make the request", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Transcription resources to read.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Recording resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "DateCreated", + "in": "query", + "description": "Only include recordings that were created on this date. Specify a date as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read recordings that were created on this date. You can also specify an inequality, such as `DateCreated<=YYYY-MM-DD`, to read recordings that were created on or before midnight of this date, and `DateCreated>=YYYY-MM-DD` to read recordings that were created on or after midnight of this date.", + "schema": { + "type": "string", + "format": "date-time" } }, { - "description": "The SID of the [Recording](https://www.twilio.com/docs/voice/api/recording) that created the transcriptions to read.", - "in": "path", - "name": "RecordingSid", - "required": true, + "name": "DateCreated<", + "in": "query", + "description": "Only include recordings that were created on this date. Specify a date as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read recordings that were created on this date. You can also specify an inequality, such as `DateCreated<=YYYY-MM-DD`, to read recordings that were created on or before midnight of this date, and `DateCreated>=YYYY-MM-DD` to read recordings that were created on or after midnight of this date.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "DateCreated>", + "in": "query", + "description": "Only include recordings that were created on this date. Specify a date as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read recordings that were created on this date. You can also specify an inequality, such as `DateCreated<=YYYY-MM-DD`, to read recordings that were created on or before midnight of this date, and `DateCreated>=YYYY-MM-DD` to read recordings that were created on or after midnight of this date.", "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "CallSid", + "in": "query", + "description": "The [Call](https://www.twilio.com/docs/voice/api/call-resource) SID of the resources to read.", + "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$" + } + }, + { + "name": "ConferenceSid", + "in": "query", + "description": "The Conference SID that identifies the conference associated with the recording to read.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^RE[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^CF[0-9a-fA-F]{32}$" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", + "name": "IncludeSoftDeleted", "in": "query", + "description": "A boolean parameter indicating whether to retrieve soft deleted recordings or not. Recordings metadata are kept after deletion for a retention period of 40 days.", + "schema": { + "type": "boolean" + } + }, + { "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -23523,17 +21810,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListRecordingResponse", "properties": { + "recordings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.recording" + } + }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -23542,25 +21837,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, - "transcriptions": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.recording.recording_transcription" - }, - "type": "array" - }, "uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" } - }, - "title": "ListRecordingTranscriptionResponse", - "type": "object" + } } } }, @@ -23572,122 +21859,67 @@ "accountSid_authToken": [] } ], + "operationId": "ListRecording", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/Recordings/{ReferenceSid}/AddOnResults/{Sid}.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "The results of an Add-on API call", "x-twilio": { "defaultOutputProperties": [ "sid", - "type", "status", - "duration" + "add_on_sid", + "date_created" ], - "parent": "/Accounts/{AccountSid}/Recordings.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Recordings/{RecordingSid}/Transcriptions/{Sid}.json": { - "delete": { - "description": "", - "operationId": "DeleteRecordingTranscription", + "pathType": "instance", + "parent": "/Accounts/{AccountSid}/Recordings.json" + }, + "get": { + "description": "Fetch an instance of an AddOnResult", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Transcription resources to delete.", - "in": "path", "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the [Recording](https://www.twilio.com/docs/voice/api/recording) that created the transcription to delete.", "in": "path", - "name": "RecordingSid", - "required": true, + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Recording AddOnResult resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^RE[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Transcription resource to delete.", + "name": "ReferenceSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the recording to which the result to fetch belongs.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^TR[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "description": "References to text transcriptions of call recordings", - "get": { - "description": "", - "operationId": "FetchRecordingTranscription", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Transcription resource to fetch.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "pattern": "^RE[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the [Recording](https://www.twilio.com/docs/voice/api/recording) that created the transcription to fetch.", + "name": "Sid", "in": "path", - "name": "RecordingSid", - "required": true, + "description": "The Twilio-provided string that uniquely identifies the Recording AddOnResult resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^RE[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the Transcription resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { "maxLength": 34, - "minLength": 34, - "pattern": "^TR[0-9a-fA-F]{32}$", - "type": "string" - } + "pattern": "^XR[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -23695,7 +21927,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.recording.recording_transcription" + "$ref": "#/components/schemas/api.v2010.account.recording.recording_add_on_result" } } }, @@ -23707,114 +21939,54 @@ "accountSid_authToken": [] } ], + "operationId": "FetchRecordingAddOnResult", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://api.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "type", - "status", - "duration" - ], - "parent": "/Accounts/{AccountSid}/Recordings.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Recordings/{ReferenceSid}/AddOnResults.json": { - "description": "The results of an Add-on API call", - "get": { - "description": "Retrieve a list of results belonging to the recording", - "operationId": "ListRecordingAddOnResult", + "delete": { + "description": "Delete a result and purge all associated Payloads", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Recording AddOnResult resources to read.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Recording AddOnResult resources to delete.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the recording to which the result to read belongs.", - "in": "path", "name": "ReferenceSid", - "required": true, + "in": "path", + "description": "The SID of the recording to which the result to delete belongs.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^RE[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^RE[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", - "name": "PageSize", + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Recording AddOnResult resource to delete.", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^XR[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "add_on_results": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.recording.recording_add_on_result" - }, - "type": "array" - }, - "end": { - "type": "integer" - }, - "first_page_uri": { - "format": "uri", - "type": "string" - }, - "next_page_uri": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_uri": { - "format": "uri", - "type": "string" - }, - "start": { - "type": "integer" - }, - "uri": { - "format": "uri", - "type": "string" - } - }, - "title": "ListRecordingAddOnResultResponse", - "type": "object" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -23822,15 +21994,19 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteRecordingAddOnResult", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/Recordings/{ReferenceSid}/AddOnResults.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "The results of an Add-on API call", "x-twilio": { "defaultOutputProperties": [ "sid", @@ -23838,60 +22014,44 @@ "add_on_sid", "date_created" ], - "parent": "/Accounts/{AccountSid}/Recordings.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Recordings/{ReferenceSid}/AddOnResults/{AddOnResultSid}/Payloads.json": { - "description": "A single Add-on results' payload", + "pathType": "list", + "parent": "/Accounts/{AccountSid}/Recordings.json" + }, "get": { - "description": "Retrieve a list of payloads belonging to the AddOnResult", - "operationId": "ListRecordingAddOnResultPayload", + "description": "Retrieve a list of results belonging to the recording", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Recording AddOnResult Payload resources to read.", - "in": "path", "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the recording to which the AddOnResult resource that contains the payloads to read belongs.", "in": "path", - "name": "ReferenceSid", - "required": true, + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Recording AddOnResult resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^RE[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the AddOnResult to which the payloads to read belongs.", + "name": "ReferenceSid", "in": "path", - "name": "AddOnResultSid", - "required": true, + "description": "The SID of the recording to which the result to read belongs.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^XR[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^RE[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -23900,17 +22060,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListRecordingAddOnResultResponse", "properties": { + "add_on_results": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.recording.recording_add_on_result" + } + }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -23918,26 +22086,18 @@ "page_size": { "type": "integer" }, - "payloads": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.recording.recording_add_on_result.recording_add_on_result_payload" - }, - "type": "array" - }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" } - }, - "title": "ListRecordingAddOnResultPayloadResponse", - "type": "object" + } } } }, @@ -23949,145 +22109,78 @@ "accountSid_authToken": [] } ], + "operationId": "ListRecordingAddOnResult", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/Recordings/{ReferenceSid}/AddOnResults/{AddOnResultSid}/Payloads/{Sid}.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "A single Add-on results' payload", "x-twilio": { "defaultOutputProperties": [ "sid", "label", "content_type" ], - "parent": "/Accounts/{AccountSid}/Recordings/{ReferenceSid}/AddOnResults.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Recordings/{ReferenceSid}/AddOnResults/{AddOnResultSid}/Payloads/{Sid}.json": { - "delete": { - "description": "Delete a payload from the result along with all associated Data", - "operationId": "DeleteRecordingAddOnResultPayload", + "pathType": "instance", + "parent": "/Accounts/{AccountSid}/Recordings/{ReferenceSid}/AddOnResults.json" + }, + "get": { + "description": "Fetch an instance of a result payload", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Recording AddOnResult Payload resources to delete.", - "in": "path", "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the recording to which the AddOnResult resource that contains the payloads to delete belongs.", "in": "path", - "name": "ReferenceSid", - "required": true, + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Recording AddOnResult Payload resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^RE[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the AddOnResult to which the payloads to delete belongs.", - "in": "path", - "name": "AddOnResultSid", - "required": true, - "schema": { "maxLength": 34, - "minLength": 34, - "pattern": "^XR[0-9a-fA-F]{32}$", - "type": "string" - } + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Recording AddOnResult Payload resource to delete.", + "name": "ReferenceSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the recording to which the AddOnResult resource that contains the payload to fetch belongs.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^XH[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "description": "A single Add-on results' payload", - "get": { - "description": "Fetch an instance of a result payload", - "operationId": "FetchRecordingAddOnResultPayload", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Recording AddOnResult Payload resource to fetch.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "pattern": "^RE[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the recording to which the AddOnResult resource that contains the payload to fetch belongs.", + "name": "AddOnResultSid", "in": "path", - "name": "ReferenceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^RE[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { "description": "The SID of the AddOnResult to which the payload to fetch belongs.", - "in": "path", - "name": "AddOnResultSid", - "required": true, "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^XR[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^XR[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Recording AddOnResult Payload resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Recording AddOnResult Payload resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^XH[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^XH[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -24107,65 +22200,61 @@ "accountSid_authToken": [] } ], + "operationId": "FetchRecordingAddOnResultPayload", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://api.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "label", - "content_type" - ], - "parent": "/Accounts/{AccountSid}/Recordings/{ReferenceSid}/AddOnResults.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Recordings/{ReferenceSid}/AddOnResults/{Sid}.json": { "delete": { - "description": "Delete a result and purge all associated Payloads", - "operationId": "DeleteRecordingAddOnResult", + "description": "Delete a payload from the result along with all associated Data", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Recording AddOnResult resources to delete.", + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Recording AddOnResult Payload resources to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "ReferenceSid", "in": "path", - "name": "AccountSid", - "required": true, + "description": "The SID of the recording to which the AddOnResult resource that contains the payloads to delete belongs.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^RE[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the recording to which the result to delete belongs.", + "name": "AddOnResultSid", "in": "path", - "name": "ReferenceSid", - "required": true, + "description": "The SID of the AddOnResult to which the payloads to delete belongs.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^RE[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^XR[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Recording AddOnResult resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Recording AddOnResult Payload resource to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^XR[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^XH[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -24178,49 +22267,75 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteRecordingAddOnResultPayload", "x-maturity": [ "GA" ] + } + }, + "/2010-04-01/Accounts/{AccountSid}/Recordings/{ReferenceSid}/AddOnResults/{AddOnResultSid}/Payloads.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], + "description": "A single Add-on results' payload", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "label", + "content_type" + ], + "pathType": "list", + "parent": "/Accounts/{AccountSid}/Recordings/{ReferenceSid}/AddOnResults.json" }, - "description": "The results of an Add-on API call", "get": { - "description": "Fetch an instance of an AddOnResult", - "operationId": "FetchRecordingAddOnResult", + "description": "Retrieve a list of payloads belonging to the AddOnResult", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Recording AddOnResult resource to fetch.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Recording AddOnResult Payload resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the recording to which the result to fetch belongs.", - "in": "path", "name": "ReferenceSid", - "required": true, + "in": "path", + "description": "The SID of the recording to which the AddOnResult resource that contains the payloads to read belongs.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^RE[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^RE[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Recording AddOnResult resource to fetch.", + "name": "AddOnResultSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the AddOnResult to which the payloads to read belongs.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^XR[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^XR[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "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 } } ], @@ -24229,7 +22344,44 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.recording.recording_add_on_result" + "type": "object", + "title": "ListRecordingAddOnResultPayloadResponse", + "properties": { + "payloads": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.recording.recording_add_on_result.recording_add_on_result_payload" + } + }, + "end": { + "type": "integer" + }, + "first_page_uri": { + "type": "string", + "format": "uri" + }, + "next_page_uri": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_uri": { + "type": "string", + "format": "uri" + }, + "start": { + "type": "integer" + }, + "uri": { + "type": "string", + "format": "uri" + } + } } } }, @@ -24241,59 +22393,79 @@ "accountSid_authToken": [] } ], + "operationId": "ListRecordingAddOnResultPayload", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/Recordings/{RecordingSid}/Transcriptions/{Sid}.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "References to text transcriptions of call recordings", "x-twilio": { "defaultOutputProperties": [ "sid", + "type", "status", - "add_on_sid", - "date_created" + "duration" ], - "parent": "/Accounts/{AccountSid}/Recordings.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Recordings/{Sid}.json": { - "delete": { - "description": "Delete a recording from your account", - "operationId": "DeleteRecording", + "pathType": "instance", + "parent": "/Accounts/{AccountSid}/Recordings.json" + }, + "get": { + "description": "", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Recording resources to delete.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Transcription resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Recording resource to delete.", + "name": "RecordingSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Recording](https://www.twilio.com/docs/voice/api/recording) that created the transcription to fetch.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^RE[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Transcription resource to fetch.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^RE[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^TR[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.recording.recording_transcription" + } + } + }, + "description": "OK" } }, "security": [ @@ -24301,58 +22473,54 @@ "accountSid_authToken": [] } ], + "operationId": "FetchRecordingTranscription", "x-maturity": [ "GA" ] }, - "description": "Recordings of phone calls", - "get": { - "description": "Fetch an instance of a recording", - "operationId": "FetchRecording", + "delete": { + "description": "", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Recording resource to fetch.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Transcription resources to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Recording resource to fetch.", + "name": "RecordingSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Recording](https://www.twilio.com/docs/voice/api/recording) that created the transcription to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^RE[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^RE[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "A boolean parameter indicating whether to retrieve soft deleted recordings or not. Recordings metadata are kept after deletion for a retention period of 40 days.", - "in": "query", - "name": "IncludeSoftDeleted", + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Transcription resource to delete.", "schema": { - "type": "boolean" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^TR[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.recording" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -24360,66 +22528,64 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteRecordingTranscription", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/Recordings/{RecordingSid}/Transcriptions.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "References to text transcriptions of call recordings", "x-twilio": { "defaultOutputProperties": [ "sid", - "call_sid", + "type", "status", - "start_time", "duration" ], - "parent": "/Accounts.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/SIP.json": { - "description": "TODO: Resource-level docs", - "servers": [ - { - "url": "https://api.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [], - "parent": "/Accounts.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/SIP/CredentialLists.json": { - "description": "Lists of SIP credentials", + "pathType": "list", + "parent": "/Accounts/{AccountSid}/Recordings.json" + }, "get": { - "description": "Get All Credential Lists", - "operationId": "ListSipCredentialList", + "description": "", "parameters": [ { - "description": "The unique id of the Account that is responsible for this resource.", + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Transcription resources to read.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "RecordingSid", "in": "path", - "name": "AccountSid", - "required": true, + "description": "The SID of the [Recording](https://www.twilio.com/docs/voice/api/recording) that created the transcriptions to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^RE[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -24428,23 +22594,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListRecordingTranscriptionResponse", "properties": { - "credential_lists": { + "transcriptions": { + "type": "array", "items": { - "$ref": "#/components/schemas/api.v2010.account.sip.sip_credential_list" - }, - "type": "array" + "$ref": "#/components/schemas/api.v2010.account.recording.recording_transcription" + } }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -24453,19 +22621,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" } - }, - "title": "ListSipCredentialListResponse", - "type": "object" + } } } }, @@ -24477,56 +22643,116 @@ "accountSid_authToken": [] } ], + "operationId": "ListRecordingTranscription", "x-maturity": [ "GA" ] + } + }, + "/2010-04-01/Accounts/{AccountSid}/SMS/ShortCodes/{Sid}.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], + "description": "Messaging short codes", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "short_code", + "friendly_name" + ], + "pathType": "instance", + "parent": "/Accounts.json" }, - "post": { - "description": "Create a Credential List", - "operationId": "CreateSipCredentialList", + "get": { + "description": "Fetch an instance of a short code", "parameters": [ { - "description": "The unique id of the Account that is responsible for this resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the ShortCode resource(s) to fetch.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the ShortCode resource to fetch", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^SC[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "FriendlyName": { - "description": "A human readable descriptive text that describes the CredentialList, up to 64 characters long.", - "type": "string" - } - }, - "required": [ - "FriendlyName" - ], - "title": "CreateSipCredentialListRequest", - "type": "object" + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.short_code" + } } - } + }, + "description": "OK" } }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "FetchShortCode", + "x-maturity": [ + "GA" + ] + }, + "post": { + "description": "Update a short code with the following parameters", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the ShortCode resource(s) to update.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the ShortCode resource to update", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^SC[0-9a-fA-F]{32}$" + }, + "required": true + } + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.sip.sip_credential_list" + "$ref": "#/components/schemas/api.v2010.account.short_code" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -24534,62 +22760,123 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateShortCode", "x-maturity": [ "GA" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateShortCodeRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you created to describe this resource. It can be up to 64 characters long. By default, the `FriendlyName` is the short code." + }, + "ApiVersion": { + "type": "string", + "description": "The API version to use to start a new TwiML session. Can be: `2010-04-01` or `2008-08-01`." + }, + "SmsUrl": { + "type": "string", + "format": "uri", + "description": "The URL we should call when receiving an incoming SMS message to this short code." + }, + "SmsMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method we should use when calling the `sms_url`. Can be: `GET` or `POST`." + }, + "SmsFallbackUrl": { + "type": "string", + "format": "uri", + "description": "The URL that we should call if an error occurs while retrieving or executing the TwiML from `sms_url`." + }, + "SmsFallbackMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method that we should use to call the `sms_fallback_url`. Can be: `GET` or `POST`." + } + } + } + } + } + } + } + }, + "/2010-04-01/Accounts/{AccountSid}/SMS/ShortCodes.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Messaging short codes", "x-twilio": { "defaultOutputProperties": [ "sid", + "short_code", "friendly_name" ], - "parent": "/Accounts/{AccountSid}/SIP.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/SIP/CredentialLists/{CredentialListSid}/Credentials.json": { - "description": "Username and password information for SIP Domains", + "pathType": "list", + "parent": "/Accounts.json" + }, "get": { - "description": "Retrieve a list of credentials.", - "operationId": "ListSipCredential", + "description": "Retrieve a list of short-codes belonging to the account used to make the request", "parameters": [ { - "description": "The unique id of the Account that is responsible for this resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the ShortCode resource(s) to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "FriendlyName", + "in": "query", + "description": "The string that identifies the ShortCode resources to read.", + "schema": { "type": "string" } }, { - "description": "The unique id that identifies the credential list that contains the desired credentials.", - "in": "path", - "name": "CredentialListSid", - "required": true, + "name": "ShortCode", + "in": "query", + "description": "Only show the ShortCode resources that match this pattern. You can specify partial numbers and use '*' as a wildcard for any digit.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CL[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", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -24598,23 +22885,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListShortCodeResponse", "properties": { - "credentials": { + "short_codes": { + "type": "array", "items": { - "$ref": "#/components/schemas/api.v2010.account.sip.sip_credential_list.sip_credential" - }, - "type": "array" + "$ref": "#/components/schemas/api.v2010.account.short_code" + } }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -24623,19 +22912,83 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" } - }, - "title": "ListSipCredentialResponse", - "type": "object" + } + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "ListShortCode", + "x-maturity": [ + "GA" + ] + } + }, + "/2010-04-01/Accounts/{AccountSid}/SigningKeys/{Sid}.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name" + ], + "pathType": "instance", + "parent": "/Accounts.json" + }, + "get": { + "description": "", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^SK[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.signing_key" } } }, @@ -24647,73 +23000,108 @@ "accountSid_authToken": [] } ], + "operationId": "FetchSigningKey", "x-maturity": [ "GA" ] }, "post": { - "description": "Create a new credential resource.", - "operationId": "CreateSipCredential", + "description": "", "parameters": [ { - "description": "The unique id of the Account that is responsible for this resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique id that identifies the credential list to include the created credential.", + "name": "Sid", "in": "path", - "name": "CredentialListSid", - "required": true, + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CL[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^SK[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.signing_key" + } + } + }, + "description": "OK" } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "UpdateSigningKey", + "x-maturity": [ + "GA" ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateSigningKeyRequest", "properties": { - "Password": { - "description": "The password that the username will use when authenticating SIP requests. The password must be a minimum of 12 characters, contain at least 1 digit, and have mixed case. (eg `IWasAtSignal2018`)", - "type": "string" - }, - "Username": { - "description": "The username that will be passed when authenticating SIP requests. The username should be sent in response to Twilio's challenge of the initial INVITE. It can be up to 32 characters long.", - "type": "string" + "FriendlyName": { + "type": "string", + "description": "" } - }, - "required": [ - "Username", - "Password" - ], - "title": "CreateSipCredentialRequest", - "type": "object" + } } } } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.sip.sip_credential_list.sip_credential" - } - } + } + }, + "delete": { + "description": "", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" }, - "description": "Created" + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^SK[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -24721,70 +23109,107 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteSigningKey", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/SIP.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [], + "pathType": "list", + "parent": "/Accounts.json" + } + }, + "/2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [], + "pathType": "list", + "parent": "/Accounts/{AccountSid}/SIP/Domains.json", + "className": "auth_types" + } + }, + "/2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Calls.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [], + "pathType": "list", + "parent": "/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth.json", + "className": "auth_type_calls" + } + }, + "/2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Calls/CredentialListMappings.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], + "description": "Credential lists for SIP calls", "x-twilio": { "defaultOutputProperties": [ "sid", - "username", - "credential_list_sid" + "friendly_name" ], - "parent": "/Accounts/{AccountSid}/SIP/CredentialLists.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/SIP/CredentialLists/{CredentialListSid}/Credentials/{Sid}.json": { - "delete": { - "description": "Delete a credential resource.", - "operationId": "DeleteSipCredential", + "pathType": "list", + "parent": "/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Calls.json", + "className": "auth_calls_credential_list_mapping" + }, + "post": { + "description": "Create a new credential list mapping resource", "parameters": [ { - "description": "The unique id of the Account that is responsible for this resource.", - "in": "path", "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The unique id that identifies the credential list that contains the desired credentials.", "in": "path", - "name": "CredentialListSid", - "required": true, + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CL[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique id that identifies the resource to delete.", + "name": "DomainSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the SIP domain that will contain the new resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^SD[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.sip.sip_domain.sip_auth.sip_auth_calls.sip_auth_calls_credential_list_mapping" + } + } + }, + "description": "Created" } }, "security": [ @@ -24792,49 +23217,68 @@ "accountSid_authToken": [] } ], + "operationId": "CreateSipAuthCallsCredentialListMapping", "x-maturity": [ "GA" - ] + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateSipAuthCallsCredentialListMappingRequest", + "properties": { + "CredentialListSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CL[0-9a-fA-F]{32}$", + "description": "The SID of the CredentialList resource to map to the SIP domain." + } + }, + "required": [ + "CredentialListSid" + ] + } + } + } + } }, - "description": "Username and password information for SIP Domains", "get": { - "description": "Fetch a single credential.", - "operationId": "FetchSipCredential", + "description": "Retrieve a list of credential list mappings belonging to the domain used in the request", "parameters": [ { - "description": "The unique id of the Account that is responsible for this resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the CredentialListMapping resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique id that identifies the credential list that contains the desired credential.", + "name": "DomainSid", "in": "path", - "name": "CredentialListSid", - "required": true, + "description": "The SID of the SIP domain that contains the resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CL[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^SD[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique id that identifies the resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", - "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 } } ], @@ -24843,7 +23287,44 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.sip.sip_credential_list.sip_credential" + "type": "object", + "title": "ListSipAuthCallsCredentialListMappingResponse", + "properties": { + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.sip.sip_domain.sip_auth.sip_auth_calls.sip_auth_calls_credential_list_mapping" + } + }, + "end": { + "type": "integer" + }, + "first_page_uri": { + "type": "string", + "format": "uri" + }, + "next_page_uri": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_uri": { + "type": "string", + "format": "uri" + }, + "start": { + "type": "integer" + }, + "uri": { + "type": "string", + "format": "uri" + } + } } } }, @@ -24855,73 +23336,74 @@ "accountSid_authToken": [] } ], + "operationId": "ListSipAuthCallsCredentialListMapping", "x-maturity": [ "GA" ] + } + }, + "/2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Calls/CredentialListMappings/{Sid}.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], + "description": "Credential lists for SIP calls", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name" + ], + "pathType": "instance", + "parent": "/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Calls.json", + "className": "auth_calls_credential_list_mapping" }, - "post": { - "description": "Update a credential resource.", - "operationId": "UpdateSipCredential", + "get": { + "description": "Fetch a specific instance of a credential list mapping", "parameters": [ { - "description": "The unique id of the Account that is responsible for this resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the CredentialListMapping resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique id that identifies the credential list that includes this credential.", + "name": "DomainSid", "in": "path", - "name": "CredentialListSid", - "required": true, + "description": "The SID of the SIP domain that contains the resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CL[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^SD[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique id that identifies the resource to update.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the CredentialListMapping resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CL[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Password": { - "description": "The password that the username will use when authenticating SIP requests. The password must be a minimum of 12 characters, contain at least 1 digit, and have mixed case. (eg `IWasAtSignal2018`)", - "type": "string" - } - }, - "title": "UpdateSipCredentialRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.sip.sip_credential_list.sip_credential" + "$ref": "#/components/schemas/api.v2010.account.sip.sip_domain.sip_auth.sip_auth_calls.sip_auth_calls_credential_list_mapping" } } }, @@ -24933,53 +23415,49 @@ "accountSid_authToken": [] } ], + "operationId": "FetchSipAuthCallsCredentialListMapping", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://api.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "username", - "credential_list_sid" - ], - "parent": "/Accounts/{AccountSid}/SIP/CredentialLists.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/SIP/CredentialLists/{Sid}.json": { "delete": { - "description": "Delete a Credential List", - "operationId": "DeleteSipCredentialList", + "description": "Delete a credential list mapping from the requested domain", "parameters": [ { - "description": "The unique id of the Account that is responsible for this resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the CredentialListMapping resources to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The credential list Sid that uniquely identifies this resource", + "name": "DomainSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the SIP domain that contains the resource to delete.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^SD[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the CredentialListMapping resource to delete.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^CL[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CL[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -24992,50 +23470,66 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteSipAuthCallsCredentialListMapping", "x-maturity": [ "GA" ] + } + }, + "/2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Calls/IpAccessControlListMappings.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], + "description": "IP address lists for SIP calls", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name" + ], + "pathType": "list", + "parent": "/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Calls.json", + "className": "auth_calls_ip_access_control_list_mapping" }, - "description": "Lists of SIP credentials", - "get": { - "description": "Get a Credential List", - "operationId": "FetchSipCredentialList", + "post": { + "description": "Create a new IP Access Control List mapping", "parameters": [ { - "description": "The unique id of the Account that is responsible for this resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The credential list Sid that uniquely identifies this resource", + "name": "DomainSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the SIP domain that will contain the new resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CL[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^SD[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.sip.sip_credential_list" + "$ref": "#/components/schemas/api.v2010.account.sip.sip_domain.sip_auth.sip_auth_calls.sip_auth_calls_ip_access_control_list_mapping" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -25043,119 +23537,68 @@ "accountSid_authToken": [] } ], + "operationId": "CreateSipAuthCallsIpAccessControlListMapping", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "Update a Credential List", - "operationId": "UpdateSipCredentialList", - "parameters": [ - { - "description": "The unique id of the Account that is responsible for this resource.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The credential list Sid that uniquely identifies this resource", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CL[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateSipAuthCallsIpAccessControlListMappingRequest", "properties": { - "FriendlyName": { - "description": "A human readable descriptive text for a CredentialList, up to 64 characters long.", - "type": "string" + "IpAccessControlListSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AL[0-9a-fA-F]{32}$", + "description": "The SID of the IpAccessControlList resource to map to the SIP domain." } }, "required": [ - "FriendlyName" - ], - "title": "UpdateSipCredentialListRequest", - "type": "object" + "IpAccessControlListSid" + ] } } } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.sip.sip_credential_list" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://api.twilio.com" } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name" - ], - "parent": "/Accounts/{AccountSid}/SIP.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/SIP/Domains.json": { - "description": "Custom DNS hostnames that can accept SIP traffic", + }, "get": { - "description": "Retrieve a list of domains belonging to the account used to make the request", - "operationId": "ListSipDomain", + "description": "Retrieve a list of IP Access Control List mappings belonging to the domain used in the request", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the SipDomain resources to read.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the IpAccessControlListMapping resources to read.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "DomainSid", + "in": "path", + "description": "The SID of the SIP domain that contains the resources to read.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^SD[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -25164,23 +23607,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListSipAuthCallsIpAccessControlListMappingResponse", "properties": { - "domains": { + "contents": { + "type": "array", "items": { - "$ref": "#/components/schemas/api.v2010.account.sip.sip_domain" - }, - "type": "array" + "$ref": "#/components/schemas/api.v2010.account.sip.sip_domain.sip_auth.sip_auth_calls.sip_auth_calls_ip_access_control_list_mapping" + } }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -25189,19 +23634,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" } - }, - "title": "ListSipDomainResponse", - "type": "object" + } } } }, @@ -25213,136 +23656,210 @@ "accountSid_authToken": [] } ], + "operationId": "ListSipAuthCallsIpAccessControlListMapping", "x-maturity": [ "GA" ] + } + }, + "/2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Calls/IpAccessControlListMappings/{Sid}.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], + "description": "IP address lists for SIP calls", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name" + ], + "pathType": "instance", + "parent": "/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Calls.json", + "className": "auth_calls_ip_access_control_list_mapping" }, - "post": { - "description": "Create a new Domain", - "operationId": "CreateSipDomain", + "get": { + "description": "Fetch a specific instance of an IP Access Control List mapping", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the IpAccessControlListMapping resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "DomainSid", + "in": "path", + "description": "The SID of the SIP domain that contains the resource to fetch.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^SD[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the IpAccessControlListMapping resource to fetch.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AL[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "ByocTrunkSid": { - "description": "The SID of the BYOC Trunk(Bring Your Own Carrier) resource that the Sip Domain will be associated with.", - "maxLength": 34, - "minLength": 34, - "pattern": "^BY[0-9a-fA-F]{32}$", - "type": "string" - }, - "DomainName": { - "description": "The unique address you reserve on Twilio to which you route your SIP traffic. Domain names can contain letters, digits, and \"-\" and must end with `sip.twilio.com`.", - "type": "string" - }, - "EmergencyCallerSid": { - "description": "Whether an emergency caller sid is configured for the domain. If present, this phone number will be used as the callback for the emergency call.", - "maxLength": 34, - "minLength": 34, - "pattern": "^PN[0-9a-fA-F]{32}$", - "type": "string" - }, - "EmergencyCallingEnabled": { - "description": "Whether emergency calling is enabled for the domain. If enabled, allows emergency calls on the domain from phone numbers with validated addresses.", - "type": "boolean" - }, - "FriendlyName": { - "description": "A descriptive string that you created to describe the resource. It can be up to 64 characters long.", - "type": "string" - }, - "Secure": { - "description": "Whether secure SIP is enabled for the domain. If enabled, TLS will be enforced and SRTP will be negotiated on all incoming calls to this sip domain.", - "type": "boolean" - }, - "SipRegistration": { - "description": "Whether to allow SIP Endpoints to register with the domain to receive calls. Can be `true` or `false`. `true` allows SIP Endpoints to register with the domain to receive calls, `false` does not.", - "type": "boolean" - }, - "VoiceFallbackMethod": { - "description": "The HTTP method we should use to call `voice_fallback_url`. Can be: `GET` or `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "VoiceFallbackUrl": { - "description": "The URL that we should call when an error occurs while retrieving or executing the TwiML from `voice_url`.", - "format": "uri", - "type": "string" - }, - "VoiceMethod": { - "description": "The HTTP method we should use to call `voice_url`. Can be: `GET` or `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "VoiceStatusCallbackMethod": { - "description": "The HTTP method we should use to call `voice_status_callback_url`. Can be: `GET` or `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "VoiceStatusCallbackUrl": { - "description": "The URL that we should call to pass status parameters (such as call ended) to your application.", - "format": "uri", - "type": "string" - }, - "VoiceUrl": { - "description": "The URL we should when the domain receives a call.", - "format": "uri", - "type": "string" - } - }, - "required": [ - "DomainName" - ], - "title": "CreateSipDomainRequest", - "type": "object" + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.sip.sip_domain.sip_auth.sip_auth_calls.sip_auth_calls_ip_access_control_list_mapping" + } } - } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "FetchSipAuthCallsIpAccessControlListMapping", + "x-maturity": [ + "GA" + ] + }, + "delete": { + "description": "Delete an IP Access Control List mapping from the requested domain", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the IpAccessControlListMapping resources to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "DomainSid", + "in": "path", + "description": "The SID of the SIP domain that contains the resources to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^SD[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the IpAccessControlListMapping resource to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AL[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteSipAuthCallsIpAccessControlListMapping", + "x-maturity": [ + "GA" + ] + } + }, + "/2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Registrations.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [], + "pathType": "list", + "parent": "/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth.json", + "className": "auth_type_registrations" + } + }, + "/2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Registrations/CredentialListMappings.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], + "description": "Credential lists for SIP registrations", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name" + ], + "pathType": "list", + "parent": "/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Registrations.json", + "className": "auth_registrations_credential_list_mapping" + }, + "post": { + "description": "Create a new credential list mapping resource", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "DomainSid", + "in": "path", + "description": "The SID of the SIP domain that will contain the new resource.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^SD[0-9a-fA-F]{32}$" + }, + "required": true } - }, + ], "responses": { "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.sip.sip_domain" + "$ref": "#/components/schemas/api.v2010.account.sip.sip_domain.sip_auth.sip_auth_registrations.sip_auth_registrations_credential_list_mapping" } } }, @@ -25354,91 +23871,68 @@ "accountSid_authToken": [] } ], + "operationId": "CreateSipAuthRegistrationsCredentialListMapping", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://api.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "domain_name", - "friendly_name" ], - "parent": "/Accounts/{AccountSid}/SIP.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth.json": { - "description": "TODO: Resource-level docs", - "servers": [ - { - "url": "https://api.twilio.com" - } - ], - "x-twilio": { - "className": "auth_types", - "defaultOutputProperties": [], - "parent": "/Accounts/{AccountSid}/SIP/Domains.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Calls.json": { - "description": "TODO: Resource-level docs", - "servers": [ - { - "url": "https://api.twilio.com" + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateSipAuthRegistrationsCredentialListMappingRequest", + "properties": { + "CredentialListSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CL[0-9a-fA-F]{32}$", + "description": "The SID of the CredentialList resource to map to the SIP domain." + } + }, + "required": [ + "CredentialListSid" + ] + } + } + } } - ], - "x-twilio": { - "className": "auth_type_calls", - "defaultOutputProperties": [], - "parent": "/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Calls/CredentialListMappings.json": { - "description": "Credential lists for SIP calls", + }, "get": { "description": "Retrieve a list of credential list mappings belonging to the domain used in the request", - "operationId": "ListSipAuthCallsCredentialListMapping", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the CredentialListMapping resources to read.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the CredentialListMapping resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the SIP domain that contains the resources to read.", - "in": "path", "name": "DomainSid", - "required": true, + "in": "path", + "description": "The SID of the SIP domain that contains the resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^SD[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^SD[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -25447,23 +23941,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListSipAuthRegistrationsCredentialListMappingResponse", "properties": { "contents": { + "type": "array", "items": { - "$ref": "#/components/schemas/api.v2010.account.sip.sip_domain.sip_auth.sip_auth_calls.sip_auth_calls_credential_list_mapping" - }, - "type": "array" + "$ref": "#/components/schemas/api.v2010.account.sip.sip_domain.sip_auth.sip_auth_registrations.sip_auth_registrations_credential_list_mapping" + } }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -25472,95 +23968,21 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" } - }, - "title": "ListSipAuthCallsCredentialListMappingResponse", - "type": "object" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "Create a new credential list mapping resource", - "operationId": "CreateSipAuthCallsCredentialListMapping", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the SIP domain that will contain the new resource.", - "in": "path", - "name": "DomainSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^SD[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "CredentialListSid": { - "description": "The SID of the CredentialList resource to map to the SIP domain.", - "maxLength": 34, - "minLength": 34, - "pattern": "^CL[0-9a-fA-F]{32}$", - "type": "string" } - }, - "required": [ - "CredentialListSid" - ], - "title": "CreateSipAuthCallsCredentialListMappingRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.sip.sip_domain.sip_auth.sip_auth_calls.sip_auth_calls_credential_list_mapping" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -25568,70 +23990,78 @@ "accountSid_authToken": [] } ], + "operationId": "ListSipAuthRegistrationsCredentialListMapping", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Registrations/CredentialListMappings/{Sid}.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Credential lists for SIP registrations", "x-twilio": { - "className": "auth_calls_credential_list_mapping", "defaultOutputProperties": [ "sid", "friendly_name" ], - "parent": "/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Calls.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Calls/CredentialListMappings/{Sid}.json": { - "delete": { - "description": "Delete a credential list mapping from the requested domain", - "operationId": "DeleteSipAuthCallsCredentialListMapping", + "pathType": "instance", + "parent": "/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Registrations.json", + "className": "auth_registrations_credential_list_mapping" + }, + "get": { + "description": "Fetch a specific instance of a credential list mapping", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the CredentialListMapping resources to delete.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the CredentialListMapping resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the SIP domain that contains the resource to delete.", - "in": "path", "name": "DomainSid", - "required": true, + "in": "path", + "description": "The SID of the SIP domain that contains the resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^SD[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^SD[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the CredentialListMapping resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the CredentialListMapping resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CL[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CL[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.sip.sip_domain.sip_auth.sip_auth_registrations.sip_auth_registrations_credential_list_mapping" + } + } + }, + "description": "OK" } }, "security": [ @@ -25639,62 +24069,54 @@ "accountSid_authToken": [] } ], + "operationId": "FetchSipAuthRegistrationsCredentialListMapping", "x-maturity": [ "GA" ] }, - "description": "Credential lists for SIP calls", - "get": { - "description": "Fetch a specific instance of a credential list mapping", - "operationId": "FetchSipAuthCallsCredentialListMapping", + "delete": { + "description": "Delete a credential list mapping from the requested domain", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the CredentialListMapping resource to fetch.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the CredentialListMapping resources to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the SIP domain that contains the resource to fetch.", - "in": "path", "name": "DomainSid", - "required": true, + "in": "path", + "description": "The SID of the SIP domain that contains the resources to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^SD[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^SD[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the CredentialListMapping resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the CredentialListMapping resource to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CL[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CL[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.sip.sip_domain.sip_auth.sip_auth_calls.sip_auth_calls_credential_list_mapping" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -25702,63 +24124,63 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteSipAuthRegistrationsCredentialListMapping", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/SIP/CredentialLists/{CredentialListSid}/Credentials.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Username and password information for SIP Domains", "x-twilio": { - "className": "auth_calls_credential_list_mapping", "defaultOutputProperties": [ "sid", - "friendly_name" + "username", + "credential_list_sid" ], - "parent": "/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Calls.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Calls/IpAccessControlListMappings.json": { - "description": "IP address lists for SIP calls", + "pathType": "list", + "parent": "/Accounts/{AccountSid}/SIP/CredentialLists.json" + }, "get": { - "description": "Retrieve a list of IP Access Control List mappings belonging to the domain used in the request", - "operationId": "ListSipAuthCallsIpAccessControlListMapping", + "description": "Retrieve a list of credentials.", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the IpAccessControlListMapping resources to read.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The unique id of the Account that is responsible for this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the SIP domain that contains the resources to read.", + "name": "CredentialListSid", "in": "path", - "name": "DomainSid", - "required": true, + "description": "The unique id that identifies the credential list that contains the desired credentials.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^SD[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CL[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -25767,23 +24189,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListSipCredentialResponse", "properties": { - "contents": { + "credentials": { + "type": "array", "items": { - "$ref": "#/components/schemas/api.v2010.account.sip.sip_domain.sip_auth.sip_auth_calls.sip_auth_calls_ip_access_control_list_mapping" - }, - "type": "array" + "$ref": "#/components/schemas/api.v2010.account.sip.sip_credential_list.sip_credential" + } }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -25792,19 +24216,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" } - }, - "title": "ListSipAuthCallsIpAccessControlListMappingResponse", - "type": "object" + } } } }, @@ -25816,67 +24238,45 @@ "accountSid_authToken": [] } ], + "operationId": "ListSipCredential", "x-maturity": [ "GA" ] }, "post": { - "description": "Create a new IP Access Control List mapping", - "operationId": "CreateSipAuthCallsIpAccessControlListMapping", + "description": "Create a new credential resource.", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The unique id of the Account that is responsible for this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the SIP domain that will contain the new resource.", + "name": "CredentialListSid", "in": "path", - "name": "DomainSid", - "required": true, + "description": "The unique id that identifies the credential list to include the created credential.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^SD[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CL[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "IpAccessControlListSid": { - "description": "The SID of the IpAccessControlList resource to map to the SIP domain.", - "maxLength": 34, - "minLength": 34, - "pattern": "^AL[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "required": [ - "IpAccessControlListSid" - ], - "title": "CreateSipAuthCallsIpAccessControlListMappingRequest", - "type": "object" - } - } - } - }, "responses": { "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.sip.sip_domain.sip_auth.sip_auth_calls.sip_auth_calls_ip_access_control_list_mapping" + "$ref": "#/components/schemas/api.v2010.account.sip.sip_credential_list.sip_credential" } } }, @@ -25888,133 +24288,235 @@ "accountSid_authToken": [] } ], + "operationId": "CreateSipCredential", "x-maturity": [ "GA" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateSipCredentialRequest", + "properties": { + "Username": { + "type": "string", + "description": "The username that will be passed when authenticating SIP requests. The username should be sent in response to Twilio's challenge of the initial INVITE. It can be up to 32 characters long." + }, + "Password": { + "type": "string", + "description": "The password that the username will use when authenticating SIP requests. The password must be a minimum of 12 characters, contain at least 1 digit, and have mixed case. (eg `IWasAtSignal2018`)" + } + }, + "required": [ + "Username", + "Password" + ] + } + } + } + } + } + }, + "/2010-04-01/Accounts/{AccountSid}/SIP/CredentialLists/{CredentialListSid}/Credentials/{Sid}.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Username and password information for SIP Domains", "x-twilio": { - "className": "auth_calls_ip_access_control_list_mapping", "defaultOutputProperties": [ "sid", - "friendly_name" + "username", + "credential_list_sid" ], - "parent": "/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Calls.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Calls/IpAccessControlListMappings/{Sid}.json": { - "delete": { - "description": "Delete an IP Access Control List mapping from the requested domain", - "operationId": "DeleteSipAuthCallsIpAccessControlListMapping", + "pathType": "instance", + "parent": "/Accounts/{AccountSid}/SIP/CredentialLists.json" + }, + "get": { + "description": "Fetch a single credential.", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the IpAccessControlListMapping resources to delete.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The unique id of the Account that is responsible for this resource.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "CredentialListSid", + "in": "path", + "description": "The unique id that identifies the credential list that contains the desired credential.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CL[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the SIP domain that contains the resources to delete.", + "name": "Sid", "in": "path", - "name": "DomainSid", - "required": true, + "description": "The unique id that identifies the resource to fetch.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.sip.sip_credential_list.sip_credential" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "FetchSipCredential", + "x-maturity": [ + "GA" + ] + }, + "post": { + "description": "Update a credential resource.", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The unique id of the Account that is responsible for this resource.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^SD[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the IpAccessControlListMapping resource to delete.", + "name": "CredentialListSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The unique id that identifies the credential list that includes this credential.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^CL[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The unique id that identifies the resource to update.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^AL[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.sip.sip_credential_list.sip_credential" + } + } + }, + "description": "OK" } }, "security": [ { "accountSid_authToken": [] } - ], - "x-maturity": [ - "GA" - ] + ], + "operationId": "UpdateSipCredential", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateSipCredentialRequest", + "properties": { + "Password": { + "type": "string", + "description": "The password that the username will use when authenticating SIP requests. The password must be a minimum of 12 characters, contain at least 1 digit, and have mixed case. (eg `IWasAtSignal2018`)" + } + } + } + } + } + } }, - "description": "IP address lists for SIP calls", - "get": { - "description": "Fetch a specific instance of an IP Access Control List mapping", - "operationId": "FetchSipAuthCallsIpAccessControlListMapping", + "delete": { + "description": "Delete a credential resource.", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the IpAccessControlListMapping resource to fetch.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The unique id of the Account that is responsible for this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the SIP domain that contains the resource to fetch.", + "name": "CredentialListSid", "in": "path", - "name": "DomainSid", - "required": true, + "description": "The unique id that identifies the credential list that contains the desired credentials.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^SD[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CL[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the IpAccessControlListMapping resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The unique id that identifies the resource to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AL[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.sip.sip_domain.sip_auth.sip_auth_calls.sip_auth_calls_ip_access_control_list_mapping" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -26022,77 +24524,50 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteSipCredential", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/SIP/CredentialLists.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Lists of SIP credentials", "x-twilio": { - "className": "auth_calls_ip_access_control_list_mapping", "defaultOutputProperties": [ "sid", "friendly_name" ], - "parent": "/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Calls.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Registrations.json": { - "description": "TODO: Resource-level docs", - "servers": [ - { - "url": "https://api.twilio.com" - } - ], - "x-twilio": { - "className": "auth_type_registrations", - "defaultOutputProperties": [], - "parent": "/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Registrations/CredentialListMappings.json": { - "description": "Credential lists for SIP registrations", + "pathType": "list", + "parent": "/Accounts/{AccountSid}/SIP.json" + }, "get": { - "description": "Retrieve a list of credential list mappings belonging to the domain used in the request", - "operationId": "ListSipAuthRegistrationsCredentialListMapping", + "description": "Get All Credential Lists", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the CredentialListMapping resources to read.", - "in": "path", "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the SIP domain that contains the resources to read.", "in": "path", - "name": "DomainSid", - "required": true, + "description": "The unique id of the Account that is responsible for this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^SD[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -26101,23 +24576,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListSipCredentialListResponse", "properties": { - "contents": { + "credential_lists": { + "type": "array", "items": { - "$ref": "#/components/schemas/api.v2010.account.sip.sip_domain.sip_auth.sip_auth_registrations.sip_auth_registrations_credential_list_mapping" - }, - "type": "array" + "$ref": "#/components/schemas/api.v2010.account.sip.sip_credential_list" + } }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -26126,19 +24603,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" } - }, - "title": "ListSipAuthRegistrationsCredentialListMappingResponse", - "type": "object" + } } } }, @@ -26150,67 +24625,33 @@ "accountSid_authToken": [] } ], + "operationId": "ListSipCredentialList", "x-maturity": [ "GA" ] }, "post": { - "description": "Create a new credential list mapping resource", - "operationId": "CreateSipAuthRegistrationsCredentialListMapping", + "description": "Create a Credential List", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", - "in": "path", "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the SIP domain that will contain the new resource.", "in": "path", - "name": "DomainSid", - "required": true, + "description": "The unique id of the Account that is responsible for this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^SD[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "CredentialListSid": { - "description": "The SID of the CredentialList resource to map to the SIP domain.", - "maxLength": 34, - "minLength": 34, - "pattern": "^CL[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "required": [ - "CredentialListSid" - ], - "title": "CreateSipAuthRegistrationsCredentialListMappingRequest", - "type": "object" - } - } - } - }, "responses": { "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.sip.sip_domain.sip_auth.sip_auth_registrations.sip_auth_registrations_credential_list_mapping" + "$ref": "#/components/schemas/api.v2010.account.sip.sip_credential_list" } } }, @@ -26222,121 +24663,72 @@ "accountSid_authToken": [] } ], + "operationId": "CreateSipCredentialList", "x-maturity": [ "GA" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateSipCredentialListRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A human readable descriptive text that describes the CredentialList, up to 64 characters long." + } + }, + "required": [ + "FriendlyName" + ] + } + } + } + } + } + }, + "/2010-04-01/Accounts/{AccountSid}/SIP/CredentialLists/{Sid}.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Lists of SIP credentials", "x-twilio": { - "className": "auth_registrations_credential_list_mapping", "defaultOutputProperties": [ "sid", "friendly_name" ], - "parent": "/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Registrations.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Registrations/CredentialListMappings/{Sid}.json": { - "delete": { - "description": "Delete a credential list mapping from the requested domain", - "operationId": "DeleteSipAuthRegistrationsCredentialListMapping", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the CredentialListMapping resources to delete.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the SIP domain that contains the resources to delete.", - "in": "path", - "name": "DomainSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^SD[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the CredentialListMapping resource to delete.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CL[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] + "pathType": "instance", + "parent": "/Accounts/{AccountSid}/SIP.json" }, - "description": "Credential lists for SIP registrations", "get": { - "description": "Fetch a specific instance of a credential list mapping", - "operationId": "FetchSipAuthRegistrationsCredentialListMapping", + "description": "Get a Credential List", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the CredentialListMapping resource to fetch.", - "in": "path", "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the SIP domain that contains the resource to fetch.", "in": "path", - "name": "DomainSid", - "required": true, + "description": "The unique id of the Account that is responsible for this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^SD[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, - { - "description": "The Twilio-provided string that uniquely identifies the CredentialListMapping resource to fetch.", - "in": "path", + { "name": "Sid", - "required": true, + "in": "path", + "description": "The credential list Sid that uniquely identifies this resource", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CL[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CL[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -26344,7 +24736,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.sip.sip_domain.sip_auth.sip_auth_registrations.sip_auth_registrations_credential_list_mapping" + "$ref": "#/components/schemas/api.v2010.account.sip.sip_credential_list" } } }, @@ -26356,64 +24748,37 @@ "accountSid_authToken": [] } ], + "operationId": "FetchSipCredentialList", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://api.twilio.com" - } - ], - "x-twilio": { - "className": "auth_registrations_credential_list_mapping", - "defaultOutputProperties": [ - "sid", - "friendly_name" - ], - "parent": "/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Registrations.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/CredentialListMappings.json": { - "description": "Credential lists associated with a SIP Domain", - "get": { - "description": "Read multiple CredentialListMapping resources from an account.", - "operationId": "ListSipCredentialListMapping", + "post": { + "description": "Update a Credential List", "parameters": [ { - "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The unique id of the Account that is responsible for this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "A 34 character string that uniquely identifies the SIP Domain that includes the resource to read.", + "name": "Sid", "in": "path", - "name": "DomainSid", - "required": true, + "description": "The credential list Sid that uniquely identifies this resource", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^SD[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" - } + "maxLength": 34, + "pattern": "^CL[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -26421,44 +24786,7 @@ "content": { "application/json": { "schema": { - "properties": { - "credential_list_mappings": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.sip.sip_domain.sip_credential_list_mapping" - }, - "type": "array" - }, - "end": { - "type": "integer" - }, - "first_page_uri": { - "format": "uri", - "type": "string" - }, - "next_page_uri": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_uri": { - "format": "uri", - "type": "string" - }, - "start": { - "type": "integer" - }, - "uri": { - "format": "uri", - "type": "string" - } - }, - "title": "ListSipCredentialListMappingResponse", - "type": "object" + "$ref": "#/components/schemas/api.v2010.account.sip.sip_credential_list" } } }, @@ -26470,71 +24798,61 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateSipCredentialList", "x-maturity": [ "GA" - ] + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateSipCredentialListRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A human readable descriptive text for a CredentialList, up to 64 characters long." + } + }, + "required": [ + "FriendlyName" + ] + } + } + } + } }, - "post": { - "description": "Create a CredentialListMapping resource for an account.", - "operationId": "CreateSipCredentialListMapping", + "delete": { + "description": "Delete a Credential List", "parameters": [ { - "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The unique id of the Account that is responsible for this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "A 34 character string that uniquely identifies the SIP Domain for which the CredentialList resource will be mapped.", + "name": "Sid", "in": "path", - "name": "DomainSid", - "required": true, + "description": "The credential list Sid that uniquely identifies this resource", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^SD[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CL[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "CredentialListSid": { - "description": "A 34 character string that uniquely identifies the CredentialList resource to map to the SIP domain.", - "maxLength": 34, - "minLength": 34, - "pattern": "^CL[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "required": [ - "CredentialListSid" - ], - "title": "CreateSipCredentialListMappingRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.sip.sip_domain.sip_credential_list_mapping" - } - } - }, - "description": "Created" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -26542,69 +24860,65 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteSipCredentialList", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/CredentialListMappings.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Credential lists associated with a SIP Domain", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name" ], - "parent": "/Accounts/{AccountSid}/SIP/Domains.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/CredentialListMappings/{Sid}.json": { - "delete": { - "description": "Delete a CredentialListMapping resource from an account.", - "operationId": "DeleteSipCredentialListMapping", + "pathType": "list", + "parent": "/Accounts/{AccountSid}/SIP/Domains.json" + }, + "post": { + "description": "Create a CredentialListMapping resource for an account.", "parameters": [ { - "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", - "in": "path", "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "A 34 character string that uniquely identifies the SIP Domain that includes the resource to delete.", "in": "path", - "name": "DomainSid", - "required": true, + "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^SD[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "A 34 character string that uniquely identifies the resource to delete.", + "name": "DomainSid", "in": "path", - "name": "Sid", - "required": true, + "description": "A 34 character string that uniquely identifies the SIP Domain for which the CredentialList resource will be mapped.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CL[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^SD[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.sip.sip_domain.sip_credential_list_mapping" + } + } + }, + "description": "Created" } }, "security": [ @@ -26612,49 +24926,68 @@ "accountSid_authToken": [] } ], + "operationId": "CreateSipCredentialListMapping", "x-maturity": [ "GA" - ] + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateSipCredentialListMappingRequest", + "properties": { + "CredentialListSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CL[0-9a-fA-F]{32}$", + "description": "A 34 character string that uniquely identifies the CredentialList resource to map to the SIP domain." + } + }, + "required": [ + "CredentialListSid" + ] + } + } + } + } }, - "description": "Credential lists associated with a SIP Domain", "get": { - "description": "Fetch a single CredentialListMapping resource from an account.", - "operationId": "FetchSipCredentialListMapping", + "description": "Read multiple CredentialListMapping resources from an account.", "parameters": [ { - "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "A 34 character string that uniquely identifies the SIP Domain that includes the resource to fetch.", - "in": "path", "name": "DomainSid", - "required": true, + "in": "path", + "description": "A 34 character string that uniquely identifies the SIP Domain that includes the resource to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^SD[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^SD[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "A 34 character string that uniquely identifies the resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, + "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CL[0-9a-fA-F]{32}$", - "type": "string" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], @@ -26663,7 +24996,44 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.sip.sip_domain.sip_credential_list_mapping" + "type": "object", + "title": "ListSipCredentialListMappingResponse", + "properties": { + "credential_list_mappings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.sip.sip_domain.sip_credential_list_mapping" + } + }, + "end": { + "type": "integer" + }, + "first_page_uri": { + "type": "string", + "format": "uri" + }, + "next_page_uri": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_uri": { + "type": "string", + "format": "uri" + }, + "start": { + "type": "integer" + }, + "uri": { + "type": "string", + "format": "uri" + } + } } } }, @@ -26675,63 +25045,65 @@ "accountSid_authToken": [] } ], + "operationId": "ListSipCredentialListMapping", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/CredentialListMappings/{Sid}.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Credential lists associated with a SIP Domain", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name" ], - "parent": "/Accounts/{AccountSid}/SIP/Domains.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/IpAccessControlListMappings.json": { - "description": "Access control lists associated with a SIP Domain", + "pathType": "instance", + "parent": "/Accounts/{AccountSid}/SIP/Domains.json" + }, "get": { - "description": "Retrieve a list of IpAccessControlListMapping resources.", - "operationId": "ListSipIpAccessControlListMapping", + "description": "Fetch a single CredentialListMapping resource from an account.", "parameters": [ { - "description": "The unique id of the Account that is responsible for this resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "A 34 character string that uniquely identifies the SIP domain.", - "in": "path", "name": "DomainSid", - "required": true, + "in": "path", + "description": "A 34 character string that uniquely identifies the SIP Domain that includes the resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^SD[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^SD[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", - "name": "PageSize", + "name": "Sid", + "in": "path", + "description": "A 34 character string that uniquely identifies the resource to fetch.", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CL[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -26739,44 +25111,7 @@ "content": { "application/json": { "schema": { - "properties": { - "end": { - "type": "integer" - }, - "first_page_uri": { - "format": "uri", - "type": "string" - }, - "ip_access_control_list_mappings": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.sip.sip_domain.sip_ip_access_control_list_mapping" - }, - "type": "array" - }, - "next_page_uri": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_uri": { - "format": "uri", - "type": "string" - }, - "start": { - "type": "integer" - }, - "uri": { - "format": "uri", - "type": "string" - } - }, - "title": "ListSipIpAccessControlListMappingResponse", - "type": "object" + "$ref": "#/components/schemas/api.v2010.account.sip.sip_domain.sip_credential_list_mapping" } } }, @@ -26788,71 +25123,54 @@ "accountSid_authToken": [] } ], + "operationId": "FetchSipCredentialListMapping", "x-maturity": [ "GA" ] }, - "post": { - "description": "Create a new IpAccessControlListMapping resource.", - "operationId": "CreateSipIpAccessControlListMapping", + "delete": { + "description": "Delete a CredentialListMapping resource from an account.", "parameters": [ { - "description": "The unique id of the Account that is responsible for this resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "A 34 character string that uniquely identifies the SIP domain.", - "in": "path", "name": "DomainSid", - "required": true, + "in": "path", + "description": "A 34 character string that uniquely identifies the SIP Domain that includes the resource to delete.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^SD[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "A 34 character string that uniquely identifies the resource to delete.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^SD[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CL[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "IpAccessControlListSid": { - "description": "The unique id of the IP access control list to map to the SIP domain.", - "maxLength": 34, - "minLength": 34, - "pattern": "^AL[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "required": [ - "IpAccessControlListSid" - ], - "title": "CreateSipIpAccessControlListMappingRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.sip.sip_domain.sip_ip_access_control_list_mapping" - } - } - }, - "description": "Created" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -26860,69 +25178,101 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteSipCredentialListMapping", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/SIP/Domains.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Custom DNS hostnames that can accept SIP traffic", "x-twilio": { "defaultOutputProperties": [ "sid", + "domain_name", "friendly_name" ], - "parent": "/Accounts/{AccountSid}/SIP/Domains.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/IpAccessControlListMappings/{Sid}.json": { - "delete": { - "description": "Delete an IpAccessControlListMapping resource.", - "operationId": "DeleteSipIpAccessControlListMapping", + "pathType": "list", + "parent": "/Accounts/{AccountSid}/SIP.json" + }, + "get": { + "description": "Retrieve a list of domains belonging to the account used to make the request", "parameters": [ { - "description": "The unique id of the Account that is responsible for this resource.", - "in": "path", "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "A 34 character string that uniquely identifies the SIP domain.", "in": "path", - "name": "DomainSid", - "required": true, + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the SipDomain resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^SD[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "A 34 character string that uniquely identifies the resource to delete.", - "in": "path", - "name": "Sid", - "required": true, + "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AL[0-9a-fA-F]{32}$", - "type": "string" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "ListSipDomainResponse", + "properties": { + "domains": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.sip.sip_domain" + } + }, + "end": { + "type": "integer" + }, + "first_page_uri": { + "type": "string", + "format": "uri" + }, + "next_page_uri": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_uri": { + "type": "string", + "format": "uri" + }, + "start": { + "type": "integer" + }, + "uri": { + "type": "string", + "format": "uri" + } + } + } + } + }, + "description": "OK" } }, "security": [ @@ -26930,62 +25280,37 @@ "accountSid_authToken": [] } ], + "operationId": "ListSipDomain", "x-maturity": [ "GA" ] }, - "description": "Access control lists associated with a SIP Domain", - "get": { - "description": "Fetch an IpAccessControlListMapping resource.", - "operationId": "FetchSipIpAccessControlListMapping", + "post": { + "description": "Create a new Domain", "parameters": [ { - "description": "The unique id of the Account that is responsible for this resource.", - "in": "path", "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "A 34 character string that uniquely identifies the SIP domain.", "in": "path", - "name": "DomainSid", - "required": true, + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^SD[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "A 34 character string that uniquely identifies the resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { "maxLength": 34, - "minLength": 34, - "pattern": "^AL[0-9a-fA-F]{32}$", - "type": "string" - } + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.sip.sip_domain.sip_ip_access_control_list_mapping" + "$ref": "#/components/schemas/api.v2010.account.sip.sip_domain" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -26993,57 +25318,169 @@ "accountSid_authToken": [] } ], + "operationId": "CreateSipDomain", "x-maturity": [ "GA" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateSipDomainRequest", + "properties": { + "DomainName": { + "type": "string", + "description": "The unique address you reserve on Twilio to which you route your SIP traffic. Domain names can contain letters, digits, and \"-\" and must end with `sip.twilio.com`." + }, + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you created to describe the resource. It can be up to 64 characters long." + }, + "VoiceUrl": { + "type": "string", + "format": "uri", + "description": "The URL we should when the domain receives a call." + }, + "VoiceMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method we should use to call `voice_url`. Can be: `GET` or `POST`." + }, + "VoiceFallbackUrl": { + "type": "string", + "format": "uri", + "description": "The URL that we should call when an error occurs while retrieving or executing the TwiML from `voice_url`." + }, + "VoiceFallbackMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method we should use to call `voice_fallback_url`. Can be: `GET` or `POST`." + }, + "VoiceStatusCallbackUrl": { + "type": "string", + "format": "uri", + "description": "The URL that we should call to pass status parameters (such as call ended) to your application." + }, + "VoiceStatusCallbackMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method we should use to call `voice_status_callback_url`. Can be: `GET` or `POST`." + }, + "SipRegistration": { + "type": "boolean", + "description": "Whether to allow SIP Endpoints to register with the domain to receive calls. Can be `true` or `false`. `true` allows SIP Endpoints to register with the domain to receive calls, `false` does not." + }, + "EmergencyCallingEnabled": { + "type": "boolean", + "description": "Whether emergency calling is enabled for the domain. If enabled, allows emergency calls on the domain from phone numbers with validated addresses." + }, + "Secure": { + "type": "boolean", + "description": "Whether secure SIP is enabled for the domain. If enabled, TLS will be enforced and SRTP will be negotiated on all incoming calls to this sip domain." + }, + "ByocTrunkSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BY[0-9a-fA-F]{32}$", + "description": "The SID of the BYOC Trunk(Bring Your Own Carrier) resource that the Sip Domain will be associated with." + }, + "EmergencyCallerSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^PN[0-9a-fA-F]{32}$", + "description": "Whether an emergency caller sid is configured for the domain. If present, this phone number will be used as the callback for the emergency call." + } + }, + "required": [ + "DomainName" + ] + } + } + } + } + } + }, + "/2010-04-01/Accounts/{AccountSid}/SIP/Domains/{Sid}.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Custom DNS hostnames that can accept SIP traffic", "x-twilio": { "defaultOutputProperties": [ "sid", + "domain_name", "friendly_name" ], - "parent": "/Accounts/{AccountSid}/SIP/Domains.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/SIP/Domains/{Sid}.json": { - "delete": { - "description": "Delete an instance of a Domain", - "operationId": "DeleteSipDomain", + "pathType": "instance", + "parent": "/Accounts/{AccountSid}/SIP.json" + }, + "get": { + "description": "Fetch an instance of a Domain", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the SipDomain resources to delete.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the SipDomain resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the SipDomain resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the SipDomain resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^SD[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^SD[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.sip.sip_domain" + } + } + }, + "description": "OK" } }, "security": [ @@ -27051,38 +25488,37 @@ "accountSid_authToken": [] } ], + "operationId": "FetchSipDomain", "x-maturity": [ "GA" ] }, - "description": "Custom DNS hostnames that can accept SIP traffic", - "get": { - "description": "Fetch an instance of a Domain", - "operationId": "FetchSipDomain", + "post": { + "description": "Update the attributes of a domain", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the SipDomain resource to fetch.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the SipDomain resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the SipDomain resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the SipDomain resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^SD[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^SD[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -27102,80 +25538,24 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateSipDomain", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "Update the attributes of a domain", - "operationId": "UpdateSipDomain", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the SipDomain resource to update.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the SipDomain resource to update.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^SD[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateSipDomainRequest", "properties": { - "ByocTrunkSid": { - "description": "The SID of the BYOC Trunk(Bring Your Own Carrier) resource that the Sip Domain will be associated with.", - "maxLength": 34, - "minLength": 34, - "pattern": "^BY[0-9a-fA-F]{32}$", - "type": "string" - }, - "DomainName": { - "description": "The unique address you reserve on Twilio to which you route your SIP traffic. Domain names can contain letters, digits, and \"-\" and must end with `sip.twilio.com`.", - "type": "string" - }, - "EmergencyCallerSid": { - "description": "Whether an emergency caller sid is configured for the domain. If present, this phone number will be used as the callback for the emergency call.", - "maxLength": 34, - "minLength": 34, - "pattern": "^PN[0-9a-fA-F]{32}$", - "type": "string" - }, - "EmergencyCallingEnabled": { - "description": "Whether emergency calling is enabled for the domain. If enabled, allows emergency calls on the domain from phone numbers with validated addresses.", - "type": "boolean" - }, "FriendlyName": { - "description": "A descriptive string that you created to describe the resource. It can be up to 64 characters long.", - "type": "string" - }, - "Secure": { - "description": "Whether secure SIP is enabled for the domain. If enabled, TLS will be enforced and SRTP will be negotiated on all incoming calls to this sip domain.", - "type": "boolean" - }, - "SipRegistration": { - "description": "Whether to allow SIP Endpoints to register with the domain to receive calls. Can be `true` or `false`. `true` allows SIP Endpoints to register with the domain to receive calls, `false` does not.", - "type": "boolean" + "type": "string", + "description": "A descriptive string that you created to describe the resource. It can be up to 64 characters long." }, "VoiceFallbackMethod": { - "description": "The HTTP method we should use to call `voice_fallback_url`. Can be: `GET` or `POST`.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -27184,16 +25564,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method we should use to call `voice_fallback_url`. Can be: `GET` or `POST`." }, "VoiceFallbackUrl": { - "description": "The URL that we should call when an error occurs while retrieving or executing the TwiML requested by `voice_url`.", + "type": "string", "format": "uri", - "type": "string" + "description": "The URL that we should call when an error occurs while retrieving or executing the TwiML requested by `voice_url`." }, "VoiceMethod": { - "description": "The HTTP method we should use to call `voice_url`", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -27202,11 +25582,11 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method we should use to call `voice_url`" }, "VoiceStatusCallbackMethod": { - "description": "The HTTP method we should use to call `voice_status_callback_url`. Can be: `GET` or `POST`.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -27215,36 +25595,85 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method we should use to call `voice_status_callback_url`. Can be: `GET` or `POST`." }, "VoiceStatusCallbackUrl": { - "description": "The URL that we should call to pass status parameters (such as call ended) to your application.", + "type": "string", + "format": "uri", + "description": "The URL that we should call to pass status parameters (such as call ended) to your application." + }, + "VoiceUrl": { + "type": "string", "format": "uri", - "type": "string" + "description": "The URL we should call when the domain receives a call." + }, + "SipRegistration": { + "type": "boolean", + "description": "Whether to allow SIP Endpoints to register with the domain to receive calls. Can be `true` or `false`. `true` allows SIP Endpoints to register with the domain to receive calls, `false` does not." + }, + "DomainName": { + "type": "string", + "description": "The unique address you reserve on Twilio to which you route your SIP traffic. Domain names can contain letters, digits, and \"-\" and must end with `sip.twilio.com`." + }, + "EmergencyCallingEnabled": { + "type": "boolean", + "description": "Whether emergency calling is enabled for the domain. If enabled, allows emergency calls on the domain from phone numbers with validated addresses." + }, + "Secure": { + "type": "boolean", + "description": "Whether secure SIP is enabled for the domain. If enabled, TLS will be enforced and SRTP will be negotiated on all incoming calls to this sip domain." + }, + "ByocTrunkSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BY[0-9a-fA-F]{32}$", + "description": "The SID of the BYOC Trunk(Bring Your Own Carrier) resource that the Sip Domain will be associated with." }, - "VoiceUrl": { - "description": "The URL we should call when the domain receives a call.", - "format": "uri", - "type": "string" + "EmergencyCallerSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^PN[0-9a-fA-F]{32}$", + "description": "Whether an emergency caller sid is configured for the domain. If present, this phone number will be used as the callback for the emergency call." } - }, - "title": "UpdateSipDomainRequest", - "type": "object" + } } } } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.sip.sip_domain" - } - } + } + }, + "delete": { + "description": "Delete an instance of a Domain", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the SipDomain resources to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" }, - "description": "OK" + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the SipDomain resource to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^SD[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -27252,51 +25681,50 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteSipDomain", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/SIP/IpAccessControlLists.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Access control lists of IP address resources", "x-twilio": { "defaultOutputProperties": [ "sid", - "domain_name", "friendly_name" ], - "parent": "/Accounts/{AccountSid}/SIP.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/SIP/IpAccessControlLists.json": { - "description": "Access control lists of IP address resources", + "pathType": "list", + "parent": "/Accounts/{AccountSid}/SIP.json" + }, "get": { "description": "Retrieve a list of IpAccessControlLists that belong to the account used to make the request", - "operationId": "ListSipIpAccessControlList", "parameters": [ { - "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -27305,23 +25733,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListSipIpAccessControlListResponse", "properties": { + "ip_access_control_lists": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.sip.sip_ip_access_control_list" + } + }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" - }, - "ip_access_control_lists": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.sip.sip_ip_access_control_list" - }, - "type": "array" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -27330,19 +25760,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" } - }, - "title": "ListSipIpAccessControlListResponse", - "type": "object" + } } } }, @@ -27354,48 +25782,164 @@ "accountSid_authToken": [] } ], + "operationId": "ListSipIpAccessControlList", "x-maturity": [ "GA" ] }, "post": { "description": "Create a new IpAccessControlList resource", - "operationId": "CreateSipIpAccessControlList", "parameters": [ { - "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.sip.sip_ip_access_control_list" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] } ], + "operationId": "CreateSipIpAccessControlList", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateSipIpAccessControlListRequest", "properties": { "FriendlyName": { - "description": "A human readable descriptive text that describes the IpAccessControlList, up to 64 characters long.", - "type": "string" + "type": "string", + "description": "A human readable descriptive text that describes the IpAccessControlList, up to 64 characters long." } }, "required": [ "FriendlyName" - ], - "title": "CreateSipIpAccessControlListRequest", - "type": "object" + ] } } } + } + } + }, + "/2010-04-01/Accounts/{AccountSid}/SIP/IpAccessControlLists/{Sid}.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], + "description": "Access control lists of IP address resources", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name" + ], + "pathType": "instance", + "parent": "/Accounts/{AccountSid}/SIP.json" + }, + "get": { + "description": "Fetch a specific instance of an IpAccessControlList", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "A 34 character string that uniquely identifies the resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AL[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.sip.sip_ip_access_control_list" + } + } + }, + "description": "OK" + } }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "FetchSipIpAccessControlList", + "x-maturity": [ + "GA" + ] + }, + "post": { + "description": "Rename an IpAccessControlList", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "A 34 character string that uniquely identifies the resource to udpate.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AL[0-9a-fA-F]{32}$" + }, + "required": true + } + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { @@ -27403,7 +25947,69 @@ } } }, - "description": "Created" + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "UpdateSipIpAccessControlList", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateSipIpAccessControlListRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A human readable descriptive text, up to 64 characters long." + } + }, + "required": [ + "FriendlyName" + ] + } + } + } + } + }, + "delete": { + "description": "Delete an IpAccessControlList from the requested account", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "A 34 character string that uniquely identifies the resource to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AL[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -27411,63 +26017,65 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteSipIpAccessControlList", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/IpAccessControlListMappings/{Sid}.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Access control lists associated with a SIP Domain", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name" ], - "parent": "/Accounts/{AccountSid}/SIP.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/SIP/IpAccessControlLists/{IpAccessControlListSid}/IpAddresses.json": { - "description": "IP addresses that have access to a SIP Domain", + "pathType": "instance", + "parent": "/Accounts/{AccountSid}/SIP/Domains.json" + }, "get": { - "description": "Read multiple IpAddress resources.", - "operationId": "ListSipIpAddress", + "description": "Fetch an IpAccessControlListMapping resource.", "parameters": [ { - "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The unique id of the Account that is responsible for this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The IpAccessControlList Sid that identifies the IpAddress resources to read.", + "name": "DomainSid", "in": "path", - "name": "IpAccessControlListSid", - "required": true, + "description": "A 34 character string that uniquely identifies the SIP domain.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AL[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^SD[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", - "name": "PageSize", + "name": "Sid", + "in": "path", + "description": "A 34 character string that uniquely identifies the resource to fetch.", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AL[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -27475,44 +26083,7 @@ "content": { "application/json": { "schema": { - "properties": { - "end": { - "type": "integer" - }, - "first_page_uri": { - "format": "uri", - "type": "string" - }, - "ip_addresses": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.sip.sip_ip_access_control_list.sip_ip_address" - }, - "type": "array" - }, - "next_page_uri": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_uri": { - "format": "uri", - "type": "string" - }, - "start": { - "type": "integer" - }, - "uri": { - "format": "uri", - "type": "string" - } - }, - "title": "ListSipIpAddressResponse", - "type": "object" + "$ref": "#/components/schemas/api.v2010.account.sip.sip_domain.sip_ip_access_control_list_mapping" } } }, @@ -27524,77 +26095,54 @@ "accountSid_authToken": [] } ], + "operationId": "FetchSipIpAccessControlListMapping", "x-maturity": [ "GA" ] }, - "post": { - "description": "Create a new IpAddress resource.", - "operationId": "CreateSipIpAddress", + "delete": { + "description": "Delete an IpAccessControlListMapping resource.", "parameters": [ { - "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The unique id of the Account that is responsible for this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The IpAccessControlList Sid with which to associate the created IpAddress resource.", + "name": "DomainSid", "in": "path", - "name": "IpAccessControlListSid", - "required": true, + "description": "A 34 character string that uniquely identifies the SIP domain.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^SD[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "A 34 character string that uniquely identifies the resource to delete.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^AL[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AL[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "CidrPrefixLength": { - "description": "An integer representing the length of the CIDR prefix to use with this IP address when accepting traffic. By default the entire IP address is used.", - "type": "integer" - }, - "FriendlyName": { - "description": "A human readable descriptive text for this resource, up to 64 characters long.", - "type": "string" - }, - "IpAddress": { - "description": "An IP address in dotted decimal notation from which you want to accept traffic. Any SIP requests from this IP address will be allowed by Twilio. IPv4 only supported today.", - "type": "string" - } - }, - "required": [ - "FriendlyName", - "IpAddress" - ], - "title": "CreateSipIpAddressRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.sip.sip_ip_access_control_list.sip_ip_address" - } - } - }, - "description": "Created" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -27602,70 +26150,184 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteSipIpAccessControlListMapping", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/IpAccessControlListMappings.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Access control lists associated with a SIP Domain", "x-twilio": { "defaultOutputProperties": [ "sid", - "ip_address", "friendly_name" ], - "parent": "/Accounts/{AccountSid}/SIP/IpAccessControlLists.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/SIP/IpAccessControlLists/{IpAccessControlListSid}/IpAddresses/{Sid}.json": { - "delete": { - "description": "Delete an IpAddress resource.", - "operationId": "DeleteSipIpAddress", + "pathType": "list", + "parent": "/Accounts/{AccountSid}/SIP/Domains.json" + }, + "post": { + "description": "Create a new IpAccessControlListMapping resource.", "parameters": [ { - "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The unique id of the Account that is responsible for this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The IpAccessControlList Sid that identifies the IpAddress resources to delete.", + "name": "DomainSid", "in": "path", - "name": "IpAccessControlListSid", - "required": true, + "description": "A 34 character string that uniquely identifies the SIP domain.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AL[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^SD[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.sip.sip_domain.sip_ip_access_control_list_mapping" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateSipIpAccessControlListMapping", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateSipIpAccessControlListMappingRequest", + "properties": { + "IpAccessControlListSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AL[0-9a-fA-F]{32}$", + "description": "The unique id of the IP access control list to map to the SIP domain." + } + }, + "required": [ + "IpAccessControlListSid" + ] + } } - }, + } + } + }, + "get": { + "description": "Retrieve a list of IpAccessControlListMapping resources.", + "parameters": [ { - "description": "A 34 character string that uniquely identifies the resource to delete.", + "name": "AccountSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The unique id of the Account that is responsible for this resource.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "DomainSid", + "in": "path", + "description": "A 34 character string that uniquely identifies the SIP domain.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^IP[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^SD[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "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 } } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "ListSipIpAccessControlListMappingResponse", + "properties": { + "ip_access_control_list_mappings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.sip.sip_domain.sip_ip_access_control_list_mapping" + } + }, + "end": { + "type": "integer" + }, + "first_page_uri": { + "type": "string", + "format": "uri" + }, + "next_page_uri": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_uri": { + "type": "string", + "format": "uri" + }, + "start": { + "type": "integer" + }, + "uri": { + "type": "string", + "format": "uri" + } + } + } + } + }, + "description": "OK" } }, "security": [ @@ -27673,49 +26335,63 @@ "accountSid_authToken": [] } ], + "operationId": "ListSipIpAccessControlListMapping", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/SIP/IpAccessControlLists/{IpAccessControlListSid}/IpAddresses.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], "description": "IP addresses that have access to a SIP Domain", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "ip_address", + "friendly_name" + ], + "pathType": "list", + "parent": "/Accounts/{AccountSid}/SIP/IpAccessControlLists.json" + }, "get": { - "description": "Read one IpAddress resource.", - "operationId": "FetchSipIpAddress", + "description": "Read multiple IpAddress resources.", "parameters": [ { - "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The IpAccessControlList Sid that identifies the IpAddress resources to fetch.", - "in": "path", "name": "IpAccessControlListSid", - "required": true, + "in": "path", + "description": "The IpAccessControlList Sid that identifies the IpAddress resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AL[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AL[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "A 34 character string that uniquely identifies the IpAddress resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, + "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IP[0-9a-fA-F]{32}$", - "type": "string" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], @@ -27724,7 +26400,44 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.sip.sip_ip_access_control_list.sip_ip_address" + "type": "object", + "title": "ListSipIpAddressResponse", + "properties": { + "ip_addresses": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.sip.sip_ip_access_control_list.sip_ip_address" + } + }, + "end": { + "type": "integer" + }, + "first_page_uri": { + "type": "string", + "format": "uri" + }, + "next_page_uri": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_uri": { + "type": "string", + "format": "uri" + }, + "start": { + "type": "integer" + }, + "uri": { + "type": "string", + "format": "uri" + } + } } } }, @@ -27736,77 +26449,41 @@ "accountSid_authToken": [] } ], + "operationId": "ListSipIpAddress", "x-maturity": [ "GA" ] }, "post": { - "description": "Update an IpAddress resource.", - "operationId": "UpdateSipIpAddress", + "description": "Create a new IpAddress resource.", "parameters": [ { - "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", - "in": "path", "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The IpAccessControlList Sid that identifies the IpAddress resources to update.", "in": "path", - "name": "IpAccessControlListSid", - "required": true, + "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AL[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "A 34 character string that identifies the IpAddress resource to update.", + "name": "IpAccessControlListSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The IpAccessControlList Sid with which to associate the created IpAddress resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IP[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AL[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "CidrPrefixLength": { - "description": "An integer representing the length of the CIDR prefix to use with this IP address when accepting traffic. By default the entire IP address is used.", - "type": "integer" - }, - "FriendlyName": { - "description": "A human readable descriptive text for this resource, up to 64 characters long.", - "type": "string" - }, - "IpAddress": { - "description": "An IP address in dotted decimal notation from which you want to accept traffic. Any SIP requests from this IP address will be allowed by Twilio. IPv4 only supported today.", - "type": "string" - } - }, - "title": "UpdateSipIpAddressRequest", - "type": "object" - } - } - } - }, "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { @@ -27814,7 +26491,7 @@ } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -27822,58 +26499,106 @@ "accountSid_authToken": [] } ], + "operationId": "CreateSipIpAddress", "x-maturity": [ "GA" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateSipIpAddressRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A human readable descriptive text for this resource, up to 64 characters long." + }, + "IpAddress": { + "type": "string", + "description": "An IP address in dotted decimal notation from which you want to accept traffic. Any SIP requests from this IP address will be allowed by Twilio. IPv4 only supported today." + }, + "CidrPrefixLength": { + "type": "integer", + "description": "An integer representing the length of the CIDR prefix to use with this IP address when accepting traffic. By default the entire IP address is used." + } + }, + "required": [ + "FriendlyName", + "IpAddress" + ] + } + } + } + } + } + }, + "/2010-04-01/Accounts/{AccountSid}/SIP/IpAccessControlLists/{IpAccessControlListSid}/IpAddresses/{Sid}.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "IP addresses that have access to a SIP Domain", "x-twilio": { "defaultOutputProperties": [ "sid", "ip_address", "friendly_name" ], - "parent": "/Accounts/{AccountSid}/SIP/IpAccessControlLists.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/SIP/IpAccessControlLists/{Sid}.json": { - "delete": { - "description": "Delete an IpAccessControlList from the requested account", - "operationId": "DeleteSipIpAccessControlList", + "pathType": "instance", + "parent": "/Accounts/{AccountSid}/SIP/IpAccessControlLists.json" + }, + "get": { + "description": "Read one IpAddress resource.", "parameters": [ { - "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "A 34 character string that uniquely identifies the resource to delete.", + "name": "IpAccessControlListSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The IpAccessControlList Sid that identifies the IpAddress resources to fetch.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AL[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "A 34 character string that uniquely identifies the IpAddress resource to fetch.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^AL[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IP[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.sip.sip_ip_access_control_list.sip_ip_address" + } + } + }, + "description": "OK" } }, "security": [ @@ -27881,38 +26606,49 @@ "accountSid_authToken": [] } ], + "operationId": "FetchSipIpAddress", "x-maturity": [ "GA" ] }, - "description": "Access control lists of IP address resources", - "get": { - "description": "Fetch a specific instance of an IpAccessControlList", - "operationId": "FetchSipIpAccessControlList", + "post": { + "description": "Update an IpAddress resource.", "parameters": [ { - "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "A 34 character string that uniquely identifies the resource to fetch.", + "name": "IpAccessControlListSid", "in": "path", + "description": "The IpAccessControlList Sid that identifies the IpAddress resources to update.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AL[0-9a-fA-F]{32}$" + }, + "required": true + }, + { "name": "Sid", - "required": true, + "in": "path", + "description": "A 34 character string that identifies the IpAddress resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AL[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IP[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -27920,7 +26656,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.sip.sip_ip_access_control_list" + "$ref": "#/components/schemas/api.v2010.account.sip.sip_ip_access_control_list.sip_ip_address" } } }, @@ -27932,68 +26668,78 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateSipIpAddress", "x-maturity": [ "GA" - ] + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateSipIpAddressRequest", + "properties": { + "IpAddress": { + "type": "string", + "description": "An IP address in dotted decimal notation from which you want to accept traffic. Any SIP requests from this IP address will be allowed by Twilio. IPv4 only supported today." + }, + "FriendlyName": { + "type": "string", + "description": "A human readable descriptive text for this resource, up to 64 characters long." + }, + "CidrPrefixLength": { + "type": "integer", + "description": "An integer representing the length of the CIDR prefix to use with this IP address when accepting traffic. By default the entire IP address is used." + } + } + } + } + } + } }, - "post": { - "description": "Rename an IpAccessControlList", - "operationId": "UpdateSipIpAccessControlList", + "delete": { + "description": "Delete an IpAddress resource.", "parameters": [ { - "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "A 34 character string that uniquely identifies the resource to udpate.", + "name": "IpAccessControlListSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The IpAccessControlList Sid that identifies the IpAddress resources to delete.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AL[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "A 34 character string that uniquely identifies the resource to delete.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^AL[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IP[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "FriendlyName": { - "description": "A human readable descriptive text, up to 64 characters long.", - "type": "string" - } - }, - "required": [ - "FriendlyName" - ], - "title": "UpdateSipIpAccessControlListRequest", - "type": "object" - } - } - } - }, "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.sip.sip_ip_access_control_list" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -28001,620 +26747,975 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteSipIpAddress", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Siprec.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ - "sid", - "friendly_name" + "call_sid", + "name" ], - "parent": "/Accounts/{AccountSid}/SIP.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/SMS/ShortCodes.json": { - "description": "Messaging short codes", - "get": { - "description": "Retrieve a list of short-codes belonging to the account used to make the request", - "operationId": "ListShortCode", + "pathType": "list", + "parent": "/Accounts/{AccountSid}/Calls.json" + }, + "post": { + "description": "Create a Siprec", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the ShortCode resource(s) to read.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created this Siprec resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The string that identifies the ShortCode resources to read.", - "in": "query", - "name": "FriendlyName", - "schema": { - "type": "string" - } - }, - { - "description": "Only show the ShortCode resources that match this pattern. You can specify partial numbers and use '*' as a wildcard for any digit.", - "in": "query", - "name": "ShortCode", - "schema": { - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", - "name": "PageSize", + "name": "CallSid", + "in": "path", + "description": "The SID of the [Call](https://www.twilio.com/docs/voice/api/call-resource) the Siprec resource is associated with.", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "properties": { - "end": { - "type": "integer" - }, - "first_page_uri": { - "format": "uri", - "type": "string" - }, - "next_page_uri": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_uri": { - "format": "uri", - "type": "string" - }, - "short_codes": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.short_code" - }, - "type": "array" - }, - "start": { - "type": "integer" - }, - "uri": { - "format": "uri", - "type": "string" - } + "$ref": "#/components/schemas/api.v2010.account.call.siprec" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateSiprec", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateSiprecRequest", + "properties": { + "Name": { + "type": "string", + "description": "The user-specified name of this Siprec, if one was given when the Siprec was created. This may be used to stop the Siprec." + }, + "ConnectorName": { + "type": "string", + "description": "Unique name used when configuring the connector via Marketplace Add-on." + }, + "Track": { + "type": "string", + "enum": [ + "inbound_track", + "outbound_track", + "both_tracks" + ], + "description": "One of `inbound_track`, `outbound_track`, `both_tracks`." + }, + "StatusCallback": { + "type": "string", + "format": "uri", + "description": "Absolute URL of the status callback." + }, + "StatusCallbackMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The http method for the status_callback (one of GET, POST)." + }, + "Parameter1.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter1.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter2.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter2.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter3.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter3.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter4.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter4.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter5.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter5.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter6.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter6.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter7.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter7.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter8.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter8.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter9.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter9.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter10.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter10.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter11.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter11.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter12.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter12.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter13.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter13.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter14.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter14.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter15.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter15.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter16.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter16.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter17.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter17.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter18.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter18.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter19.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter19.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter20.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter20.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter21.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter21.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter22.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter22.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter23.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter23.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter24.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter24.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter25.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter25.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter26.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter26.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter27.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter27.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter28.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter28.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter29.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter29.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter30.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter30.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter31.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter31.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter32.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter32.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter33.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter33.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter34.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter34.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter35.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter35.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter36.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter36.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter37.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter37.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter38.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter38.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter39.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter39.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter40.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter40.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter41.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter41.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter42.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter42.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter43.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter43.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter44.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter44.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter45.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter45.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter46.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter46.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter47.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter47.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter48.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter48.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter49.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter49.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter50.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter50.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter51.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter51.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter52.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter52.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter53.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter53.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter54.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter54.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter55.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter55.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter56.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter56.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter57.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter57.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter58.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter58.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter59.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter59.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter60.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter60.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter61.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter61.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter62.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter62.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter63.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter63.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter64.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter64.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter65.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter65.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter66.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter66.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter67.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter67.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter68.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter68.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter69.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter69.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter70.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter70.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter71.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter71.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter72.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter72.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter73.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter73.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter74.Name": { + "type": "string", + "description": "Parameter name" }, - "title": "ListShortCodeResponse", - "type": "object" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://api.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "short_code", - "friendly_name" - ], - "parent": "/Accounts.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/SMS/ShortCodes/{Sid}.json": { - "description": "Messaging short codes", - "get": { - "description": "Fetch an instance of a short code", - "operationId": "FetchShortCode", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the ShortCode resource(s) to fetch.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[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/api.v2010.account.short_code" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "Update a short code with the following parameters", - "operationId": "UpdateShortCode", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the ShortCode resource(s) to update.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[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": { - "ApiVersion": { - "description": "The API version to use to start a new TwiML session. Can be: `2010-04-01` or `2008-08-01`.", - "type": "string" + "Parameter74.Value": { + "type": "string", + "description": "Parameter value" }, - "FriendlyName": { - "description": "A descriptive string that you created to describe this resource. It can be up to 64 characters long. By default, the `FriendlyName` is the short code.", - "type": "string" + "Parameter75.Name": { + "type": "string", + "description": "Parameter name" }, - "SmsFallbackMethod": { - "description": "The HTTP method that we should use to call the `sms_fallback_url`. Can be: `GET` or `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" + "Parameter75.Value": { + "type": "string", + "description": "Parameter value" }, - "SmsFallbackUrl": { - "description": "The URL that we should call if an error occurs while retrieving or executing the TwiML from `sms_url`.", - "format": "uri", - "type": "string" + "Parameter76.Name": { + "type": "string", + "description": "Parameter name" }, - "SmsMethod": { - "description": "The HTTP method we should use when calling the `sms_url`. Can be: `GET` or `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" + "Parameter76.Value": { + "type": "string", + "description": "Parameter value" }, - "SmsUrl": { - "description": "The URL we should call when receiving an incoming SMS message to this short code.", - "format": "uri", - "type": "string" - } - }, - "title": "UpdateShortCodeRequest", - "type": "object" - } - } - } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.short_code" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://api.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "short_code", - "friendly_name" - ], - "parent": "/Accounts.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/SigningKeys.json": { - "description": "Create a new signing key", - "get": { - "description": "", - "operationId": "ListSigningKey", - "parameters": [ - { - "description": "", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[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" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "end": { - "type": "integer" - }, - "first_page_uri": { - "format": "uri", - "type": "string" - }, - "next_page_uri": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_uri": { - "format": "uri", - "type": "string" - }, - "signing_keys": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.signing_key" - }, - "type": "array" - }, - "start": { - "type": "integer" - }, - "uri": { - "format": "uri", - "type": "string" - } + "Parameter77.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter77.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter78.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter78.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter79.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter79.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter80.Name": { + "type": "string", + "description": "Parameter name" }, - "title": "ListSigningKeyResponse", - "type": "object" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "Create a new Signing Key for the account making the request.", - "operationId": "CreateNewSigningKey", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will be responsible for the new Key resource.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long.", - "type": "string" + "Parameter80.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter81.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter81.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter82.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter82.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter83.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter83.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter84.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter84.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter85.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter85.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter86.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter86.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter87.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter87.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter88.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter88.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter89.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter89.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter90.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter90.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter91.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter91.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter92.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter92.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter93.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter93.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter94.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter94.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter95.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter95.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter96.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter96.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter97.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter97.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter98.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter98.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter99.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter99.Value": { + "type": "string", + "description": "Parameter value" } - }, - "title": "CreateNewSigningKeyRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.new_signing_key" } } - }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] + } } - ], - "x-maturity": [ - "GA" - ], - "x-twilio": { - "className": "new_signing_key" } - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Siprec/{Sid}.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ - "sid", - "friendly_name", - "secret" + "call_sid", + "name" ], - "parent": "/Accounts.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/SigningKeys/{Sid}.json": { - "delete": { - "description": "", - "operationId": "DeleteSigningKey", + "pathType": "instance", + "parent": "/Accounts/{AccountSid}/Calls.json" + }, + "post": { + "description": "Stop a Siprec using either the SID of the Siprec resource or the `name` used when creating the resource", "parameters": [ { - "description": "", - "in": "path", "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created this Siprec resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^SK[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "description": "TODO: Resource-level docs", - "get": { - "description": "", - "operationId": "FetchSigningKey", - "parameters": [ - { - "description": "", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", + "name": "CallSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Call](https://www.twilio.com/docs/voice/api/call-resource) the Siprec resource is associated with.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^SK[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.signing_key" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "", - "operationId": "UpdateSigningKey", - "parameters": [ - { - "description": "", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "pattern": "^CA[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Siprec resource, or the `name` used when creating the resource", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^SK[0-9a-fA-F]{32}$", "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "FriendlyName": { - "description": "", - "type": "string" - } - }, - "title": "UpdateSigningKeyRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account.signing_key" + "$ref": "#/components/schemas/api.v2010.account.call.siprec" } } }, @@ -28626,627 +27727,1261 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateSiprec", "x-maturity": [ "GA" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateSiprecRequest", + "properties": { + "Status": { + "type": "string", + "enum": [ + "stopped" + ], + "description": "The status. Must have the value `stopped`" + } + }, + "required": [ + "Status" + ] + } + } + } + } + } + }, + "/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Streams.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ - "sid", - "friendly_name" + "call_sid", + "name" ], - "parent": "/Accounts.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Tokens.json": { - "description": "Credentials for ICE servers", + "pathType": "list", + "parent": "/Accounts/{AccountSid}/Calls.json" + }, "post": { - "description": "Create a new token for ICE servers", - "operationId": "CreateToken", + "description": "Create a Stream", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created this Stream resource.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "CallSid", + "in": "path", + "description": "The SID of the [Call](https://www.twilio.com/docs/voice/api/call-resource) the Stream resource is associated with.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.call.stream" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] } ], + "operationId": "CreateStream", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateStreamRequest", "properties": { - "Ttl": { - "description": "The duration in seconds for which the generated credentials are valid. The default value is 86400 (24 hours).", - "type": "integer" + "Url": { + "type": "string", + "format": "uri", + "description": "Relative or absolute url where WebSocket connection will be established." + }, + "Name": { + "type": "string", + "description": "The user-specified name of this Stream, if one was given when the Stream was created. This may be used to stop the Stream." + }, + "Track": { + "type": "string", + "enum": [ + "inbound_track", + "outbound_track", + "both_tracks" + ], + "description": "One of `inbound_track`, `outbound_track`, `both_tracks`." + }, + "StatusCallback": { + "type": "string", + "format": "uri", + "description": "Absolute URL of the status callback." + }, + "StatusCallbackMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The http method for the status_callback (one of GET, POST)." + }, + "Parameter1.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter1.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter2.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter2.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter3.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter3.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter4.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter4.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter5.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter5.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter6.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter6.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter7.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter7.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter8.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter8.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter9.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter9.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter10.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter10.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter11.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter11.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter12.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter12.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter13.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter13.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter14.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter14.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter15.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter15.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter16.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter16.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter17.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter17.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter18.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter18.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter19.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter19.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter20.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter20.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter21.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter21.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter22.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter22.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter23.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter23.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter24.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter24.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter25.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter25.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter26.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter26.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter27.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter27.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter28.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter28.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter29.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter29.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter30.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter30.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter31.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter31.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter32.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter32.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter33.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter33.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter34.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter34.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter35.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter35.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter36.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter36.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter37.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter37.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter38.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter38.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter39.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter39.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter40.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter40.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter41.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter41.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter42.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter42.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter43.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter43.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter44.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter44.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter45.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter45.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter46.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter46.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter47.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter47.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter48.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter48.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter49.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter49.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter50.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter50.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter51.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter51.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter52.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter52.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter53.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter53.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter54.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter54.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter55.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter55.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter56.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter56.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter57.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter57.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter58.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter58.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter59.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter59.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter60.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter60.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter61.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter61.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter62.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter62.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter63.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter63.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter64.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter64.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter65.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter65.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter66.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter66.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter67.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter67.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter68.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter68.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter69.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter69.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter70.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter70.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter71.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter71.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter72.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter72.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter73.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter73.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter74.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter74.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter75.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter75.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter76.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter76.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter77.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter77.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter78.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter78.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter79.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter79.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter80.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter80.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter81.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter81.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter82.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter82.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter83.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter83.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter84.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter84.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter85.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter85.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter86.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter86.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter87.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter87.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter88.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter88.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter89.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter89.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter90.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter90.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter91.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter91.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter92.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter92.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter93.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter93.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter94.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter94.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter95.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter95.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter96.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter96.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter97.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter97.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter98.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter98.Value": { + "type": "string", + "description": "Parameter value" + }, + "Parameter99.Name": { + "type": "string", + "description": "Parameter name" + }, + "Parameter99.Value": { + "type": "string", + "description": "Parameter value" } }, - "title": "CreateTokenRequest", - "type": "object" + "required": [ + "Url" + ] } } } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.token" - } - } - }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://api.twilio.com" } - ], - "x-twilio": { - "defaultOutputProperties": [ - "username", - "ice_servers" - ], - "parent": "/Accounts.json", - "pathType": "list" } }, - "/2010-04-01/Accounts/{AccountSid}/Transcriptions.json": { - "description": "Text transcriptions of call recordings", - "get": { - "description": "Retrieve a list of transcriptions belonging to the account used to make the request", - "operationId": "ListTranscription", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Transcription resources to read.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[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" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "end": { - "type": "integer" - }, - "first_page_uri": { - "format": "uri", - "type": "string" - }, - "next_page_uri": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_uri": { - "format": "uri", - "type": "string" - }, - "start": { - "type": "integer" - }, - "transcriptions": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.transcription" - }, - "type": "array" - }, - "uri": { - "format": "uri", - "type": "string" - } - }, - "title": "ListTranscriptionResponse", - "type": "object" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, + "/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Streams/{Sid}.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ - "sid", - "type", - "status", - "duration" - ], - "parent": "/Accounts.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Transcriptions/{Sid}.json": { - "delete": { - "description": "Delete a transcription from the account used to make the request", - "operationId": "DeleteTranscription", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Transcription resources to delete.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the Transcription resource to delete.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^TR[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } + "call_sid", + "name" ], - "x-maturity": [ - "GA" - ] + "pathType": "instance", + "parent": "/Accounts/{AccountSid}/Calls.json" }, - "description": "Text transcriptions of call recordings", - "get": { - "description": "Fetch an instance of a Transcription", - "operationId": "FetchTranscription", + "post": { + "description": "Stop a Stream using either the SID of the Stream resource or the `name` used when creating the resource", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Transcription resource to fetch.", - "in": "path", "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the Transcription resource to fetch.", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created this Stream resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^TR[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.transcription" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://api.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "type", - "status", - "duration" - ], - "parent": "/Accounts.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Usage.json": { - "description": "TODO: Resource-level docs", - "servers": [ - { - "url": "https://api.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [], - "parent": "/Accounts.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Usage/Records.json": { - "description": "Twilio account usage records", - "get": { - "description": "Retrieve a list of usage-records belonging to the account used to make the request", - "operationId": "ListUsageRecord", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the UsageRecord resources to read.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The [usage category](https://www.twilio.com/docs/usage/api/usage-record#usage-categories) of the UsageRecord resources to read. Only UsageRecord resources in the specified category are retrieved.", - "in": "query", - "name": "Category", + "name": "CallSid", + "in": "path", + "description": "The SID of the [Call](https://www.twilio.com/docs/voice/api/call-resource) the Stream resource is associated with.", "schema": { - "enum": [ - "a2p-registration-fees", - "agent-conference", - "amazon-polly", - "answering-machine-detection", - "authy-authentications", - "authy-calls-outbound", - "authy-monthly-fees", - "authy-phone-intelligence", - "authy-phone-verifications", - "authy-sms-outbound", - "call-progess-events", - "calleridlookups", - "calls", - "calls-client", - "calls-globalconference", - "calls-inbound", - "calls-inbound-local", - "calls-inbound-mobile", - "calls-inbound-tollfree", - "calls-outbound", - "calls-pay-verb-transactions", - "calls-recordings", - "calls-sip", - "calls-sip-inbound", - "calls-sip-outbound", - "calls-transfers", - "carrier-lookups", - "conversations", - "conversations-api-requests", - "conversations-conversation-events", - "conversations-endpoint-connectivity", - "conversations-events", - "conversations-participant-events", - "conversations-participants", - "cps", - "flex-usage", - "fraud-lookups", - "group-rooms", - "group-rooms-data-track", - "group-rooms-encrypted-media-recorded", - "group-rooms-media-downloaded", - "group-rooms-media-recorded", - "group-rooms-media-routed", - "group-rooms-media-stored", - "group-rooms-participant-minutes", - "group-rooms-recorded-minutes", - "imp-v1-usage", - "lookups", - "marketplace", - "marketplace-algorithmia-named-entity-recognition", - "marketplace-cadence-transcription", - "marketplace-cadence-translation", - "marketplace-capio-speech-to-text", - "marketplace-convriza-ababa", - "marketplace-deepgram-phrase-detector", - "marketplace-digital-segment-business-info", - "marketplace-facebook-offline-conversions", - "marketplace-google-speech-to-text", - "marketplace-ibm-watson-message-insights", - "marketplace-ibm-watson-message-sentiment", - "marketplace-ibm-watson-recording-analysis", - "marketplace-ibm-watson-tone-analyzer", - "marketplace-icehook-systems-scout", - "marketplace-infogroup-dataaxle-bizinfo", - "marketplace-keen-io-contact-center-analytics", - "marketplace-marchex-cleancall", - "marketplace-marchex-sentiment-analysis-for-sms", - "marketplace-marketplace-nextcaller-social-id", - "marketplace-mobile-commons-opt-out-classifier", - "marketplace-nexiwave-voicemail-to-text", - "marketplace-nextcaller-advanced-caller-identification", - "marketplace-nomorobo-spam-score", - "marketplace-payfone-tcpa-compliance", - "marketplace-remeeting-automatic-speech-recognition", - "marketplace-tcpa-defense-solutions-blacklist-feed", - "marketplace-telo-opencnam", - "marketplace-truecnam-true-spam", - "marketplace-twilio-caller-name-lookup-us", - "marketplace-twilio-carrier-information-lookup", - "marketplace-voicebase-pci", - "marketplace-voicebase-transcription", - "marketplace-voicebase-transcription-custom-vocabulary", - "marketplace-whitepages-pro-caller-identification", - "marketplace-whitepages-pro-phone-intelligence", - "marketplace-whitepages-pro-phone-reputation", - "marketplace-wolfarm-spoken-results", - "marketplace-wolfram-short-answer", - "marketplace-ytica-contact-center-reporting-analytics", - "mediastorage", - "mms", - "mms-inbound", - "mms-inbound-longcode", - "mms-inbound-shortcode", - "mms-messages-carrierfees", - "mms-outbound", - "mms-outbound-longcode", - "mms-outbound-shortcode", - "monitor-reads", - "monitor-storage", - "monitor-writes", - "notify", - "notify-actions-attempts", - "notify-channels", - "number-format-lookups", - "pchat", - "pchat-users", - "peer-to-peer-rooms-participant-minutes", - "pfax", - "pfax-minutes", - "pfax-minutes-inbound", - "pfax-minutes-outbound", - "pfax-pages", - "phonenumbers", - "phonenumbers-cps", - "phonenumbers-emergency", - "phonenumbers-local", - "phonenumbers-mobile", - "phonenumbers-setups", - "phonenumbers-tollfree", - "premiumsupport", - "proxy", - "proxy-active-sessions", - "pstnconnectivity", - "pv", - "pv-composition-media-downloaded", - "pv-composition-media-encrypted", - "pv-composition-media-stored", - "pv-composition-minutes", - "pv-recording-compositions", - "pv-room-participants", - "pv-room-participants-au1", - "pv-room-participants-br1", - "pv-room-participants-ie1", - "pv-room-participants-jp1", - "pv-room-participants-sg1", - "pv-room-participants-us1", - "pv-room-participants-us2", - "pv-rooms", - "pv-sip-endpoint-registrations", - "recordings", - "recordingstorage", - "rooms-group-bandwidth", - "rooms-group-minutes", - "rooms-peer-to-peer-minutes", - "shortcodes", - "shortcodes-customerowned", - "shortcodes-mms-enablement", - "shortcodes-mps", - "shortcodes-random", - "shortcodes-uk", - "shortcodes-vanity", - "small-group-rooms", - "small-group-rooms-data-track", - "small-group-rooms-participant-minutes", - "sms", - "sms-inbound", - "sms-inbound-longcode", - "sms-inbound-shortcode", - "sms-messages-carrierfees", - "sms-messages-features", - "sms-messages-features-senderid", - "sms-outbound", - "sms-outbound-content-inspection", - "sms-outbound-longcode", - "sms-outbound-shortcode", - "speech-recognition", - "studio-engagements", - "sync", - "sync-actions", - "sync-endpoint-hours", - "sync-endpoint-hours-above-daily-cap", - "taskrouter-tasks", - "totalprice", - "transcriptions", - "trunking-cps", - "trunking-emergency-calls", - "trunking-origination", - "trunking-origination-local", - "trunking-origination-mobile", - "trunking-origination-tollfree", - "trunking-recordings", - "trunking-secure", - "trunking-termination", - "turnmegabytes", - "turnmegabytes-australia", - "turnmegabytes-brasil", - "turnmegabytes-germany", - "turnmegabytes-india", - "turnmegabytes-ireland", - "turnmegabytes-japan", - "turnmegabytes-singapore", - "turnmegabytes-useast", - "turnmegabytes-uswest", - "twilio-interconnect", - "verify-push", - "verify-totp", - "verify-whatsapp-conversations-business-initiated", - "video-recordings", - "voice-insights", - "voice-insights-client-insights-on-demand-minute", - "voice-insights-ptsn-insights-on-demand-minute", - "voice-insights-sip-interface-insights-on-demand-minute", - "voice-insights-sip-trunking-insights-on-demand-minute", - "wireless", - "wireless-orders", - "wireless-orders-artwork", - "wireless-orders-bulk", - "wireless-orders-esim", - "wireless-orders-starter", - "wireless-usage", - "wireless-usage-commands", - "wireless-usage-commands-africa", - "wireless-usage-commands-asia", - "wireless-usage-commands-centralandsouthamerica", - "wireless-usage-commands-europe", - "wireless-usage-commands-home", - "wireless-usage-commands-northamerica", - "wireless-usage-commands-oceania", - "wireless-usage-commands-roaming", - "wireless-usage-data", - "wireless-usage-data-africa", - "wireless-usage-data-asia", - "wireless-usage-data-centralandsouthamerica", - "wireless-usage-data-custom-additionalmb", - "wireless-usage-data-custom-first5mb", - "wireless-usage-data-domestic-roaming", - "wireless-usage-data-europe", - "wireless-usage-data-individual-additionalgb", - "wireless-usage-data-individual-firstgb", - "wireless-usage-data-international-roaming-canada", - "wireless-usage-data-international-roaming-india", - "wireless-usage-data-international-roaming-mexico", - "wireless-usage-data-northamerica", - "wireless-usage-data-oceania", - "wireless-usage-data-pooled", - "wireless-usage-data-pooled-downlink", - "wireless-usage-data-pooled-uplink", - "wireless-usage-mrc", - "wireless-usage-mrc-custom", - "wireless-usage-mrc-individual", - "wireless-usage-mrc-pooled", - "wireless-usage-mrc-suspended", - "wireless-usage-sms", - "wireless-usage-voice" - ], - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "Only include usage that has occurred on or after this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `-30days`, which will set the start date to be 30 days before the current date.", - "in": "query", - "name": "StartDate", + "name": "Sid", + "in": "path", + "description": "The SID of the Stream resource, or the `name` used when creating the resource", "schema": { - "format": "date", "type": "string" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.call.stream" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "UpdateStream", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateStreamRequest", + "properties": { + "Status": { + "type": "string", + "enum": [ + "stopped" + ], + "description": "The status. Must have the value `stopped`" + } + }, + "required": [ + "Status" + ] + } } - }, + } + } + } + }, + "/2010-04-01/Accounts/{AccountSid}/Tokens.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], + "description": "Credentials for ICE servers", + "x-twilio": { + "defaultOutputProperties": [ + "username", + "ice_servers" + ], + "pathType": "list", + "parent": "/Accounts.json" + }, + "post": { + "description": "Create a new token for ICE servers", + "parameters": [ { - "description": "Only include usage that occurred on or before this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `+30days`, which will set the end date to 30 days from the current date.", - "in": "query", - "name": "EndDate", + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", "schema": { - "format": "date", - "type": "string" + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.token" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateToken", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateTokenRequest", + "properties": { + "Ttl": { + "type": "integer", + "description": "The duration in seconds for which the generated credentials are valid. The default value is 86400 (24 hours)." + } + } + } } + } + } + } + }, + "/2010-04-01/Accounts/{AccountSid}/Transcriptions/{Sid}.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], + "description": "Text transcriptions of call recordings", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "type", + "status", + "duration" + ], + "pathType": "instance", + "parent": "/Accounts.json" + }, + "get": { + "description": "Fetch an instance of a Transcription", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Transcription resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "Whether to include usage from the master account and all its subaccounts. Can be: `true` (the default) to include usage from the master account and all subaccounts or `false` to retrieve usage from only the specified account.", - "in": "query", - "name": "IncludeSubaccounts", + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Transcription resource to fetch.", "schema": { - "type": "boolean" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^TR[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.transcription" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "FetchTranscription", + "x-maturity": [ + "GA" + ] + }, + "delete": { + "description": "Delete a transcription from the account used to make the request", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Transcription resources to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Transcription resource to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^TR[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteTranscription", + "x-maturity": [ + "GA" + ] + } + }, + "/2010-04-01/Accounts/{AccountSid}/Transcriptions.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], + "description": "Text transcriptions of call recordings", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "type", + "status", + "duration" + ], + "pathType": "list", + "parent": "/Accounts.json" + }, + "get": { + "description": "Retrieve a list of transcriptions belonging to the account used to make the request", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Transcription resources to read.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -29255,17 +28990,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListTranscriptionResponse", "properties": { + "transcriptions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.transcription" + } + }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -29274,25 +29017,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" - }, - "usage_records": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.usage.usage_record" - }, - "type": "array" + "type": "string", + "format": "uri" } - }, - "title": "ListUsageRecordResponse", - "type": "object" + } } } }, @@ -29304,15 +29039,32 @@ "accountSid_authToken": [] } ], + "operationId": "ListTranscription", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/Usage.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [], + "pathType": "list", + "parent": "/Accounts.json" + } + }, + "/2010-04-01/Accounts/{AccountSid}/Usage/Records.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Twilio account usage records", "x-twilio": { "defaultOutputProperties": [ "category", @@ -29321,33 +29073,30 @@ "count", "count_unit" ], - "parent": "/Accounts/{AccountSid}/Usage.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Usage/Records/AllTime.json": { - "description": "Usage records for all time", + "pathType": "list", + "parent": "/Accounts/{AccountSid}/Usage.json" + }, "get": { - "description": "", - "operationId": "ListUsageRecordAllTime", + "description": "Retrieve a list of usage-records belonging to the account used to make the request", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the UsageRecord resources to read.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the UsageRecord resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The [usage category](https://www.twilio.com/docs/usage/api/usage-record#usage-categories) of the UsageRecord resources to read. Only UsageRecord resources in the specified category are retrieved.", - "in": "query", "name": "Category", + "in": "query", + "description": "The [usage category](https://www.twilio.com/docs/usage/api/usage-record#usage-categories) of the UsageRecord resources to read. Only UsageRecord resources in the specified category are retrieved.", "schema": { + "type": "string", "enum": [ "a2p-registration-fees", "agent-conference", @@ -29593,44 +29342,43 @@ "wireless-usage-mrc-suspended", "wireless-usage-sms", "wireless-usage-voice" - ], - "type": "string" + ] } }, { - "description": "Only include usage that has occurred on or after this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `-30days`, which will set the start date to be 30 days before the current date.", - "in": "query", "name": "StartDate", + "in": "query", + "description": "Only include usage that has occurred on or after this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `-30days`, which will set the start date to be 30 days before the current date.", "schema": { - "format": "date", - "type": "string" + "type": "string", + "format": "date" } }, { - "description": "Only include usage that occurred on or before this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `+30days`, which will set the end date to 30 days from the current date.", - "in": "query", "name": "EndDate", + "in": "query", + "description": "Only include usage that occurred on or before this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `+30days`, which will set the end date to 30 days from the current date.", "schema": { - "format": "date", - "type": "string" + "type": "string", + "format": "date" } }, { - "description": "Whether to include usage from the master account and all its subaccounts. Can be: `true` (the default) to include usage from the master account and all subaccounts or `false` to retrieve usage from only the specified account.", - "in": "query", "name": "IncludeSubaccounts", + "in": "query", + "description": "Whether to include usage from the master account and all its subaccounts. Can be: `true` (the default) to include usage from the master account and all subaccounts or `false` to retrieve usage from only the specified account.", "schema": { "type": "boolean" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -29639,17 +29387,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListUsageRecordResponse", "properties": { + "usage_records": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.usage.usage_record" + } + }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -29658,25 +29414,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" - }, - "usage_records": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.usage.usage_record.usage_record_all_time" - }, - "type": "array" + "type": "string", + "format": "uri" } - }, - "title": "ListUsageRecordAllTimeResponse", - "type": "object" + } } } }, @@ -29688,15 +29436,19 @@ "accountSid_authToken": [] } ], + "operationId": "ListUsageRecord", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/Usage/Records/AllTime.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Usage records for all time", "x-twilio": { "defaultOutputProperties": [ "category", @@ -29705,33 +29457,30 @@ "count", "count_unit" ], - "parent": "/Accounts/{AccountSid}/Usage/Records.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Usage/Records/Daily.json": { - "description": "Usage records summarized by day", + "pathType": "list", + "parent": "/Accounts/{AccountSid}/Usage/Records.json" + }, "get": { "description": "", - "operationId": "ListUsageRecordDaily", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the UsageRecord resources to read.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the UsageRecord resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The [usage category](https://www.twilio.com/docs/usage/api/usage-record#usage-categories) of the UsageRecord resources to read. Only UsageRecord resources in the specified category are retrieved.", - "in": "query", "name": "Category", + "in": "query", + "description": "The [usage category](https://www.twilio.com/docs/usage/api/usage-record#usage-categories) of the UsageRecord resources to read. Only UsageRecord resources in the specified category are retrieved.", "schema": { + "type": "string", "enum": [ "a2p-registration-fees", "agent-conference", @@ -29977,44 +29726,43 @@ "wireless-usage-mrc-suspended", "wireless-usage-sms", "wireless-usage-voice" - ], - "type": "string" + ] } }, { - "description": "Only include usage that has occurred on or after this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `-30days`, which will set the start date to be 30 days before the current date.", - "in": "query", "name": "StartDate", + "in": "query", + "description": "Only include usage that has occurred on or after this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `-30days`, which will set the start date to be 30 days before the current date.", "schema": { - "format": "date", - "type": "string" + "type": "string", + "format": "date" } }, { - "description": "Only include usage that occurred on or before this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `+30days`, which will set the end date to 30 days from the current date.", - "in": "query", "name": "EndDate", + "in": "query", + "description": "Only include usage that occurred on or before this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `+30days`, which will set the end date to 30 days from the current date.", "schema": { - "format": "date", - "type": "string" + "type": "string", + "format": "date" } }, { - "description": "Whether to include usage from the master account and all its subaccounts. Can be: `true` (the default) to include usage from the master account and all subaccounts or `false` to retrieve usage from only the specified account.", - "in": "query", "name": "IncludeSubaccounts", + "in": "query", + "description": "Whether to include usage from the master account and all its subaccounts. Can be: `true` (the default) to include usage from the master account and all subaccounts or `false` to retrieve usage from only the specified account.", "schema": { "type": "boolean" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -30023,17 +29771,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListUsageRecordAllTimeResponse", "properties": { + "usage_records": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.usage.usage_record.usage_record_all_time" + } + }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -30042,25 +29798,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" - }, - "usage_records": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.usage.usage_record.usage_record_daily" - }, - "type": "array" + "type": "string", + "format": "uri" } - }, - "title": "ListUsageRecordDailyResponse", - "type": "object" + } } } }, @@ -30072,15 +29820,19 @@ "accountSid_authToken": [] } ], + "operationId": "ListUsageRecordAllTime", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/Usage/Records/Daily.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Usage records summarized by day", "x-twilio": { "defaultOutputProperties": [ "category", @@ -30089,33 +29841,30 @@ "count", "count_unit" ], - "parent": "/Accounts/{AccountSid}/Usage/Records.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Usage/Records/LastMonth.json": { - "description": "Usage records for last month", + "pathType": "list", + "parent": "/Accounts/{AccountSid}/Usage/Records.json" + }, "get": { "description": "", - "operationId": "ListUsageRecordLastMonth", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the UsageRecord resources to read.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the UsageRecord resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The [usage category](https://www.twilio.com/docs/usage/api/usage-record#usage-categories) of the UsageRecord resources to read. Only UsageRecord resources in the specified category are retrieved.", - "in": "query", "name": "Category", + "in": "query", + "description": "The [usage category](https://www.twilio.com/docs/usage/api/usage-record#usage-categories) of the UsageRecord resources to read. Only UsageRecord resources in the specified category are retrieved.", "schema": { + "type": "string", "enum": [ "a2p-registration-fees", "agent-conference", @@ -30361,44 +30110,43 @@ "wireless-usage-mrc-suspended", "wireless-usage-sms", "wireless-usage-voice" - ], - "type": "string" + ] } }, { - "description": "Only include usage that has occurred on or after this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `-30days`, which will set the start date to be 30 days before the current date.", - "in": "query", "name": "StartDate", + "in": "query", + "description": "Only include usage that has occurred on or after this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `-30days`, which will set the start date to be 30 days before the current date.", "schema": { - "format": "date", - "type": "string" + "type": "string", + "format": "date" } }, { - "description": "Only include usage that occurred on or before this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `+30days`, which will set the end date to 30 days from the current date.", - "in": "query", "name": "EndDate", + "in": "query", + "description": "Only include usage that occurred on or before this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `+30days`, which will set the end date to 30 days from the current date.", "schema": { - "format": "date", - "type": "string" + "type": "string", + "format": "date" } }, { - "description": "Whether to include usage from the master account and all its subaccounts. Can be: `true` (the default) to include usage from the master account and all subaccounts or `false` to retrieve usage from only the specified account.", - "in": "query", "name": "IncludeSubaccounts", + "in": "query", + "description": "Whether to include usage from the master account and all its subaccounts. Can be: `true` (the default) to include usage from the master account and all subaccounts or `false` to retrieve usage from only the specified account.", "schema": { "type": "boolean" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -30407,17 +30155,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListUsageRecordDailyResponse", "properties": { + "usage_records": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.usage.usage_record.usage_record_daily" + } + }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -30426,25 +30182,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" - }, - "usage_records": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.usage.usage_record.usage_record_last_month" - }, - "type": "array" + "type": "string", + "format": "uri" } - }, - "title": "ListUsageRecordLastMonthResponse", - "type": "object" + } } } }, @@ -30456,15 +30204,19 @@ "accountSid_authToken": [] } ], + "operationId": "ListUsageRecordDaily", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/Usage/Records/LastMonth.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Usage records for last month", "x-twilio": { "defaultOutputProperties": [ "category", @@ -30473,33 +30225,30 @@ "count", "count_unit" ], - "parent": "/Accounts/{AccountSid}/Usage/Records.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Usage/Records/Monthly.json": { - "description": "Usage records summarized by month", + "pathType": "list", + "parent": "/Accounts/{AccountSid}/Usage/Records.json" + }, "get": { "description": "", - "operationId": "ListUsageRecordMonthly", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the UsageRecord resources to read.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the UsageRecord resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The [usage category](https://www.twilio.com/docs/usage/api/usage-record#usage-categories) of the UsageRecord resources to read. Only UsageRecord resources in the specified category are retrieved.", - "in": "query", "name": "Category", + "in": "query", + "description": "The [usage category](https://www.twilio.com/docs/usage/api/usage-record#usage-categories) of the UsageRecord resources to read. Only UsageRecord resources in the specified category are retrieved.", "schema": { + "type": "string", "enum": [ "a2p-registration-fees", "agent-conference", @@ -30745,44 +30494,43 @@ "wireless-usage-mrc-suspended", "wireless-usage-sms", "wireless-usage-voice" - ], - "type": "string" + ] } }, { - "description": "Only include usage that has occurred on or after this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `-30days`, which will set the start date to be 30 days before the current date.", - "in": "query", "name": "StartDate", + "in": "query", + "description": "Only include usage that has occurred on or after this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `-30days`, which will set the start date to be 30 days before the current date.", "schema": { - "format": "date", - "type": "string" + "type": "string", + "format": "date" } }, { - "description": "Only include usage that occurred on or before this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `+30days`, which will set the end date to 30 days from the current date.", - "in": "query", "name": "EndDate", + "in": "query", + "description": "Only include usage that occurred on or before this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `+30days`, which will set the end date to 30 days from the current date.", "schema": { - "format": "date", - "type": "string" + "type": "string", + "format": "date" } }, { - "description": "Whether to include usage from the master account and all its subaccounts. Can be: `true` (the default) to include usage from the master account and all subaccounts or `false` to retrieve usage from only the specified account.", - "in": "query", "name": "IncludeSubaccounts", + "in": "query", + "description": "Whether to include usage from the master account and all its subaccounts. Can be: `true` (the default) to include usage from the master account and all subaccounts or `false` to retrieve usage from only the specified account.", "schema": { "type": "boolean" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -30791,17 +30539,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListUsageRecordLastMonthResponse", "properties": { + "usage_records": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.usage.usage_record.usage_record_last_month" + } + }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -30810,25 +30566,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" - }, - "usage_records": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.usage.usage_record.usage_record_monthly" - }, - "type": "array" + "type": "string", + "format": "uri" } - }, - "title": "ListUsageRecordMonthlyResponse", - "type": "object" + } } } }, @@ -30840,15 +30588,19 @@ "accountSid_authToken": [] } ], + "operationId": "ListUsageRecordLastMonth", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/Usage/Records/Monthly.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Usage records summarized by month", "x-twilio": { "defaultOutputProperties": [ "category", @@ -30857,33 +30609,30 @@ "count", "count_unit" ], - "parent": "/Accounts/{AccountSid}/Usage/Records.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Usage/Records/ThisMonth.json": { - "description": "Usage records for this month", + "pathType": "list", + "parent": "/Accounts/{AccountSid}/Usage/Records.json" + }, "get": { "description": "", - "operationId": "ListUsageRecordThisMonth", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the UsageRecord resources to read.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the UsageRecord resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The [usage category](https://www.twilio.com/docs/usage/api/usage-record#usage-categories) of the UsageRecord resources to read. Only UsageRecord resources in the specified category are retrieved.", - "in": "query", "name": "Category", + "in": "query", + "description": "The [usage category](https://www.twilio.com/docs/usage/api/usage-record#usage-categories) of the UsageRecord resources to read. Only UsageRecord resources in the specified category are retrieved.", "schema": { + "type": "string", "enum": [ "a2p-registration-fees", "agent-conference", @@ -31129,44 +30878,43 @@ "wireless-usage-mrc-suspended", "wireless-usage-sms", "wireless-usage-voice" - ], - "type": "string" + ] } }, { - "description": "Only include usage that has occurred on or after this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `-30days`, which will set the start date to be 30 days before the current date.", - "in": "query", "name": "StartDate", + "in": "query", + "description": "Only include usage that has occurred on or after this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `-30days`, which will set the start date to be 30 days before the current date.", "schema": { - "format": "date", - "type": "string" + "type": "string", + "format": "date" } }, { - "description": "Only include usage that occurred on or before this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `+30days`, which will set the end date to 30 days from the current date.", - "in": "query", "name": "EndDate", + "in": "query", + "description": "Only include usage that occurred on or before this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `+30days`, which will set the end date to 30 days from the current date.", "schema": { - "format": "date", - "type": "string" + "type": "string", + "format": "date" } }, { - "description": "Whether to include usage from the master account and all its subaccounts. Can be: `true` (the default) to include usage from the master account and all subaccounts or `false` to retrieve usage from only the specified account.", - "in": "query", "name": "IncludeSubaccounts", + "in": "query", + "description": "Whether to include usage from the master account and all its subaccounts. Can be: `true` (the default) to include usage from the master account and all subaccounts or `false` to retrieve usage from only the specified account.", "schema": { "type": "boolean" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -31175,17 +30923,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListUsageRecordMonthlyResponse", "properties": { + "usage_records": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.usage.usage_record.usage_record_monthly" + } + }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -31194,25 +30950,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" - }, - "usage_records": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.usage.usage_record.usage_record_this_month" - }, - "type": "array" + "type": "string", + "format": "uri" } - }, - "title": "ListUsageRecordThisMonthResponse", - "type": "object" + } } } }, @@ -31224,15 +30972,19 @@ "accountSid_authToken": [] } ], + "operationId": "ListUsageRecordMonthly", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/Usage/Records/ThisMonth.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Usage records for this month", "x-twilio": { "defaultOutputProperties": [ "category", @@ -31241,33 +30993,30 @@ "count", "count_unit" ], - "parent": "/Accounts/{AccountSid}/Usage/Records.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Usage/Records/Today.json": { - "description": "Usage records for today", + "pathType": "list", + "parent": "/Accounts/{AccountSid}/Usage/Records.json" + }, "get": { "description": "", - "operationId": "ListUsageRecordToday", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the UsageRecord resources to read.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the UsageRecord resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The [usage category](https://www.twilio.com/docs/usage/api/usage-record#usage-categories) of the UsageRecord resources to read. Only UsageRecord resources in the specified category are retrieved.", - "in": "query", "name": "Category", + "in": "query", + "description": "The [usage category](https://www.twilio.com/docs/usage/api/usage-record#usage-categories) of the UsageRecord resources to read. Only UsageRecord resources in the specified category are retrieved.", "schema": { + "type": "string", "enum": [ "a2p-registration-fees", "agent-conference", @@ -31513,44 +31262,43 @@ "wireless-usage-mrc-suspended", "wireless-usage-sms", "wireless-usage-voice" - ], - "type": "string" + ] } }, { - "description": "Only include usage that has occurred on or after this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `-30days`, which will set the start date to be 30 days before the current date.", - "in": "query", "name": "StartDate", + "in": "query", + "description": "Only include usage that has occurred on or after this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `-30days`, which will set the start date to be 30 days before the current date.", "schema": { - "format": "date", - "type": "string" + "type": "string", + "format": "date" } }, { - "description": "Only include usage that occurred on or before this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `+30days`, which will set the end date to 30 days from the current date.", - "in": "query", "name": "EndDate", + "in": "query", + "description": "Only include usage that occurred on or before this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `+30days`, which will set the end date to 30 days from the current date.", "schema": { - "format": "date", - "type": "string" + "type": "string", + "format": "date" } }, { - "description": "Whether to include usage from the master account and all its subaccounts. Can be: `true` (the default) to include usage from the master account and all subaccounts or `false` to retrieve usage from only the specified account.", - "in": "query", "name": "IncludeSubaccounts", + "in": "query", + "description": "Whether to include usage from the master account and all its subaccounts. Can be: `true` (the default) to include usage from the master account and all subaccounts or `false` to retrieve usage from only the specified account.", "schema": { "type": "boolean" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -31559,17 +31307,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListUsageRecordThisMonthResponse", "properties": { + "usage_records": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.usage.usage_record.usage_record_this_month" + } + }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -31578,25 +31334,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" - }, - "usage_records": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.usage.usage_record.usage_record_today" - }, - "type": "array" + "type": "string", + "format": "uri" } - }, - "title": "ListUsageRecordTodayResponse", - "type": "object" + } } } }, @@ -31608,15 +31356,19 @@ "accountSid_authToken": [] } ], + "operationId": "ListUsageRecordThisMonth", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/Usage/Records/Today.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Usage records for today", "x-twilio": { "defaultOutputProperties": [ "category", @@ -31625,33 +31377,30 @@ "count", "count_unit" ], - "parent": "/Accounts/{AccountSid}/Usage/Records.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Usage/Records/Yearly.json": { - "description": "Usage records summarized by year", + "pathType": "list", + "parent": "/Accounts/{AccountSid}/Usage/Records.json" + }, "get": { "description": "", - "operationId": "ListUsageRecordYearly", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the UsageRecord resources to read.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the UsageRecord resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The [usage category](https://www.twilio.com/docs/usage/api/usage-record#usage-categories) of the UsageRecord resources to read. Only UsageRecord resources in the specified category are retrieved.", - "in": "query", "name": "Category", + "in": "query", + "description": "The [usage category](https://www.twilio.com/docs/usage/api/usage-record#usage-categories) of the UsageRecord resources to read. Only UsageRecord resources in the specified category are retrieved.", "schema": { + "type": "string", "enum": [ "a2p-registration-fees", "agent-conference", @@ -31897,44 +31646,43 @@ "wireless-usage-mrc-suspended", "wireless-usage-sms", "wireless-usage-voice" - ], - "type": "string" + ] } }, { - "description": "Only include usage that has occurred on or after this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `-30days`, which will set the start date to be 30 days before the current date.", - "in": "query", "name": "StartDate", + "in": "query", + "description": "Only include usage that has occurred on or after this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `-30days`, which will set the start date to be 30 days before the current date.", "schema": { - "format": "date", - "type": "string" + "type": "string", + "format": "date" } }, { - "description": "Only include usage that occurred on or before this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `+30days`, which will set the end date to 30 days from the current date.", - "in": "query", "name": "EndDate", + "in": "query", + "description": "Only include usage that occurred on or before this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `+30days`, which will set the end date to 30 days from the current date.", "schema": { - "format": "date", - "type": "string" + "type": "string", + "format": "date" } }, { - "description": "Whether to include usage from the master account and all its subaccounts. Can be: `true` (the default) to include usage from the master account and all subaccounts or `false` to retrieve usage from only the specified account.", - "in": "query", "name": "IncludeSubaccounts", + "in": "query", + "description": "Whether to include usage from the master account and all its subaccounts. Can be: `true` (the default) to include usage from the master account and all subaccounts or `false` to retrieve usage from only the specified account.", "schema": { "type": "boolean" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -31943,17 +31691,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListUsageRecordTodayResponse", "properties": { + "usage_records": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.usage.usage_record.usage_record_today" + } + }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -31962,25 +31718,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" - }, - "usage_records": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.usage.usage_record.usage_record_yearly" - }, - "type": "array" + "type": "string", + "format": "uri" } - }, - "title": "ListUsageRecordYearlyResponse", - "type": "object" + } } } }, @@ -31992,15 +31740,19 @@ "accountSid_authToken": [] } ], + "operationId": "ListUsageRecordToday", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/Usage/Records/Yearly.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Usage records summarized by year", "x-twilio": { "defaultOutputProperties": [ "category", @@ -32009,33 +31761,30 @@ "count", "count_unit" ], - "parent": "/Accounts/{AccountSid}/Usage/Records.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Usage/Records/Yesterday.json": { - "description": "Usage records for yesterday", + "pathType": "list", + "parent": "/Accounts/{AccountSid}/Usage/Records.json" + }, "get": { "description": "", - "operationId": "ListUsageRecordYesterday", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the UsageRecord resources to read.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the UsageRecord resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The [usage category](https://www.twilio.com/docs/usage/api/usage-record#usage-categories) of the UsageRecord resources to read. Only UsageRecord resources in the specified category are retrieved.", - "in": "query", "name": "Category", + "in": "query", + "description": "The [usage category](https://www.twilio.com/docs/usage/api/usage-record#usage-categories) of the UsageRecord resources to read. Only UsageRecord resources in the specified category are retrieved.", "schema": { + "type": "string", "enum": [ "a2p-registration-fees", "agent-conference", @@ -32281,44 +32030,43 @@ "wireless-usage-mrc-suspended", "wireless-usage-sms", "wireless-usage-voice" - ], - "type": "string" + ] } }, { - "description": "Only include usage that has occurred on or after this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `-30days`, which will set the start date to be 30 days before the current date.", - "in": "query", "name": "StartDate", + "in": "query", + "description": "Only include usage that has occurred on or after this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `-30days`, which will set the start date to be 30 days before the current date.", "schema": { - "format": "date", - "type": "string" + "type": "string", + "format": "date" } }, { - "description": "Only include usage that occurred on or before this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `+30days`, which will set the end date to 30 days from the current date.", - "in": "query", "name": "EndDate", + "in": "query", + "description": "Only include usage that occurred on or before this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `+30days`, which will set the end date to 30 days from the current date.", "schema": { - "format": "date", - "type": "string" + "type": "string", + "format": "date" } }, { - "description": "Whether to include usage from the master account and all its subaccounts. Can be: `true` (the default) to include usage from the master account and all subaccounts or `false` to retrieve usage from only the specified account.", - "in": "query", "name": "IncludeSubaccounts", + "in": "query", + "description": "Whether to include usage from the master account and all its subaccounts. Can be: `true` (the default) to include usage from the master account and all subaccounts or `false` to retrieve usage from only the specified account.", "schema": { "type": "boolean" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -32327,17 +32075,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListUsageRecordYearlyResponse", "properties": { + "usage_records": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.usage.usage_record.usage_record_yearly" + } + }, "end": { "type": "integer" }, "first_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "next_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -32346,25 +32102,17 @@ "type": "integer" }, "previous_page_uri": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "start": { "type": "integer" }, "uri": { - "format": "uri", - "type": "string" - }, - "usage_records": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.usage.usage_record.usage_record_yesterday" - }, - "type": "array" - } - }, - "title": "ListUsageRecordYesterdayResponse", - "type": "object" + "type": "string", + "format": "uri" + } + } } } }, @@ -32376,15 +32124,19 @@ "accountSid_authToken": [] } ], + "operationId": "ListUsageRecordYearly", "x-maturity": [ "GA" ] - }, + } + }, + "/2010-04-01/Accounts/{AccountSid}/Usage/Records/Yesterday.json": { "servers": [ { "url": "https://api.twilio.com" } ], + "description": "Usage records for yesterday", "x-twilio": { "defaultOutputProperties": [ "category", @@ -32393,60 +32145,30 @@ "count", "count_unit" ], - "parent": "/Accounts/{AccountSid}/Usage/Records.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Usage/Triggers.json": { - "description": "Webhooks that notify you of usage thresholds", + "pathType": "list", + "parent": "/Accounts/{AccountSid}/Usage/Records.json" + }, "get": { - "description": "Retrieve a list of usage-triggers belonging to the account used to make the request", - "operationId": "ListUsageTrigger", + "description": "", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the UsageTrigger resources to read.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the UsageRecord resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The frequency of recurring UsageTriggers to read. Can be: `daily`, `monthly`, or `yearly` to read recurring UsageTriggers. An empty value or a value of `alltime` reads non-recurring UsageTriggers.", - "in": "query", - "name": "Recurring", - "schema": { - "enum": [ - "daily", - "monthly", - "yearly", - "alltime" - ], - "type": "string" - } - }, - { - "description": "The trigger field of the UsageTriggers to read. Can be: `count`, `usage`, or `price` as described in the [UsageRecords documentation](https://www.twilio.com/docs/usage/api/usage-record#usage-count-price).", - "in": "query", - "name": "TriggerBy", - "schema": { - "enum": [ - "count", - "usage", - "price" - ], - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The usage category of the UsageTriggers to read. Must be a supported [usage categories](https://www.twilio.com/docs/usage/api/usage-record#usage-categories).", + "name": "Category", "in": "query", - "name": "UsageCategory", + "description": "The [usage category](https://www.twilio.com/docs/usage/api/usage-record#usage-categories) of the UsageRecord resources to read. Only UsageRecord resources in the specified category are retrieved.", "schema": { + "type": "string", "enum": [ "a2p-registration-fees", "agent-conference", @@ -32692,68 +32414,288 @@ "wireless-usage-mrc-suspended", "wireless-usage-sms", "wireless-usage-voice" - ], - "type": "string" + ] + } + }, + { + "name": "StartDate", + "in": "query", + "description": "Only include usage that has occurred on or after this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `-30days`, which will set the start date to be 30 days before the current date.", + "schema": { + "type": "string", + "format": "date" + } + }, + { + "name": "EndDate", + "in": "query", + "description": "Only include usage that occurred on or before this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `+30days`, which will set the end date to 30 days from the current date.", + "schema": { + "type": "string", + "format": "date" + } + }, + { + "name": "IncludeSubaccounts", + "in": "query", + "description": "Whether to include usage from the master account and all its subaccounts. Can be: `true` (the default) to include usage from the master account and all subaccounts or `false` to retrieve usage from only the specified account.", + "schema": { + "type": "boolean" + } + }, + { + "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 + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "ListUsageRecordYesterdayResponse", + "properties": { + "usage_records": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.usage.usage_record.usage_record_yesterday" + } + }, + "end": { + "type": "integer" + }, + "first_page_uri": { + "type": "string", + "format": "uri" + }, + "next_page_uri": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_uri": { + "type": "string", + "format": "uri" + }, + "start": { + "type": "integer" + }, + "uri": { + "type": "string", + "format": "uri" + } + } + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "ListUsageRecordYesterday", + "x-maturity": [ + "GA" + ] + } + }, + "/2010-04-01/Accounts/{AccountSid}/Usage/Triggers/{Sid}.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], + "description": "Webhooks that notify you of usage thresholds", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "usage_category", + "trigger_by" + ], + "pathType": "instance", + "parent": "/Accounts/{AccountSid}/Usage.json" + }, + "get": { + "description": "Fetch and instance of a usage-trigger", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the UsageTrigger resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the UsageTrigger resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^UT[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.usage.usage_trigger" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "FetchUsageTrigger", + "x-maturity": [ + "GA" + ] + }, + "post": { + "description": "Update an instance of a usage trigger", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the UsageTrigger resources to update.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the UsageTrigger resource to update.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^UT[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.usage.usage_trigger" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "UpdateUsageTrigger", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateUsageTriggerRequest", + "properties": { + "CallbackMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method we should use to call `callback_url`. Can be: `GET` or `POST` and the default is `POST`." + }, + "CallbackUrl": { + "type": "string", + "format": "uri", + "description": "The URL we should call using `callback_method` when the trigger fires." + }, + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long." + } + } + } } + } + } + }, + "delete": { + "description": "", + "parameters": [ + { + "name": "AccountSid", + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the UsageTrigger resources to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", - "name": "PageSize", + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the UsageTrigger resource to delete.", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^UT[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "end": { - "type": "integer" - }, - "first_page_uri": { - "format": "uri", - "type": "string" - }, - "next_page_uri": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_uri": { - "format": "uri", - "type": "string" - }, - "start": { - "type": "integer" - }, - "uri": { - "format": "uri", - "type": "string" - }, - "usage_triggers": { - "items": { - "$ref": "#/components/schemas/api.v2010.account.usage.usage_trigger" - }, - "type": "array" - } - }, - "title": "ListUsageTriggerResponse", - "type": "object" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -32761,79 +32703,84 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteUsageTrigger", "x-maturity": [ "GA" ] + } + }, + "/2010-04-01/Accounts/{AccountSid}/Usage/Triggers.json": { + "servers": [ + { + "url": "https://api.twilio.com" + } + ], + "description": "Webhooks that notify you of usage thresholds", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "usage_category", + "trigger_by" + ], + "pathType": "list", + "parent": "/Accounts/{AccountSid}/Usage.json" }, "post": { "description": "Create a new UsageTrigger", - "operationId": "CreateUsageTrigger", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/api.v2010.account.usage.usage_trigger" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] } ], + "operationId": "CreateUsageTrigger", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateUsageTriggerRequest", "properties": { - "CallbackMethod": { - "description": "The HTTP method we should use to call `callback_url`. Can be: `GET` or `POST` and the default is `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, "CallbackUrl": { - "description": "The URL we should call using `callback_method` when the trigger fires.", + "type": "string", "format": "uri", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long.", - "type": "string" - }, - "Recurring": { - "description": "The frequency of a recurring UsageTrigger. Can be: `daily`, `monthly`, or `yearly` for recurring triggers or empty for non-recurring triggers. A trigger will only fire once during each period. Recurring times are in GMT.", - "enum": [ - "daily", - "monthly", - "yearly", - "alltime" - ], - "type": "string" - }, - "TriggerBy": { - "description": "The field in the [UsageRecord](https://www.twilio.com/docs/usage/api/usage-record) resource that should fire the trigger. Can be: `count`, `usage`, or `price` as described in the [UsageRecords documentation](https://www.twilio.com/docs/usage/api/usage-record#usage-count-price). The default is `usage`.", - "enum": [ - "count", - "usage", - "price" - ], - "type": "string" + "description": "The URL we should call using `callback_method` when the trigger fires." }, "TriggerValue": { - "description": "The usage value at which the trigger should fire. For convenience, you can use an offset value such as `+30` to specify a trigger_value that is 30 units more than the current usage value. Be sure to urlencode a `+` as `%2B`.", - "type": "string" + "type": "string", + "description": "The usage value at which the trigger should fire. For convenience, you can use an offset value such as `+30` to specify a trigger_value that is 30 units more than the current usage value. Be sure to urlencode a `+` as `%2B`." }, "UsageCategory": { - "description": "The usage category that the trigger should watch. Use one of the supported [usage categories](https://www.twilio.com/docs/usage/api/usage-record#usage-categories) for this value.", + "type": "string", "enum": [ "a2p-registration-fees", "agent-conference", @@ -33080,268 +33027,359 @@ "wireless-usage-sms", "wireless-usage-voice" ], - "type": "string" + "description": "The usage category that the trigger should watch. Use one of the supported [usage categories](https://www.twilio.com/docs/usage/api/usage-record#usage-categories) for this value." + }, + "CallbackMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method we should use to call `callback_url`. Can be: `GET` or `POST` and the default is `POST`." + }, + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long." + }, + "Recurring": { + "type": "string", + "enum": [ + "daily", + "monthly", + "yearly", + "alltime" + ], + "description": "The frequency of a recurring UsageTrigger. Can be: `daily`, `monthly`, or `yearly` for recurring triggers or empty for non-recurring triggers. A trigger will only fire once during each period. Recurring times are in GMT." + }, + "TriggerBy": { + "type": "string", + "enum": [ + "count", + "usage", + "price" + ], + "description": "The field in the [UsageRecord](https://www.twilio.com/docs/usage/api/usage-record) resource that should fire the trigger. Can be: `count`, `usage`, or `price` as described in the [UsageRecords documentation](https://www.twilio.com/docs/usage/api/usage-record#usage-count-price). The default is `usage`." } }, "required": [ "CallbackUrl", "TriggerValue", - "UsageCategory" - ], - "title": "CreateUsageTriggerRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.usage.usage_trigger" - } - } - }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://api.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "usage_category", - "trigger_by" - ], - "parent": "/Accounts/{AccountSid}/Usage.json", - "pathType": "list" - } - }, - "/2010-04-01/Accounts/{AccountSid}/Usage/Triggers/{Sid}.json": { - "delete": { - "description": "", - "operationId": "DeleteUsageTrigger", - "parameters": [ - { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the UsageTrigger resources to delete.", - "in": "path", - "name": "AccountSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the UsageTrigger resource to delete.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^UT[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] + "UsageCategory" + ] + } + } } - ], - "x-maturity": [ - "GA" - ] + } }, - "description": "Webhooks that notify you of usage thresholds", "get": { - "description": "Fetch and instance of a usage-trigger", - "operationId": "FetchUsageTrigger", + "description": "Retrieve a list of usage-triggers belonging to the account used to make the request", "parameters": [ { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the UsageTrigger resource to fetch.", - "in": "path", "name": "AccountSid", - "required": true, + "in": "path", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the UsageTrigger resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the UsageTrigger resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, + "name": "Recurring", + "in": "query", + "description": "The frequency of recurring UsageTriggers to read. Can be: `daily`, `monthly`, or `yearly` to read recurring UsageTriggers. An empty value or a value of `alltime` reads non-recurring UsageTriggers.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^UT[0-9a-fA-F]{32}$", - "type": "string" + "type": "string", + "enum": [ + "daily", + "monthly", + "yearly", + "alltime" + ] } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.usage.usage_trigger" - } - } - }, - "description": "OK" - } - }, - "security": [ + }, { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "Update an instance of a usage trigger", - "operationId": "UpdateUsageTrigger", - "parameters": [ + "name": "TriggerBy", + "in": "query", + "description": "The trigger field of the UsageTriggers to read. Can be: `count`, `usage`, or `price` as described in the [UsageRecords documentation](https://www.twilio.com/docs/usage/api/usage-record#usage-count-price).", + "schema": { + "type": "string", + "enum": [ + "count", + "usage", + "price" + ] + } + }, { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the UsageTrigger resources to update.", - "in": "path", - "name": "AccountSid", - "required": true, + "name": "UsageCategory", + "in": "query", + "description": "The usage category of the UsageTriggers to read. Must be a supported [usage categories](https://www.twilio.com/docs/usage/api/usage-record#usage-categories).", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "type": "string", + "enum": [ + "a2p-registration-fees", + "agent-conference", + "amazon-polly", + "answering-machine-detection", + "authy-authentications", + "authy-calls-outbound", + "authy-monthly-fees", + "authy-phone-intelligence", + "authy-phone-verifications", + "authy-sms-outbound", + "call-progess-events", + "calleridlookups", + "calls", + "calls-client", + "calls-globalconference", + "calls-inbound", + "calls-inbound-local", + "calls-inbound-mobile", + "calls-inbound-tollfree", + "calls-outbound", + "calls-pay-verb-transactions", + "calls-recordings", + "calls-sip", + "calls-sip-inbound", + "calls-sip-outbound", + "calls-transfers", + "carrier-lookups", + "conversations", + "conversations-api-requests", + "conversations-conversation-events", + "conversations-endpoint-connectivity", + "conversations-events", + "conversations-participant-events", + "conversations-participants", + "cps", + "flex-usage", + "fraud-lookups", + "group-rooms", + "group-rooms-data-track", + "group-rooms-encrypted-media-recorded", + "group-rooms-media-downloaded", + "group-rooms-media-recorded", + "group-rooms-media-routed", + "group-rooms-media-stored", + "group-rooms-participant-minutes", + "group-rooms-recorded-minutes", + "imp-v1-usage", + "lookups", + "marketplace", + "marketplace-algorithmia-named-entity-recognition", + "marketplace-cadence-transcription", + "marketplace-cadence-translation", + "marketplace-capio-speech-to-text", + "marketplace-convriza-ababa", + "marketplace-deepgram-phrase-detector", + "marketplace-digital-segment-business-info", + "marketplace-facebook-offline-conversions", + "marketplace-google-speech-to-text", + "marketplace-ibm-watson-message-insights", + "marketplace-ibm-watson-message-sentiment", + "marketplace-ibm-watson-recording-analysis", + "marketplace-ibm-watson-tone-analyzer", + "marketplace-icehook-systems-scout", + "marketplace-infogroup-dataaxle-bizinfo", + "marketplace-keen-io-contact-center-analytics", + "marketplace-marchex-cleancall", + "marketplace-marchex-sentiment-analysis-for-sms", + "marketplace-marketplace-nextcaller-social-id", + "marketplace-mobile-commons-opt-out-classifier", + "marketplace-nexiwave-voicemail-to-text", + "marketplace-nextcaller-advanced-caller-identification", + "marketplace-nomorobo-spam-score", + "marketplace-payfone-tcpa-compliance", + "marketplace-remeeting-automatic-speech-recognition", + "marketplace-tcpa-defense-solutions-blacklist-feed", + "marketplace-telo-opencnam", + "marketplace-truecnam-true-spam", + "marketplace-twilio-caller-name-lookup-us", + "marketplace-twilio-carrier-information-lookup", + "marketplace-voicebase-pci", + "marketplace-voicebase-transcription", + "marketplace-voicebase-transcription-custom-vocabulary", + "marketplace-whitepages-pro-caller-identification", + "marketplace-whitepages-pro-phone-intelligence", + "marketplace-whitepages-pro-phone-reputation", + "marketplace-wolfarm-spoken-results", + "marketplace-wolfram-short-answer", + "marketplace-ytica-contact-center-reporting-analytics", + "mediastorage", + "mms", + "mms-inbound", + "mms-inbound-longcode", + "mms-inbound-shortcode", + "mms-messages-carrierfees", + "mms-outbound", + "mms-outbound-longcode", + "mms-outbound-shortcode", + "monitor-reads", + "monitor-storage", + "monitor-writes", + "notify", + "notify-actions-attempts", + "notify-channels", + "number-format-lookups", + "pchat", + "pchat-users", + "peer-to-peer-rooms-participant-minutes", + "pfax", + "pfax-minutes", + "pfax-minutes-inbound", + "pfax-minutes-outbound", + "pfax-pages", + "phonenumbers", + "phonenumbers-cps", + "phonenumbers-emergency", + "phonenumbers-local", + "phonenumbers-mobile", + "phonenumbers-setups", + "phonenumbers-tollfree", + "premiumsupport", + "proxy", + "proxy-active-sessions", + "pstnconnectivity", + "pv", + "pv-composition-media-downloaded", + "pv-composition-media-encrypted", + "pv-composition-media-stored", + "pv-composition-minutes", + "pv-recording-compositions", + "pv-room-participants", + "pv-room-participants-au1", + "pv-room-participants-br1", + "pv-room-participants-ie1", + "pv-room-participants-jp1", + "pv-room-participants-sg1", + "pv-room-participants-us1", + "pv-room-participants-us2", + "pv-rooms", + "pv-sip-endpoint-registrations", + "recordings", + "recordingstorage", + "rooms-group-bandwidth", + "rooms-group-minutes", + "rooms-peer-to-peer-minutes", + "shortcodes", + "shortcodes-customerowned", + "shortcodes-mms-enablement", + "shortcodes-mps", + "shortcodes-random", + "shortcodes-uk", + "shortcodes-vanity", + "small-group-rooms", + "small-group-rooms-data-track", + "small-group-rooms-participant-minutes", + "sms", + "sms-inbound", + "sms-inbound-longcode", + "sms-inbound-shortcode", + "sms-messages-carrierfees", + "sms-messages-features", + "sms-messages-features-senderid", + "sms-outbound", + "sms-outbound-content-inspection", + "sms-outbound-longcode", + "sms-outbound-shortcode", + "speech-recognition", + "studio-engagements", + "sync", + "sync-actions", + "sync-endpoint-hours", + "sync-endpoint-hours-above-daily-cap", + "taskrouter-tasks", + "totalprice", + "transcriptions", + "trunking-cps", + "trunking-emergency-calls", + "trunking-origination", + "trunking-origination-local", + "trunking-origination-mobile", + "trunking-origination-tollfree", + "trunking-recordings", + "trunking-secure", + "trunking-termination", + "turnmegabytes", + "turnmegabytes-australia", + "turnmegabytes-brasil", + "turnmegabytes-germany", + "turnmegabytes-india", + "turnmegabytes-ireland", + "turnmegabytes-japan", + "turnmegabytes-singapore", + "turnmegabytes-useast", + "turnmegabytes-uswest", + "twilio-interconnect", + "verify-push", + "verify-totp", + "verify-whatsapp-conversations-business-initiated", + "video-recordings", + "voice-insights", + "voice-insights-client-insights-on-demand-minute", + "voice-insights-ptsn-insights-on-demand-minute", + "voice-insights-sip-interface-insights-on-demand-minute", + "voice-insights-sip-trunking-insights-on-demand-minute", + "wireless", + "wireless-orders", + "wireless-orders-artwork", + "wireless-orders-bulk", + "wireless-orders-esim", + "wireless-orders-starter", + "wireless-usage", + "wireless-usage-commands", + "wireless-usage-commands-africa", + "wireless-usage-commands-asia", + "wireless-usage-commands-centralandsouthamerica", + "wireless-usage-commands-europe", + "wireless-usage-commands-home", + "wireless-usage-commands-northamerica", + "wireless-usage-commands-oceania", + "wireless-usage-commands-roaming", + "wireless-usage-data", + "wireless-usage-data-africa", + "wireless-usage-data-asia", + "wireless-usage-data-centralandsouthamerica", + "wireless-usage-data-custom-additionalmb", + "wireless-usage-data-custom-first5mb", + "wireless-usage-data-domestic-roaming", + "wireless-usage-data-europe", + "wireless-usage-data-individual-additionalgb", + "wireless-usage-data-individual-firstgb", + "wireless-usage-data-international-roaming-canada", + "wireless-usage-data-international-roaming-india", + "wireless-usage-data-international-roaming-mexico", + "wireless-usage-data-northamerica", + "wireless-usage-data-oceania", + "wireless-usage-data-pooled", + "wireless-usage-data-pooled-downlink", + "wireless-usage-data-pooled-uplink", + "wireless-usage-mrc", + "wireless-usage-mrc-custom", + "wireless-usage-mrc-individual", + "wireless-usage-mrc-pooled", + "wireless-usage-mrc-suspended", + "wireless-usage-sms", + "wireless-usage-voice" + ] } }, { - "description": "The Twilio-provided string that uniquely identifies the UsageTrigger resource to update.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^UT[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "CallbackMethod": { - "description": "The HTTP method we should use to call `callback_url`. Can be: `GET` or `POST` and the default is `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "CallbackUrl": { - "description": "The URL we should call using `callback_method` when the trigger fires.", - "format": "uri", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long.", - "type": "string" - } - }, - "title": "UpdateUsageTriggerRequest", - "type": "object" - } - } - } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account.usage.usage_trigger" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://api.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "usage_category", - "trigger_by" - ], - "parent": "/Accounts/{AccountSid}/Usage.json", - "pathType": "instance" - } - }, - "/2010-04-01/Accounts/{Sid}.json": { - "description": "Twilio accounts (aka Project) or subaccounts", - "get": { - "description": "Fetch the account specified by the provided Account Sid", - "operationId": "FetchAccount", - "parameters": [ - { - "description": "The Account Sid that uniquely identifies the account to fetch", - "in": "path", - "name": "Sid", - "required": true, + "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], @@ -33350,70 +33388,44 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/api.v2010.account" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "Modify the properties of a given Account", - "operationId": "UpdateAccount", - "parameters": [ - { - "description": "The Account Sid that uniquely identifies the account to update", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "FriendlyName": { - "description": "Update the human-readable description of this Account", - "type": "string" - }, - "Status": { - "description": "Alter the status of this account: use `closed` to irreversibly close this account, `suspended` to temporarily suspend it, or `active` to reactivate it.", - "enum": [ - "active", - "suspended", - "closed" - ], - "type": "string" + "type": "object", + "title": "ListUsageTriggerResponse", + "properties": { + "usage_triggers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/api.v2010.account.usage.usage_trigger" + } + }, + "end": { + "type": "integer" + }, + "first_page_uri": { + "type": "string", + "format": "uri" + }, + "next_page_uri": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_uri": { + "type": "string", + "format": "uri" + }, + "start": { + "type": "integer" + }, + "uri": { + "type": "string", + "format": "uri" + } } - }, - "title": "UpdateAccountRequest", - "type": "object" - } - } - } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/api.v2010.account" } } }, @@ -33425,22 +33437,10 @@ "accountSid_authToken": [] } ], + "operationId": "ListUsageTrigger", "x-maturity": [ "GA" ] - }, - "servers": [ - { - "url": "https://api.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "status" - ], - "pathType": "instance" } } }, @@ -33451,16 +33451,16 @@ ], "x-maturity": [ { - "description": "This product is Generally Available.", - "name": "GA" + "name": "GA", + "description": "This product is Generally Available." }, { - "description": "PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution.", - "name": "Beta" + "name": "Beta", + "description": "PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution." }, { - "description": "PLEASE NOTE that this is a Preview product that is subject to change. Use it with caution. If you currently do not have developer preview access, please contact help@twilio.com.", - "name": "Preview" + "name": "Preview", + "description": "PLEASE NOTE that this is a Preview product that is subject to change. Use it with caution. If you currently do not have developer preview access, please contact help@twilio.com." } ] } \ No newline at end of file diff --git a/spec/json/twilio_autopilot_v1.json b/spec/json/twilio_autopilot_v1.json index dd09e303..90fc237d 100644 --- a/spec/json/twilio_autopilot_v1.json +++ b/spec/json/twilio_autopilot_v1.json @@ -2,350 +2,406 @@ "components": { "schemas": { "autopilot.v1.assistant": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "callback_events": { - "description": "Reserved", - "nullable": true, - "type": "string" - }, - "callback_url": { - "description": "Reserved", - "format": "uri", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" - }, - "development_stage": { - "description": "A string describing the state of the assistant.", - "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, "friendly_name": { - "description": "The string that you assigned to describe the resource", + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the resource" }, "latest_model_build_sid": { - "description": "Reserved", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^UG[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "Reserved" }, "links": { - "description": "A list of the URLs of the Assistant's related resources", + "type": "object", "format": "uri-map", "nullable": true, - "type": "object" + "description": "A list of the URLs of the Assistant's related resources" }, "log_queries": { - "description": "Whether queries should be logged and kept after training", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Whether queries should be logged and kept after training" + }, + "development_stage": { + "type": "string", + "nullable": true, + "description": "A string describing the state of the assistant." }, "needs_model_build": { - "description": "Whether model needs to be rebuilt", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Whether model needs to be rebuilt" }, "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^UA[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string that identifies the resource" }, "unique_name": { - "description": "An application-defined string that uniquely identifies the resource", + "type": "string", "nullable": true, - "type": "string" + "description": "An application-defined string that uniquely identifies the resource" }, "url": { - "description": "The absolute URL of the Assistant resource", + "type": "string", + "format": "uri", + "nullable": true, + "description": "The absolute URL of the Assistant resource" + }, + "callback_url": { + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "Reserved" + }, + "callback_events": { + "type": "string", + "nullable": true, + "description": "Reserved" } - }, - "type": "object" + } }, "autopilot.v1.assistant.defaults": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "assistant_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^UA[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Assistant that is the parent of the resource" + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The absolute URL of the Defaults resource" + }, + "data": { "nullable": true, + "description": "The JSON string that describes the default task links" + } + } + }, + "autopilot.v1.assistant.dialogue": { + "type": "object", + "properties": { + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "assistant_sid": { - "description": "The SID of the Assistant that is the parent of the resource", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^UA[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Assistant that is the parent of the resource" + }, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^UK[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^UA[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, "data": { - "description": "The JSON string that describes the default task links", - "nullable": true + "nullable": true, + "description": "The JSON string that describes the dialogue session object" }, "url": { - "description": "The absolute URL of the Defaults resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Dialogue resource" } - }, - "type": "object" + } }, - "autopilot.v1.assistant.dialogue": { + "autopilot.v1.assistant.task.field": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The RFC 2822 date and time in GMT when the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The RFC 2822 date and time in GMT when the resource was last updated" + }, + "field_type": { + "type": "string", + "nullable": true, + "description": "The Field Type of the field" + }, + "task_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^UD[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) resource associated with this Field" }, "assistant_sid": { - "description": "The SID of the Assistant that is the parent of the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^UA[0-9a-fA-F]{32}$", - "type": "string" - }, - "data": { - "description": "The JSON string that describes the dialogue session object", - "nullable": true + "nullable": true, + "description": "The SID of the Assistant that is the parent of the Task associated with the resource" }, "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^UE[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^UK[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" + }, + "unique_name": { + "type": "string", + "nullable": true, + "description": "An application-defined string that uniquely identifies the resource" }, "url": { - "description": "The absolute URL of the Dialogue resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Field resource" } - }, - "type": "object" + } }, "autopilot.v1.assistant.field_type": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "assistant_sid": { - "description": "The SID of the Assistant that is the parent of the resource", "maxLength": 34, - "minLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^UA[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Account that created the resource" }, "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, "friendly_name": { - "description": "The string that you assigned to describe the resource", + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the resource" }, "links": { - "description": "A list of the URLs of related resources", + "type": "object", "format": "uri-map", "nullable": true, - "type": "object" + "description": "A list of the URLs of related resources" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "assistant_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^UA[0-9a-fA-F]{32}$", "nullable": true, + "description": "The SID of the Assistant that is the parent of the resource" + }, + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^UB[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string that identifies the resource" }, "unique_name": { - "description": "An application-defined string that uniquely identifies the resource", + "type": "string", "nullable": true, - "type": "string" + "description": "An application-defined string that uniquely identifies the resource" }, "url": { - "description": "The absolute URL of the FieldType resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the FieldType resource" } - }, - "type": "object" + } }, "autopilot.v1.assistant.field_type.field_value": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "assistant_sid": { - "description": "The SID of the Assistant that is the parent of the FieldType associated with the resource", "maxLength": 34, - "minLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^UA[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Account that created the resource" }, "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, "field_type_sid": { - "description": "The SID of the Field Type associated with the Field Value", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^UB[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Field Type associated with the Field Value" }, "language": { - "description": "The ISO language-country tag that identifies the language of the value", + "type": "string", "nullable": true, - "type": "string" + "description": "The ISO language-country tag that identifies the language of the value" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "assistant_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^UA[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^UC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Assistant that is the parent of the FieldType associated with the resource" }, - "synonym_of": { - "description": "The word for which the field value is a synonym of", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^UC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string that identifies the resource" + }, + "value": { + "type": "string", + "nullable": true, + "description": "The Field Value data" }, "url": { - "description": "The absolute URL of the FieldValue resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the FieldValue resource" }, - "value": { - "description": "The Field Value data", + "synonym_of": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^UC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The word for which the field value is a synonym of" } - }, - "type": "object" + } }, "autopilot.v1.assistant.model_build": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "assistant_sid": { - "description": "The SID of the Assistant that is the parent of the resource", "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^UA[0-9a-fA-F]{32}$", - "type": "string" - }, - "build_duration": { - "description": "The time in seconds it took to build the model", + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "integer" + "description": "The SID of the Account that created the resource" }, "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, - "error_code": { - "description": "More information about why the model build failed, if `status` is `failed`", + "assistant_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^UA[0-9a-fA-F]{32}$", "nullable": true, - "type": "integer" + "description": "The SID of the Assistant that is the parent of the resource" }, "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^UG[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string that identifies the resource" }, "status": { - "description": "The status of the model build process", + "type": "string", "enum": [ "enqueued", "building", @@ -354,621 +410,576 @@ "canceled" ], "nullable": true, - "type": "string" + "description": "The status of the model build process" }, "unique_name": { - "description": "An application-defined string that uniquely identifies the resource", + "type": "string", "nullable": true, - "type": "string" + "description": "An application-defined string that uniquely identifies the resource" }, "url": { - "description": "The absolute URL of the ModelBuild resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the ModelBuild resource" + }, + "build_duration": { + "type": "integer", + "nullable": true, + "description": "The time in seconds it took to build the model" + }, + "error_code": { + "type": "integer", + "nullable": true, + "description": "More information about why the model build failed, if `status` is `failed`" } - }, - "type": "object" + } }, "autopilot.v1.assistant.query": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "assistant_sid": { - "description": "The SID of the Assistant that is the parent of the resource", "maxLength": 34, - "minLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^UA[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Account that created the resource" }, "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, - "dialogue_sid": { - "description": "The SID of the [Dialogue](https://www.twilio.com/docs/autopilot/api/dialogue).", - "maxLength": 34, - "minLength": 34, + "results": { "nullable": true, - "pattern": "^UK[0-9a-fA-F]{32}$", - "type": "string" + "description": "The natural language analysis results that include the Task recognized and a list of identified Fields" }, "language": { - "description": "The ISO language-country string that specifies the language used by the Query", + "type": "string", "nullable": true, - "type": "string" + "description": "The ISO language-country string that specifies the language used by the Query" }, "model_build_sid": { - "description": "The SID of the [Model Build](https://www.twilio.com/docs/autopilot/api/model-build) queried", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^UG[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the [Model Build](https://www.twilio.com/docs/autopilot/api/model-build) queried" }, "query": { - "description": "The end-user's natural language input", + "type": "string", "nullable": true, - "type": "string" - }, - "results": { - "description": "The natural language analysis results that include the Task recognized and a list of identified Fields", - "nullable": true + "description": "The end-user's natural language input" }, "sample_sid": { - "description": "The SID of an optional reference to the Sample created from the query", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^UF[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of an optional reference to the Sample created from the query" + }, + "assistant_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^UA[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^UF[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Assistant that is the parent of the resource" }, "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^UH[0-9a-fA-F]{32}$", - "type": "string" - }, - "source_channel": { - "description": "The communication channel from where the end-user input came", "nullable": true, - "type": "string" + "description": "The unique string that identifies the resource" }, "status": { - "description": "The status of the Query", + "type": "string", "nullable": true, - "type": "string" + "description": "The status of the Query" }, "url": { - "description": "The absolute URL of the Query resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "autopilot.v1.assistant.style_sheet": { - "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The absolute URL of the Query resource" }, - "assistant_sid": { - "description": "The SID of the Assistant that is the parent of the resource", - "maxLength": 34, - "minLength": 34, + "source_channel": { + "type": "string", "nullable": true, - "pattern": "^UA[0-9a-fA-F]{32}$", - "type": "string" + "description": "The communication channel from where the end-user input came" }, - "data": { - "description": "The JSON string that describes the style sheet object", - "nullable": true - }, - "url": { - "description": "The absolute URL of the StyleSheet resource", - "format": "uri", + "dialogue_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^UK[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the [Dialogue](https://www.twilio.com/docs/autopilot/api/dialogue)." } - }, - "type": "object" + } }, - "autopilot.v1.assistant.task": { + "autopilot.v1.restore_assistant": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "actions_url": { - "description": "The URL from which the Assistant can fetch actions", - "format": "uri", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, - "assistant_sid": { - "description": "The SID of the Assistant that is the parent of the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^UA[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string that identifies the resource" }, "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was last updated" + }, + "unique_name": { + "type": "string", + "nullable": true, + "description": "An application-defined string that uniquely identifies the resource" }, "friendly_name": { - "description": "The string that you assigned to describe the resource", + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the resource" }, - "links": { - "description": "A list of the URLs of related resources", - "format": "uri-map", + "needs_model_build": { + "type": "boolean", "nullable": true, - "type": "object" + "description": "Whether model needs to be rebuilt" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "latest_model_build_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^UG[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^UD[0-9a-fA-F]{32}$", - "type": "string" + "description": "Reserved" }, - "unique_name": { - "description": "An application-defined string that uniquely identifies the resource", + "log_queries": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Whether queries should be logged and kept after training" }, - "url": { - "description": "The absolute URL of the Task resource", + "development_stage": { + "type": "string", + "nullable": true, + "description": "A string describing the state of the assistant." + }, + "callback_url": { + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "Reserved" + }, + "callback_events": { + "type": "string", + "nullable": true, + "description": "Reserved" } - }, - "type": "object" + } }, - "autopilot.v1.assistant.task.field": { + "autopilot.v1.assistant.task.sample": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "assistant_sid": { - "description": "The SID of the Assistant that is the parent of the Task associated with the resource", "maxLength": 34, - "minLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^UA[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Account that created the resource" }, "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, - "field_type": { - "description": "The Field Type of the field", + "task_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^UD[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Task associated with the resource" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "language": { + "type": "string", "nullable": true, - "pattern": "^UE[0-9a-fA-F]{32}$", - "type": "string" + "description": "An ISO language-country string that specifies the language used for the sample" }, - "task_sid": { - "description": "The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) resource associated with this Field", + "assistant_sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^UA[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Assistant that is the parent of the Task associated with the resource" + }, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^UF[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^UD[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "unique_name": { - "description": "An application-defined string that uniquely identifies the resource", + "tagged_text": { + "type": "string", "nullable": true, - "type": "string" + "description": "The text example of how end users might express the task" }, "url": { - "description": "The absolute URL of the Field resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Sample resource" + }, + "source_channel": { + "type": "string", + "nullable": true, + "description": "The communication channel from which the sample was captured" } - }, - "type": "object" + } }, - "autopilot.v1.assistant.task.sample": { + "autopilot.v1.assistant.style_sheet": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "assistant_sid": { - "description": "The SID of the Assistant that is the parent of the Task associated with the resource", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^UA[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Assistant that is the parent of the resource" + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The absolute URL of the StyleSheet resource" + }, + "data": { + "nullable": true, + "description": "The JSON string that describes the style sheet object" + } + } + }, + "autopilot.v1.assistant.task": { + "type": "object", + "properties": { + "account_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^UA[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Account that created the resource" }, "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, - "language": { - "description": "An ISO language-country string that specifies the language used for the sample", + "friendly_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the resource" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "A list of the URLs of related resources" + }, + "assistant_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^UA[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^UF[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Assistant that is the parent of the resource" }, - "source_channel": { - "description": "The communication channel from which the sample was captured", + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^UD[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique string that identifies the resource" }, - "tagged_text": { - "description": "The text example of how end users might express the task", + "unique_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "An application-defined string that uniquely identifies the resource" }, - "task_sid": { - "description": "The SID of the Task associated with the resource", - "maxLength": 34, - "minLength": 34, + "actions_url": { + "type": "string", + "format": "uri", "nullable": true, - "pattern": "^UD[0-9a-fA-F]{32}$", - "type": "string" + "description": "The URL from which the Assistant can fetch actions" }, "url": { - "description": "The absolute URL of the Sample resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Task resource" } - }, - "type": "object" + } }, "autopilot.v1.assistant.task.task_actions": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "assistant_sid": { - "description": "The SID of the Assistant that is the parent of the Task associated with the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^UA[0-9a-fA-F]{32}$", - "type": "string" - }, - "data": { - "description": "The JSON string that specifies the actions that instruct the Assistant on how to perform the task", - "nullable": true + "nullable": true, + "description": "The SID of the Assistant that is the parent of the Task associated with the resource" }, "task_sid": { - "description": "The SID of the Task associated with the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^UD[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Task associated with the resource" }, "url": { - "description": "The absolute URL of the TaskActions resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the TaskActions resource" + }, + "data": { + "nullable": true, + "description": "The JSON string that specifies the actions that instruct the Assistant on how to perform the task" } - }, - "type": "object" + } }, "autopilot.v1.assistant.task.task_statistics": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "assistant_sid": { - "description": "The SID of the Assistant that is the parent of the Task associated with the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^UA[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Assistant that is the parent of the Task associated with the resource" }, - "fields_count": { - "description": "The total number of Fields associated with the Task", + "task_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^UD[0-9a-fA-F]{32}$", "nullable": true, - "type": "integer" + "description": "The SID of the Task for which the statistics were collected" }, "samples_count": { - "description": "The total number of Samples associated with the Task", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Samples associated with the Task" }, - "task_sid": { - "description": "The SID of the Task for which the statistics were collected", - "maxLength": 34, - "minLength": 34, + "fields_count": { + "type": "integer", "nullable": true, - "pattern": "^UD[0-9a-fA-F]{32}$", - "type": "string" + "description": "The total number of Fields associated with the Task" }, "url": { - "description": "The absolute URL of the TaskStatistics resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the TaskStatistics resource" } - }, - "type": "object" + } }, "autopilot.v1.assistant.webhook": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "assistant_sid": { - "description": "The SID of the Assistant that is the parent of the resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^UA[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "events": { - "description": "The list of space-separated events that this Webhook is subscribed to.", - "nullable": true, - "type": "string" - }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^UM[0-9a-fA-F]{32}$", - "type": "string" - }, - "unique_name": { - "description": "An application-defined string that uniquely identifies the resource", - "nullable": true, - "type": "string" - }, "url": { - "description": "The absolute URL of the Webhook resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Webhook resource" }, - "webhook_method": { - "description": "The method used when calling the webhook's URL.", - "nullable": true, - "type": "string" - }, - "webhook_url": { - "description": "The URL associated with this Webhook.", - "format": "uri", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "autopilot.v1.restore_assistant": { - "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "callback_events": { - "description": "Reserved", "nullable": true, - "type": "string" - }, - "callback_url": { - "description": "Reserved", - "format": "uri", - "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, - "development_stage": { - "description": "A string describing the state of the assistant.", - "nullable": true, - "type": "string" - }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", + "assistant_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^UA[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Assistant that is the parent of the resource" }, - "latest_model_build_sid": { - "description": "Reserved", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^UM[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^UG[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "log_queries": { - "description": "Whether queries should be logged and kept after training", + "unique_name": { + "type": "string", "nullable": true, - "type": "boolean" + "description": "An application-defined string that uniquely identifies the resource" }, - "needs_model_build": { - "description": "Whether model needs to be rebuilt", + "events": { + "type": "string", "nullable": true, - "type": "boolean" + "description": "The list of space-separated events that this Webhook is subscribed to." }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "webhook_url": { + "type": "string", + "format": "uri", "nullable": true, - "pattern": "^UA[0-9a-fA-F]{32}$", - "type": "string" + "description": "The URL associated with this Webhook." }, - "unique_name": { - "description": "An application-defined string that uniquely identifies the resource", + "webhook_method": { + "type": "string", "nullable": true, - "type": "string" + "description": "The method used when calling the webhook's URL." } - }, - "type": "object" + } } }, "securitySchemes": { "accountSid_authToken": { - "scheme": "basic", - "type": "http" + "type": "http", + "scheme": "basic" } } }, "info": { + "title": "Twilio - Autopilot", + "description": "This is the public Twilio REST API.", + "termsOfService": "https://www.twilio.com/legal/tos", "contact": { - "email": "support@twilio.com", "name": "Twilio Support", - "url": "https://support.twilio.com" + "url": "https://support.twilio.com", + "email": "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 - Autopilot", "version": "1.30.0" }, "openapi": "3.0.1", "paths": { - "/v1/Assistants": { + "/v1/Assistants/{Sid}": { + "servers": [ + { + "url": "https://autopilot.twilio.com" + } + ], "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "unique_name", + "friendly_name" + ], + "pathType": "instance" + }, "get": { "description": "", - "operationId": "ListAssistant", "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", - "name": "PageSize", + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Assistant resource to fetch.", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" - } + "type": "string" + }, + "required": true } ], "responses": { @@ -976,46 +987,7 @@ "content": { "application/json": { "schema": { - "properties": { - "assistants": { - "items": { - "$ref": "#/components/schemas/autopilot.v1.assistant" - }, - "type": "array" - }, - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - } - }, - "title": "ListAssistantResponse", - "type": "object" + "$ref": "#/components/schemas/autopilot.v1.assistant" } } }, @@ -1027,54 +999,26 @@ "accountSid_authToken": [] } ], + "operationId": "FetchAssistant", "x-maturity": [ "Preview" ] }, "post": { "description": "", - "operationId": "CreateAssistant", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "CallbackEvents": { - "description": "Reserved.", - "type": "string" - }, - "CallbackUrl": { - "description": "Reserved.", - "format": "uri", - "type": "string" - }, - "Defaults": { - "description": "A JSON object that defines the Assistant's [default tasks](https://www.twilio.com/docs/autopilot/api/assistant/defaults) for various scenarios, including initiation actions and fallback tasks." - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the new resource. It is not unique and can be up to 255 characters long.", - "type": "string" - }, - "LogQueries": { - "description": "Whether queries should be logged and kept after training. Can be: `true` or `false` and defaults to `true`. If `true`, queries are stored for 30 days, and then deleted. If `false`, no queries are stored.", - "type": "boolean" - }, - "StyleSheet": { - "description": "The JSON string that defines the Assistant's [style sheet](https://www.twilio.com/docs/autopilot/api/assistant/stylesheet)" - }, - "UniqueName": { - "description": "An application-defined string that uniquely identifies the new resource. It can be used as an alternative to the `sid` in the URL path to address the resource. The first 64 characters must be unique.", - "type": "string" - } - }, - "title": "CreateAssistantRequest", - "type": "object" - } - } + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Assistant resource to update.", + "schema": { + "type": "string" + }, + "required": true } - }, + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { @@ -1082,7 +1026,7 @@ } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -1090,58 +1034,70 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateAssistant", "x-maturity": [ "Preview" - ] - }, - "servers": [ - { - "url": "https://autopilot.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "unique_name", - "friendly_name" ], - "pathType": "list" - } - }, - "/v1/Assistants/Restore": { - "description": "TODO: Resource-level docs", - "post": { - "description": "", - "operationId": "UpdateRestoreAssistant", "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateAssistantRequest", "properties": { - "Assistant": { - "description": "The Twilio-provided string that uniquely identifies the Assistant resource to restore.", - "type": "string" + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the resource. It is not unique and can be up to 255 characters long." + }, + "LogQueries": { + "type": "boolean", + "description": "Whether queries should be logged and kept after training. Can be: `true` or `false` and defaults to `true`. If `true`, queries are stored for 30 days, and then deleted. If `false`, no queries are stored." + }, + "UniqueName": { + "type": "string", + "description": "An application-defined string that uniquely identifies the resource. It can be used as an alternative to the `sid` in the URL path to address the resource. The first 64 characters must be unique." + }, + "CallbackUrl": { + "type": "string", + "format": "uri", + "description": "Reserved." + }, + "CallbackEvents": { + "type": "string", + "description": "Reserved." + }, + "StyleSheet": { + "description": "The JSON string that defines the Assistant's [style sheet](https://www.twilio.com/docs/autopilot/api/assistant/stylesheet)" + }, + "Defaults": { + "description": "A JSON object that defines the Assistant's [default tasks](https://www.twilio.com/docs/autopilot/api/assistant/defaults) for various scenarios, including initiation actions and fallback tasks." + }, + "DevelopmentStage": { + "type": "string", + "description": "A string describing the state of the assistant." } - }, - "required": [ - "Assistant" - ], - "title": "UpdateRestoreAssistantRequest", - "type": "object" + } } } } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/autopilot.v1.restore_assistant" - } - } + } + }, + "delete": { + "description": "", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Assistant resource to delete.", + "schema": { + "type": "string" }, - "description": "OK" + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -1149,39 +1105,38 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteAssistant", "x-maturity": [ "Preview" ] - }, + } + }, + "/v1/Assistants": { "servers": [ { "url": "https://autopilot.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { - "className": "restore_assistant", "defaultOutputProperties": [ - "account_sid", "sid", "unique_name", "friendly_name" ], "pathType": "list" - } - }, - "/v1/Assistants/{AssistantSid}/Defaults": { - "description": "TODO: Resource-level docs", + }, "get": { "description": "", - "operationId": "FetchDefaults", "parameters": [ { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resource to fetch.", - "in": "path", - "name": "AssistantSid", - "required": true, + "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": "string" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], @@ -1190,7 +1145,46 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/autopilot.v1.assistant.defaults" + "type": "object", + "title": "ListAssistantResponse", + "properties": { + "assistants": { + "type": "array", + "items": { + "$ref": "#/components/schemas/autopilot.v1.assistant" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -1202,49 +1196,23 @@ "accountSid_authToken": [] } ], + "operationId": "ListAssistant", "x-maturity": [ "Preview" ] }, "post": { "description": "", - "operationId": "UpdateDefaults", - "parameters": [ - { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resource to update.", - "in": "path", - "name": "AssistantSid", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Defaults": { - "description": "A JSON string that describes the default task links for the `assistant_initiation`, `collect`, and `fallback` situations." - } - }, - "title": "UpdateDefaultsRequest", - "type": "object" - } - } - } - }, "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/autopilot.v1.assistant.defaults" + "$ref": "#/components/schemas/autopilot.v1.assistant" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -1252,108 +1220,77 @@ "accountSid_authToken": [] } ], + "operationId": "CreateAssistant", "x-maturity": [ "Preview" - ] - }, - "servers": [ - { - "url": "https://autopilot.twilio.com" - } - ], - "x-twilio": { - "className": "defaults", - "defaultOutputProperties": [ - "data" ], - "parent": "/Assistants", - "pathType": "instance" - } - }, - "/v1/Assistants/{AssistantSid}/Dialogues/{Sid}": { - "description": "TODO: Resource-level docs", - "get": { - "description": "", - "operationId": "FetchDialogue", - "parameters": [ - { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resource to fetch.", - "in": "path", - "name": "AssistantSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the Dialogue resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/autopilot.v1.assistant.dialogue" + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateAssistantRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the new resource. It is not unique and can be up to 255 characters long." + }, + "LogQueries": { + "type": "boolean", + "description": "Whether queries should be logged and kept after training. Can be: `true` or `false` and defaults to `true`. If `true`, queries are stored for 30 days, and then deleted. If `false`, no queries are stored." + }, + "UniqueName": { + "type": "string", + "description": "An application-defined string that uniquely identifies the new resource. It can be used as an alternative to the `sid` in the URL path to address the resource. The first 64 characters must be unique." + }, + "CallbackUrl": { + "type": "string", + "format": "uri", + "description": "Reserved." + }, + "CallbackEvents": { + "type": "string", + "description": "Reserved." + }, + "StyleSheet": { + "description": "The JSON string that defines the Assistant's [style sheet](https://www.twilio.com/docs/autopilot/api/assistant/stylesheet)" + }, + "Defaults": { + "description": "A JSON object that defines the Assistant's [default tasks](https://www.twilio.com/docs/autopilot/api/assistant/defaults) for various scenarios, including initiation actions and fallback tasks." + } } } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] + } } - ], - "x-maturity": [ - "Preview" - ] - }, + } + } + }, + "/v1/Assistants/{AssistantSid}/Defaults": { "servers": [ { "url": "https://autopilot.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ - "sid", "data" ], + "pathType": "instance", "parent": "/Assistants", - "pathType": "instance" - } - }, - "/v1/Assistants/{AssistantSid}/FieldTypes": { - "description": "TODO: Resource-level docs", + "className": "defaults" + }, "get": { "description": "", - "operationId": "ListFieldType", "parameters": [ { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resources to read.", - "in": "path", "name": "AssistantSid", - "required": true, + "in": "path", + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resource to fetch.", "schema": { "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" - } + }, + "required": true } ], "responses": { @@ -1361,46 +1298,7 @@ "content": { "application/json": { "schema": { - "properties": { - "field_types": { - "items": { - "$ref": "#/components/schemas/autopilot.v1.assistant.field_type" - }, - "type": "array" - }, - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - } - }, - "title": "ListFieldTypeResponse", - "type": "object" + "$ref": "#/components/schemas/autopilot.v1.assistant.defaults" } } }, @@ -1412,124 +1310,22 @@ "accountSid_authToken": [] } ], + "operationId": "FetchDefaults", "x-maturity": [ "Preview" ] }, "post": { "description": "", - "operationId": "CreateFieldType", - "parameters": [ - { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the new resource.", - "in": "path", - "name": "AssistantSid", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "FriendlyName": { - "description": "A descriptive string that you create to describe the new resource. It is not unique and can be up to 255 characters long.", - "type": "string" - }, - "UniqueName": { - "description": "An application-defined string that uniquely identifies the new resource. It can be used as an alternative to the `sid` in the URL path to address the resource. The first 64 characters must be unique.", - "type": "string" - } - }, - "required": [ - "UniqueName" - ], - "title": "CreateFieldTypeRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/autopilot.v1.assistant.field_type" - } - } - }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "Preview" - ] - }, - "servers": [ - { - "url": "https://autopilot.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "unique_name", - "friendly_name" - ], - "parent": "/Assistants", - "pathType": "list" - } - }, - "/v1/Assistants/{AssistantSid}/FieldTypes/{FieldTypeSid}/FieldValues": { - "description": "TODO: Resource-level docs", - "get": { - "description": "", - "operationId": "ListFieldValue", "parameters": [ { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the FieldType associated with the resources to read.", - "in": "path", "name": "AssistantSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the Field Type associated with the Field Value to read.", "in": "path", - "name": "FieldTypeSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The [ISO language-country](https://docs.oracle.com/cd/E13214_01/wli/docs92/xref/xqisocodes.html) tag that specifies the language of the value. Currently supported tags: `en-US`", - "in": "query", - "name": "Language", + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resource to update.", "schema": { "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" - } + }, + "required": true } ], "responses": { @@ -1537,46 +1333,7 @@ "content": { "application/json": { "schema": { - "properties": { - "field_values": { - "items": { - "$ref": "#/components/schemas/autopilot.v1.assistant.field_type.field_value" - }, - "type": "array" - }, - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - } - }, - "title": "ListFieldValueResponse", - "type": "object" + "$ref": "#/components/schemas/autopilot.v1.assistant.defaults" } } }, @@ -1588,175 +1345,62 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateDefaults", "x-maturity": [ "Preview" - ] - }, - "post": { - "description": "", - "operationId": "CreateFieldValue", - "parameters": [ - { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the FieldType associated with the new resource.", - "in": "path", - "name": "AssistantSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the Field Type associated with the Field Value.", - "in": "path", - "name": "FieldTypeSid", - "required": true, - "schema": { - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateDefaultsRequest", "properties": { - "Language": { - "description": "The [ISO language-country](https://docs.oracle.com/cd/E13214_01/wli/docs92/xref/xqisocodes.html) tag that specifies the language of the value. Currently supported tags: `en-US`", - "type": "string" - }, - "SynonymOf": { - "description": "The string value that indicates which word the field value is a synonym of.", - "type": "string" - }, - "Value": { - "description": "The Field Value data.", - "type": "string" + "Defaults": { + "description": "A JSON string that describes the default task links for the `assistant_initiation`, `collect`, and `fallback` situations." } - }, - "required": [ - "Language", - "Value" - ], - "title": "CreateFieldValueRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/autopilot.v1.assistant.field_type.field_value" } } - }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] + } } - ], - "x-maturity": [ - "Preview" - ] - }, + } + } + }, + "/v1/Assistants/{AssistantSid}/Dialogues/{Sid}": { "servers": [ { "url": "https://autopilot.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", - "value", - "language" - ], - "parent": "/Assistants/{AssistantSid}/FieldTypes", - "pathType": "list" - } - }, - "/v1/Assistants/{AssistantSid}/FieldTypes/{FieldTypeSid}/FieldValues/{Sid}": { - "delete": { - "description": "", - "operationId": "DeleteFieldValue", - "parameters": [ - { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the FieldType associated with the resources to delete.", - "in": "path", - "name": "AssistantSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the Field Type associated with the Field Value to delete.", - "in": "path", - "name": "FieldTypeSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the FieldValue resource to delete.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } + "data" ], - "x-maturity": [ - "Preview" - ] + "pathType": "instance", + "parent": "/Assistants" }, - "description": "TODO: Resource-level docs", "get": { "description": "", - "operationId": "FetchFieldValue", "parameters": [ { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the FieldType associated with the resource to fetch.", - "in": "path", "name": "AssistantSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the Field Type associated with the Field Value to fetch.", "in": "path", - "name": "FieldTypeSid", - "required": true, + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resource to fetch.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the FieldValue resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Dialogue resource to fetch.", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -1764,7 +1408,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/autopilot.v1.assistant.field_type.field_value" + "$ref": "#/components/schemas/autopilot.v1.assistant.dialogue" } } }, @@ -1776,85 +1420,57 @@ "accountSid_authToken": [] } ], + "operationId": "FetchDialogue", "x-maturity": [ "Preview" ] - }, + } + }, + "/v1/Assistants/{AssistantSid}/Tasks/{TaskSid}/Fields/{Sid}": { "servers": [ { "url": "https://autopilot.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", - "value", - "language" + "unique_name", + "field_type" ], - "parent": "/Assistants/{AssistantSid}/FieldTypes", - "pathType": "instance" - } - }, - "/v1/Assistants/{AssistantSid}/FieldTypes/{Sid}": { - "delete": { + "pathType": "instance", + "parent": "/Assistants/{AssistantSid}/Tasks" + }, + "get": { "description": "", - "operationId": "DeleteFieldType", "parameters": [ { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resources to delete.", - "in": "path", "name": "AssistantSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the FieldType resource to delete.", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the Task associated with the resource to fetch.", "schema": { "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "Preview" - ] - }, - "description": "TODO: Resource-level docs", - "get": { - "description": "", - "operationId": "FetchFieldType", - "parameters": [ + }, + "required": true + }, { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resource to fetch.", + "name": "TaskSid", "in": "path", - "name": "AssistantSid", - "required": true, + "description": "The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) resource associated with the Field resource to fetch.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the FieldType resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Field resource to fetch.", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -1862,7 +1478,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/autopilot.v1.assistant.field_type" + "$ref": "#/components/schemas/autopilot.v1.assistant.task.field" } } }, @@ -1874,63 +1490,45 @@ "accountSid_authToken": [] } ], + "operationId": "FetchField", "x-maturity": [ "Preview" ] }, - "post": { + "delete": { "description": "", - "operationId": "UpdateFieldType", "parameters": [ { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the to update.", - "in": "path", "name": "AssistantSid", - "required": true, + "in": "path", + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the Task associated with the resources to delete.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the FieldType resource to update.", + "name": "TaskSid", "in": "path", + "description": "The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) resource associated with the Field resource to delete.", + "schema": { + "type": "string" + }, + "required": true + }, + { "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Field resource to delete.", "schema": { "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It is not unique and can be up to 255 characters long.", - "type": "string" - }, - "UniqueName": { - "description": "An application-defined string that uniquely identifies the resource. It can be used as an alternative to the `sid` in the URL path to address the resource. The first 64 characters must be unique.", - "type": "string" - } - }, - "title": "UpdateFieldTypeRequest", - "type": "object" - } - } - } - }, "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/autopilot.v1.assistant.field_type" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -1938,48 +1536,57 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteField", "x-maturity": [ "Preview" ] - }, + } + }, + "/v1/Assistants/{AssistantSid}/Tasks/{TaskSid}/Fields": { "servers": [ { "url": "https://autopilot.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", "unique_name", - "friendly_name" + "field_type" ], - "parent": "/Assistants", - "pathType": "instance" - } - }, - "/v1/Assistants/{AssistantSid}/ModelBuilds": { - "description": "TODO: Resource-level docs", + "pathType": "list", + "parent": "/Assistants/{AssistantSid}/Tasks" + }, "get": { "description": "", - "operationId": "ListModelBuild", "parameters": [ { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resources to read.", - "in": "path", "name": "AssistantSid", - "required": true, + "in": "path", + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the Task associated with the resources to read.", "schema": { "type": "string" - } + }, + "required": true + }, + { + "name": "TaskSid", + "in": "path", + "description": "The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) resource associated with the Field resources to read.", + "schema": { + "type": "string" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1988,19 +1595,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListFieldResponse", "properties": { + "fields": { + "type": "array", + "items": { + "$ref": "#/components/schemas/autopilot.v1.assistant.task.field" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -2009,25 +1622,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "model_builds": { - "items": { - "$ref": "#/components/schemas/autopilot.v1.assistant.model_build" - }, - "type": "array" + } } - }, - "title": "ListModelBuildResponse", - "type": "object" + } } } }, @@ -2039,51 +1646,39 @@ "accountSid_authToken": [] } ], + "operationId": "ListField", "x-maturity": [ "Preview" ] }, "post": { "description": "", - "operationId": "CreateModelBuild", "parameters": [ { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the new resource.", - "in": "path", "name": "AssistantSid", - "required": true, + "in": "path", + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the Task associated with the new resource.", "schema": { "type": "string" - } + }, + "required": true + }, + { + "name": "TaskSid", + "in": "path", + "description": "The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) resource associated with the new Field resource.", + "schema": { + "type": "string" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "StatusCallback": { - "description": "The URL we should call using a POST method to send status information to your application.", - "format": "uri", - "type": "string" - }, - "UniqueName": { - "description": "An application-defined string that uniquely identifies the new resource. This value must be a unique string of no more than 64 characters. It can be used as an alternative to the `sid` in the URL path to address the resource.", - "type": "string" - } - }, - "title": "CreateModelBuildRequest", - "type": "object" - } - } - } - }, "responses": { "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/autopilot.v1.assistant.model_build" + "$ref": "#/components/schemas/autopilot.v1.assistant.task.field" } } }, @@ -2095,53 +1690,84 @@ "accountSid_authToken": [] } ], + "operationId": "CreateField", "x-maturity": [ "Preview" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateFieldRequest", + "properties": { + "FieldType": { + "type": "string", + "description": "The Field Type of the new field. Can be: a [Built-in Field Type](https://www.twilio.com/docs/autopilot/built-in-field-types), the `unique_name`, or the `sid` of a custom Field Type." + }, + "UniqueName": { + "type": "string", + "description": "An application-defined string that uniquely identifies the new resource. This value must be a unique string of no more than 64 characters. It can be used as an alternative to the `sid` in the URL path to address the resource." + } + }, + "required": [ + "FieldType", + "UniqueName" + ] + } + } + } + } + } + }, + "/v1/Assistants/{AssistantSid}/FieldTypes/{Sid}": { "servers": [ { "url": "https://autopilot.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", "unique_name", - "status", - "date_created" + "friendly_name" ], - "parent": "/Assistants", - "pathType": "list" - } - }, - "/v1/Assistants/{AssistantSid}/ModelBuilds/{Sid}": { - "delete": { + "pathType": "instance", + "parent": "/Assistants" + }, + "get": { "description": "", - "operationId": "DeleteModelBuild", "parameters": [ { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resources to delete.", - "in": "path", "name": "AssistantSid", - "required": true, + "in": "path", + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resource to fetch.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the ModelBuild resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the FieldType resource to fetch.", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/autopilot.v1.assistant.field_type" + } + } + }, + "description": "OK" } }, "security": [ @@ -2149,32 +1775,31 @@ "accountSid_authToken": [] } ], + "operationId": "FetchFieldType", "x-maturity": [ "Preview" ] }, - "description": "TODO: Resource-level docs", - "get": { + "post": { "description": "", - "operationId": "FetchModelBuild", "parameters": [ { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resource to fetch.", - "in": "path", "name": "AssistantSid", - "required": true, + "in": "path", + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the to update.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the ModelBuild resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the FieldType resource to update.", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -2182,7 +1807,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/autopilot.v1.assistant.model_build" + "$ref": "#/components/schemas/autopilot.v1.assistant.field_type" } } }, @@ -2194,59 +1819,56 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateFieldType", "x-maturity": [ "Preview" - ] + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateFieldTypeRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the resource. It is not unique and can be up to 255 characters long." + }, + "UniqueName": { + "type": "string", + "description": "An application-defined string that uniquely identifies the resource. It can be used as an alternative to the `sid` in the URL path to address the resource. The first 64 characters must be unique." + } + } + } + } + } + } }, - "post": { + "delete": { "description": "", - "operationId": "UpdateModelBuild", "parameters": [ { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resource to update.", - "in": "path", "name": "AssistantSid", - "required": true, + "in": "path", + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resources to delete.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the ModelBuild resource to update.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the FieldType resource to delete.", "schema": { "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "UniqueName": { - "description": "An application-defined string that uniquely identifies the resource. This value must be a unique string of no more than 64 characters. It can be used as an alternative to the `sid` in the URL path to address the resource.", - "type": "string" - } - }, - "title": "UpdateModelBuildRequest", - "type": "object" - } - } - } - }, "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/autopilot.v1.assistant.model_build" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -2254,84 +1876,48 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteFieldType", "x-maturity": [ "Preview" ] - }, + } + }, + "/v1/Assistants/{AssistantSid}/FieldTypes": { "servers": [ { "url": "https://autopilot.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", "unique_name", - "status", - "date_created" + "friendly_name" ], - "parent": "/Assistants", - "pathType": "instance" - } - }, - "/v1/Assistants/{AssistantSid}/Queries": { - "description": "TODO: Resource-level docs", + "pathType": "list", + "parent": "/Assistants" + }, "get": { "description": "", - "operationId": "ListQuery", "parameters": [ { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resources to read.", - "in": "path", "name": "AssistantSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The [ISO language-country](https://docs.oracle.com/cd/E13214_01/wli/docs92/xref/xqisocodes.html) string that specifies the language used by the Query resources to read. For example: `en-US`.", - "in": "query", - "name": "Language", - "schema": { - "type": "string" - } - }, - { - "description": "The SID or unique name of the [Model Build](https://www.twilio.com/docs/autopilot/api/model-build) to be queried.", - "in": "query", - "name": "ModelBuild", - "schema": { - "type": "string" - } - }, - { - "description": "The status of the resources to read. Can be: `pending-review`, `reviewed`, or `discarded`", - "in": "query", - "name": "Status", + "in": "path", + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resources to read.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the [Dialogue](https://www.twilio.com/docs/autopilot/api/dialogue).", + "name": "PageSize", "in": "query", - "name": "DialogueSid", - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^UK[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, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -2340,19 +1926,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListFieldTypeResponse", "properties": { + "field_types": { + "type": "array", + "items": { + "$ref": "#/components/schemas/autopilot.v1.assistant.field_type" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -2361,25 +1953,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "queries": { - "items": { - "$ref": "#/components/schemas/autopilot.v1.assistant.query" - }, - "type": "array" + } } - }, - "title": "ListQueryResponse", - "type": "object" + } } } }, @@ -2391,66 +1977,127 @@ "accountSid_authToken": [] } ], + "operationId": "ListFieldType", "x-maturity": [ "Preview" ] }, "post": { "description": "", - "operationId": "CreateQuery", "parameters": [ { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the new resource.", - "in": "path", "name": "AssistantSid", - "required": true, + "in": "path", + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the new resource.", "schema": { "type": "string" - } + }, + "required": true + } + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/autopilot.v1.assistant.field_type" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] } ], + "operationId": "CreateFieldType", + "x-maturity": [ + "Preview" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateFieldTypeRequest", "properties": { - "Language": { - "description": "The [ISO language-country](https://docs.oracle.com/cd/E13214_01/wli/docs92/xref/xqisocodes.html) string that specifies the language used for the new query. For example: `en-US`.", - "type": "string" - }, - "ModelBuild": { - "description": "The SID or unique name of the [Model Build](https://www.twilio.com/docs/autopilot/api/model-build) to be queried.", - "type": "string" - }, - "Query": { - "description": "The end-user's natural language input. It can be up to 2048 characters long.", - "type": "string" + "UniqueName": { + "type": "string", + "description": "An application-defined string that uniquely identifies the new resource. It can be used as an alternative to the `sid` in the URL path to address the resource. The first 64 characters must be unique." }, - "Tasks": { - "description": "The list of tasks to limit the new query to. Tasks are expressed as a comma-separated list of task `unique_name` values. For example, `task-unique_name-1, task-unique_name-2`. Listing specific tasks is useful to constrain the paths that a user can take.", - "type": "string" + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the new resource. It is not unique and can be up to 255 characters long." } }, "required": [ - "Language", - "Query" - ], - "title": "CreateQueryRequest", - "type": "object" + "UniqueName" + ] } } } - }, + } + } + }, + "/v1/Assistants/{AssistantSid}/FieldTypes/{FieldTypeSid}/FieldValues/{Sid}": { + "servers": [ + { + "url": "https://autopilot.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "value", + "language" + ], + "pathType": "instance", + "parent": "/Assistants/{AssistantSid}/FieldTypes" + }, + "get": { + "description": "", + "parameters": [ + { + "name": "AssistantSid", + "in": "path", + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the FieldType associated with the resource to fetch.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "FieldTypeSid", + "in": "path", + "description": "The SID of the Field Type associated with the Field Value to fetch.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the FieldValue resource to fetch.", + "schema": { + "type": "string" + }, + "required": true + } + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/autopilot.v1.assistant.query" + "$ref": "#/components/schemas/autopilot.v1.assistant.field_type.field_value" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -2458,48 +2105,40 @@ "accountSid_authToken": [] } ], + "operationId": "FetchFieldValue", "x-maturity": [ "Preview" ] }, - "servers": [ - { - "url": "https://autopilot.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "query", - "status", - "language" - ], - "parent": "/Assistants", - "pathType": "list" - } - }, - "/v1/Assistants/{AssistantSid}/Queries/{Sid}": { "delete": { "description": "", - "operationId": "DeleteQuery", "parameters": [ { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resources to delete.", - "in": "path", "name": "AssistantSid", - "required": true, + "in": "path", + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the FieldType associated with the resources to delete.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Query resource to delete.", + "name": "FieldTypeSid", "in": "path", + "description": "The SID of the Field Type associated with the Field Value to delete.", + "schema": { + "type": "string" + }, + "required": true + }, + { "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the FieldValue resource to delete.", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -2512,32 +2151,66 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteFieldValue", "x-maturity": [ "Preview" ] - }, + } + }, + "/v1/Assistants/{AssistantSid}/FieldTypes/{FieldTypeSid}/FieldValues": { + "servers": [ + { + "url": "https://autopilot.twilio.com" + } + ], "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "value", + "language" + ], + "pathType": "list", + "parent": "/Assistants/{AssistantSid}/FieldTypes" + }, "get": { "description": "", - "operationId": "FetchQuery", "parameters": [ { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resource to fetch.", - "in": "path", "name": "AssistantSid", - "required": true, + "in": "path", + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the FieldType associated with the resources to read.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Query resource to fetch.", + "name": "FieldTypeSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the Field Type associated with the Field Value to read.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "Language", + "in": "query", + "description": "The [ISO language-country](https://docs.oracle.com/cd/E13214_01/wli/docs92/xref/xqisocodes.html) tag that specifies the language of the value. Currently supported tags: `en-US`", "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 + } } ], "responses": { @@ -2545,7 +2218,46 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/autopilot.v1.assistant.query" + "type": "object", + "title": "ListFieldValueResponse", + "properties": { + "field_values": { + "type": "array", + "items": { + "$ref": "#/components/schemas/autopilot.v1.assistant.field_type.field_value" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -2557,66 +2269,43 @@ "accountSid_authToken": [] } ], + "operationId": "ListFieldValue", "x-maturity": [ "Preview" ] }, "post": { "description": "", - "operationId": "UpdateQuery", "parameters": [ { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resource to update.", - "in": "path", "name": "AssistantSid", - "required": true, + "in": "path", + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the FieldType associated with the new resource.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Query resource to update.", + "name": "FieldTypeSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the Field Type associated with the Field Value.", "schema": { "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "SampleSid": { - "description": "The SID of an optional reference to the [Sample](https://www.twilio.com/docs/autopilot/api/task-sample) created from the query.", - "maxLength": 34, - "minLength": 34, - "pattern": "^UF[0-9a-fA-F]{32}$", - "type": "string" - }, - "Status": { - "description": "The new status of the resource. Can be: `pending-review`, `reviewed`, or `discarded`", - "type": "string" - } - }, - "title": "UpdateQueryRequest", - "type": "object" - } - } - } - }, "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/autopilot.v1.assistant.query" + "$ref": "#/components/schemas/autopilot.v1.assistant.field_type.field_value" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -2624,40 +2313,77 @@ "accountSid_authToken": [] } ], + "operationId": "CreateFieldValue", "x-maturity": [ "Preview" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateFieldValueRequest", + "properties": { + "Language": { + "type": "string", + "description": "The [ISO language-country](https://docs.oracle.com/cd/E13214_01/wli/docs92/xref/xqisocodes.html) tag that specifies the language of the value. Currently supported tags: `en-US`" + }, + "Value": { + "type": "string", + "description": "The Field Value data." + }, + "SynonymOf": { + "type": "string", + "description": "The string value that indicates which word the field value is a synonym of." + } + }, + "required": [ + "Language", + "Value" + ] + } + } + } + } + } + }, + "/v1/Assistants/{AssistantSid}/ModelBuilds/{Sid}": { "servers": [ { "url": "https://autopilot.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", - "query", + "unique_name", "status", - "language" + "date_created" ], - "parent": "/Assistants", - "pathType": "instance" - } - }, - "/v1/Assistants/{AssistantSid}/StyleSheet": { - "description": "TODO: Resource-level docs", + "pathType": "instance", + "parent": "/Assistants" + }, "get": { - "description": "Returns Style sheet JSON object for the Assistant", - "operationId": "FetchStyleSheet", + "description": "", "parameters": [ { + "name": "AssistantSid", + "in": "path", "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resource to fetch.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "Sid", "in": "path", - "name": "AssistantSid", - "required": true, + "description": "The Twilio-provided string that uniquely identifies the ModelBuild resource to fetch.", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -2665,7 +2391,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/autopilot.v1.assistant.style_sheet" + "$ref": "#/components/schemas/autopilot.v1.assistant.model_build" } } }, @@ -2677,49 +2403,96 @@ "accountSid_authToken": [] } ], + "operationId": "FetchModelBuild", "x-maturity": [ "Preview" ] }, "post": { - "description": "Updates the style sheet for an Assistant identified by `assistant_sid`.", - "operationId": "UpdateStyleSheet", + "description": "", "parameters": [ { + "name": "AssistantSid", + "in": "path", "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resource to update.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "Sid", "in": "path", - "name": "AssistantSid", - "required": true, + "description": "The Twilio-provided string that uniquely identifies the ModelBuild resource to update.", "schema": { "type": "string" - } + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/autopilot.v1.assistant.model_build" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] } ], + "operationId": "UpdateModelBuild", + "x-maturity": [ + "Preview" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateModelBuildRequest", "properties": { - "StyleSheet": { - "description": "The JSON string that describes the style sheet object." + "UniqueName": { + "type": "string", + "description": "An application-defined string that uniquely identifies the resource. This value must be a unique string of no more than 64 characters. It can be used as an alternative to the `sid` in the URL path to address the resource." } - }, - "title": "UpdateStyleSheetRequest", - "type": "object" + } } } } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/autopilot.v1.assistant.style_sheet" - } - } + } + }, + "delete": { + "description": "", + "parameters": [ + { + "name": "AssistantSid", + "in": "path", + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resources to delete.", + "schema": { + "type": "string" }, - "description": "OK" + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the ModelBuild resource to delete.", + "schema": { + "type": "string" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -2727,46 +2500,49 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteModelBuild", "x-maturity": [ "Preview" ] - }, + } + }, + "/v1/Assistants/{AssistantSid}/ModelBuilds": { "servers": [ { "url": "https://autopilot.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ - "data" + "sid", + "unique_name", + "status", + "date_created" ], - "parent": "/Assistants", - "pathType": "instance" - } - }, - "/v1/Assistants/{AssistantSid}/Tasks": { - "description": "TODO: Resource-level docs", + "pathType": "list", + "parent": "/Assistants" + }, "get": { "description": "", - "operationId": "ListTask", "parameters": [ { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resources to read.", - "in": "path", "name": "AssistantSid", - "required": true, + "in": "path", + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resources to read.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -2775,19 +2551,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListModelBuildResponse", "properties": { + "model_builds": { + "type": "array", + "items": { + "$ref": "#/components/schemas/autopilot.v1.assistant.model_build" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -2796,25 +2578,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "tasks": { - "items": { - "$ref": "#/components/schemas/autopilot.v1.assistant.task" - }, - "type": "array" + } } - }, - "title": "ListTaskResponse", - "type": "object" + } } } }, @@ -2826,61 +2602,30 @@ "accountSid_authToken": [] } ], + "operationId": "ListModelBuild", "x-maturity": [ "Preview" ] }, "post": { "description": "", - "operationId": "CreateTask", "parameters": [ { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the new resource.", - "in": "path", "name": "AssistantSid", - "required": true, + "in": "path", + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the new resource.", "schema": { "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Actions": { - "description": "The JSON string that specifies the [actions](https://www.twilio.com/docs/autopilot/actions) that instruct the Assistant on how to perform the task. It is optional and not unique." - }, - "ActionsUrl": { - "description": "The URL from which the Assistant can fetch actions.", - "format": "uri", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the new resource. It is not unique and can be up to 255 characters long.", - "type": "string" - }, - "UniqueName": { - "description": "An application-defined string that uniquely identifies the new resource. It can be used as an alternative to the `sid` in the URL path to address the resource. This value must be unique and 64 characters or less in length.", - "type": "string" - } - }, - "required": [ - "UniqueName" - ], - "title": "CreateTaskRequest", - "type": "object" - } - } - } - }, "responses": { "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/autopilot.v1.assistant.task" + "$ref": "#/components/schemas/autopilot.v1.assistant.model_build" } } }, @@ -2892,85 +2637,70 @@ "accountSid_authToken": [] } ], + "operationId": "CreateModelBuild", "x-maturity": [ "Preview" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateModelBuildRequest", + "properties": { + "StatusCallback": { + "type": "string", + "format": "uri", + "description": "The URL we should call using a POST method to send status information to your application." + }, + "UniqueName": { + "type": "string", + "description": "An application-defined string that uniquely identifies the new resource. This value must be a unique string of no more than 64 characters. It can be used as an alternative to the `sid` in the URL path to address the resource." + } + } + } + } + } + } + } + }, + "/v1/Assistants/{AssistantSid}/Queries/{Sid}": { "servers": [ { "url": "https://autopilot.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", - "unique_name", - "friendly_name" - ], - "parent": "/Assistants", - "pathType": "list" - } - }, - "/v1/Assistants/{AssistantSid}/Tasks/{Sid}": { - "delete": { - "description": "", - "operationId": "DeleteTask", - "parameters": [ - { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resources to delete.", - "in": "path", - "name": "AssistantSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the Task resource to delete.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } + "query", + "status", + "language" ], - "x-maturity": [ - "Preview" - ] + "pathType": "instance", + "parent": "/Assistants" }, - "description": "TODO: Resource-level docs", "get": { "description": "", - "operationId": "FetchTask", "parameters": [ { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resource to fetch.", - "in": "path", "name": "AssistantSid", - "required": true, + "in": "path", + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resource to fetch.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Task resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Query resource to fetch.", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -2978,7 +2708,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/autopilot.v1.assistant.task" + "$ref": "#/components/schemas/autopilot.v1.assistant.query" } } }, @@ -2990,67 +2720,39 @@ "accountSid_authToken": [] } ], + "operationId": "FetchQuery", "x-maturity": [ "Preview" ] }, "post": { "description": "", - "operationId": "UpdateTask", "parameters": [ { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resource to update.", - "in": "path", "name": "AssistantSid", - "required": true, + "in": "path", + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resource to update.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Task resource to update.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Query resource to update.", "schema": { "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Actions": { - "description": "The JSON string that specifies the [actions](https://www.twilio.com/docs/autopilot/actions) that instruct the Assistant on how to perform the task." - }, - "ActionsUrl": { - "description": "The URL from which the Assistant can fetch actions.", - "format": "uri", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It is not unique and can be up to 255 characters long.", - "type": "string" - }, - "UniqueName": { - "description": "An application-defined string that uniquely identifies the resource. This value must be 64 characters or less in length and be unique. It can be used as an alternative to the `sid` in the URL path to address the resource.", - "type": "string" - } - }, - "title": "UpdateTaskRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/autopilot.v1.assistant.task" + "$ref": "#/components/schemas/autopilot.v1.assistant.query" } } }, @@ -3062,119 +2764,59 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateQuery", "x-maturity": [ "Preview" - ] - }, - "servers": [ - { - "url": "https://autopilot.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "unique_name", - "friendly_name" - ], - "parent": "/Assistants", - "pathType": "instance" - } - }, - "/v1/Assistants/{AssistantSid}/Tasks/{TaskSid}/Actions": { - "description": "TODO: Resource-level docs", - "get": { - "description": "Returns JSON actions for the Task.", - "operationId": "FetchTaskActions", - "parameters": [ - { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the Task for which the task actions to fetch were defined.", - "in": "path", - "name": "AssistantSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) for which the task actions to fetch were defined.", - "in": "path", - "name": "TaskSid", - "required": true, - "schema": { - "type": "string" - } - } ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/autopilot.v1.assistant.task.task_actions" + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateQueryRequest", + "properties": { + "SampleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^UF[0-9a-fA-F]{32}$", + "description": "The SID of an optional reference to the [Sample](https://www.twilio.com/docs/autopilot/api/task-sample) created from the query." + }, + "Status": { + "type": "string", + "description": "The new status of the resource. Can be: `pending-review`, `reviewed`, or `discarded`" + } } } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] + } } - ], - "x-maturity": [ - "Preview" - ] + } }, - "post": { - "description": "Updates the actions of an Task identified by {TaskSid} or {TaskUniqueName}.", - "operationId": "UpdateTaskActions", + "delete": { + "description": "", "parameters": [ { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the Task for which the task actions to update were defined.", - "in": "path", "name": "AssistantSid", - "required": true, + "in": "path", + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resources to delete.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) for which the task actions to update were defined.", + "name": "Sid", "in": "path", - "name": "TaskSid", - "required": true, + "description": "The Twilio-provided string that uniquely identifies the Query resource to delete.", "schema": { "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Actions": { - "description": "The JSON string that specifies the [actions](https://www.twilio.com/docs/autopilot/actions) that instruct the Assistant on how to perform the task." - } - }, - "title": "UpdateTaskActionsRequest", - "type": "object" - } - } - } - }, "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/autopilot.v1.assistant.task.task_actions" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -3182,56 +2824,84 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteQuery", "x-maturity": [ "Preview" ] - }, + } + }, + "/v1/Assistants/{AssistantSid}/Queries": { "servers": [ { "url": "https://autopilot.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { - "className": "task_actions", "defaultOutputProperties": [ - "data" + "sid", + "query", + "status", + "language" ], - "parent": "/Assistants/{AssistantSid}/Tasks", - "pathType": "instance" - } - }, - "/v1/Assistants/{AssistantSid}/Tasks/{TaskSid}/Fields": { - "description": "TODO: Resource-level docs", + "pathType": "list", + "parent": "/Assistants" + }, "get": { "description": "", - "operationId": "ListField", "parameters": [ { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the Task associated with the resources to read.", - "in": "path", "name": "AssistantSid", - "required": true, + "in": "path", + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resources to read.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "Language", + "in": "query", + "description": "The [ISO language-country](https://docs.oracle.com/cd/E13214_01/wli/docs92/xref/xqisocodes.html) string that specifies the language used by the Query resources to read. For example: `en-US`.", "schema": { "type": "string" } }, { - "description": "The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) resource associated with the Field resources to read.", - "in": "path", - "name": "TaskSid", - "required": true, + "name": "ModelBuild", + "in": "query", + "description": "The SID or unique name of the [Model Build](https://www.twilio.com/docs/autopilot/api/model-build) to be queried.", "schema": { "type": "string" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", + "name": "Status", + "in": "query", + "description": "The status of the resources to read. Can be: `pending-review`, `reviewed`, or `discarded`", + "schema": { + "type": "string" + } + }, + { + "name": "DialogueSid", "in": "query", + "description": "The SID of the [Dialogue](https://www.twilio.com/docs/autopilot/api/dialogue).", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^UK[0-9a-fA-F]{32}$" + } + }, + { "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -3240,25 +2910,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListQueryResponse", "properties": { - "fields": { + "queries": { + "type": "array", "items": { - "$ref": "#/components/schemas/autopilot.v1.assistant.task.field" - }, - "type": "array" + "$ref": "#/components/schemas/autopilot.v1.assistant.query" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -3267,19 +2937,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListFieldResponse", - "type": "object" + } } } }, @@ -3291,67 +2961,108 @@ "accountSid_authToken": [] } ], + "operationId": "ListQuery", "x-maturity": [ "Preview" ] }, "post": { "description": "", - "operationId": "CreateField", "parameters": [ { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the Task associated with the new resource.", - "in": "path", "name": "AssistantSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) resource associated with the new Field resource.", "in": "path", - "name": "TaskSid", - "required": true, + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the new resource.", "schema": { "type": "string" - } + }, + "required": true + } + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/autopilot.v1.assistant.query" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] } ], + "operationId": "CreateQuery", + "x-maturity": [ + "Preview" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateQueryRequest", "properties": { - "FieldType": { - "description": "The Field Type of the new field. Can be: a [Built-in Field Type](https://www.twilio.com/docs/autopilot/built-in-field-types), the `unique_name`, or the `sid` of a custom Field Type.", - "type": "string" + "Language": { + "type": "string", + "description": "The [ISO language-country](https://docs.oracle.com/cd/E13214_01/wli/docs92/xref/xqisocodes.html) string that specifies the language used for the new query. For example: `en-US`." }, - "UniqueName": { - "description": "An application-defined string that uniquely identifies the new resource. This value must be a unique string of no more than 64 characters. It can be used as an alternative to the `sid` in the URL path to address the resource.", - "type": "string" + "Query": { + "type": "string", + "description": "The end-user's natural language input. It can be up to 2048 characters long." + }, + "Tasks": { + "type": "string", + "description": "The list of tasks to limit the new query to. Tasks are expressed as a comma-separated list of task `unique_name` values. For example, `task-unique_name-1, task-unique_name-2`. Listing specific tasks is useful to constrain the paths that a user can take." + }, + "ModelBuild": { + "type": "string", + "description": "The SID or unique name of the [Model Build](https://www.twilio.com/docs/autopilot/api/model-build) to be queried." } }, "required": [ - "FieldType", - "UniqueName" - ], - "title": "CreateFieldRequest", - "type": "object" + "Language", + "Query" + ] } } } - }, + } + } + }, + "/v1/Assistants/Restore": { + "servers": [ + { + "url": "https://autopilot.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "account_sid", + "sid", + "unique_name", + "friendly_name" + ], + "pathType": "list", + "className": "restore_assistant" + }, + "post": { + "description": "", "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/autopilot.v1.assistant.task.field" + "$ref": "#/components/schemas/autopilot.v1.restore_assistant" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -3359,61 +3070,148 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateRestoreAssistant", "x-maturity": [ "Preview" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateRestoreAssistantRequest", + "properties": { + "Assistant": { + "type": "string", + "description": "The Twilio-provided string that uniquely identifies the Assistant resource to restore." + } + }, + "required": [ + "Assistant" + ] + } + } + } + } + } + }, + "/v1/Assistants/{AssistantSid}/Tasks/{TaskSid}/Samples/{Sid}": { "servers": [ { "url": "https://autopilot.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", - "unique_name", - "field_type" + "tagged_text", + "language", + "source_channel" ], - "parent": "/Assistants/{AssistantSid}/Tasks", - "pathType": "list" - } - }, - "/v1/Assistants/{AssistantSid}/Tasks/{TaskSid}/Fields/{Sid}": { - "delete": { + "pathType": "instance", + "parent": "/Assistants/{AssistantSid}/Tasks" + }, + "get": { + "description": "", + "parameters": [ + { + "name": "AssistantSid", + "in": "path", + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the Task associated with the resource to fetch.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "TaskSid", + "in": "path", + "description": "The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) associated with the Sample resource to create.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Sample resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^UF[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/autopilot.v1.assistant.task.sample" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "FetchSample", + "x-maturity": [ + "Preview" + ] + }, + "post": { "description": "", - "operationId": "DeleteField", "parameters": [ { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the Task associated with the resources to delete.", - "in": "path", "name": "AssistantSid", - "required": true, + "in": "path", + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the Task associated with the resource to update.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) resource associated with the Field resource to delete.", - "in": "path", "name": "TaskSid", - "required": true, + "in": "path", + "description": "The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) associated with the Sample resource to update.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Field resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Sample resource to update.", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^UF[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/autopilot.v1.assistant.task.sample" + } + } + }, + "description": "OK" } }, "security": [ @@ -3421,53 +3219,72 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateSample", "x-maturity": [ "Preview" - ] + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateSampleRequest", + "properties": { + "Language": { + "type": "string", + "description": "The [ISO language-country](https://docs.oracle.com/cd/E13214_01/wli/docs92/xref/xqisocodes.html) string that specifies the language used for the sample. For example: `en-US`." + }, + "TaggedText": { + "type": "string", + "description": "The text example of how end users might express the task. The sample can contain [Field tag blocks](https://www.twilio.com/docs/autopilot/api/task-sample#field-tagging)." + }, + "SourceChannel": { + "type": "string", + "description": "The communication channel from which the sample was captured. Can be: `voice`, `sms`, `chat`, `alexa`, `google-assistant`, `slack`, or null if not included." + } + } + } + } + } + } }, - "description": "TODO: Resource-level docs", - "get": { + "delete": { "description": "", - "operationId": "FetchField", "parameters": [ { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the Task associated with the resource to fetch.", - "in": "path", "name": "AssistantSid", - "required": true, + "in": "path", + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the Task associated with the resources to delete.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) resource associated with the Field resource to fetch.", - "in": "path", "name": "TaskSid", - "required": true, + "in": "path", + "description": "The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) associated with the Sample resource to delete.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Field resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Sample resource to delete.", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^UF[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/autopilot.v1.assistant.task.field" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -3475,65 +3292,66 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteSample", "x-maturity": [ "Preview" ] - }, + } + }, + "/v1/Assistants/{AssistantSid}/Tasks/{TaskSid}/Samples": { "servers": [ { "url": "https://autopilot.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", - "unique_name", - "field_type" + "tagged_text", + "language", + "source_channel" ], - "parent": "/Assistants/{AssistantSid}/Tasks", - "pathType": "instance" - } - }, - "/v1/Assistants/{AssistantSid}/Tasks/{TaskSid}/Samples": { - "description": "TODO: Resource-level docs", + "pathType": "list", + "parent": "/Assistants/{AssistantSid}/Tasks" + }, "get": { "description": "", - "operationId": "ListSample", "parameters": [ { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the Task associated with the resources to read.", - "in": "path", "name": "AssistantSid", - "required": true, + "in": "path", + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the Task associated with the resources to read.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) associated with the Sample resources to read.", - "in": "path", "name": "TaskSid", - "required": true, + "in": "path", + "description": "The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) associated with the Sample resources to read.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The [ISO language-country](https://docs.oracle.com/cd/E13214_01/wli/docs92/xref/xqisocodes.html) string that specifies the language used for the sample. For example: `en-US`.", - "in": "query", "name": "Language", + "in": "query", + "description": "The [ISO language-country](https://docs.oracle.com/cd/E13214_01/wli/docs92/xref/xqisocodes.html) string that specifies the language used for the sample. For example: `en-US`.", "schema": { "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", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -3542,19 +3360,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListSampleResponse", "properties": { + "samples": { + "type": "array", + "items": { + "$ref": "#/components/schemas/autopilot.v1.assistant.task.sample" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -3563,25 +3387,141 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "samples": { - "items": { - "$ref": "#/components/schemas/autopilot.v1.assistant.task.sample" - }, - "type": "array" + } } + } + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "ListSample", + "x-maturity": [ + "Preview" + ] + }, + "post": { + "description": "", + "parameters": [ + { + "name": "AssistantSid", + "in": "path", + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the Task associated with the new resource.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "TaskSid", + "in": "path", + "description": "The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) associated with the Sample resource to create.", + "schema": { + "type": "string" + }, + "required": true + } + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/autopilot.v1.assistant.task.sample" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateSample", + "x-maturity": [ + "Preview" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateSampleRequest", + "properties": { + "Language": { + "type": "string", + "description": "The [ISO language-country](https://docs.oracle.com/cd/E13214_01/wli/docs92/xref/xqisocodes.html) string that specifies the language used for the new sample. For example: `en-US`." }, - "title": "ListSampleResponse", - "type": "object" + "TaggedText": { + "type": "string", + "description": "The text example of how end users might express the task. The sample can contain [Field tag blocks](https://www.twilio.com/docs/autopilot/api/task-sample#field-tagging)." + }, + "SourceChannel": { + "type": "string", + "description": "The communication channel from which the new sample was captured. Can be: `voice`, `sms`, `chat`, `alexa`, `google-assistant`, `slack`, or null if not included." + } + }, + "required": [ + "Language", + "TaggedText" + ] + } + } + } + } + } + }, + "/v1/Assistants/{AssistantSid}/StyleSheet": { + "servers": [ + { + "url": "https://autopilot.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "data" + ], + "pathType": "instance", + "parent": "/Assistants" + }, + "get": { + "description": "Returns Style sheet JSON object for the Assistant", + "parameters": [ + { + "name": "AssistantSid", + "in": "path", + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resource to fetch.", + "schema": { + "type": "string" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/autopilot.v1.assistant.style_sheet" } } }, @@ -3593,71 +3533,34 @@ "accountSid_authToken": [] } ], + "operationId": "FetchStyleSheet", "x-maturity": [ "Preview" ] }, "post": { - "description": "", - "operationId": "CreateSample", + "description": "Updates the style sheet for an Assistant identified by `assistant_sid`.", "parameters": [ { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the Task associated with the new resource.", - "in": "path", "name": "AssistantSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) associated with the Sample resource to create.", "in": "path", - "name": "TaskSid", - "required": true, + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resource to update.", "schema": { "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Language": { - "description": "The [ISO language-country](https://docs.oracle.com/cd/E13214_01/wli/docs92/xref/xqisocodes.html) string that specifies the language used for the new sample. For example: `en-US`.", - "type": "string" - }, - "SourceChannel": { - "description": "The communication channel from which the new sample was captured. Can be: `voice`, `sms`, `chat`, `alexa`, `google-assistant`, `slack`, or null if not included.", - "type": "string" - }, - "TaggedText": { - "description": "The text example of how end users might express the task. The sample can contain [Field tag blocks](https://www.twilio.com/docs/autopilot/api/task-sample#field-tagging).", - "type": "string" - } - }, - "required": [ - "Language", - "TaggedText" - ], - "title": "CreateSampleRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/autopilot.v1.assistant.task.sample" + "$ref": "#/components/schemas/autopilot.v1.assistant.style_sheet" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -3665,65 +3568,75 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateStyleSheet", "x-maturity": [ "Preview" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateStyleSheetRequest", + "properties": { + "StyleSheet": { + "description": "The JSON string that describes the style sheet object." + } + } + } + } + } + } + } + }, + "/v1/Assistants/{AssistantSid}/Tasks/{Sid}": { "servers": [ { "url": "https://autopilot.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", - "tagged_text", - "language", - "source_channel" + "unique_name", + "friendly_name" ], - "parent": "/Assistants/{AssistantSid}/Tasks", - "pathType": "list" - } - }, - "/v1/Assistants/{AssistantSid}/Tasks/{TaskSid}/Samples/{Sid}": { - "delete": { + "pathType": "instance", + "parent": "/Assistants" + }, + "get": { "description": "", - "operationId": "DeleteSample", "parameters": [ { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the Task associated with the resources to delete.", - "in": "path", "name": "AssistantSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) associated with the Sample resource to delete.", "in": "path", - "name": "TaskSid", - "required": true, + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resource to fetch.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Sample resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Task resource to fetch.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^UF[0-9a-fA-F]{32}$", "type": "string" - } + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/autopilot.v1.assistant.task" + } + } + }, + "description": "OK" } }, "security": [ @@ -3731,44 +3644,31 @@ "accountSid_authToken": [] } ], + "operationId": "FetchTask", "x-maturity": [ "Preview" ] }, - "description": "TODO: Resource-level docs", - "get": { + "post": { "description": "", - "operationId": "FetchSample", "parameters": [ { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the Task associated with the resource to fetch.", - "in": "path", "name": "AssistantSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) associated with the Sample resource to create.", "in": "path", - "name": "TaskSid", - "required": true, + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resource to update.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Sample resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Task resource to update.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^UF[0-9a-fA-F]{32}$", "type": "string" - } + }, + "required": true } ], "responses": { @@ -3776,7 +3676,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/autopilot.v1.assistant.task.sample" + "$ref": "#/components/schemas/autopilot.v1.assistant.task" } } }, @@ -3788,141 +3688,64 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateTask", "x-maturity": [ "Preview" - ] - }, - "post": { - "description": "", - "operationId": "UpdateSample", - "parameters": [ - { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the Task associated with the resource to update.", - "in": "path", - "name": "AssistantSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) associated with the Sample resource to update.", - "in": "path", - "name": "TaskSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the Sample resource to update.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^UF[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateTaskRequest", "properties": { - "Language": { - "description": "The [ISO language-country](https://docs.oracle.com/cd/E13214_01/wli/docs92/xref/xqisocodes.html) string that specifies the language used for the sample. For example: `en-US`.", - "type": "string" + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the resource. It is not unique and can be up to 255 characters long." }, - "SourceChannel": { - "description": "The communication channel from which the sample was captured. Can be: `voice`, `sms`, `chat`, `alexa`, `google-assistant`, `slack`, or null if not included.", - "type": "string" + "UniqueName": { + "type": "string", + "description": "An application-defined string that uniquely identifies the resource. This value must be 64 characters or less in length and be unique. It can be used as an alternative to the `sid` in the URL path to address the resource." }, - "TaggedText": { - "description": "The text example of how end users might express the task. The sample can contain [Field tag blocks](https://www.twilio.com/docs/autopilot/api/task-sample#field-tagging).", - "type": "string" + "Actions": { + "description": "The JSON string that specifies the [actions](https://www.twilio.com/docs/autopilot/actions) that instruct the Assistant on how to perform the task." + }, + "ActionsUrl": { + "type": "string", + "format": "uri", + "description": "The URL from which the Assistant can fetch actions." } - }, - "title": "UpdateSampleRequest", - "type": "object" - } - } - } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/autopilot.v1.assistant.task.sample" } } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] + } } - ], - "x-maturity": [ - "Preview" - ] - }, - "servers": [ - { - "url": "https://autopilot.twilio.com" } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "tagged_text", - "language", - "source_channel" - ], - "parent": "/Assistants/{AssistantSid}/Tasks", - "pathType": "instance" - } - }, - "/v1/Assistants/{AssistantSid}/Tasks/{TaskSid}/Statistics": { - "description": "TODO: Resource-level docs", - "get": { + }, + "delete": { "description": "", - "operationId": "FetchTaskStatistics", "parameters": [ { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resource to fetch.", - "in": "path", "name": "AssistantSid", - "required": true, + "in": "path", + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resources to delete.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) that is associated with the resource to fetch.", + "name": "Sid", "in": "path", - "name": "TaskSid", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/autopilot.v1.assistant.task.task_statistics" - } - } + "description": "The Twilio-provided string that uniquely identifies the Task resource to delete.", + "schema": { + "type": "string" }, - "description": "OK" + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -3930,48 +3753,48 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteTask", "x-maturity": [ "Preview" ] - }, + } + }, + "/v1/Assistants/{AssistantSid}/Tasks": { "servers": [ { "url": "https://autopilot.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { - "className": "task_statistics", "defaultOutputProperties": [ - "samples_count", - "fields_count" + "sid", + "unique_name", + "friendly_name" ], - "parent": "/Assistants/{AssistantSid}/Tasks", - "pathType": "instance" - } - }, - "/v1/Assistants/{AssistantSid}/Webhooks": { - "description": "TODO: Resource-level docs", + "pathType": "list", + "parent": "/Assistants" + }, "get": { "description": "", - "operationId": "ListWebhook", "parameters": [ { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resources to read.", - "in": "path", "name": "AssistantSid", - "required": true, + "in": "path", + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resources to read.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -3980,19 +3803,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListTaskResponse", "properties": { + "tasks": { + "type": "array", + "items": { + "$ref": "#/components/schemas/autopilot.v1.assistant.task" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -4001,25 +3830,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "webhooks": { - "items": { - "$ref": "#/components/schemas/autopilot.v1.assistant.webhook" - }, - "type": "array" + } } - }, - "title": "ListWebhookResponse", - "type": "object" + } } } }, @@ -4031,68 +3854,125 @@ "accountSid_authToken": [] } ], + "operationId": "ListTask", "x-maturity": [ "Preview" ] }, "post": { "description": "", - "operationId": "CreateWebhook", "parameters": [ { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the new resource.", - "in": "path", "name": "AssistantSid", - "required": true, + "in": "path", + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the new resource.", "schema": { "type": "string" - } + }, + "required": true + } + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/autopilot.v1.assistant.task" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] } ], + "operationId": "CreateTask", + "x-maturity": [ + "Preview" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateTaskRequest", "properties": { - "Events": { - "description": "The list of space-separated events that this Webhook will subscribe to.", - "type": "string" - }, "UniqueName": { - "description": "An application-defined string that uniquely identifies the new resource. It can be used as an alternative to the `sid` in the URL path to address the resource. This value must be unique and 64 characters or less in length.", - "type": "string" + "type": "string", + "description": "An application-defined string that uniquely identifies the new resource. It can be used as an alternative to the `sid` in the URL path to address the resource. This value must be unique and 64 characters or less in length." }, - "WebhookMethod": { - "description": "The method to be used when calling the webhook's URL.", - "type": "string" + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the new resource. It is not unique and can be up to 255 characters long." }, - "WebhookUrl": { - "description": "The URL associated with this Webhook.", + "Actions": { + "description": "The JSON string that specifies the [actions](https://www.twilio.com/docs/autopilot/actions) that instruct the Assistant on how to perform the task. It is optional and not unique." + }, + "ActionsUrl": { + "type": "string", "format": "uri", - "type": "string" + "description": "The URL from which the Assistant can fetch actions." } }, "required": [ - "UniqueName", - "Events", - "WebhookUrl" - ], - "title": "CreateWebhookRequest", - "type": "object" + "UniqueName" + ] } } } - }, + } + } + }, + "/v1/Assistants/{AssistantSid}/Tasks/{TaskSid}/Actions": { + "servers": [ + { + "url": "https://autopilot.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "data" + ], + "pathType": "instance", + "parent": "/Assistants/{AssistantSid}/Tasks", + "className": "task_actions" + }, + "get": { + "description": "Returns JSON actions for the Task.", + "parameters": [ + { + "name": "AssistantSid", + "in": "path", + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the Task for which the task actions to fetch were defined.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "TaskSid", + "in": "path", + "description": "The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) for which the task actions to fetch were defined.", + "schema": { + "type": "string" + }, + "required": true + } + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/autopilot.v1.assistant.webhook" + "$ref": "#/components/schemas/autopilot.v1.assistant.task.task_actions" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -4100,54 +3980,119 @@ "accountSid_authToken": [] } ], + "operationId": "FetchTaskActions", "x-maturity": [ "Preview" ] }, + "post": { + "description": "Updates the actions of an Task identified by {TaskSid} or {TaskUniqueName}.", + "parameters": [ + { + "name": "AssistantSid", + "in": "path", + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the Task for which the task actions to update were defined.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "TaskSid", + "in": "path", + "description": "The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) for which the task actions to update were defined.", + "schema": { + "type": "string" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/autopilot.v1.assistant.task.task_actions" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "UpdateTaskActions", + "x-maturity": [ + "Preview" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateTaskActionsRequest", + "properties": { + "Actions": { + "description": "The JSON string that specifies the [actions](https://www.twilio.com/docs/autopilot/actions) that instruct the Assistant on how to perform the task." + } + } + } + } + } + } + } + }, + "/v1/Assistants/{AssistantSid}/Tasks/{TaskSid}/Statistics": { "servers": [ { "url": "https://autopilot.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ - "sid", - "unique_name", - "events", - "wehbook_url", - "webhook_method" + "samples_count", + "fields_count" ], - "parent": "/Assistants", - "pathType": "list" - } - }, - "/v1/Assistants/{AssistantSid}/Webhooks/{Sid}": { - "delete": { + "pathType": "instance", + "parent": "/Assistants/{AssistantSid}/Tasks", + "className": "task_statistics" + }, + "get": { "description": "", - "operationId": "DeleteWebhook", "parameters": [ { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resources to delete.", - "in": "path", "name": "AssistantSid", - "required": true, + "in": "path", + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resource to fetch.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Webhook resource to delete.", + "name": "TaskSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) that is associated with the resource to fetch.", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/autopilot.v1.assistant.task.task_statistics" + } + } + }, + "description": "OK" } }, "security": [ @@ -4155,32 +4100,50 @@ "accountSid_authToken": [] } ], - "x-maturity": [ - "Preview" - ] + "operationId": "FetchTaskStatistics", + "x-maturity": [ + "Preview" + ] + } + }, + "/v1/Assistants/{AssistantSid}/Webhooks/{Sid}": { + "servers": [ + { + "url": "https://autopilot.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "unique_name", + "events", + "wehbook_url", + "webhook_method" + ], + "pathType": "instance", + "parent": "/Assistants" }, - "description": "TODO: Resource-level docs", "get": { "description": "", - "operationId": "FetchWebhook", "parameters": [ { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resource to fetch.", - "in": "path", "name": "AssistantSid", - "required": true, + "in": "path", + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resource to fetch.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Webhook resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Webhook resource to fetch.", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -4200,62 +4163,33 @@ "accountSid_authToken": [] } ], + "operationId": "FetchWebhook", "x-maturity": [ "Preview" ] }, "post": { "description": "", - "operationId": "UpdateWebhook", "parameters": [ { - "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resource to update.", - "in": "path", "name": "AssistantSid", - "required": true, + "in": "path", + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resource to update.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Webhook resource to update.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Webhook resource to update.", "schema": { "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Events": { - "description": "The list of space-separated events that this Webhook will subscribe to.", - "type": "string" - }, - "UniqueName": { - "description": "An application-defined string that uniquely identifies the new resource. It can be used as an alternative to the `sid` in the URL path to address the resource. This value must be unique and 64 characters or less in length.", - "type": "string" - }, - "WebhookMethod": { - "description": "The method to be used when calling the webhook's URL.", - "type": "string" - }, - "WebhookUrl": { - "description": "The URL associated with this Webhook.", - "format": "uri", - "type": "string" - } - }, - "title": "UpdateWebhookRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { @@ -4273,40 +4207,60 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateWebhook", "x-maturity": [ "Preview" - ] - }, - "servers": [ - { - "url": "https://autopilot.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "unique_name", - "events", - "wehbook_url", - "webhook_method" ], - "parent": "/Assistants", - "pathType": "instance" - } - }, - "/v1/Assistants/{Sid}": { + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateWebhookRequest", + "properties": { + "UniqueName": { + "type": "string", + "description": "An application-defined string that uniquely identifies the new resource. It can be used as an alternative to the `sid` in the URL path to address the resource. This value must be unique and 64 characters or less in length." + }, + "Events": { + "type": "string", + "description": "The list of space-separated events that this Webhook will subscribe to." + }, + "WebhookUrl": { + "type": "string", + "format": "uri", + "description": "The URL associated with this Webhook." + }, + "WebhookMethod": { + "type": "string", + "description": "The method to be used when calling the webhook's URL." + } + } + } + } + } + } + }, "delete": { "description": "", - "operationId": "DeleteAssistant", "parameters": [ { - "description": "The Twilio-provided string that uniquely identifies the Assistant resource to delete.", + "name": "AssistantSid", "in": "path", + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resources to delete.", + "schema": { + "type": "string" + }, + "required": true + }, + { "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Webhook resource to delete.", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -4319,22 +4273,50 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteWebhook", "x-maturity": [ "Preview" ] - }, + } + }, + "/v1/Assistants/{AssistantSid}/Webhooks": { + "servers": [ + { + "url": "https://autopilot.twilio.com" + } + ], "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "unique_name", + "events", + "wehbook_url", + "webhook_method" + ], + "pathType": "list", + "parent": "/Assistants" + }, "get": { "description": "", - "operationId": "FetchAssistant", "parameters": [ { - "description": "The Twilio-provided string that uniquely identifies the Assistant resource to fetch.", + "name": "AssistantSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resources to read.", "schema": { "type": "string" + }, + "required": true + }, + { + "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 } } ], @@ -4343,7 +4325,46 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/autopilot.v1.assistant" + "type": "object", + "title": "ListWebhookResponse", + "properties": { + "webhooks": { + "type": "array", + "items": { + "$ref": "#/components/schemas/autopilot.v1.assistant.webhook" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -4355,77 +4376,34 @@ "accountSid_authToken": [] } ], + "operationId": "ListWebhook", "x-maturity": [ "Preview" ] }, "post": { "description": "", - "operationId": "UpdateAssistant", "parameters": [ { - "description": "The Twilio-provided string that uniquely identifies the Assistant resource to update.", + "name": "AssistantSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the new resource.", "schema": { "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "CallbackEvents": { - "description": "Reserved.", - "type": "string" - }, - "CallbackUrl": { - "description": "Reserved.", - "format": "uri", - "type": "string" - }, - "Defaults": { - "description": "A JSON object that defines the Assistant's [default tasks](https://www.twilio.com/docs/autopilot/api/assistant/defaults) for various scenarios, including initiation actions and fallback tasks." - }, - "DevelopmentStage": { - "description": "A string describing the state of the assistant.", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It is not unique and can be up to 255 characters long.", - "type": "string" - }, - "LogQueries": { - "description": "Whether queries should be logged and kept after training. Can be: `true` or `false` and defaults to `true`. If `true`, queries are stored for 30 days, and then deleted. If `false`, no queries are stored.", - "type": "boolean" - }, - "StyleSheet": { - "description": "The JSON string that defines the Assistant's [style sheet](https://www.twilio.com/docs/autopilot/api/assistant/stylesheet)" - }, - "UniqueName": { - "description": "An application-defined string that uniquely identifies the resource. It can be used as an alternative to the `sid` in the URL path to address the resource. The first 64 characters must be unique.", - "type": "string" - } - }, - "title": "UpdateAssistantRequest", - "type": "object" - } - } - } - }, "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/autopilot.v1.assistant" + "$ref": "#/components/schemas/autopilot.v1.assistant.webhook" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -4433,22 +4411,44 @@ "accountSid_authToken": [] } ], + "operationId": "CreateWebhook", "x-maturity": [ "Preview" - ] - }, - "servers": [ - { - "url": "https://autopilot.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "unique_name", - "friendly_name" ], - "pathType": "instance" + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateWebhookRequest", + "properties": { + "UniqueName": { + "type": "string", + "description": "An application-defined string that uniquely identifies the new resource. It can be used as an alternative to the `sid` in the URL path to address the resource. This value must be unique and 64 characters or less in length." + }, + "Events": { + "type": "string", + "description": "The list of space-separated events that this Webhook will subscribe to." + }, + "WebhookUrl": { + "type": "string", + "format": "uri", + "description": "The URL associated with this Webhook." + }, + "WebhookMethod": { + "type": "string", + "description": "The method to be used when calling the webhook's URL." + } + }, + "required": [ + "UniqueName", + "Events", + "WebhookUrl" + ] + } + } + } + } } } }, @@ -4459,8 +4459,8 @@ ], "x-maturity": [ { - "description": "PLEASE NOTE that this is a Preview product that is subject to change. Use it with caution. If you currently do not have developer preview access, please contact help@twilio.com.", - "name": "Preview" + "name": "Preview", + "description": "PLEASE NOTE that this is a Preview product that is subject to change. Use it with caution. If you currently do not have developer preview access, please contact help@twilio.com." } ] } \ No newline at end of file diff --git a/spec/json/twilio_bulkexports_v1.json b/spec/json/twilio_bulkexports_v1.json index 386ecc52..7c896fff 100644 --- a/spec/json/twilio_bulkexports_v1.json +++ b/spec/json/twilio_bulkexports_v1.json @@ -1,314 +1,305 @@ { "components": { "schemas": { - "bulkexports.v1.export": { + "bulkexports.v1.export.day": { + "type": "object", "properties": { - "links": { - "description": "Nested resource URLs.", - "format": "uri-map", + "day": { + "type": "string", + "nullable": true, + "description": "The date of the data in the file" + }, + "size": { + "type": "integer", + "nullable": true, + "description": "Size of the file in bytes" + }, + "create_date": { + "type": "string", + "nullable": true, + "description": "The date when resource is created" + }, + "friendly_name": { + "type": "string", "nullable": true, - "type": "object" + "description": "The friendly name specified when creating the job" }, "resource_type": { - "description": "The type of communication \u2013 Messages, Calls, Conferences, and Participants", + "type": "string", + "nullable": true, + "description": "The type of communication \u2013 Messages, Calls, Conferences, and Participants" + } + } + }, + "bulkexports.v1.export.day-instance": { + "type": "object", + "properties": { + "redirect_to": { + "type": "string", + "format": "uri", + "nullable": true + } + } + }, + "bulkexports.v1.export": { + "type": "object", + "properties": { + "resource_type": { + "type": "string", "nullable": true, - "type": "string" + "description": "The type of communication \u2013 Messages, Calls, Conferences, and Participants" }, "url": { - "description": "The URL of this resource.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL of this resource." + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "Nested resource URLs." } - }, - "type": "object" + } }, - "bulkexports.v1.export.day": { + "bulkexports.v1.export_configuration": { + "type": "object", "properties": { - "create_date": { - "description": "The date when resource is created", + "enabled": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Whether files are automatically generated" }, - "day": { - "description": "The date of the data in the file", + "webhook_url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "string" + "description": "URL targeted at export" }, - "friendly_name": { - "description": "The friendly name specified when creating the job", + "webhook_method": { + "type": "string", "nullable": true, - "type": "string" + "description": "Whether to GET or POST to the webhook url" }, "resource_type": { - "description": "The type of communication \u2013 Messages, Calls, Conferences, and Participants", + "type": "string", "nullable": true, - "type": "string" + "description": "The type of communication \u2013 Messages, Calls, Conferences, and Participants" }, - "size": { - "description": "Size of the file in bytes", - "nullable": true, - "type": "integer" - } - }, - "type": "object" - }, - "bulkexports.v1.export.day-instance": { - "properties": { - "redirect_to": { + "url": { + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL of this resource." } - }, - "type": "object" + } }, "bulkexports.v1.export.export_custom_job": { + "type": "object", "properties": { - "details": { - "description": "The details of a job state which is an object that contains a `status` string, a day count integer, and list of days in the job", - "nullable": true + "friendly_name": { + "type": "string", + "nullable": true, + "description": "The friendly name specified when creating the job" }, - "email": { - "description": "The optional email to send the completion notification to", + "resource_type": { + "type": "string", + "nullable": true, + "description": "The type of communication \u2013 Messages, Calls, Conferences, and Participants" + }, + "start_day": { + "type": "string", "nullable": true, - "type": "string" + "description": "The start day for the custom export specified as a string in the format of yyyy-MM-dd" }, "end_day": { - "description": "The end day for the custom export specified as a string in the format of yyyy-MM-dd. This will be the last day exported. For instance, to export a single day, choose the same day for start and end day. To export the first 4 days of July, you would set the start date to 2020-07-01 and the end date to 2020-07-04. The end date must be the UTC day before yesterday.", + "type": "string", "nullable": true, - "type": "string" + "description": "The end day for the custom export specified as a string in the format of yyyy-MM-dd. This will be the last day exported. For instance, to export a single day, choose the same day for start and end day. To export the first 4 days of July, you would set the start date to 2020-07-01 and the end date to 2020-07-04. The end date must be the UTC day before yesterday." }, - "estimated_completion_time": { - "description": "this is the time estimated until your job is complete. This is calculated each time you request the job list. The time is calculated based on the current rate of job completion (which may vary) and your job queue position", + "webhook_url": { + "type": "string", "nullable": true, - "type": "string" + "description": "The optional webhook url called on completion" }, - "friendly_name": { - "description": "The friendly name specified when creating the job", + "webhook_method": { + "type": "string", "nullable": true, - "type": "string" + "description": "This is the method used to call the webhook" }, - "job_queue_position": { - "description": "This is the job position from the 1st in line. Your queue position will never increase. As jobs ahead of yours in the queue are processed, the queue position number will decrease", + "email": { + "type": "string", "nullable": true, - "type": "string" + "description": "The optional email to send the completion notification to" }, "job_sid": { - "description": "The unique job_sid returned when the custom export was created. This can be used to look up the status of the job.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^JS[0-9a-fA-F]{32}$", - "type": "string" - }, - "resource_type": { - "description": "The type of communication \u2013 Messages, Calls, Conferences, and Participants", "nullable": true, - "type": "string" + "description": "The unique job_sid returned when the custom export was created. This can be used to look up the status of the job." }, - "start_day": { - "description": "The start day for the custom export specified as a string in the format of yyyy-MM-dd", + "details": { "nullable": true, - "type": "string" + "description": "The details of a job state which is an object that contains a `status` string, a day count integer, and list of days in the job" }, - "webhook_method": { - "description": "This is the method used to call the webhook", + "job_queue_position": { + "type": "string", "nullable": true, - "type": "string" + "description": "This is the job position from the 1st in line. Your queue position will never increase. As jobs ahead of yours in the queue are processed, the queue position number will decrease" }, - "webhook_url": { - "description": "The optional webhook url called on completion", + "estimated_completion_time": { + "type": "string", "nullable": true, - "type": "string" + "description": "this is the time estimated until your job is complete. This is calculated each time you request the job list. The time is calculated based on the current rate of job completion (which may vary) and your job queue position" } - }, - "type": "object" + } }, "bulkexports.v1.export.job": { + "type": "object", "properties": { - "details": { - "description": "The details of a job state which is an object that contains a `status` string, a day count integer, and list of days in the job", - "nullable": true - }, - "email": { - "description": "The optional email to send the completion notification to", + "resource_type": { + "type": "string", "nullable": true, - "type": "string" + "description": "The type of communication \u2013 Messages, Calls, Conferences, and Participants" }, - "end_day": { - "description": "The end time for the export specified when creating the job", + "friendly_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "The friendly name specified when creating the job" }, - "estimated_completion_time": { - "description": "this is the time estimated until your job is complete. This is calculated each time you request the job list. The time is calculated based on the current rate of job completion (which may vary) and your job queue position", + "details": { "nullable": true, - "type": "string" + "description": "The details of a job state which is an object that contains a `status` string, a day count integer, and list of days in the job" }, - "friendly_name": { - "description": "The friendly name specified when creating the job", + "start_day": { + "type": "string", "nullable": true, - "type": "string" + "description": "The start time for the export specified when creating the job" }, - "job_queue_position": { - "description": "This is the job position from the 1st in line. Your queue position will never increase. As jobs ahead of yours in the queue are processed, the queue position number will decrease", + "end_day": { + "type": "string", "nullable": true, - "type": "string" + "description": "The end time for the export specified when creating the job" }, "job_sid": { - "description": "The job_sid returned when the export was created", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^JS[0-9a-fA-F]{32}$", - "type": "string" - }, - "resource_type": { - "description": "The type of communication \u2013 Messages, Calls, Conferences, and Participants", - "nullable": true, - "type": "string" - }, - "start_day": { - "description": "The start time for the export specified when creating the job", "nullable": true, - "type": "string" + "description": "The job_sid returned when the export was created" }, - "url": { - "format": "uri", + "webhook_url": { + "type": "string", "nullable": true, - "type": "string" + "description": "The optional webhook url called on completion" }, "webhook_method": { - "description": "This is the method used to call the webhook", - "nullable": true, - "type": "string" - }, - "webhook_url": { - "description": "The optional webhook url called on completion", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "bulkexports.v1.export_configuration": { - "properties": { - "enabled": { - "description": "Whether files are automatically generated", + "type": "string", "nullable": true, - "type": "boolean" + "description": "This is the method used to call the webhook" }, - "resource_type": { - "description": "The type of communication \u2013 Messages, Calls, Conferences, and Participants", + "email": { + "type": "string", "nullable": true, - "type": "string" + "description": "The optional email to send the completion notification to" }, "url": { - "description": "The URL of this resource.", + "type": "string", "format": "uri", - "nullable": true, - "type": "string" + "nullable": true }, - "webhook_method": { - "description": "Whether to GET or POST to the webhook url", + "job_queue_position": { + "type": "string", "nullable": true, - "type": "string" + "description": "This is the job position from the 1st in line. Your queue position will never increase. As jobs ahead of yours in the queue are processed, the queue position number will decrease" }, - "webhook_url": { - "description": "URL targeted at export", - "format": "uri", + "estimated_completion_time": { + "type": "string", "nullable": true, - "type": "string" + "description": "this is the time estimated until your job is complete. This is calculated each time you request the job list. The time is calculated based on the current rate of job completion (which may vary) and your job queue position" } - }, - "type": "object" + } } }, "securitySchemes": { "accountSid_authToken": { - "scheme": "basic", - "type": "http" + "type": "http", + "scheme": "basic" } } }, "info": { + "title": "Twilio - Bulkexports", + "description": "This is the public Twilio REST API.", + "termsOfService": "https://www.twilio.com/legal/tos", "contact": { - "email": "support@twilio.com", "name": "Twilio Support", - "url": "https://support.twilio.com" + "url": "https://support.twilio.com", + "email": "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 - Bulkexports", "version": "1.30.0" }, "openapi": "3.0.1", "paths": { - "/v1/Exports/Jobs/{JobSid}": { - "delete": { - "description": "", - "operationId": "DeleteJob", + "/v1/Exports/{ResourceType}/Days/{Day}": { + "servers": [ + { + "url": "https://bulkexports.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "friendly_name", + "create_date", + "day", + "resource_type", + "size", + "redirectTo" + ], + "pathType": "instance", + "parent": "/Exports" + }, + "get": { + "description": "Fetch a specific Day.", "parameters": [ { - "description": "The unique string that that we created to identify the Bulk Export job", + "name": "ResourceType", "in": "path", - "name": "JobSid", - "required": true, + "description": "The type of communication \u2013 Messages, Calls, Conferences, and Participants", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^JS[0-9a-fA-F]{32}$", "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "description": "TODO: Resource-level docs", - "get": { - "description": "", - "operationId": "FetchJob", - "parameters": [ + }, + "required": true + }, { - "description": "The unique string that that we created to identify the Bulk Export job", + "name": "Day", "in": "path", - "name": "JobSid", - "required": true, + "description": "The ISO 8601 format date of the resources in the file, for a UTC day", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^JS[0-9a-fA-F]{32}$", "type": "string" - } + }, + "required": true } ], "responses": { - "200": { + "307": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/bulkexports.v1.export.job" + "$ref": "#/components/schemas/bulkexports.v1.export.day-instance" } } }, - "description": "OK" + "description": "Temporary Redirect" } }, "security": [ @@ -316,46 +307,51 @@ "accountSid_authToken": [] } ], + "operationId": "FetchDay", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Exports/{ResourceType}/Days": { "servers": [ { "url": "https://bulkexports.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ - "details", - "email", - "end_day", - "estimated_completion_time", "friendly_name", - "job_queue_position", - "job_sid", + "create_date", + "day", "resource_type", - "start_day", - "webhook_method", - "webhook_url" + "size", + "redirectTo" ], - "parent": "/Exports", - "pathType": "instance" - } - }, - "/v1/Exports/{ResourceType}": { - "description": "TODO: Resource-level docs", + "pathType": "list", + "parent": "/Exports" + }, "get": { - "description": "Fetch a specific Export.", - "operationId": "FetchExport", + "description": "Retrieve a list of all Days for a resource.", "parameters": [ { - "description": "The type of communication \u2013 Messages, Calls, Conferences, and Participants", - "in": "path", "name": "ResourceType", - "required": true, + "in": "path", + "description": "The type of communication \u2013 Messages, Calls, Conferences, and Participants", "schema": { "type": "string" + }, + "required": true + }, + { + "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 } } ], @@ -364,7 +360,46 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/bulkexports.v1.export" + "type": "object", + "title": "ListDayResponse", + "properties": { + "days": { + "type": "array", + "items": { + "$ref": "#/components/schemas/bulkexports.v1.export.day" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -376,102 +411,42 @@ "accountSid_authToken": [] } ], + "operationId": "ListDay", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Exports/{ResourceType}": { "servers": [ { "url": "https://bulkexports.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [], "pathType": "instance" - } - }, - "/v1/Exports/{ResourceType}/Configuration": { - "description": "TODO: Resource-level docs", + }, "get": { - "description": "Fetch a specific Export Configuration.", - "operationId": "FetchExportConfiguration", + "description": "Fetch a specific Export.", "parameters": [ { - "description": "The type of communication \u2013 Messages, Calls, Conferences, and Participants", - "in": "path", "name": "ResourceType", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/bulkexports.v1.export_configuration" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "Update a specific Export Configuration.", - "operationId": "UpdateExportConfiguration", - "parameters": [ - { - "description": "The type of communication \u2013 Messages, Calls, Conferences, and Participants", "in": "path", - "name": "ResourceType", - "required": true, + "description": "The type of communication \u2013 Messages, Calls, Conferences, and Participants", "schema": { "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Enabled": { - "description": "If true, Twilio will automatically generate every day's file when the day is over.", - "type": "boolean" - }, - "WebhookMethod": { - "description": "Sets whether Twilio should call a webhook URL when the automatic generation is complete, using GET or POST. The actual destination is set in the webhook_url", - "type": "string" - }, - "WebhookUrl": { - "description": "Stores the URL destination for the method specified in webhook_method.", - "format": "uri", - "type": "string" - } - }, - "title": "UpdateExportConfigurationRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/bulkexports.v1.export_configuration" + "$ref": "#/components/schemas/bulkexports.v1.export" } } }, @@ -483,17 +458,20 @@ "accountSid_authToken": [] } ], + "operationId": "FetchExport", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Exports/{ResourceType}/Configuration": { "servers": [ { "url": "https://bulkexports.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { - "className": "export_configuration", "defaultOutputProperties": [ "enabled", "resource_type", @@ -501,80 +479,28 @@ "webhook_method", "webhook_url" ], - "pathType": "instance" - } - }, - "/v1/Exports/{ResourceType}/Days": { - "description": "TODO: Resource-level docs", + "pathType": "instance", + "className": "export_configuration" + }, "get": { - "description": "Retrieve a list of all Days for a resource.", - "operationId": "ListDay", - "parameters": [ - { - "description": "The type of communication \u2013 Messages, Calls, Conferences, and Participants", - "in": "path", - "name": "ResourceType", - "required": true, - "schema": { - "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" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "days": { - "items": { - "$ref": "#/components/schemas/bulkexports.v1.export.day" - }, - "type": "array" - }, - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - } - }, - "title": "ListDayResponse", - "type": "object" + "description": "Fetch a specific Export Configuration.", + "parameters": [ + { + "name": "ResourceType", + "in": "path", + "description": "The type of communication \u2013 Messages, Calls, Conferences, and Participants", + "schema": { + "type": "string" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/bulkexports.v1.export_configuration" } } }, @@ -586,63 +512,34 @@ "accountSid_authToken": [] } ], + "operationId": "FetchExportConfiguration", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://bulkexports.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "friendly_name", - "create_date", - "day", - "resource_type", - "size", - "redirectTo" - ], - "parent": "/Exports", - "pathType": "list" - } - }, - "/v1/Exports/{ResourceType}/Days/{Day}": { - "description": "TODO: Resource-level docs", - "get": { - "description": "Fetch a specific Day.", - "operationId": "FetchDay", + "post": { + "description": "Update a specific Export Configuration.", "parameters": [ { - "description": "The type of communication \u2013 Messages, Calls, Conferences, and Participants", - "in": "path", "name": "ResourceType", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The ISO 8601 format date of the resources in the file, for a UTC day", "in": "path", - "name": "Day", - "required": true, + "description": "The type of communication \u2013 Messages, Calls, Conferences, and Participants", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { - "307": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/bulkexports.v1.export.day-instance" + "$ref": "#/components/schemas/bulkexports.v1.export_configuration" } } }, - "description": "Temporary Redirect" + "description": "OK" } }, "security": [ @@ -650,51 +547,82 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateExportConfiguration", "x-maturity": [ "GA" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateExportConfigurationRequest", + "properties": { + "Enabled": { + "type": "boolean", + "description": "If true, Twilio will automatically generate every day's file when the day is over." + }, + "WebhookUrl": { + "type": "string", + "format": "uri", + "description": "Stores the URL destination for the method specified in webhook_method." + }, + "WebhookMethod": { + "type": "string", + "description": "Sets whether Twilio should call a webhook URL when the automatic generation is complete, using GET or POST. The actual destination is set in the webhook_url" + } + } + } + } + } + } + } + }, + "/v1/Exports/{ResourceType}/Jobs": { "servers": [ { "url": "https://bulkexports.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ + "details", + "email", + "end_day", + "estimated_completion_time", "friendly_name", - "create_date", - "day", + "job_queue_position", + "job_sid", "resource_type", - "size", - "redirectTo" + "start_day", + "webhook_method", + "webhook_url" ], + "pathType": "list", "parent": "/Exports", - "pathType": "instance" - } - }, - "/v1/Exports/{ResourceType}/Jobs": { - "description": "TODO: Resource-level docs", + "className": "export_custom_job" + }, "get": { "description": "", - "operationId": "ListExportCustomJob", "parameters": [ { - "description": "The type of communication \u2013 Messages, Calls, Conferences, and Participants", - "in": "path", "name": "ResourceType", - "required": true, + "in": "path", + "description": "The type of communication \u2013 Messages, Calls, Conferences, and Participants", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -703,25 +631,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListExportCustomJobResponse", "properties": { "jobs": { + "type": "array", "items": { "$ref": "#/components/schemas/bulkexports.v1.export.export_custom_job" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -730,19 +658,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListExportCustomJobResponse", - "type": "object" + } } } }, @@ -754,93 +682,96 @@ "accountSid_authToken": [] } ], + "operationId": "ListExportCustomJob", "x-maturity": [ "GA" ] }, "post": { "description": "", - "operationId": "CreateExportCustomJob", "parameters": [ { - "description": "The type of communication \u2013 Messages or Calls, Conferences, and Participants", - "in": "path", "name": "ResourceType", - "required": true, + "in": "path", + "description": "The type of communication \u2013 Messages or Calls, Conferences, and Participants", "schema": { "type": "string" - } + }, + "required": true + } + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/bulkexports.v1.export.export_custom_job" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] } ], + "operationId": "CreateExportCustomJob", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateExportCustomJobRequest", "properties": { - "Email": { - "description": "The optional email to send the completion notification to. You can set both webhook, and email, or one or the other. If you set neither, the job will run but you will have to query to determine your job's status.", - "type": "string" + "StartDay": { + "type": "string", + "description": "The start day for the custom export specified as a string in the format of yyyy-mm-dd" }, "EndDay": { - "description": "The end day for the custom export specified as a string in the format of yyyy-mm-dd. End day is inclusive and must be 2 days earlier than the current UTC day.", - "type": "string" + "type": "string", + "description": "The end day for the custom export specified as a string in the format of yyyy-mm-dd. End day is inclusive and must be 2 days earlier than the current UTC day." }, "FriendlyName": { - "description": "The friendly name specified when creating the job", - "type": "string" + "type": "string", + "description": "The friendly name specified when creating the job" }, - "StartDay": { - "description": "The start day for the custom export specified as a string in the format of yyyy-mm-dd", - "type": "string" + "WebhookUrl": { + "type": "string", + "description": "The optional webhook url called on completion of the job. If this is supplied, `WebhookMethod` must also be supplied. If you set neither webhook nor email, you will have to check your job's status manually." }, "WebhookMethod": { - "description": "This is the method used to call the webhook on completion of the job. If this is supplied, `WebhookUrl` must also be supplied.", - "type": "string" + "type": "string", + "description": "This is the method used to call the webhook on completion of the job. If this is supplied, `WebhookUrl` must also be supplied." }, - "WebhookUrl": { - "description": "The optional webhook url called on completion of the job. If this is supplied, `WebhookMethod` must also be supplied. If you set neither webhook nor email, you will have to check your job's status manually.", - "type": "string" + "Email": { + "type": "string", + "description": "The optional email to send the completion notification to. You can set both webhook, and email, or one or the other. If you set neither, the job will run but you will have to query to determine your job's status." } }, "required": [ "StartDay", "EndDay", "FriendlyName" - ], - "title": "CreateExportCustomJobRequest", - "type": "object" + ] } } } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/bulkexports.v1.export.export_custom_job" - } - } - }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, + } + } + }, + "/v1/Exports/Jobs/{JobSid}": { "servers": [ { "url": "https://bulkexports.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { - "className": "export_custom_job", "defaultOutputProperties": [ "details", "email", @@ -854,8 +785,77 @@ "webhook_method", "webhook_url" ], - "parent": "/Exports", - "pathType": "list" + "pathType": "instance", + "parent": "/Exports" + }, + "get": { + "description": "", + "parameters": [ + { + "name": "JobSid", + "in": "path", + "description": "The unique string that that we created to identify the Bulk Export job", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^JS[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/bulkexports.v1.export.job" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "FetchJob", + "x-maturity": [ + "GA" + ] + }, + "delete": { + "description": "", + "parameters": [ + { + "name": "JobSid", + "in": "path", + "description": "The unique string that that we created to identify the Bulk Export job", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^JS[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteJob", + "x-maturity": [ + "GA" + ] } } }, @@ -866,8 +866,8 @@ ], "x-maturity": [ { - "description": "This product is Generally Available.", - "name": "GA" + "name": "GA", + "description": "This product is Generally Available." } ] } \ No newline at end of file diff --git a/spec/json/twilio_chat_v1.json b/spec/json/twilio_chat_v1.json index 1e0a52aa..43205ef5 100644 --- a/spec/json/twilio_chat_v1.json +++ b/spec/json/twilio_chat_v1.json @@ -1,912 +1,825 @@ { "components": { "schemas": { - "chat.v1.credential": { + "chat.v1.service.channel": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", - "format": "date-time", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, - "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", - "format": "date-time", + "service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Service that the resource is associated with" }, "friendly_name": { - "description": "The string that you assigned to describe the resource", + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the resource" }, - "sandbox": { - "description": "[APN only] Whether to send the credential to sandbox APNs", + "unique_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "An application-defined string that uniquely identifies the resource" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "attributes": { + "type": "string", "nullable": true, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" + "description": "The JSON string that stores application-specific data" }, "type": { - "description": "The type of push-notification service the credential is for", + "type": "string", "enum": [ - "gcm", - "apn", - "fcm" + "public", + "private" ], "nullable": true, - "type": "string" - }, - "url": { - "description": "The absolute URL of the Credential resource", - "format": "uri", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "chat.v1.service": { - "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "consumption_report_interval": { - "description": "DEPRECATED", - "nullable": true, - "type": "integer" + "description": "The visibility of the channel. Can be: `public` or `private`" }, "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, - "default_channel_creator_role_sid": { - "description": "The channel role assigned to a channel creator when they join a new channel", - "maxLength": 34, - "minLength": 34, + "created_by": { + "type": "string", "nullable": true, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "description": "The identity of the User that created the channel" }, - "default_channel_role_sid": { - "description": "The channel role assigned to users when they are added to a channel", - "maxLength": 34, - "minLength": 34, + "members_count": { + "type": "integer", "nullable": true, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "description": "The number of Members in the Channel" }, - "default_service_role_sid": { - "description": "The service role assigned to users when they are added to the service", - "maxLength": 34, - "minLength": 34, + "messages_count": { + "type": "integer", "nullable": true, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "description": "The number of Messages in the Channel" }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", + "url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "string" - }, - "limits": { - "description": "An object that describes the limits of the service instance", - "nullable": true + "description": "The absolute URL of the Channel resource" }, "links": { - "description": "The absolute URLs of the Service's Channels, Roles, and Users", + "type": "object", "format": "uri-map", "nullable": true, - "type": "object" - }, - "notifications": { - "description": "The notification configuration for the Service instance", - "nullable": true + "description": "Absolute URLs to access the Members, Messages , Invites and, if it exists, the last Message for the Channel" + } + } + }, + "chat.v1.credential": { + "type": "object", + "properties": { + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique string that identifies the resource" }, - "post_webhook_url": { - "description": "The URL for post-event webhooks", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, - "pre_webhook_url": { - "description": "The webhook URL for pre-event webhooks", + "friendly_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the resource" }, - "reachability_enabled": { - "description": "Whether the Reachability Indicator feature is enabled for this Service instance", + "type": { + "type": "string", + "enum": [ + "gcm", + "apn", + "fcm" + ], "nullable": true, - "type": "boolean" + "description": "The type of push-notification service the credential is for" }, - "read_status_enabled": { - "description": "Whether the Message Consumption Horizon feature is enabled", + "sandbox": { + "type": "string", "nullable": true, - "type": "boolean" + "description": "[APN only] Whether to send the credential to sandbox APNs" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was created" }, - "typing_indicator_timeout": { - "description": "How long in seconds to wait before assuming the user is no longer typing", + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "integer" + "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, "url": { - "description": "The absolute URL of the Service resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" - }, - "webhook_filters": { - "description": "The list of WebHook events that are enabled for this Service instance", - "items": { - "type": "string" - }, - "nullable": true, - "type": "array" - }, - "webhook_method": { - "description": "The HTTP method to use for both PRE and POST webhooks", - "nullable": true, - "type": "string" - }, - "webhooks": { - "description": "An object that contains information about the webhooks configured for this service", - "nullable": true + "description": "The absolute URL of the Credential resource" } - }, - "type": "object" + } }, - "chat.v1.service.channel": { + "chat.v1.service.channel.invite": { + "type": "object", "properties": { + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IN[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique string that identifies the resource" + }, "account_sid": { - "description": "The SID of the Account that created the resource", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "channel_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Channel the new resource belongs to" }, - "attributes": { - "description": "The JSON string that stores application-specific data", + "service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Service that the resource is associated with" }, - "created_by": { - "description": "The identity of the User that created the channel", + "identity": { + "type": "string", "nullable": true, - "type": "string" + "description": "The string that identifies the resource's User" }, "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" - }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", - "nullable": true, - "type": "string" - }, - "links": { - "description": "Absolute URLs to access the Members, Messages , Invites and, if it exists, the last Message for the Channel", - "format": "uri-map", - "nullable": true, - "type": "object" - }, - "members_count": { - "description": "The number of Members in the Channel", - "nullable": true, - "type": "integer" + "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, - "messages_count": { - "description": "The number of Messages in the Channel", - "nullable": true, - "type": "integer" - }, - "service_sid": { - "description": "The SID of the Service that the resource is associated with", - "maxLength": 34, + "role_sid": { + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - }, - "sid": { - "description": "The unique string that identifies the resource", "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" - }, - "type": { - "description": "The visibility of the channel. Can be: `public` or `private`", - "enum": [ - "public", - "private" - ], + "pattern": "^RL[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Role assigned to the member" }, - "unique_name": { - "description": "An application-defined string that uniquely identifies the resource", + "created_by": { + "type": "string", "nullable": true, - "type": "string" + "description": "The identity of the User that created the invite" }, "url": { - "description": "The absolute URL of the Channel resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Invite resource" } - }, - "type": "object" + } }, - "chat.v1.service.channel.invite": { + "chat.v1.service.channel.member": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^MB[0-9a-fA-F]{32}$", "nullable": true, + "description": "The unique string that identifies the resource" + }, + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "channel_sid": { - "description": "The SID of the Channel the new resource belongs to", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique ID of the Channel for the member" + }, + "service_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Service that the resource is associated with" }, - "created_by": { - "description": "The identity of the User that created the invite", + "identity": { + "type": "string", "nullable": true, - "type": "string" + "description": "The string that identifies the resource's User" }, "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" - }, - "identity": { - "description": "The string that identifies the resource's User", - "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, "role_sid": { - "description": "The SID of the Role assigned to the member", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Role assigned to the member" }, - "service_sid": { - "description": "The SID of the Service that the resource is associated with", - "maxLength": 34, - "minLength": 34, + "last_consumed_message_index": { + "type": "integer", "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The index of the last Message that the Member has read within the Channel" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "last_consumption_timestamp": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^IN[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO 8601 based timestamp string that represents the date-time of the last Message read event for the Member within the Channel" }, "url": { - "description": "The absolute URL of the Invite resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Member resource" } - }, - "type": "object" + } }, - "chat.v1.service.channel.member": { + "chat.v1.service.channel.message": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^IM[0-9a-fA-F]{32}$", "nullable": true, + "description": "The unique string that identifies the resource" + }, + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, - "channel_sid": { - "description": "The unique ID of the Channel for the member", + "attributes": { + "type": "string", + "nullable": true, + "description": "The JSON string that stores application-specific data" + }, + "service_sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Service that the resource is associated with" + }, + "to": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$", "nullable": true, + "description": "The SID of the Channel that the message was sent to" + }, + "channel_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique ID of the Channel the Message resource belongs to" }, "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, - "identity": { - "description": "The string that identifies the resource's User", + "was_edited": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Whether the message has been edited since it was created" }, - "last_consumed_message_index": { - "description": "The index of the last Message that the Member has read within the Channel", + "from": { + "type": "string", "nullable": true, - "type": "integer" + "description": "The identity of the message's author" }, - "last_consumption_timestamp": { - "description": "The ISO 8601 based timestamp string that represents the date-time of the last Message read event for the Member within the Channel", - "format": "date-time", + "body": { + "type": "string", "nullable": true, - "type": "string" + "description": "The content of the message" }, - "role_sid": { - "description": "The SID of the Role assigned to the member", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - }, - "service_sid": { - "description": "The SID of the Service that the resource is associated with", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "index": { + "type": "integer", "nullable": true, - "pattern": "^MB[0-9a-fA-F]{32}$", - "type": "string" + "description": "The index of the message within the Channel" }, "url": { - "description": "The absolute URL of the Member resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Message resource" } - }, - "type": "object" + } }, - "chat.v1.service.channel.message": { + "chat.v1.service.role": { + "type": "object", "properties": { + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique string that identifies the resource" + }, "account_sid": { - "description": "The SID of the Account that created the resource", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "service_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Service that the resource is associated with" }, - "attributes": { - "description": "The JSON string that stores application-specific data", + "friendly_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the resource" }, - "body": { - "description": "The content of the message", + "type": { + "type": "string", + "enum": [ + "channel", + "deployment" + ], "nullable": true, - "type": "string" + "description": "The type of role" }, - "channel_sid": { - "description": "The unique ID of the Channel the Message resource belongs to", - "maxLength": 34, - "minLength": 34, + "permissions": { + "type": "array", + "items": { + "type": "string" + }, "nullable": true, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" + "description": "An array of the permissions the role has been granted" }, "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, - "from": { - "description": "The identity of the message's author", + "url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "string" - }, - "index": { - "description": "The index of the message within the Channel", + "description": "The absolute URL of the Role resource" + } + } + }, + "chat.v1.service": { + "type": "object", + "properties": { + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, - "type": "integer" + "description": "The unique string that identifies the resource" }, - "service_sid": { - "description": "The SID of the Service that the resource is associated with", - "maxLength": 34, + "account_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Account that created the resource" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "friendly_name": { + "type": "string", + "nullable": true, + "description": "The string that you assigned to describe the resource" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The RFC 2822 date and time in GMT when the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The RFC 2822 date and time in GMT when the resource was last updated" + }, + "default_service_role_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^IM[0-9a-fA-F]{32}$", - "type": "string" + "description": "The service role assigned to users when they are added to the service" }, - "to": { - "description": "The SID of the Channel that the message was sent to", + "default_channel_role_sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The channel role assigned to users when they are added to a channel" + }, + "default_channel_creator_role_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" + "description": "The channel role assigned to a channel creator when they join a new channel" }, - "url": { - "description": "The absolute URL of the Message resource", - "format": "uri", + "read_status_enabled": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Whether the Message Consumption Horizon feature is enabled" }, - "was_edited": { - "description": "Whether the message has been edited since it was created", + "reachability_enabled": { + "type": "boolean", "nullable": true, - "type": "boolean" - } - }, - "type": "object" - }, - "chat.v1.service.role": { - "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, - "minLength": 34, + "description": "Whether the Reachability Indicator feature is enabled for this Service instance" + }, + "typing_indicator_timeout": { + "type": "integer", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "How long in seconds to wait before assuming the user is no longer typing" }, - "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", - "format": "date-time", + "consumption_report_interval": { + "type": "integer", "nullable": true, - "type": "string" + "description": "DEPRECATED" }, - "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", - "format": "date-time", + "limits": { "nullable": true, - "type": "string" + "description": "An object that describes the limits of the service instance" }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", + "webhooks": { "nullable": true, - "type": "string" + "description": "An object that contains information about the webhooks configured for this service" }, - "permissions": { - "description": "An array of the permissions the role has been granted", - "items": { - "type": "string" - }, + "pre_webhook_url": { + "type": "string", "nullable": true, - "type": "array" + "description": "The webhook URL for pre-event webhooks" }, - "service_sid": { - "description": "The SID of the Service that the resource is associated with", - "maxLength": 34, - "minLength": 34, + "post_webhook_url": { + "type": "string", "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The URL for post-event webhooks" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "webhook_method": { + "type": "string", "nullable": true, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "description": "The HTTP method to use for both PRE and POST webhooks" }, - "type": { - "description": "The type of role", - "enum": [ - "channel", - "deployment" - ], + "webhook_filters": { + "type": "array", + "items": { + "type": "string" + }, "nullable": true, - "type": "string" + "description": "The list of WebHook events that are enabled for this Service instance" + }, + "notifications": { + "nullable": true, + "description": "The notification configuration for the Service instance" }, "url": { - "description": "The absolute URL of the Role resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Service resource" + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "The absolute URLs of the Service's Channels, Roles, and Users" } - }, - "type": "object" + } }, "chat.v1.service.user": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^US[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "attributes": { - "description": "The JSON string that stores application-specific data", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, - "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", - "format": "date-time", + "service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Service that the resource is associated with" }, - "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", - "format": "date-time", + "attributes": { + "type": "string", "nullable": true, - "type": "string" + "description": "The JSON string that stores application-specific data" }, "friendly_name": { - "description": "The string that you assigned to describe the resource", + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the resource" }, - "identity": { - "description": "The string that identifies the resource's User", + "role_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the assigned to the user" }, - "is_notifiable": { - "description": "Whether the User has a potentially valid Push Notification registration for the Service instance", + "identity": { + "type": "string", "nullable": true, - "type": "boolean" + "description": "The string that identifies the resource's User" }, "is_online": { - "description": "Whether the User is actively connected to the Service instance and online", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Whether the User is actively connected to the Service instance and online" }, - "joined_channels_count": { - "description": "The number of Channels this User is a Member of", + "is_notifiable": { + "type": "boolean", "nullable": true, - "type": "integer" + "description": "Whether the User has a potentially valid Push Notification registration for the Service instance" }, - "links": { - "description": "The absolute URLs of the Channel and Binding resources related to the user", - "format": "uri-map", + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "object" + "description": "The RFC 2822 date and time in GMT when the resource was created" }, - "role_sid": { - "description": "The SID of the assigned to the user", - "maxLength": 34, - "minLength": 34, + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, - "service_sid": { - "description": "The SID of the Service that the resource is associated with", - "maxLength": 34, - "minLength": 34, + "joined_channels_count": { + "type": "integer", "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The number of Channels this User is a Member of" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "links": { + "type": "object", + "format": "uri-map", "nullable": true, - "pattern": "^US[0-9a-fA-F]{32}$", - "type": "string" + "description": "The absolute URLs of the Channel and Binding resources related to the user" }, "url": { - "description": "The absolute URL of the User resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the User resource" } - }, - "type": "object" + } }, "chat.v1.service.user.user_channel": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "service_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Service that the resource is associated with" }, "channel_sid": { - "description": "The SID of the Channel the resource belongs to", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" - }, - "last_consumed_message_index": { - "description": "The index of the last Message in the Channel the Member has read", - "nullable": true, - "type": "integer" - }, - "links": { - "description": "Absolute URLs to access the Members, Messages , Invites and, if it exists, the last Message for the Channel", - "format": "uri-map", "nullable": true, - "type": "object" + "description": "The SID of the Channel the resource belongs to" }, "member_sid": { - "description": "The SID of the User as a Member in the Channel", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^MB[0-9a-fA-F]{32}$", - "type": "string" - }, - "service_sid": { - "description": "The SID of the Service that the resource is associated with", "maxLength": 34, - "minLength": 34, + "pattern": "^MB[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the User as a Member in the Channel" }, "status": { - "description": "The status of the User on the Channel", + "type": "string", "enum": [ "joined", "invited", "not_participating" ], "nullable": true, - "type": "string" + "description": "The status of the User on the Channel" + }, + "last_consumed_message_index": { + "type": "integer", + "nullable": true, + "description": "The index of the last Message in the Channel the Member has read" }, "unread_messages_count": { - "description": "The number of unread Messages in the Channel for the User", + "type": "integer", + "nullable": true, + "description": "The number of unread Messages in the Channel for the User" + }, + "links": { + "type": "object", + "format": "uri-map", "nullable": true, - "type": "integer" + "description": "Absolute URLs to access the Members, Messages , Invites and, if it exists, the last Message for the Channel" } - }, - "type": "object" + } } }, "securitySchemes": { "accountSid_authToken": { - "scheme": "basic", - "type": "http" + "type": "http", + "scheme": "basic" } } }, "info": { + "title": "Twilio - Chat", + "description": "This is the public Twilio REST API.", + "termsOfService": "https://www.twilio.com/legal/tos", "contact": { - "email": "support@twilio.com", "name": "Twilio Support", - "url": "https://support.twilio.com" + "url": "https://support.twilio.com", + "email": "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 - Chat", "version": "1.30.0" }, "openapi": "3.0.1", "paths": { - "/v1/Credentials": { - "description": "Credentials for push notifications channels", - "get": { - "description": "", - "operationId": "ListCredential", - "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" - } - } + "/v1/Services/{ServiceSid}/Channels/{Sid}": { + "servers": [ + { + "url": "https://chat.twilio.com" + } + ], + "description": "Channels represent chat rooms", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "unique_name", + "friendly_name" ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "credentials": { - "items": { - "$ref": "#/components/schemas/chat.v1.credential" - }, - "type": "array" - }, - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - } - }, - "title": "ListCredentialResponse", - "type": "object" - } - } + "pathType": "instance", + "parent": "/Services" + }, + "get": { + "description": "", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to fetch the resource from.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" }, - "description": "OK" - } - }, - "security": [ + "required": true + }, { - "accountSid_authToken": [] + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Channel resource to fetch.", + "schema": { + "type": "string" + }, + "required": true } ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "", - "operationId": "CreateCredential", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "ApiKey": { - "description": "[GCM only] The API key for the project that was obtained from the Google Developer console for your GCM Service application credential.", - "type": "string" - }, - "Certificate": { - "description": "[APN only] The URL encoded representation of the certificate. For example, \n`-----BEGIN CERTIFICATE-----\nMIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV.....A==\n-----END CERTIFICATE-----`", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the new resource. It can be up to 64 characters long.", - "type": "string" - }, - "PrivateKey": { - "description": "[APN only] The URL encoded representation of the private key. For example,\n`-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fGgvCI1l9s+cmBY3WIz+cUDqmxiieR.\n-----END RSA PRIVATE KEY-----`", - "type": "string" - }, - "Sandbox": { - "description": "[APN only] Whether to send the credential to sandbox APNs. Can be `true` to send to sandbox APNs or `false` to send to production.", - "type": "boolean" - }, - "Secret": { - "description": "[FCM only] The **Server key** of your project from the Firebase console, found under Settings / Cloud messaging.", - "type": "string" - }, - "Type": { - "description": "The type of push-notification service the credential is for. Can be: `gcm`, `fcm`, or `apn`.", - "enum": [ - "gcm", - "apn", - "fcm" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "title": "CreateCredentialRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/chat.v1.credential" + "$ref": "#/components/schemas/chat.v1.service.channel" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -914,40 +827,34 @@ "accountSid_authToken": [] } ], + "operationId": "FetchChannel", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://chat.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "type" - ], - "pathType": "list" - } - }, - "/v1/Credentials/{Sid}": { "delete": { "description": "", - "operationId": "DeleteCredential", "parameters": [ { - "description": "The Twilio-provided string that uniquely identifies the Credential resource to delete.", + "name": "ServiceSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to delete the resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Channel resource to delete.", + "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -960,26 +867,34 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteChannel", "x-maturity": [ "GA" ] }, - "description": "Credentials for push notifications channels", - "get": { + "post": { "description": "", - "operationId": "FetchCredential", "parameters": [ { - "description": "The Twilio-provided string that uniquely identifies the Credential resource to fetch.", + "name": "ServiceSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to update the resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Channel resource to update.", + "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -987,7 +902,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/chat.v1.credential" + "$ref": "#/components/schemas/chat.v1.service.channel" } } }, @@ -999,73 +914,78 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateChannel", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "", - "operationId": "UpdateCredential", - "parameters": [ - { - "description": "The Twilio-provided string that uniquely identifies the Credential resource to update.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateChannelRequest", "properties": { - "ApiKey": { - "description": "[GCM only] The API key for the project that was obtained from the Google Developer console for your GCM Service application credential.", - "type": "string" - }, - "Certificate": { - "description": "[APN only] The URL encoded representation of the certificate. For example, \n`-----BEGIN CERTIFICATE-----\nMIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV.....A==\n-----END CERTIFICATE-----`", - "type": "string" - }, "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long.", - "type": "string" - }, - "PrivateKey": { - "description": "[APN only] The URL encoded representation of the private key. For example,\n`-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fGgvCI1l9s+cmBY3WIz+cUDqmxiieR.\n-----END RSA PRIVATE KEY-----`", - "type": "string" + "type": "string", + "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long." }, - "Sandbox": { - "description": "[APN only] Whether to send the credential to sandbox APNs. Can be `true` to send to sandbox APNs or `false` to send to production.", - "type": "boolean" + "UniqueName": { + "type": "string", + "description": "An application-defined string that uniquely identifies the resource. It can be used to address the resource in place of the resource's `sid` in the URL. This value must be 64 characters or less in length and be unique within the Service." }, - "Secret": { - "description": "[FCM only] The **Server key** of your project from the Firebase console, found under Settings / Cloud messaging.", - "type": "string" + "Attributes": { + "type": "string", + "description": "A valid JSON string that contains application-specific data." } - }, - "title": "UpdateCredentialRequest", - "type": "object" + } } } } - }, + } + } + }, + "/v1/Services/{ServiceSid}/Channels": { + "servers": [ + { + "url": "https://chat.twilio.com" + } + ], + "description": "Channels represent chat rooms", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "unique_name", + "friendly_name" + ], + "pathType": "list", + "parent": "/Services" + }, + "post": { + "description": "", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to create the resource under.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + } + ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/chat.v1.credential" + "$ref": "#/components/schemas/chat.v1.service.channel" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -1073,38 +993,81 @@ "accountSid_authToken": [] } ], + "operationId": "CreateChannel", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://chat.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "type" ], - "pathType": "instance" - } - }, - "/v1/Services": { - "description": "Top level scope for all chat resources", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateChannelRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the new resource. It can be up to 64 characters long." + }, + "UniqueName": { + "type": "string", + "description": "An application-defined string that uniquely identifies the resource. It can be used to address the resource in place of the resource's `sid` in the URL. This value must be 64 characters or less in length and be unique within the Service." + }, + "Attributes": { + "type": "string", + "description": "A valid JSON string that contains application-specific data." + }, + "Type": { + "type": "string", + "enum": [ + "public", + "private" + ], + "description": "The visibility of the channel. Can be: `public` or `private` and defaults to `public`." + } + } + } + } + } + } + }, "get": { "description": "", - "operationId": "ListService", "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", + "name": "ServiceSid", + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to read the resources from.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Type", "in": "query", + "description": "The visibility of the Channels to read. Can be: `public` or `private` and defaults to `public`.", + "schema": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "public", + "private" + ] + } + } + }, + { "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1113,19 +1076,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListChannelResponse", "properties": { + "channels": { + "type": "array", + "items": { + "$ref": "#/components/schemas/chat.v1.service.channel" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1134,72 +1103,23 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "services": { - "items": { - "$ref": "#/components/schemas/chat.v1.service" - }, - "type": "array" + } } - }, - "title": "ListServiceResponse", - "type": "object" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "", - "operationId": "CreateService", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long.", - "type": "string" } - }, - "required": [ - "FriendlyName" - ], - "title": "CreateServiceRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/chat.v1.service" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -1207,65 +1127,38 @@ "accountSid_authToken": [] } ], + "operationId": "ListChannel", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Credentials": { "servers": [ { "url": "https://chat.twilio.com" } ], + "description": "Credentials for push notifications channels", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name", - "date_created" + "type" ], "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Channels": { - "description": "Channels represent chat rooms", + }, "get": { "description": "", - "operationId": "ListChannel", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to read the resources from.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The visibility of the Channels to read. Can be: `public` or `private` and defaults to `public`.", + "name": "PageSize", "in": "query", - "name": "Type", - "schema": { - "items": { - "enum": [ - "public", - "private" - ], - "type": "string" - }, - "type": "array" - } - }, - { "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, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1274,25 +1167,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListCredentialResponse", "properties": { - "channels": { + "credentials": { + "type": "array", "items": { - "$ref": "#/components/schemas/chat.v1.service.channel" - }, - "type": "array" + "$ref": "#/components/schemas/chat.v1.credential" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1301,19 +1194,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListChannelResponse", - "type": "object" + } } } }, @@ -1325,65 +1218,19 @@ "accountSid_authToken": [] } ], + "operationId": "ListCredential", "x-maturity": [ "GA" ] }, "post": { "description": "", - "operationId": "CreateChannel", - "parameters": [ - { - "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to create the resource under.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Attributes": { - "description": "A valid JSON string that contains application-specific data.", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the new resource. It can be up to 64 characters long.", - "type": "string" - }, - "Type": { - "description": "The visibility of the channel. Can be: `public` or `private` and defaults to `public`.", - "enum": [ - "public", - "private" - ], - "type": "string" - }, - "UniqueName": { - "description": "An application-defined string that uniquely identifies the resource. It can be used to address the resource in place of the resource's `sid` in the URL. This value must be 64 characters or less in length and be unique within the Service.", - "type": "string" - } - }, - "title": "CreateChannelRequest", - "type": "object" - } - } - } - }, "responses": { "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/chat.v1.service.channel" + "$ref": "#/components/schemas/chat.v1.credential" } } }, @@ -1395,72 +1242,89 @@ "accountSid_authToken": [] } ], + "operationId": "CreateCredential", "x-maturity": [ "GA" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateCredentialRequest", + "properties": { + "Type": { + "type": "string", + "enum": [ + "gcm", + "apn", + "fcm" + ], + "description": "The type of push-notification service the credential is for. Can be: `gcm`, `fcm`, or `apn`." + }, + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the new resource. It can be up to 64 characters long." + }, + "Certificate": { + "type": "string", + "description": "[APN only] The URL encoded representation of the certificate. For example, \n`-----BEGIN CERTIFICATE-----\nMIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV.....A==\n-----END CERTIFICATE-----`" + }, + "PrivateKey": { + "type": "string", + "description": "[APN only] The URL encoded representation of the private key. For example,\n`-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fGgvCI1l9s+cmBY3WIz+cUDqmxiieR.\n-----END RSA PRIVATE KEY-----`" + }, + "Sandbox": { + "type": "boolean", + "description": "[APN only] Whether to send the credential to sandbox APNs. Can be `true` to send to sandbox APNs or `false` to send to production." + }, + "ApiKey": { + "type": "string", + "description": "[GCM only] The API key for the project that was obtained from the Google Developer console for your GCM Service application credential." + }, + "Secret": { + "type": "string", + "description": "[FCM only] The **Server key** of your project from the Firebase console, found under Settings / Cloud messaging." + } + }, + "required": [ + "Type" + ] + } + } + } + } + } + }, + "/v1/Credentials/{Sid}": { "servers": [ { "url": "https://chat.twilio.com" } ], + "description": "Credentials for push notifications channels", "x-twilio": { "defaultOutputProperties": [ "sid", - "unique_name", - "friendly_name" + "friendly_name", + "type" ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Channels/{ChannelSid}/Invites": { - "description": "Pending invitations to users to become channel members", + "pathType": "instance" + }, "get": { "description": "", - "operationId": "ListInvite", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to read the resources from.", + "name": "Sid", "in": "path", - "name": "ServiceSid", - "required": true, + "description": "The Twilio-provided string that uniquely identifies the Credential resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the resources to read belong to.", - "in": "path", - "name": "ChannelSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The [User](https://www.twilio.com/docs/api/chat/rest/v1/user)'s `identity` value of the resources to read. See [access tokens](https://www.twilio.com/docs/api/chat/guides/create-tokens) for more details.", - "in": "query", - "name": "Identity", - "schema": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - { - "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" - } + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1468,46 +1332,7 @@ "content": { "application/json": { "schema": { - "properties": { - "invites": { - "items": { - "$ref": "#/components/schemas/chat.v1.service.channel.invite" - }, - "type": "array" - }, - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - } - }, - "title": "ListInviteResponse", - "type": "object" + "$ref": "#/components/schemas/chat.v1.credential" } } }, @@ -1519,72 +1344,104 @@ "accountSid_authToken": [] } ], + "operationId": "FetchCredential", "x-maturity": [ "GA" ] }, "post": { "description": "", - "operationId": "CreateInvite", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to create the resource under.", + "name": "Sid", "in": "path", - "name": "ServiceSid", - "required": true, + "description": "The Twilio-provided string that uniquely identifies the Credential resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/chat.v1.credential" + } + } + }, + "description": "OK" + } + }, + "security": [ { - "description": "The SID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the new resource belongs to.", - "in": "path", - "name": "ChannelSid", - "required": true, - "schema": { - "type": "string" - } + "accountSid_authToken": [] } ], + "operationId": "UpdateCredential", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateCredentialRequest", "properties": { - "Identity": { - "description": "The `identity` value that uniquely identifies the new resource's [User](https://www.twilio.com/docs/api/chat/rest/v1/user) within the [Service](https://www.twilio.com/docs/api/chat/rest/v1/service). See [access tokens](https://www.twilio.com/docs/api/chat/guides/create-tokens) for more info.", - "type": "string" + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long." }, - "RoleSid": { - "description": "The SID of the [Role](https://www.twilio.com/docs/api/chat/rest/roles) assigned to the new member.", - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "Certificate": { + "type": "string", + "description": "[APN only] The URL encoded representation of the certificate. For example, \n`-----BEGIN CERTIFICATE-----\nMIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV.....A==\n-----END CERTIFICATE-----`" + }, + "PrivateKey": { + "type": "string", + "description": "[APN only] The URL encoded representation of the private key. For example,\n`-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fGgvCI1l9s+cmBY3WIz+cUDqmxiieR.\n-----END RSA PRIVATE KEY-----`" + }, + "Sandbox": { + "type": "boolean", + "description": "[APN only] Whether to send the credential to sandbox APNs. Can be `true` to send to sandbox APNs or `false` to send to production." + }, + "ApiKey": { + "type": "string", + "description": "[GCM only] The API key for the project that was obtained from the Google Developer console for your GCM Service application credential." + }, + "Secret": { + "type": "string", + "description": "[FCM only] The **Server key** of your project from the Firebase console, found under Settings / Cloud messaging." } - }, - "required": [ - "Identity" - ], - "title": "CreateInviteRequest", - "type": "object" + } } } } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/chat.v1.service.channel.invite" - } - } + } + }, + "delete": { + "description": "", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Credential resource to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$" }, - "description": "Created" + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -1592,67 +1449,75 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteCredential", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Services/{ServiceSid}/Channels/{ChannelSid}/Invites/{Sid}": { "servers": [ { "url": "https://chat.twilio.com" } ], + "description": "Pending invitations to users to become channel members", "x-twilio": { "defaultOutputProperties": [ "sid", "identity", "date_created" ], - "parent": "/Services/{ServiceSid}/Channels", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Channels/{ChannelSid}/Invites/{Sid}": { - "delete": { + "pathType": "instance", + "parent": "/Services/{ServiceSid}/Channels" + }, + "get": { "description": "", - "operationId": "DeleteInvite", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to delete the resource from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to fetch the resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the resource to delete belongs to.", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "The SID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the resource to fetch belongs to.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Invite resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Invite resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IN[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IN[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/chat.v1.service.channel.invite" + } + } + }, + "description": "OK" } }, "security": [ @@ -1660,59 +1525,51 @@ "accountSid_authToken": [] } ], + "operationId": "FetchInvite", "x-maturity": [ "GA" ] }, - "description": "Pending invitations to users to become channel members", - "get": { + "delete": { "description": "", - "operationId": "FetchInvite", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to fetch the resource from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to delete the resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the resource to fetch belongs to.", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "The SID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the resource to delete belongs to.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Invite resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Invite resource to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IN[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IN[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/chat.v1.service.channel.invite" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -1720,71 +1577,144 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteInvite", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Services/{ServiceSid}/Channels/{ChannelSid}/Invites": { "servers": [ { "url": "https://chat.twilio.com" } ], + "description": "Pending invitations to users to become channel members", "x-twilio": { "defaultOutputProperties": [ "sid", "identity", "date_created" ], - "parent": "/Services/{ServiceSid}/Channels", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/Channels/{ChannelSid}/Members": { - "description": "Users joined to specific channels", - "get": { + "pathType": "list", + "parent": "/Services/{ServiceSid}/Channels" + }, + "post": { "description": "", - "operationId": "ListMember", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to read the resources from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to create the resource under.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "ChannelSid", + "in": "path", + "description": "The SID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the new resource belongs to.", + "schema": { "type": "string" + }, + "required": true + } + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/chat.v1.service.channel.invite" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateInvite", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateInviteRequest", + "properties": { + "Identity": { + "type": "string", + "description": "The `identity` value that uniquely identifies the new resource's [User](https://www.twilio.com/docs/api/chat/rest/v1/user) within the [Service](https://www.twilio.com/docs/api/chat/rest/v1/service). See [access tokens](https://www.twilio.com/docs/api/chat/guides/create-tokens) for more info." + }, + "RoleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "description": "The SID of the [Role](https://www.twilio.com/docs/api/chat/rest/roles) assigned to the new member." + } + }, + "required": [ + "Identity" + ] + } } - }, + } + } + }, + "get": { + "description": "", + "parameters": [ { - "description": "The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the members to read belong to. Can be the Channel resource's `sid` or `unique_name` value.", + "name": "ServiceSid", "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to read the resources from.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { "name": "ChannelSid", - "required": true, + "in": "path", + "description": "The SID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the resources to read belong to.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The [User](https://www.twilio.com/docs/api/chat/rest/v1/user)'s `identity` value of the resources to read. See [access tokens](https://www.twilio.com/docs/api/chat/guides/create-tokens) for more details.", - "in": "query", "name": "Identity", + "in": "query", + "description": "The [User](https://www.twilio.com/docs/api/chat/rest/v1/user)'s `identity` value of the resources to read. See [access tokens](https://www.twilio.com/docs/api/chat/guides/create-tokens) for more details.", "schema": { + "type": "array", "items": { "type": "string" - }, - "type": "array" + } } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1793,25 +1723,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListInviteResponse", "properties": { - "members": { + "invites": { + "type": "array", "items": { - "$ref": "#/components/schemas/chat.v1.service.channel.member" - }, - "type": "array" + "$ref": "#/components/schemas/chat.v1.service.channel.invite" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1820,19 +1750,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListMemberResponse", - "type": "object" + } } } }, @@ -1844,64 +1774,67 @@ "accountSid_authToken": [] } ], + "operationId": "ListInvite", "x-maturity": [ "GA" ] + } + }, + "/v1/Services/{ServiceSid}/Channels/{ChannelSid}/Members/{Sid}": { + "servers": [ + { + "url": "https://chat.twilio.com" + } + ], + "description": "Users joined to specific channels", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "identity", + "date_created" + ], + "pathType": "instance", + "parent": "/Services/{ServiceSid}/Channels" }, - "post": { + "get": { "description": "", - "operationId": "CreateMember", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to create the resource under.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to fetch the resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the new member belongs to. Can be the Channel resource's `sid` or `unique_name`.", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the member to fetch belongs to. Can be the Channel resource's `sid` or `unique_name` value.", "schema": { "type": "string" - } + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Member resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^MB[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Identity": { - "description": "The `identity` value that uniquely identifies the new resource's [User](https://www.twilio.com/docs/api/chat/rest/v1/user) within the [Service](https://www.twilio.com/docs/api/chat/rest/services). See [access tokens](https://www.twilio.com/docs/api/chat/guides/create-tokens) for more details.", - "type": "string" - }, - "RoleSid": { - "description": "The SID of the [Role](https://www.twilio.com/docs/api/chat/rest/roles) to assign to the member. The default roles are those specified on the [Service](https://www.twilio.com/docs/chat/api/services).", - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "required": [ - "Identity" - ], - "title": "CreateMemberRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { @@ -1909,7 +1842,7 @@ } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -1917,62 +1850,46 @@ "accountSid_authToken": [] } ], + "operationId": "FetchMember", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://chat.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "identity", - "date_created" - ], - "parent": "/Services/{ServiceSid}/Channels", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Channels/{ChannelSid}/Members/{Sid}": { "delete": { "description": "", - "operationId": "DeleteMember", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to delete the resource from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to delete the resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the message belongs to. Can be the Channel's `sid` or `unique_name`.", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the message belongs to. Can be the Channel's `sid` or `unique_name`.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Member resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Member resource to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^MB[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^MB[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1985,47 +1902,46 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteMember", "x-maturity": [ "GA" ] }, - "description": "Users joined to specific channels", - "get": { + "post": { "description": "", - "operationId": "FetchMember", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to fetch the resource from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to update the resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the member to fetch belongs to. Can be the Channel resource's `sid` or `unique_name` value.", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the member to update belongs to. Can be the Channel resource's `sid` or `unique_name`.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Member resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Member resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^MB[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^MB[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2045,74 +1961,79 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateMember", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "", - "operationId": "UpdateMember", - "parameters": [ - { - "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to update the resource from.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the member to update belongs to. Can be the Channel resource's `sid` or `unique_name`.", - "in": "path", - "name": "ChannelSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the Member resource to update.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^MB[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateMemberRequest", "properties": { - "LastConsumedMessageIndex": { - "description": "The index of the last [Message](https://www.twilio.com/docs/api/chat/rest/messages) that the Member has read within the [Channel](https://www.twilio.com/docs/api/chat/rest/channels).", - "nullable": true, - "type": "integer" - }, "RoleSid": { - "description": "The SID of the [Role](https://www.twilio.com/docs/api/chat/rest/roles) to assign to the member. The default roles are those specified on the [Service](https://www.twilio.com/docs/chat/api/services).", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the [Role](https://www.twilio.com/docs/api/chat/rest/roles) to assign to the member. The default roles are those specified on the [Service](https://www.twilio.com/docs/chat/api/services)." + }, + "LastConsumedMessageIndex": { + "type": "integer", + "nullable": true, + "description": "The index of the last [Message](https://www.twilio.com/docs/api/chat/rest/messages) that the Member has read within the [Channel](https://www.twilio.com/docs/api/chat/rest/channels)." } - }, - "title": "UpdateMemberRequest", - "type": "object" + } } } } - }, + } + } + }, + "/v1/Services/{ServiceSid}/Channels/{ChannelSid}/Members": { + "servers": [ + { + "url": "https://chat.twilio.com" + } + ], + "description": "Users joined to specific channels", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "identity", + "date_created" + ], + "pathType": "list", + "parent": "/Services/{ServiceSid}/Channels" + }, + "post": { + "description": "", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to create the resource under.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "ChannelSid", + "in": "path", + "description": "The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the new member belongs to. Can be the Channel resource's `sid` or `unique_name`.", + "schema": { + "type": "string" + }, + "required": true + } + ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { @@ -2120,7 +2041,7 @@ } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -2128,75 +2049,80 @@ "accountSid_authToken": [] } ], + "operationId": "CreateMember", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://chat.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "identity", - "date_created" ], - "parent": "/Services/{ServiceSid}/Channels", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/Channels/{ChannelSid}/Messages": { - "description": "Individual chat messages", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateMemberRequest", + "properties": { + "Identity": { + "type": "string", + "description": "The `identity` value that uniquely identifies the new resource's [User](https://www.twilio.com/docs/api/chat/rest/v1/user) within the [Service](https://www.twilio.com/docs/api/chat/rest/services). See [access tokens](https://www.twilio.com/docs/api/chat/guides/create-tokens) for more details." + }, + "RoleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "description": "The SID of the [Role](https://www.twilio.com/docs/api/chat/rest/roles) to assign to the member. The default roles are those specified on the [Service](https://www.twilio.com/docs/chat/api/services)." + } + }, + "required": [ + "Identity" + ] + } + } + } + } + }, "get": { "description": "", - "operationId": "ListMessage", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to read the resources from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to read the resources from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the message to read belongs to. Can be the Channel's `sid` or `unique_name`.", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the members to read belong to. Can be the Channel resource's `sid` or `unique_name` value.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CH[0-9a-fA-F]{32}$", "type": "string" - } + }, + "required": true }, { - "description": "The sort order of the returned messages. Can be: `asc` (ascending) or `desc` (descending) with `asc` as the default.", + "name": "Identity", "in": "query", - "name": "Order", + "description": "The [User](https://www.twilio.com/docs/api/chat/rest/v1/user)'s `identity` value of the resources to read. See [access tokens](https://www.twilio.com/docs/api/chat/guides/create-tokens) for more details.", "schema": { - "enum": [ - "asc", - "desc" - ], - "type": "string" + "type": "array", + "items": { + "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", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -2205,25 +2131,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListMemberResponse", "properties": { - "messages": { + "members": { + "type": "array", "items": { - "$ref": "#/components/schemas/chat.v1.service.channel.message" - }, - "type": "array" + "$ref": "#/components/schemas/chat.v1.service.channel.member" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -2232,19 +2158,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListMessageResponse", - "type": "object" + } } } }, @@ -2256,68 +2182,71 @@ "accountSid_authToken": [] } ], + "operationId": "ListMember", "x-maturity": [ "GA" ] + } + }, + "/v1/Services/{ServiceSid}/Channels/{ChannelSid}/Messages/{Sid}": { + "servers": [ + { + "url": "https://chat.twilio.com" + } + ], + "description": "Individual chat messages", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "from", + "to", + "date_created" + ], + "pathType": "instance", + "parent": "/Services/{ServiceSid}/Channels" }, - "post": { + "get": { "description": "", - "operationId": "CreateMessage", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to create the resource under.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to fetch the resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the new resource belongs to. Can be the Channel resource's `sid` or `unique_name`.", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the message to fetch belongs to. Can be the Channel's `sid` or `unique_name`.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Message resource to fetch.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IM[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Attributes": { - "description": "A valid JSON string that contains application-specific data.", - "type": "string" - }, - "Body": { - "description": "The message to send to the channel. Can also be an empty string or `null`, which sets the value as an empty string. You can send structured data in the body by serializing it as a string.", - "type": "string" - }, - "From": { - "description": "The [identity](https://www.twilio.com/docs/api/chat/guides/identity) of the new message's author. The default value is `system`.", - "type": "string" - } - }, - "required": [ - "Body" - ], - "title": "CreateMessageRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { @@ -2325,7 +2254,7 @@ } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -2333,66 +2262,49 @@ "accountSid_authToken": [] } ], + "operationId": "FetchMessage", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://chat.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "from", - "to", - "date_created" - ], - "parent": "/Services/{ServiceSid}/Channels", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Channels/{ChannelSid}/Messages/{Sid}": { "delete": { "description": "", - "operationId": "DeleteMessage", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to delete the resource from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to delete the resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the message to delete belongs to. Can be the Channel resource's `sid` or `unique_name`.", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the message to delete belongs to. Can be the Channel resource's `sid` or `unique_name`.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Message resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Message resource to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IM[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IM[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2405,50 +2317,49 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteMessage", "x-maturity": [ "GA" ] }, - "description": "Individual chat messages", - "get": { + "post": { "description": "", - "operationId": "FetchMessage", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to fetch the resource from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to update the resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the message to fetch belongs to. Can be the Channel's `sid` or `unique_name`.", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the message belongs to. Can be the Channel's `sid` or `unique_name`.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Message resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Message resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IM[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IM[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2468,97 +2379,39 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateMessage", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "", - "operationId": "UpdateMessage", - "parameters": [ - { - "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to update the resource from.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the message belongs to. Can be the Channel's `sid` or `unique_name`.", - "in": "path", - "name": "ChannelSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the Message resource to update.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IM[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateMessageRequest", "properties": { - "Attributes": { - "description": "A valid JSON string that contains application-specific data.", - "type": "string" - }, "Body": { - "description": "The message to send to the channel. Can also be an empty string or `null`, which sets the value as an empty string. You can send structured data in the body by serializing it as a string.", - "type": "string" + "type": "string", + "description": "The message to send to the channel. Can also be an empty string or `null`, which sets the value as an empty string. You can send structured data in the body by serializing it as a string." + }, + "Attributes": { + "type": "string", + "description": "A valid JSON string that contains application-specific data." } - }, - "title": "UpdateMessageRequest", - "type": "object" - } - } - } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/chat.v1.service.channel.message" } } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] + } } - ], - "x-maturity": [ - "GA" - ] - }, + } + } + }, + "/v1/Services/{ServiceSid}/Channels/{ChannelSid}/Messages": { "servers": [ { "url": "https://chat.twilio.com" } ], + "description": "Individual chat messages", "x-twilio": { "defaultOutputProperties": [ "sid", @@ -2566,40 +2419,47 @@ "to", "date_created" ], - "parent": "/Services/{ServiceSid}/Channels", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/Channels/{Sid}": { - "delete": { + "pathType": "list", + "parent": "/Services/{ServiceSid}/Channels" + }, + "post": { "description": "", - "operationId": "DeleteChannel", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to delete the resource from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to create the resource under.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Channel resource to delete.", + "name": "ChannelSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the new resource belongs to. Can be the Channel resource's `sid` or `unique_name`.", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/chat.v1.service.channel.message" + } + } + }, + "description": "Created" } }, "security": [ @@ -2607,34 +2467,85 @@ "accountSid_authToken": [] } ], + "operationId": "CreateMessage", "x-maturity": [ "GA" - ] + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateMessageRequest", + "properties": { + "Body": { + "type": "string", + "description": "The message to send to the channel. Can also be an empty string or `null`, which sets the value as an empty string. You can send structured data in the body by serializing it as a string." + }, + "From": { + "type": "string", + "description": "The [identity](https://www.twilio.com/docs/api/chat/guides/identity) of the new message's author. The default value is `system`." + }, + "Attributes": { + "type": "string", + "description": "A valid JSON string that contains application-specific data." + } + }, + "required": [ + "Body" + ] + } + } + } + } }, - "description": "Channels represent chat rooms", "get": { "description": "", - "operationId": "FetchChannel", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to fetch the resource from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to read the resources from.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "ChannelSid", + "in": "path", + "description": "The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the message to read belongs to. Can be the Channel's `sid` or `unique_name`.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Order", + "in": "query", + "description": "The sort order of the returned messages. Can be: `asc` (ascending) or `desc` (descending) with `asc` as the default.", + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ] } }, { - "description": "The Twilio-provided string that uniquely identifies the Channel resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, + "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": "string" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], @@ -2643,7 +2554,46 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/chat.v1.service.channel" + "type": "object", + "title": "ListMessageResponse", + "properties": { + "messages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/chat.v1.service.channel.message" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -2655,66 +2605,62 @@ "accountSid_authToken": [] } ], + "operationId": "ListMessage", "x-maturity": [ "GA" ] - }, - "post": { - "description": "", - "operationId": "UpdateChannel", - "parameters": [ - { - "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to update the resource from.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, + } + }, + "/v1/Services/{ServiceSid}/Roles/{Sid}": { + "servers": [ + { + "url": "https://chat.twilio.com" + } + ], + "description": "Roles determining user or member permissions", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "type" + ], + "pathType": "instance", + "parent": "/Services" + }, + "get": { + "description": "", + "parameters": [ { - "description": "The Twilio-provided string that uniquely identifies the Channel resource to update.", + "name": "ServiceSid", "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to fetch the resource from.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Role resource to fetch.", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Attributes": { - "description": "A valid JSON string that contains application-specific data.", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long.", - "type": "string" - }, - "UniqueName": { - "description": "An application-defined string that uniquely identifies the resource. It can be used to address the resource in place of the resource's `sid` in the URL. This value must be 64 characters or less in length and be unique within the Service.", - "type": "string" - } - }, - "title": "UpdateChannelRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/chat.v1.service.channel" + "$ref": "#/components/schemas/chat.v1.service.role" } } }, @@ -2726,103 +2672,42 @@ "accountSid_authToken": [] } ], + "operationId": "FetchRole", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://chat.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "unique_name", - "friendly_name" - ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/Roles": { - "description": "Roles determining user or member permissions", - "get": { + "delete": { "description": "", - "operationId": "ListRole", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to read the resources from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to delete the resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", - "name": "PageSize", + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Role resource to delete.", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "roles": { - "items": { - "$ref": "#/components/schemas/chat.v1.service.role" - }, - "type": "array" - } - }, - "title": "ListRoleResponse", - "type": "object" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -2830,65 +2715,41 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteRole", "x-maturity": [ "GA" ] }, "post": { "description": "", - "operationId": "CreateRole", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to create the resource under.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to update the resource from.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Role resource to update.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "FriendlyName": { - "description": "A descriptive string that you create to describe the new resource. It can be up to 64 characters long.", - "type": "string" - }, - "Permission": { - "description": "A permission that you grant to the new role. Only one permission can be granted per parameter. To assign more than one permission, repeat this parameter for each permission value. The values for this parameter depend on the role's `type` and are described in the documentation.", - "items": { - "type": "string" - }, - "type": "array" - }, - "Type": { - "description": "The type of role. Can be: `channel` for [Channel](https://www.twilio.com/docs/chat/api/channels) roles or `deployment` for [Service](https://www.twilio.com/docs/chat/api/services) roles.", - "enum": [ - "channel", - "deployment" - ], - "type": "string" - } - }, - "required": [ - "FriendlyName", - "Type", - "Permission" - ], - "title": "CreateRoleRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { @@ -2896,7 +2757,7 @@ } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -2904,58 +2765,76 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateRole", "x-maturity": [ "GA" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateRoleRequest", + "properties": { + "Permission": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A permission that you grant to the role. Only one permission can be granted per parameter. To assign more than one permission, repeat this parameter for each permission value. The values for this parameter depend on the role's `type` and are described in the documentation." + } + }, + "required": [ + "Permission" + ] + } + } + } + } + } + }, + "/v1/Services/{ServiceSid}/Roles": { "servers": [ { "url": "https://chat.twilio.com" } ], + "description": "Roles determining user or member permissions", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name", "type" ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Roles/{Sid}": { - "delete": { + "pathType": "list", + "parent": "/Services" + }, + "post": { "description": "", - "operationId": "DeleteRole", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to delete the resource from.", - "in": "path", "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the Role resource to delete.", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to create the resource under.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/chat.v1.service.role" + } + } + }, + "description": "Created" } }, "security": [ @@ -2963,174 +2842,70 @@ "accountSid_authToken": [] } ], + "operationId": "CreateRole", "x-maturity": [ "GA" - ] - }, - "description": "Roles determining user or member permissions", - "get": { - "description": "", - "operationId": "FetchRole", - "parameters": [ - { - "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to fetch the resource from.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the Role resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/chat.v1.service.role" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "", - "operationId": "UpdateRole", - "parameters": [ - { - "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to update the resource from.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the Role resource to update.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateRoleRequest", "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the new resource. It can be up to 64 characters long." + }, + "Type": { + "type": "string", + "enum": [ + "channel", + "deployment" + ], + "description": "The type of role. Can be: `channel` for [Channel](https://www.twilio.com/docs/chat/api/channels) roles or `deployment` for [Service](https://www.twilio.com/docs/chat/api/services) roles." + }, "Permission": { - "description": "A permission that you grant to the role. Only one permission can be granted per parameter. To assign more than one permission, repeat this parameter for each permission value. The values for this parameter depend on the role's `type` and are described in the documentation.", + "type": "array", "items": { "type": "string" }, - "type": "array" + "description": "A permission that you grant to the new role. Only one permission can be granted per parameter. To assign more than one permission, repeat this parameter for each permission value. The values for this parameter depend on the role's `type` and are described in the documentation." } }, "required": [ + "FriendlyName", + "Type", "Permission" - ], - "title": "UpdateRoleRequest", - "type": "object" + ] } } } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/chat.v1.service.role" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://chat.twilio.com" } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "type" - ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/Users": { - "description": "Unique chat users within a chat service", + }, "get": { "description": "", - "operationId": "ListUser", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to read the resources from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to read the resources from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -3139,19 +2914,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListRoleResponse", "properties": { + "roles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/chat.v1.service.role" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -3160,25 +2941,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "users": { - "items": { - "$ref": "#/components/schemas/chat.v1.service.user" - }, - "type": "array" + } } - }, - "title": "ListUserResponse", - "type": "object" + } } } }, @@ -3190,71 +2965,53 @@ "accountSid_authToken": [] } ], + "operationId": "ListRole", "x-maturity": [ "GA" ] + } + }, + "/v1/Services/{Sid}": { + "servers": [ + { + "url": "https://chat.twilio.com" + } + ], + "description": "Top level scope for all chat resources", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "date_created" + ], + "pathType": "instance" }, - "post": { + "get": { "description": "", - "operationId": "CreateUser", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to create the resource under.", + "name": "Sid", "in": "path", - "name": "ServiceSid", - "required": true, + "description": "The Twilio-provided string that uniquely identifies the Service resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Attributes": { - "description": "A valid JSON string that contains application-specific data.", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the new resource. This value is often used for display purposes.", - "type": "string" - }, - "Identity": { - "description": "The `identity` value that uniquely identifies the new resource's [User](https://www.twilio.com/docs/api/chat/rest/v1/user) within the [Service](https://www.twilio.com/docs/api/chat/rest/v1/service). This value is often a username or email address. See the Identity documentation for more details.", - "type": "string" - }, - "RoleSid": { - "description": "The SID of the [Role](https://www.twilio.com/docs/api/chat/rest/roles) assigned to the new User.", - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "required": [ - "Identity" - ], - "title": "CreateUserRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/chat.v1.service.user" + "$ref": "#/components/schemas/chat.v1.service" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -3262,50 +3019,25 @@ "accountSid_authToken": [] } ], + "operationId": "FetchService", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://chat.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "date_created" - ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Users/{Sid}": { "delete": { "description": "", - "operationId": "DeleteUser", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to delete the resource from.", + "name": "Sid", "in": "path", - "name": "ServiceSid", - "required": true, + "description": "The Twilio-provided string that uniquely identifies the Service resource to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the User resource to delete.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -3318,35 +3050,25 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteService", "x-maturity": [ "GA" ] }, - "description": "Unique chat users within a chat service", - "get": { + "post": { "description": "", - "operationId": "FetchUser", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to fetch the resource from.", + "name": "Sid", "in": "path", - "name": "ServiceSid", - "required": true, + "description": "The Twilio-provided string that uniquely identifies the Service resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the User resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -3354,7 +3076,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/chat.v1.service.user" + "$ref": "#/components/schemas/chat.v1.service" } } }, @@ -3366,405 +3088,146 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateService", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "", - "operationId": "UpdateUser", - "parameters": [ - { - "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to update the resource from.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the User resource to update.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateServiceRequest", "properties": { - "Attributes": { - "description": "A valid JSON string that contains application-specific data.", - "type": "string" - }, "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It is often used for display purposes.", - "type": "string" + "type": "string", + "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long." }, - "RoleSid": { - "description": "The SID of the [Role](https://www.twilio.com/docs/api/chat/rest/roles) assigned to this user.", + "DefaultServiceRoleSid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "description": "The service role assigned to users when they are added to the service. See the [Roles endpoint](https://www.twilio.com/docs/chat/api/roles) for more details." + }, + "DefaultChannelRoleSid": { + "type": "string", "minLength": 34, + "maxLength": 34, "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "title": "UpdateUserRequest", - "type": "object" - } - } - } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/chat.v1.service.user" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://chat.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "date_created" - ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/Users/{UserSid}/Channels": { - "description": "TODO: Resource-level docs", - "get": { - "description": "List all Channels for a given User.", - "operationId": "ListUserChannel", - "parameters": [ - { - "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to read the resources from.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the [User](https://www.twilio.com/docs/api/chat/rest/users) to read the User Channel resources from.", - "in": "path", - "name": "UserSid", - "required": true, - "schema": { - "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" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "channels": { - "items": { - "$ref": "#/components/schemas/chat.v1.service.user.user_channel" - }, - "type": "array" + "description": "The channel role assigned to users when they are added to a channel. See the [Roles endpoint](https://www.twilio.com/docs/chat/api/roles) for more details." + }, + "DefaultChannelCreatorRoleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "description": "The channel role assigned to a channel creator when they join a new channel. See the [Roles endpoint](https://www.twilio.com/docs/chat/api/roles) for more details." + }, + "ReadStatusEnabled": { + "type": "boolean", + "description": "Whether to enable the [Message Consumption Horizon](https://www.twilio.com/docs/chat/consumption-horizon) feature. The default is `true`." + }, + "ReachabilityEnabled": { + "type": "boolean", + "description": "Whether to enable the [Reachability Indicator](https://www.twilio.com/docs/chat/reachability-indicator) for this Service instance. The default is `false`." + }, + "TypingIndicatorTimeout": { + "type": "integer", + "description": "How long in seconds after a `started typing` event until clients should assume that user is no longer typing, even if no `ended typing` message was received. The default is 5 seconds." + }, + "ConsumptionReportInterval": { + "type": "integer", + "description": "DEPRECATED. The interval in seconds between consumption reports submission batches from client endpoints." + }, + "Notifications.NewMessage.Enabled": { + "type": "boolean", + "description": "Whether to send a notification when a new message is added to a channel. Can be: `true` or `false` and the default is `false`." + }, + "Notifications.NewMessage.Template": { + "type": "string", + "description": "The template to use to create the notification text displayed when a new message is added to a channel and `notifications.new_message.enabled` is `true`." + }, + "Notifications.AddedToChannel.Enabled": { + "type": "boolean", + "description": "Whether to send a notification when a member is added to a channel. Can be: `true` or `false` and the default is `false`." + }, + "Notifications.AddedToChannel.Template": { + "type": "string", + "description": "The template to use to create the notification text displayed when a member is added to a channel and `notifications.added_to_channel.enabled` is `true`." + }, + "Notifications.RemovedFromChannel.Enabled": { + "type": "boolean", + "description": "Whether to send a notification to a user when they are removed from a channel. Can be: `true` or `false` and the default is `false`." + }, + "Notifications.RemovedFromChannel.Template": { + "type": "string", + "description": "The template to use to create the notification text displayed to a user when they are removed from a channel and `notifications.removed_from_channel.enabled` is `true`." + }, + "Notifications.InvitedToChannel.Enabled": { + "type": "boolean", + "description": "Whether to send a notification when a user is invited to a channel. Can be: `true` or `false` and the default is `false`." + }, + "Notifications.InvitedToChannel.Template": { + "type": "string", + "description": "The template to use to create the notification text displayed when a user is invited to a channel and `notifications.invited_to_channel.enabled` is `true`." + }, + "PreWebhookUrl": { + "type": "string", + "format": "uri", + "description": "The URL for pre-event webhooks, which are called by using the `webhook_method`. See [Webhook Events](https://www.twilio.com/docs/api/chat/webhooks) for more details." + }, + "PostWebhookUrl": { + "type": "string", + "format": "uri", + "description": "The URL for post-event webhooks, which are called by using the `webhook_method`. See [Webhook Events](https://www.twilio.com/docs/api/chat/webhooks) for more details." + }, + "WebhookMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method to use for calls to the `pre_webhook_url` and `post_webhook_url` webhooks. Can be: `POST` or `GET` and the default is `POST`. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) for more details." + }, + "WebhookFilters": { + "type": "array", + "items": { + "type": "string" }, - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - } + "description": "The list of WebHook events that are enabled for this Service instance. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) for more details." }, - "title": "ListUserChannelResponse", - "type": "object" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://chat.twilio.com" - } - ], - "x-twilio": { - "className": "user_channel", - "defaultOutputProperties": [ - "channel_sid", - "status" - ], - "parent": "/Services/{ServiceSid}/Users", - "pathType": "list" - } - }, - "/v1/Services/{Sid}": { - "delete": { - "description": "", - "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": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "description": "Top level scope for all chat resources", - "get": { - "description": "", - "operationId": "FetchService", - "parameters": [ - { - "description": "The Twilio-provided string that uniquely identifies the Service resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/chat.v1.service" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "", - "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": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "ConsumptionReportInterval": { - "description": "DEPRECATED. The interval in seconds between consumption reports submission batches from client endpoints.", - "type": "integer" - }, - "DefaultChannelCreatorRoleSid": { - "description": "The channel role assigned to a channel creator when they join a new channel. See the [Roles endpoint](https://www.twilio.com/docs/chat/api/roles) for more details.", - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - }, - "DefaultChannelRoleSid": { - "description": "The channel role assigned to users when they are added to a channel. See the [Roles endpoint](https://www.twilio.com/docs/chat/api/roles) for more details.", - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - }, - "DefaultServiceRoleSid": { - "description": "The service role assigned to users when they are added to the service. See the [Roles endpoint](https://www.twilio.com/docs/chat/api/roles) for more details.", - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long.", - "type": "string" - }, - "Limits.ChannelMembers": { - "description": "The maximum number of Members that can be added to Channels within this Service. Can be up to 1,000.", - "type": "integer" - }, - "Limits.UserChannels": { - "description": "The maximum number of Channels Users can be a Member of within this Service. Can be up to 1,000.", - "type": "integer" - }, - "Notifications.AddedToChannel.Enabled": { - "description": "Whether to send a notification when a member is added to a channel. Can be: `true` or `false` and the default is `false`.", - "type": "boolean" - }, - "Notifications.AddedToChannel.Template": { - "description": "The template to use to create the notification text displayed when a member is added to a channel and `notifications.added_to_channel.enabled` is `true`.", - "type": "string" - }, - "Notifications.InvitedToChannel.Enabled": { - "description": "Whether to send a notification when a user is invited to a channel. Can be: `true` or `false` and the default is `false`.", - "type": "boolean" - }, - "Notifications.InvitedToChannel.Template": { - "description": "The template to use to create the notification text displayed when a user is invited to a channel and `notifications.invited_to_channel.enabled` is `true`.", - "type": "string" - }, - "Notifications.NewMessage.Enabled": { - "description": "Whether to send a notification when a new message is added to a channel. Can be: `true` or `false` and the default is `false`.", - "type": "boolean" - }, - "Notifications.NewMessage.Template": { - "description": "The template to use to create the notification text displayed when a new message is added to a channel and `notifications.new_message.enabled` is `true`.", - "type": "string" - }, - "Notifications.RemovedFromChannel.Enabled": { - "description": "Whether to send a notification to a user when they are removed from a channel. Can be: `true` or `false` and the default is `false`.", - "type": "boolean" - }, - "Notifications.RemovedFromChannel.Template": { - "description": "The template to use to create the notification text displayed to a user when they are removed from a channel and `notifications.removed_from_channel.enabled` is `true`.", - "type": "string" - }, - "PostWebhookUrl": { - "description": "The URL for post-event webhooks, which are called by using the `webhook_method`. See [Webhook Events](https://www.twilio.com/docs/api/chat/webhooks) for more details.", - "format": "uri", - "type": "string" - }, - "PreWebhookUrl": { - "description": "The URL for pre-event webhooks, which are called by using the `webhook_method`. See [Webhook Events](https://www.twilio.com/docs/api/chat/webhooks) for more details.", + "Webhooks.OnMessageSend.Url": { + "type": "string", "format": "uri", - "type": "string" - }, - "ReachabilityEnabled": { - "description": "Whether to enable the [Reachability Indicator](https://www.twilio.com/docs/chat/reachability-indicator) for this Service instance. The default is `false`.", - "type": "boolean" - }, - "ReadStatusEnabled": { - "description": "Whether to enable the [Message Consumption Horizon](https://www.twilio.com/docs/chat/consumption-horizon) feature. The default is `true`.", - "type": "boolean" + "description": "The URL of the webhook to call in response to the `on_message_send` event using the `webhooks.on_message_send.method` HTTP method." }, - "TypingIndicatorTimeout": { - "description": "How long in seconds after a `started typing` event until clients should assume that user is no longer typing, even if no `ended typing` message was received. The default is 5 seconds.", - "type": "integer" + "Webhooks.OnMessageSend.Method": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method to use when calling the `webhooks.on_message_send.url`." }, - "WebhookFilters": { - "description": "The list of WebHook events that are enabled for this Service instance. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) for more details.", - "items": { - "type": "string" - }, - "type": "array" + "Webhooks.OnMessageUpdate.Url": { + "type": "string", + "format": "uri", + "description": "The URL of the webhook to call in response to the `on_message_update` event using the `webhooks.on_message_update.method` HTTP method." }, - "WebhookMethod": { - "description": "The HTTP method to use for calls to the `pre_webhook_url` and `post_webhook_url` webhooks. Can be: `POST` or `GET` and the default is `POST`. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) for more details.", + "Webhooks.OnMessageUpdate.Method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3773,11 +3236,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method to use when calling the `webhooks.on_message_update.url`." }, - "Webhooks.OnChannelAdd.Method": { - "description": "The HTTP method to use when calling the `webhooks.on_channel_add.url`.", + "Webhooks.OnMessageRemove.Url": { + "type": "string", + "format": "uri", + "description": "The URL of the webhook to call in response to the `on_message_remove` event using the `webhooks.on_message_remove.method` HTTP method." + }, + "Webhooks.OnMessageRemove.Method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3786,16 +3254,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method to use when calling the `webhooks.on_message_remove.url`." }, "Webhooks.OnChannelAdd.Url": { - "description": "The URL of the webhook to call in response to the `on_channel_add` event using the `webhooks.on_channel_add.method` HTTP method.", + "type": "string", "format": "uri", - "type": "string" + "description": "The URL of the webhook to call in response to the `on_channel_add` event using the `webhooks.on_channel_add.method` HTTP method." }, - "Webhooks.OnChannelAdded.Method": { - "description": "The URL of the webhook to call in response to the `on_channel_added` event`.", + "Webhooks.OnChannelAdd.Method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3804,16 +3272,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method to use when calling the `webhooks.on_channel_add.url`." }, - "Webhooks.OnChannelAdded.Url": { - "description": "The URL of the webhook to call in response to the `on_channel_added` event using the `webhooks.on_channel_added.method` HTTP method.", + "Webhooks.OnChannelDestroy.Url": { + "type": "string", "format": "uri", - "type": "string" + "description": "The URL of the webhook to call in response to the `on_channel_destroy` event using the `webhooks.on_channel_destroy.method` HTTP method." }, "Webhooks.OnChannelDestroy.Method": { - "description": "The HTTP method to use when calling the `webhooks.on_channel_destroy.url`.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3822,16 +3290,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method to use when calling the `webhooks.on_channel_destroy.url`." }, - "Webhooks.OnChannelDestroy.Url": { - "description": "The URL of the webhook to call in response to the `on_channel_destroy` event using the `webhooks.on_channel_destroy.method` HTTP method.", + "Webhooks.OnChannelUpdate.Url": { + "type": "string", "format": "uri", - "type": "string" + "description": "The URL of the webhook to call in response to the `on_channel_update` event using the `webhooks.on_channel_update.method` HTTP method." }, - "Webhooks.OnChannelDestroyed.Method": { - "description": "The HTTP method to use when calling the `webhooks.on_channel_destroyed.url`.", + "Webhooks.OnChannelUpdate.Method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3840,16 +3308,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method to use when calling the `webhooks.on_channel_update.url`." }, - "Webhooks.OnChannelDestroyed.Url": { - "description": "The URL of the webhook to call in response to the `on_channel_added` event using the `webhooks.on_channel_destroyed.method` HTTP method.", + "Webhooks.OnMemberAdd.Url": { + "type": "string", "format": "uri", - "type": "string" + "description": "The URL of the webhook to call in response to the `on_member_add` event using the `webhooks.on_member_add.method` HTTP method." }, - "Webhooks.OnChannelUpdate.Method": { - "description": "The HTTP method to use when calling the `webhooks.on_channel_update.url`.", + "Webhooks.OnMemberAdd.Method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3858,16 +3326,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method to use when calling the `webhooks.on_member_add.url`." }, - "Webhooks.OnChannelUpdate.Url": { - "description": "The URL of the webhook to call in response to the `on_channel_update` event using the `webhooks.on_channel_update.method` HTTP method.", + "Webhooks.OnMemberRemove.Url": { + "type": "string", "format": "uri", - "type": "string" + "description": "The URL of the webhook to call in response to the `on_member_remove` event using the `webhooks.on_member_remove.method` HTTP method." }, - "Webhooks.OnChannelUpdated.Method": { - "description": "The HTTP method to use when calling the `webhooks.on_channel_updated.url`.", + "Webhooks.OnMemberRemove.Method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3876,16 +3344,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method to use when calling the `webhooks.on_member_remove.url`." }, - "Webhooks.OnChannelUpdated.Url": { - "description": "The URL of the webhook to call in response to the `on_channel_updated` event using the `webhooks.on_channel_updated.method` HTTP method.", + "Webhooks.OnMessageSent.Url": { + "type": "string", "format": "uri", - "type": "string" + "description": "The URL of the webhook to call in response to the `on_message_sent` event using the `webhooks.on_message_sent.method` HTTP method." }, - "Webhooks.OnMemberAdd.Method": { - "description": "The HTTP method to use when calling the `webhooks.on_member_add.url`.", + "Webhooks.OnMessageSent.Method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3894,16 +3362,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The URL of the webhook to call in response to the `on_message_sent` event`." }, - "Webhooks.OnMemberAdd.Url": { - "description": "The URL of the webhook to call in response to the `on_member_add` event using the `webhooks.on_member_add.method` HTTP method.", + "Webhooks.OnMessageUpdated.Url": { + "type": "string", "format": "uri", - "type": "string" + "description": "The URL of the webhook to call in response to the `on_message_updated` event using the `webhooks.on_message_updated.method` HTTP method." }, - "Webhooks.OnMemberAdded.Method": { - "description": "The HTTP method to use when calling the `webhooks.on_channel_updated.url`.", + "Webhooks.OnMessageUpdated.Method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3912,16 +3380,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method to use when calling the `webhooks.on_message_updated.url`." }, - "Webhooks.OnMemberAdded.Url": { - "description": "The URL of the webhook to call in response to the `on_channel_updated` event using the `webhooks.on_channel_updated.method` HTTP method.", + "Webhooks.OnMessageRemoved.Url": { + "type": "string", "format": "uri", - "type": "string" + "description": "The URL of the webhook to call in response to the `on_message_removed` event using the `webhooks.on_message_removed.method` HTTP method." }, - "Webhooks.OnMemberRemove.Method": { - "description": "The HTTP method to use when calling the `webhooks.on_member_remove.url`.", + "Webhooks.OnMessageRemoved.Method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3930,16 +3398,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method to use when calling the `webhooks.on_message_removed.url`." }, - "Webhooks.OnMemberRemove.Url": { - "description": "The URL of the webhook to call in response to the `on_member_remove` event using the `webhooks.on_member_remove.method` HTTP method.", + "Webhooks.OnChannelAdded.Url": { + "type": "string", "format": "uri", - "type": "string" + "description": "The URL of the webhook to call in response to the `on_channel_added` event using the `webhooks.on_channel_added.method` HTTP method." }, - "Webhooks.OnMemberRemoved.Method": { - "description": "The HTTP method to use when calling the `webhooks.on_member_removed.url`.", + "Webhooks.OnChannelAdded.Method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3948,16 +3416,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The URL of the webhook to call in response to the `on_channel_added` event`." }, - "Webhooks.OnMemberRemoved.Url": { - "description": "The URL of the webhook to call in response to the `on_member_removed` event using the `webhooks.on_member_removed.method` HTTP method.", + "Webhooks.OnChannelDestroyed.Url": { + "type": "string", "format": "uri", - "type": "string" + "description": "The URL of the webhook to call in response to the `on_channel_added` event using the `webhooks.on_channel_destroyed.method` HTTP method." }, - "Webhooks.OnMessageRemove.Method": { - "description": "The HTTP method to use when calling the `webhooks.on_message_remove.url`.", + "Webhooks.OnChannelDestroyed.Method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3966,16 +3434,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method to use when calling the `webhooks.on_channel_destroyed.url`." }, - "Webhooks.OnMessageRemove.Url": { - "description": "The URL of the webhook to call in response to the `on_message_remove` event using the `webhooks.on_message_remove.method` HTTP method.", + "Webhooks.OnChannelUpdated.Url": { + "type": "string", "format": "uri", - "type": "string" + "description": "The URL of the webhook to call in response to the `on_channel_updated` event using the `webhooks.on_channel_updated.method` HTTP method." }, - "Webhooks.OnMessageRemoved.Method": { - "description": "The HTTP method to use when calling the `webhooks.on_message_removed.url`.", + "Webhooks.OnChannelUpdated.Method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3984,16 +3452,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method to use when calling the `webhooks.on_channel_updated.url`." }, - "Webhooks.OnMessageRemoved.Url": { - "description": "The URL of the webhook to call in response to the `on_message_removed` event using the `webhooks.on_message_removed.method` HTTP method.", + "Webhooks.OnMemberAdded.Url": { + "type": "string", "format": "uri", - "type": "string" + "description": "The URL of the webhook to call in response to the `on_channel_updated` event using the `webhooks.on_channel_updated.method` HTTP method." }, - "Webhooks.OnMessageSend.Method": { - "description": "The HTTP method to use when calling the `webhooks.on_message_send.url`.", + "Webhooks.OnMemberAdded.Method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -4002,16 +3470,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method to use when calling the `webhooks.on_channel_updated.url`." }, - "Webhooks.OnMessageSend.Url": { - "description": "The URL of the webhook to call in response to the `on_message_send` event using the `webhooks.on_message_send.method` HTTP method.", + "Webhooks.OnMemberRemoved.Url": { + "type": "string", "format": "uri", - "type": "string" + "description": "The URL of the webhook to call in response to the `on_member_removed` event using the `webhooks.on_member_removed.method` HTTP method." }, - "Webhooks.OnMessageSent.Method": { - "description": "The URL of the webhook to call in response to the `on_message_sent` event`.", + "Webhooks.OnMemberRemoved.Method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -4020,63 +3488,494 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method to use when calling the `webhooks.on_member_removed.url`." + }, + "Limits.ChannelMembers": { + "type": "integer", + "description": "The maximum number of Members that can be added to Channels within this Service. Can be up to 1,000." + }, + "Limits.UserChannels": { + "type": "integer", + "description": "The maximum number of Channels Users can be a Member of within this Service. Can be up to 1,000." + } + } + } + } + } + } + } + }, + "/v1/Services": { + "servers": [ + { + "url": "https://chat.twilio.com" + } + ], + "description": "Top level scope for all chat resources", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "date_created" + ], + "pathType": "list" + }, + "post": { + "description": "", + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/chat.v1.service" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateService", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateServiceRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long." + } + }, + "required": [ + "FriendlyName" + ] + } + } + } + } + }, + "get": { + "description": "", + "parameters": [ + { + "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 + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "ListServiceResponse", + "properties": { + "services": { + "type": "array", + "items": { + "$ref": "#/components/schemas/chat.v1.service" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "ListService", + "x-maturity": [ + "GA" + ] + } + }, + "/v1/Services/{ServiceSid}/Users/{Sid}": { + "servers": [ + { + "url": "https://chat.twilio.com" + } + ], + "description": "Unique chat users within a chat service", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "date_created" + ], + "pathType": "instance", + "parent": "/Services" + }, + "get": { + "description": "", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to fetch the resource from.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the User resource to fetch.", + "schema": { + "type": "string" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/chat.v1.service.user" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "FetchUser", + "x-maturity": [ + "GA" + ] + }, + "delete": { + "description": "", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to delete the resource from.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the User resource to delete.", + "schema": { + "type": "string" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteUser", + "x-maturity": [ + "GA" + ] + }, + "post": { + "description": "", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to update the resource from.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the User resource to update.", + "schema": { + "type": "string" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/chat.v1.service.user" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "UpdateUser", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateUserRequest", + "properties": { + "RoleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "description": "The SID of the [Role](https://www.twilio.com/docs/api/chat/rest/roles) assigned to this user." }, - "Webhooks.OnMessageSent.Url": { - "description": "The URL of the webhook to call in response to the `on_message_sent` event using the `webhooks.on_message_sent.method` HTTP method.", - "format": "uri", - "type": "string" + "Attributes": { + "type": "string", + "description": "A valid JSON string that contains application-specific data." }, - "Webhooks.OnMessageUpdate.Method": { - "description": "The HTTP method to use when calling the `webhooks.on_message_update.url`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the resource. It is often used for display purposes." + } + } + } + } + } + } + } + }, + "/v1/Services/{ServiceSid}/Users": { + "servers": [ + { + "url": "https://chat.twilio.com" + } + ], + "description": "Unique chat users within a chat service", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "date_created" + ], + "pathType": "list", + "parent": "/Services" + }, + "post": { + "description": "", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to create the resource under.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/chat.v1.service.user" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateUser", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateUserRequest", + "properties": { + "Identity": { + "type": "string", + "description": "The `identity` value that uniquely identifies the new resource's [User](https://www.twilio.com/docs/api/chat/rest/v1/user) within the [Service](https://www.twilio.com/docs/api/chat/rest/v1/service). This value is often a username or email address. See the Identity documentation for more details." }, - "Webhooks.OnMessageUpdate.Url": { - "description": "The URL of the webhook to call in response to the `on_message_update` event using the `webhooks.on_message_update.method` HTTP method.", - "format": "uri", - "type": "string" + "RoleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "description": "The SID of the [Role](https://www.twilio.com/docs/api/chat/rest/roles) assigned to the new User." }, - "Webhooks.OnMessageUpdated.Method": { - "description": "The HTTP method to use when calling the `webhooks.on_message_updated.url`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" + "Attributes": { + "type": "string", + "description": "A valid JSON string that contains application-specific data." }, - "Webhooks.OnMessageUpdated.Url": { - "description": "The URL of the webhook to call in response to the `on_message_updated` event using the `webhooks.on_message_updated.method` HTTP method.", - "format": "uri", - "type": "string" + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the new resource. This value is often used for display purposes." } }, - "title": "UpdateServiceRequest", - "type": "object" + "required": [ + "Identity" + ] } } } - }, + } + }, + "get": { + "description": "", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to read the resources from.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "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 + } + } + ], "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/chat.v1.service" + "type": "object", + "title": "ListUserResponse", + "properties": { + "users": { + "type": "array", + "items": { + "$ref": "#/components/schemas/chat.v1.service.user" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -4088,22 +3987,123 @@ "accountSid_authToken": [] } ], + "operationId": "ListUser", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Services/{ServiceSid}/Users/{UserSid}/Channels": { "servers": [ { "url": "https://chat.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ - "sid", - "friendly_name", - "date_created" + "channel_sid", + "status" ], - "pathType": "instance" + "pathType": "list", + "parent": "/Services/{ServiceSid}/Users", + "className": "user_channel" + }, + "get": { + "description": "List all Channels for a given User.", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to read the resources from.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "UserSid", + "in": "path", + "description": "The SID of the [User](https://www.twilio.com/docs/api/chat/rest/users) to read the User Channel resources from.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "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 + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "ListUserChannelResponse", + "properties": { + "channels": { + "type": "array", + "items": { + "$ref": "#/components/schemas/chat.v1.service.user.user_channel" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "ListUserChannel", + "x-maturity": [ + "GA" + ] } } }, @@ -4114,8 +4114,8 @@ ], "x-maturity": [ { - "description": "This product is Generally Available.", - "name": "GA" + "name": "GA", + "description": "This product is Generally Available." } ] } \ No newline at end of file diff --git a/spec/json/twilio_chat_v2.json b/spec/json/twilio_chat_v2.json index 15d9b1dd..a8e6a9a5 100644 --- a/spec/json/twilio_chat_v2.json +++ b/spec/json/twilio_chat_v2.json @@ -1,1084 +1,1136 @@ { "components": { "schemas": { - "chat.v2.credential": { + "chat.v2.service.binding": { + "type": "object", "properties": { + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BS[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique string that identifies the resource" + }, "account_sid": { - "description": "The SID of the Account that created the resource", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "service_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Service that the Binding resource is associated with" }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", + "endpoint": { + "type": "string", "nullable": true, - "type": "string" + "description": "The unique endpoint identifier for the Binding" }, - "sandbox": { - "description": "[APN only] Whether to send the credential to sandbox APNs", + "identity": { + "type": "string", "nullable": true, - "type": "string" + "description": "The string that identifies the resource's User" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "credential_sid": { + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Credential for the binding" }, - "type": { - "description": "The type of push-notification service the credential is for", + "binding_type": { + "type": "string", "enum": [ "gcm", "apn", "fcm" ], "nullable": true, - "type": "string" + "description": "The push technology to use for the binding" + }, + "message_types": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true, + "description": "The Programmable Chat message types the binding is subscribed to" }, "url": { - "description": "The absolute URL of the Credential resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Binding resource" + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "The absolute URLs of the Binding's User" } - }, - "type": "object" + } }, - "chat.v2.service": { + "chat.v2.service.channel": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "consumption_report_interval": { - "description": "DEPRECATED", - "nullable": true, - "type": "integer" - }, - "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "default_channel_creator_role_sid": { - "description": "The channel role assigned to a channel creator when they join a new channel", "maxLength": 34, - "minLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "default_channel_role_sid": { - "description": "The channel role assigned to users when they are added to a channel", - "maxLength": 34, + "account_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Account that created the resource" }, - "default_service_role_sid": { - "description": "The service role assigned to users when they are added to the service", - "maxLength": 34, + "service_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Service that the resource is associated with" }, "friendly_name": { - "description": "The string that you assigned to describe the resource", + "type": "string", "nullable": true, - "type": "string" - }, - "limits": { - "description": "An object that describes the limits of the service instance", - "nullable": true + "description": "The string that you assigned to describe the resource" }, - "links": { - "description": "The absolute URLs of the Service's Channels, Roles, and Users", - "format": "uri-map", + "unique_name": { + "type": "string", "nullable": true, - "type": "object" + "description": "An application-defined string that uniquely identifies the resource" }, - "media": { - "description": "The properties of the media that the service supports", - "nullable": true + "attributes": { + "type": "string", + "nullable": true, + "description": "The JSON string that stores application-specific data" }, - "notifications": { - "description": "The notification configuration for the Service instance", - "nullable": true + "type": { + "type": "string", + "enum": [ + "public", + "private" + ], + "nullable": true, + "description": "The visibility of the channel. Can be: `public` or `private`" }, - "post_webhook_retry_count": { - "description": "The number of times calls to the `post_webhook_url` will be retried", + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "integer" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, - "post_webhook_url": { - "description": "The URL for post-event webhooks", + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, - "pre_webhook_retry_count": { - "description": "Count of times webhook will be retried in case of timeout or 429/503/504 HTTP responses", + "created_by": { + "type": "string", "nullable": true, - "type": "integer" + "description": "The identity of the User that created the channel" }, - "pre_webhook_url": { - "description": "The webhook URL for pre-event webhooks", + "members_count": { + "type": "integer", "nullable": true, - "type": "string" + "description": "The number of Members in the Channel" }, - "reachability_enabled": { - "description": "Whether the Reachability Indicator feature is enabled for this Service instance", + "messages_count": { + "type": "integer", "nullable": true, - "type": "boolean" + "description": "The number of Messages that have been passed in the Channel" }, - "read_status_enabled": { - "description": "Whether the Message Consumption Horizon feature is enabled", + "url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "boolean" + "description": "The absolute URL of the Channel resource" }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "Absolute URLs to access the Members, Messages , Invites and, if it exists, the last Message for the Channel" + } + } + }, + "chat.v2.service.channel.channel_webhook": { + "type": "object", + "properties": { "sid": { - "description": "The unique string that identifies the resource", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^WH[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique string that identifies the resource" + }, + "account_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Service that the Channel Webhook resource is associated with" }, - "typing_indicator_timeout": { - "description": "How long in seconds to wait before assuming the user is no longer typing", + "channel_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Channel the Channel Webhook resource belongs to" + }, + "type": { + "type": "string", "nullable": true, - "type": "integer" + "description": "The type of webhook" }, "url": { - "description": "The absolute URL of the Service resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Channel Webhook resource" }, - "webhook_filters": { - "description": "The list of webhook events that are enabled for this Service instance", - "items": { - "type": "string" - }, + "configuration": { "nullable": true, - "type": "array" + "description": "The JSON string that describes the configuration object for the channel webhook" }, - "webhook_method": { - "description": "The HTTP method to use for both PRE and POST webhooks", + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" } - }, - "type": "object" + } }, - "chat.v2.service.binding": { + "chat.v2.credential": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$", "nullable": true, + "description": "The unique string that identifies the resource" + }, + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, - "binding_type": { - "description": "The push technology to use for the binding", + "friendly_name": { + "type": "string", + "nullable": true, + "description": "The string that you assigned to describe the resource" + }, + "type": { + "type": "string", "enum": [ "gcm", "apn", "fcm" ], "nullable": true, - "type": "string" + "description": "The type of push-notification service the credential is for" }, - "credential_sid": { - "description": "The SID of the Credential for the binding", - "maxLength": 34, - "minLength": 34, + "sandbox": { + "type": "string", "nullable": true, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" + "description": "[APN only] Whether to send the credential to sandbox APNs" }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, - "endpoint": { - "description": "The unique endpoint identifier for the Binding", + "url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "string" - }, - "identity": { - "description": "The string that identifies the resource's User", + "description": "The absolute URL of the Credential resource" + } + } + }, + "chat.v2.service.channel.invite": { + "type": "object", + "properties": { + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IN[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique string that identifies the resource" }, - "links": { - "description": "The absolute URLs of the Binding's User", - "format": "uri-map", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "object" + "description": "The SID of the Account that created the resource" }, - "message_types": { - "description": "The Programmable Chat message types the binding is subscribed to", - "items": { - "type": "string" - }, + "channel_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$", "nullable": true, - "type": "array" + "description": "The SID of the Channel the new resource belongs to" }, "service_sid": { - "description": "The SID of the Service that the Binding resource is associated with", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Service that the resource is associated with" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "identity": { + "type": "string", + "nullable": true, + "description": "The string that identifies the resource's User" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was last updated" + }, + "role_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^BS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Role assigned to the member" + }, + "created_by": { + "type": "string", + "nullable": true, + "description": "The identity of the User that created the invite" }, "url": { - "description": "The absolute URL of the Binding resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Invite resource" } - }, - "type": "object" + } }, - "chat.v2.service.channel": { + "chat.v2.service.channel.member": { + "type": "object", "properties": { + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^MB[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique string that identifies the resource" + }, "account_sid": { - "description": "The SID of the Account that created the resource", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "channel_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Channel for the member" }, - "attributes": { - "description": "The JSON string that stores application-specific data", + "service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Service that the resource is associated with" }, - "created_by": { - "description": "The identity of the User that created the channel", + "identity": { + "type": "string", "nullable": true, - "type": "string" + "description": "The string that identifies the resource's User" }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", + "role_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Role assigned to the member" }, - "links": { - "description": "Absolute URLs to access the Members, Messages , Invites and, if it exists, the last Message for the Channel", - "format": "uri-map", + "last_consumed_message_index": { + "type": "integer", "nullable": true, - "type": "object" + "description": "The index of the last Message that the Member has read within the Channel" }, - "members_count": { - "description": "The number of Members in the Channel", - "nullable": true, - "type": "integer" - }, - "messages_count": { - "description": "The number of Messages that have been passed in the Channel", + "last_consumption_timestamp": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "integer" + "description": "The ISO 8601 based timestamp string that represents the datetime of the last Message read event for the Member within the Channel" }, - "service_sid": { - "description": "The SID of the Service that the resource is associated with", - "maxLength": 34, - "minLength": 34, + "url": { + "type": "string", + "format": "uri", "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The absolute URL of the Member resource" }, + "attributes": { + "type": "string", + "nullable": true, + "description": "The JSON string that stores application-specific data" + } + } + }, + "chat.v2.service.channel.message": { + "type": "object", + "properties": { "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^IM[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "type": { - "description": "The visibility of the channel. Can be: `public` or `private`", - "enum": [ - "public", - "private" - ], + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, - "unique_name": { - "description": "An application-defined string that uniquely identifies the resource", + "attributes": { + "type": "string", "nullable": true, - "type": "string" + "description": "The JSON string that stores application-specific data" }, - "url": { - "description": "The absolute URL of the Channel resource", - "format": "uri", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "chat.v2.service.channel.channel_webhook": { - "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", + "service_sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Service that the resource is associated with" + }, + "to": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Channel that the message was sent to" }, "channel_sid": { - "description": "The SID of the Channel the Channel Webhook resource belongs to", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" - }, - "configuration": { - "description": "The JSON string that describes the configuration object for the channel webhook", - "nullable": true + "nullable": true, + "description": "The SID of the Channel the Message resource belongs to" }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, - "service_sid": { - "description": "The SID of the Service that the Channel Webhook resource is associated with", - "maxLength": 34, - "minLength": 34, + "last_updated_by": { + "type": "string", "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The Identity of the User who last updated the Message" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "was_edited": { + "type": "boolean", "nullable": true, - "pattern": "^WH[0-9a-fA-F]{32}$", - "type": "string" + "description": "Whether the message has been edited since it was created" + }, + "from": { + "type": "string", + "nullable": true, + "description": "The Identity of the message's author" + }, + "body": { + "type": "string", + "nullable": true, + "description": "The content of the message" + }, + "index": { + "type": "integer", + "nullable": true, + "description": "The index of the message within the Channel" }, "type": { - "description": "The type of webhook", + "type": "string", + "nullable": true, + "description": "The Message type" + }, + "media": { "nullable": true, - "type": "string" + "description": "A Media object that describes the Message's media if attached; otherwise, null" }, "url": { - "description": "The absolute URL of the Channel Webhook resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Message resource" } - }, - "type": "object" + } }, - "chat.v2.service.channel.invite": { + "chat.v2.service.role": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "channel_sid": { - "description": "The SID of the Channel the new resource belongs to", "maxLength": 34, - "minLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "created_by": { - "description": "The identity of the User that created the invite", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", - "format": "date-time", + "service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Service that the resource is associated with" }, - "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", - "format": "date-time", + "friendly_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the resource" }, - "identity": { - "description": "The string that identifies the resource's User", + "type": { + "type": "string", + "enum": [ + "channel", + "deployment" + ], "nullable": true, - "type": "string" + "description": "The type of role" }, - "role_sid": { - "description": "The SID of the Role assigned to the member", - "maxLength": 34, - "minLength": 34, + "permissions": { + "type": "array", + "items": { + "type": "string" + }, "nullable": true, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "description": "An array of the permissions the role has been granted" }, - "service_sid": { - "description": "The SID of the Service that the resource is associated with", - "maxLength": 34, - "minLength": 34, + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^IN[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, "url": { - "description": "The absolute URL of the Invite resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Role resource" } - }, - "type": "object" + } }, - "chat.v2.service.channel.member": { + "chat.v2.service": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "attributes": { - "description": "The JSON string that stores application-specific data", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, - "channel_sid": { - "description": "The SID of the Channel for the member", - "maxLength": 34, - "minLength": 34, + "friendly_name": { + "type": "string", "nullable": true, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" + "description": "The string that you assigned to describe the resource" }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "identity": { - "description": "The string that identifies the resource's User", - "nullable": true, - "type": "string" - }, - "last_consumed_message_index": { - "description": "The index of the last Message that the Member has read within the Channel", - "nullable": true, - "type": "integer" - }, - "last_consumption_timestamp": { - "description": "The ISO 8601 based timestamp string that represents the datetime of the last Message read event for the Member within the Channel", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, - "role_sid": { - "description": "The SID of the Role assigned to the member", - "maxLength": 34, + "default_service_role_sid": { + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - }, - "service_sid": { - "description": "The SID of the Service that the resource is associated with", "maxLength": 34, - "minLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The service role assigned to users when they are added to the service" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "default_channel_role_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^MB[0-9a-fA-F]{32}$", - "type": "string" + "description": "The channel role assigned to users when they are added to a channel" }, - "url": { - "description": "The absolute URL of the Member resource", - "format": "uri", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "chat.v2.service.channel.message": { - "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "default_channel_creator_role_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The channel role assigned to a channel creator when they join a new channel" }, - "attributes": { - "description": "The JSON string that stores application-specific data", + "read_status_enabled": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Whether the Message Consumption Horizon feature is enabled" }, - "body": { - "description": "The content of the message", + "reachability_enabled": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Whether the Reachability Indicator feature is enabled for this Service instance" }, - "channel_sid": { - "description": "The SID of the Channel the Message resource belongs to", - "maxLength": 34, - "minLength": 34, + "typing_indicator_timeout": { + "type": "integer", "nullable": true, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" + "description": "How long in seconds to wait before assuming the user is no longer typing" }, - "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", - "format": "date-time", + "consumption_report_interval": { + "type": "integer", "nullable": true, - "type": "string" + "description": "DEPRECATED" }, - "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", - "format": "date-time", + "limits": { "nullable": true, - "type": "string" + "description": "An object that describes the limits of the service instance" }, - "from": { - "description": "The Identity of the message's author", + "pre_webhook_url": { + "type": "string", "nullable": true, - "type": "string" + "description": "The webhook URL for pre-event webhooks" }, - "index": { - "description": "The index of the message within the Channel", + "post_webhook_url": { + "type": "string", "nullable": true, - "type": "integer" + "description": "The URL for post-event webhooks" }, - "last_updated_by": { - "description": "The Identity of the User who last updated the Message", + "webhook_method": { + "type": "string", "nullable": true, - "type": "string" + "description": "The HTTP method to use for both PRE and POST webhooks" }, - "media": { - "description": "A Media object that describes the Message's media if attached; otherwise, null", - "nullable": true + "webhook_filters": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true, + "description": "The list of webhook events that are enabled for this Service instance" }, - "service_sid": { - "description": "The SID of the Service that the resource is associated with", - "maxLength": 34, - "minLength": 34, + "pre_webhook_retry_count": { + "type": "integer", "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "description": "Count of times webhook will be retried in case of timeout or 429/503/504 HTTP responses" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "post_webhook_retry_count": { + "type": "integer", "nullable": true, - "pattern": "^IM[0-9a-fA-F]{32}$", - "type": "string" + "description": "The number of times calls to the `post_webhook_url` will be retried" }, - "to": { - "description": "The SID of the Channel that the message was sent to", - "maxLength": 34, - "minLength": 34, + "notifications": { "nullable": true, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" + "description": "The notification configuration for the Service instance" }, - "type": { - "description": "The Message type", + "media": { "nullable": true, - "type": "string" + "description": "The properties of the media that the service supports" }, "url": { - "description": "The absolute URL of the Message resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Service resource" }, - "was_edited": { - "description": "Whether the message has been edited since it was created", + "links": { + "type": "object", + "format": "uri-map", "nullable": true, - "type": "boolean" + "description": "The absolute URLs of the Service's Channels, Roles, and Users" } - }, - "type": "object" + } }, - "chat.v2.service.role": { + "chat.v2.service.user": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^US[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", - "format": "date-time", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, - "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", - "format": "date-time", + "service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Service that the resource is associated with" }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", + "attributes": { + "type": "string", "nullable": true, - "type": "string" + "description": "The JSON string that stores application-specific data" }, - "permissions": { - "description": "An array of the permissions the role has been granted", - "items": { - "type": "string" - }, + "friendly_name": { + "type": "string", "nullable": true, - "type": "array" + "description": "The string that you assigned to describe the resource" }, - "service_sid": { - "description": "The SID of the Service that the resource is associated with", - "maxLength": 34, + "role_sid": { + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - }, - "sid": { - "description": "The unique string that identifies the resource", "maxLength": 34, - "minLength": 34, - "nullable": true, "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - }, - "type": { - "description": "The type of role", - "enum": [ - "channel", - "deployment" - ], "nullable": true, - "type": "string" + "description": "The SID of the Role assigned to the user" }, - "url": { - "description": "The absolute URL of the Role resource", - "format": "uri", + "identity": { + "type": "string", "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "chat.v2.service.user": { - "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, - "minLength": 34, + "description": "The string that identifies the resource's User" + }, + "is_online": { + "type": "boolean", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "Whether the User is actively connected to the Service instance and online" }, - "attributes": { - "description": "The JSON string that stores application-specific data", + "is_notifiable": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Whether the User has a potentially valid Push Notification registration for the Service instance" }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" - }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", - "nullable": true, - "type": "string" - }, - "identity": { - "description": "The string that identifies the resource's User", - "nullable": true, - "type": "string" - }, - "is_notifiable": { - "description": "Whether the User has a potentially valid Push Notification registration for the Service instance", - "nullable": true, - "type": "boolean" - }, - "is_online": { - "description": "Whether the User is actively connected to the Service instance and online", - "nullable": true, - "type": "boolean" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, "joined_channels_count": { - "description": "The number of Channels the User is a Member of", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The number of Channels the User is a Member of" }, "links": { - "description": "The absolute URLs of the Channel and Binding resources related to the user", + "type": "object", "format": "uri-map", "nullable": true, - "type": "object" - }, - "role_sid": { - "description": "The SID of the Role assigned to the user", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - }, - "service_sid": { - "description": "The SID of the Service that the resource is associated with", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^US[0-9a-fA-F]{32}$", - "type": "string" + "description": "The absolute URLs of the Channel and Binding resources related to the user" }, "url": { - "description": "The absolute URL of the User resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the User resource" } - }, - "type": "object" + } }, "chat.v2.service.user.user_binding": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^BS[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "binding_type": { - "description": "The push technology to use for the binding", - "enum": [ - "gcm", - "apn", - "fcm" - ], + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, - "credential_sid": { - "description": "The SID of the Credential for the binding", - "maxLength": 34, + "service_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Service that the resource is associated with" }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, "endpoint": { - "description": "The unique endpoint identifier for the User Binding", + "type": "string", "nullable": true, - "type": "string" + "description": "The unique endpoint identifier for the User Binding" }, "identity": { - "description": "The string that identifies the resource's User", + "type": "string", "nullable": true, - "type": "string" + "description": "The string that identifies the resource's User" }, - "message_types": { - "description": "The Programmable Chat message types the binding is subscribed to", - "items": { - "type": "string" - }, + "user_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^US[0-9a-fA-F]{32}$", "nullable": true, - "type": "array" + "description": "The SID of the User with the binding" }, - "service_sid": { - "description": "The SID of the Service that the resource is associated with", - "maxLength": 34, + "credential_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Credential for the binding" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "binding_type": { + "type": "string", + "enum": [ + "gcm", + "apn", + "fcm" + ], "nullable": true, - "pattern": "^BS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The push technology to use for the binding" }, - "url": { - "description": "The absolute URL of the User Binding resource", - "format": "uri", + "message_types": { + "type": "array", + "items": { + "type": "string" + }, "nullable": true, - "type": "string" + "description": "The Programmable Chat message types the binding is subscribed to" }, - "user_sid": { - "description": "The SID of the User with the binding", - "maxLength": 34, - "minLength": 34, + "url": { + "type": "string", + "format": "uri", "nullable": true, - "pattern": "^US[0-9a-fA-F]{32}$", - "type": "string" + "description": "The absolute URL of the User Binding resource" } - }, - "type": "object" + } }, "chat.v2.service.user.user_channel": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "service_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Service that the resource is associated with" }, "channel_sid": { - "description": "The SID of the Channel the resource belongs to", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" - }, - "last_consumed_message_index": { - "description": "The index of the last Message in the Channel the Member has read", "nullable": true, - "type": "integer" + "description": "The SID of the Channel the resource belongs to" }, - "links": { - "description": "Absolute URLs to access the Members, Messages , Invites and, if it exists, the last Message for the Channel", - "format": "uri-map", + "user_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^US[0-9a-fA-F]{32}$", "nullable": true, - "type": "object" + "description": "The SID of the User the User Channel belongs to" }, "member_sid": { - "description": "The SID of the User as a Member in the Channel", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^MB[0-9a-fA-F]{32}$", - "type": "string" - }, - "notification_level": { - "description": "The push notification level of the User for the Channel", - "enum": [ - "default", - "muted" - ], - "nullable": true, - "type": "string" - }, - "service_sid": { - "description": "The SID of the Service that the resource is associated with", "maxLength": 34, - "minLength": 34, + "pattern": "^MB[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the User as a Member in the Channel" }, "status": { - "description": "The status of the User on the Channel", + "type": "string", "enum": [ "joined", "invited", "not_participating" ], "nullable": true, - "type": "string" + "description": "The status of the User on the Channel" + }, + "last_consumed_message_index": { + "type": "integer", + "nullable": true, + "description": "The index of the last Message in the Channel the Member has read" }, "unread_messages_count": { - "description": "The number of unread Messages in the Channel for the User", + "type": "integer", + "nullable": true, + "description": "The number of unread Messages in the Channel for the User" + }, + "links": { + "type": "object", + "format": "uri-map", "nullable": true, - "type": "integer" + "description": "Absolute URLs to access the Members, Messages , Invites and, if it exists, the last Message for the Channel" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" }, - "user_sid": { - "description": "The SID of the User the User Channel belongs to", - "maxLength": 34, - "minLength": 34, + "notification_level": { + "type": "string", + "enum": [ + "default", + "muted" + ], "nullable": true, - "pattern": "^US[0-9a-fA-F]{32}$", - "type": "string" + "description": "The push notification level of the User for the Channel" } - }, - "type": "object" + } } }, "securitySchemes": { "accountSid_authToken": { - "scheme": "basic", - "type": "http" + "type": "http", + "scheme": "basic" } } }, "info": { + "title": "Twilio - Chat", + "description": "This is the public Twilio REST API.", + "termsOfService": "https://www.twilio.com/legal/tos", "contact": { - "email": "support@twilio.com", "name": "Twilio Support", - "url": "https://support.twilio.com" + "url": "https://support.twilio.com", + "email": "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 - Chat", "version": "1.30.0" }, "openapi": "3.0.1", "paths": { - "/v2/Credentials": { - "description": "Credentials for push notifications channels", + "/v2/Services/{ServiceSid}/Bindings": { + "servers": [ + { + "url": "https://chat.twilio.com" + } + ], + "description": "Push notification subscription for users", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "endpoint", + "identity" + ], + "pathType": "list", + "parent": "/Services" + }, "get": { "description": "", - "operationId": "ListCredential", "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", + "name": "ServiceSid", + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to read the Binding resources from.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "BindingType", + "in": "query", + "description": "The push technology used by the Binding resources to read. Can be: `apn`, `gcm`, or `fcm`. See [push notification configuration](https://www.twilio.com/docs/chat/push-notification-configuration) for more info.", + "schema": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "gcm", + "apn", + "fcm" + ] + } + } + }, + { + "name": "Identity", "in": "query", + "description": "The [User](https://www.twilio.com/docs/chat/rest/user-resource)'s `identity` value of the resources to read. See [access tokens](https://www.twilio.com/docs/chat/create-tokens) for more details.", + "schema": { + "type": "array", + "items": { + "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": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1087,25 +1139,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListBindingResponse", "properties": { - "credentials": { + "bindings": { + "type": "array", "items": { - "$ref": "#/components/schemas/chat.v2.credential" - }, - "type": "array" + "$ref": "#/components/schemas/chat.v2.service.binding" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1114,19 +1166,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListCredentialResponse", - "type": "object" + } } } }, @@ -1138,71 +1190,66 @@ "accountSid_authToken": [] } ], + "operationId": "ListBinding", "x-maturity": [ "GA" ] + } + }, + "/v2/Services/{ServiceSid}/Bindings/{Sid}": { + "servers": [ + { + "url": "https://chat.twilio.com" + } + ], + "description": "Push notification subscription for users", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "endpoint", + "identity" + ], + "pathType": "instance", + "parent": "/Services" }, - "post": { + "get": { "description": "", - "operationId": "CreateCredential", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "ApiKey": { - "description": "[GCM only] The API key for the project that was obtained from the Google Developer console for your GCM Service application credential.", - "type": "string" - }, - "Certificate": { - "description": "[APN only] The URL encoded representation of the certificate. For example, \n`-----BEGIN CERTIFICATE-----\nMIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEF.....A==\n-----END CERTIFICATE-----`", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the new resource. It can be up to 64 characters long.", - "type": "string" - }, - "PrivateKey": { - "description": "[APN only] The URL encoded representation of the private key. For example,\n`-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fG...\n-----END RSA PRIVATE KEY-----`", - "type": "string" - }, - "Sandbox": { - "description": "[APN only] Whether to send the credential to sandbox APNs. Can be `true` to send to sandbox APNs or `false` to send to production.", - "type": "boolean" - }, - "Secret": { - "description": "[FCM only] The **Server key** of your project from the Firebase console, found under Settings / Cloud messaging.", - "type": "string" - }, - "Type": { - "description": "The type of push-notification service the credential is for. Can be: `gcm`, `fcm`, or `apn`.", - "enum": [ - "gcm", - "apn", - "fcm" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "title": "CreateCredentialRequest", - "type": "object" - } - } + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to fetch the Binding resource from.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the Binding resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BS[0-9a-fA-F]{32}$" + }, + "required": true } - }, + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/chat.v2.credential" + "$ref": "#/components/schemas/chat.v2.service.binding" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -1210,40 +1257,37 @@ "accountSid_authToken": [] } ], + "operationId": "FetchBinding", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://chat.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "type" - ], - "pathType": "list" - } - }, - "/v2/Credentials/{Sid}": { "delete": { "description": "", - "operationId": "DeleteCredential", "parameters": [ { - "description": "The SID of the Credential resource to delete.", + "name": "ServiceSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to delete the Binding resource from.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the Binding resource to delete.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BS[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1256,26 +1300,51 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteBinding", "x-maturity": [ "GA" ] + } + }, + "/v2/Services/{ServiceSid}/Channels/{Sid}": { + "servers": [ + { + "url": "https://chat.twilio.com" + } + ], + "description": "Channels represent chat rooms", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "unique_name", + "friendly_name" + ], + "pathType": "instance", + "parent": "/Services" }, - "description": "Credentials for push notifications channels", "get": { "description": "", - "operationId": "FetchCredential", "parameters": [ { - "description": "The SID of the Credential resource to fetch.", + "name": "ServiceSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to fetch the Channel resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the Channel resource to fetch. This value can be either the `sid` or the `unique_name` of the Channel resource to fetch.", + "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -1283,7 +1352,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/chat.v2.credential" + "$ref": "#/components/schemas/chat.v2.service.channel" } } }, @@ -1295,69 +1364,106 @@ "accountSid_authToken": [] } ], + "operationId": "FetchChannel", "x-maturity": [ "GA" ] }, - "post": { + "delete": { "description": "", - "operationId": "UpdateCredential", "parameters": [ { - "description": "The SID of the Credential resource to update.", + "name": "ServiceSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to delete the resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the Channel resource to delete. This value can be either the `sid` or the `unique_name` of the Channel resource to delete.", + "schema": { "type": "string" + }, + "required": true + }, + { + "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", + "schema": { + "type": "string", + "enum": [ + "true", + "false" + ] } } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "ApiKey": { - "description": "[GCM only] The API key for the project that was obtained from the Google Developer console for your GCM Service application credential.", - "type": "string" - }, - "Certificate": { - "description": "[APN only] The URL encoded representation of the certificate. For example, \n`-----BEGIN CERTIFICATE-----\nMIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEF.....A==\n-----END CERTIFICATE-----`", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long.", - "type": "string" - }, - "PrivateKey": { - "description": "[APN only] The URL encoded representation of the private key. For example,\n`-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fG...\n-----END RSA PRIVATE KEY-----`", - "type": "string" - }, - "Sandbox": { - "description": "[APN only] Whether to send the credential to sandbox APNs. Can be `true` to send to sandbox APNs or `false` to send to production.", - "type": "boolean" - }, - "Secret": { - "description": "[FCM only] The **Server key** of your project from the Firebase console, found under Settings / Cloud messaging.", - "type": "string" - } - }, - "title": "UpdateCredentialRequest", - "type": "object" - } - } + "responses": { + "204": { + "description": "The resource was deleted successfully." } }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteChannel", + "x-maturity": [ + "GA" + ] + }, + "post": { + "description": "", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to update the Channel resource in.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the Channel resource to update. This value can be either the `sid` or the `unique_name` of the Channel resource to update.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", + "schema": { + "type": "string", + "enum": [ + "true", + "false" + ] + } + } + ], "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/chat.v2.credential" + "$ref": "#/components/schemas/chat.v2.service.channel" } } }, @@ -1369,90 +1475,104 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateChannel", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://chat.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "type" ], - "pathType": "instance" + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateChannelRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the resource. It can be up to 256 characters long." + }, + "UniqueName": { + "type": "string", + "description": "An application-defined string that uniquely identifies the resource. It can be used to address the resource in place of the resource's `sid` in the URL. This value must be 256 characters or less in length and unique within the Service." + }, + "Attributes": { + "type": "string", + "description": "A valid JSON string that contains application-specific data." + }, + "DateCreated": { + "type": "string", + "format": "date-time", + "description": "The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, to assign to the resource as the date it was created. The default value is the current time set by the Chat service. Note that this should only be used in cases where a Channel is being recreated from a backup/separate source." + }, + "DateUpdated": { + "type": "string", + "format": "date-time", + "description": "The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, to assign to the resource as the date it was last updated." + }, + "CreatedBy": { + "type": "string", + "description": "The `identity` of the User that created the channel. Default is: `system`." + } + } + } + } + } + } } }, - "/v2/Services": { - "description": "Top level scope for all chat resources", - "get": { + "/v2/Services/{ServiceSid}/Channels": { + "servers": [ + { + "url": "https://chat.twilio.com" + } + ], + "description": "Channels represent chat rooms", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "unique_name", + "friendly_name" + ], + "pathType": "list", + "parent": "/Services" + }, + "post": { "description": "", - "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", + "name": "ServiceSid", + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to create the Channel resource under.", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", + "schema": { + "type": "string", + "enum": [ + "true", + "false" + ] } } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "services": { - "items": { - "$ref": "#/components/schemas/chat.v2.service" - }, - "type": "array" - } - }, - "title": "ListServiceResponse", - "type": "object" + "$ref": "#/components/schemas/chat.v2.service.channel" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -1460,120 +1580,95 @@ "accountSid_authToken": [] } ], + "operationId": "CreateChannel", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "", - "operationId": "CreateService", + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateChannelRequest", "properties": { "FriendlyName": { - "description": "A descriptive string that you create to describe the new resource.", - "type": "string" + "type": "string", + "description": "A descriptive string that you create to describe the new resource. It can be up to 64 characters long." + }, + "UniqueName": { + "type": "string", + "description": "An application-defined string that uniquely identifies the resource. It can be used to address the resource in place of the Channel resource's `sid` in the URL. This value must be 64 characters or less in length and be unique within the Service." + }, + "Attributes": { + "type": "string", + "description": "A valid JSON string that contains application-specific data." + }, + "Type": { + "type": "string", + "enum": [ + "public", + "private" + ], + "description": "The visibility of the channel. Can be: `public` or `private` and defaults to `public`." + }, + "DateCreated": { + "type": "string", + "format": "date-time", + "description": "The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, to assign to the resource as the date it was created. The default value is the current time set by the Chat service. Note that this should only be used in cases where a Channel is being recreated from a backup/separate source." + }, + "DateUpdated": { + "type": "string", + "format": "date-time", + "description": "The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, to assign to the resource as the date it was last updated. The default value is `null`. Note that this parameter should only be used in cases where a Channel is being recreated from a backup/separate source and where a Message was previously updated." + }, + "CreatedBy": { + "type": "string", + "description": "The `identity` of the User that created the channel. Default is: `system`." } - }, - "required": [ - "FriendlyName" - ], - "title": "CreateServiceRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/chat.v2.service" } } - }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] + } } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://chat.twilio.com" } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "date_created" - ], - "pathType": "list" - } - }, - "/v2/Services/{ServiceSid}/Bindings": { - "description": "Push notification subscription for users", + }, "get": { "description": "", - "operationId": "ListBinding", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to read the Binding resources from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to read the Channel resources from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The push technology used by the Binding resources to read. Can be: `apn`, `gcm`, or `fcm`. See [push notification configuration](https://www.twilio.com/docs/chat/push-notification-configuration) for more info.", + "name": "Type", "in": "query", - "name": "BindingType", + "description": "The visibility of the Channels to read. Can be: `public` or `private` and defaults to `public`.", "schema": { + "type": "array", "items": { + "type": "string", "enum": [ - "gcm", - "apn", - "fcm" - ], - "type": "string" - }, - "type": "array" + "public", + "private" + ] + } } }, { - "description": "The [User](https://www.twilio.com/docs/chat/rest/user-resource)'s `identity` value of the resources to read. See [access tokens](https://www.twilio.com/docs/chat/create-tokens) for more details.", + "name": "PageSize", "in": "query", - "name": "Identity", - "schema": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - { "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, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1582,25 +1677,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListChannelResponse", "properties": { - "bindings": { + "channels": { + "type": "array", "items": { - "$ref": "#/components/schemas/chat.v2.service.binding" - }, - "type": "array" + "$ref": "#/components/schemas/chat.v2.service.channel" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1609,19 +1704,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListBindingResponse", - "type": "object" + } } } }, @@ -1633,176 +1728,59 @@ "accountSid_authToken": [] } ], + "operationId": "ListChannel", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/Services/{ServiceSid}/Channels/{ChannelSid}/Webhooks": { "servers": [ { "url": "https://chat.twilio.com" } ], + "description": "Webhooks for specific channels", "x-twilio": { "defaultOutputProperties": [ "sid", - "endpoint", - "identity" + "configuration" ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v2/Services/{ServiceSid}/Bindings/{Sid}": { - "delete": { + "pathType": "list", + "parent": "/Services/{ServiceSid}/Channels" + }, + "get": { "description": "", - "operationId": "DeleteBinding", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to delete the Binding resource from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) with the Channel to read the resources from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the Binding resource to delete.", + "name": "ChannelSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the Channel Webhook resources to read belong to. This value can be the Channel resource's `sid` or `unique_name`.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^BS[0-9a-fA-F]{32}$", "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "description": "Push notification subscription for users", - "get": { - "description": "", - "operationId": "FetchBinding", - "parameters": [ - { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to fetch the Binding resource from.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the Binding resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^BS[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/chat.v2.service.binding" - } - } }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://chat.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "endpoint", - "identity" - ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v2/Services/{ServiceSid}/Channels": { - "description": "Channels represent chat rooms", - "get": { - "description": "", - "operationId": "ListChannel", - "parameters": [ - { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to read the Channel resources from.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "required": true }, { - "description": "The visibility of the Channels to read. Can be: `public` or `private` and defaults to `public`.", + "name": "PageSize", "in": "query", - "name": "Type", - "schema": { - "items": { - "enum": [ - "public", - "private" - ], - "type": "string" - }, - "type": "array" - } - }, - { "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, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1811,25 +1789,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListChannelWebhookResponse", "properties": { - "channels": { + "webhooks": { + "type": "array", "items": { - "$ref": "#/components/schemas/chat.v2.service.channel" - }, - "type": "array" + "$ref": "#/components/schemas/chat.v2.service.channel.channel_webhook" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1838,19 +1816,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListChannelResponse", - "type": "object" + } } } }, @@ -1862,91 +1840,42 @@ "accountSid_authToken": [] } ], + "operationId": "ListChannelWebhook", "x-maturity": [ "GA" ] }, "post": { "description": "", - "operationId": "CreateChannel", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to create the Channel resource under.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) with the Channel to create the Webhook resource under.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", - "name": "X-Twilio-Webhook-Enabled", + "name": "ChannelSid", + "in": "path", + "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the new Channel Webhook resource belongs to. This value can be the Channel resource's `sid` or `unique_name`.", "schema": { - "enum": [ - "true", - "false" - ], "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Attributes": { - "description": "A valid JSON string that contains application-specific data.", - "type": "string" - }, - "CreatedBy": { - "description": "The `identity` of the User that created the channel. Default is: `system`.", - "type": "string" - }, - "DateCreated": { - "description": "The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, to assign to the resource as the date it was created. The default value is the current time set by the Chat service. Note that this should only be used in cases where a Channel is being recreated from a backup/separate source.", - "format": "date-time", - "type": "string" - }, - "DateUpdated": { - "description": "The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, to assign to the resource as the date it was last updated. The default value is `null`. Note that this parameter should only be used in cases where a Channel is being recreated from a backup/separate source and where a Message was previously updated.", - "format": "date-time", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the new resource. It can be up to 64 characters long.", - "type": "string" - }, - "Type": { - "description": "The visibility of the channel. Can be: `public` or `private` and defaults to `public`.", - "enum": [ - "public", - "private" - ], - "type": "string" - }, - "UniqueName": { - "description": "An application-defined string that uniquely identifies the resource. It can be used to address the resource in place of the Channel resource's `sid` in the URL. This value must be 64 characters or less in length and be unique within the Service.", - "type": "string" - } - }, - "title": "CreateChannelRequest", - "type": "object" - } - } - } - }, "responses": { "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/chat.v2.service.channel" + "$ref": "#/components/schemas/chat.v2.service.channel.channel_webhook" } } }, @@ -1958,72 +1887,123 @@ "accountSid_authToken": [] } ], + "operationId": "CreateChannelWebhook", "x-maturity": [ "GA" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateChannelWebhookRequest", + "properties": { + "Type": { + "type": "string", + "enum": [ + "webhook", + "trigger", + "studio" + ], + "description": "The type of webhook. Can be: `webhook`, `studio`, or `trigger`." + }, + "Configuration.Url": { + "type": "string", + "description": "The URL of the webhook to call using the `configuration.method`." + }, + "Configuration.Method": { + "type": "string", + "enum": [ + "GET", + "POST" + ], + "description": "The HTTP method used to call `configuration.url`. Can be: `GET` or `POST` and the default is `POST`." + }, + "Configuration.Filters": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The events that cause us to call the Channel Webhook. Used when `type` is `webhook`. This parameter takes only one event. To specify more than one event, repeat this parameter for each event. For the list of possible events, see [Webhook Event Triggers](https://www.twilio.com/docs/chat/webhook-events#webhook-event-trigger)." + }, + "Configuration.Triggers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A string that will cause us to call the webhook when it is present in a message body. This parameter takes only one trigger string. To specify more than one, repeat this parameter for each trigger string up to a total of 5 trigger strings. Used only when `type` = `trigger`." + }, + "Configuration.FlowSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$", + "description": "The SID of the Studio [Flow](https://www.twilio.com/docs/studio/rest-api/flow) to call when an event in `configuration.filters` occurs. Used only when `type` is `studio`." + }, + "Configuration.RetryCount": { + "type": "integer", + "description": "The number of times to retry the webhook if the first attempt fails. Can be an integer between 0 and 3, inclusive, and the default is 0." + } + }, + "required": [ + "Type" + ] + } + } + } + } + } + }, + "/v2/Services/{ServiceSid}/Channels/{ChannelSid}/Webhooks/{Sid}": { "servers": [ { "url": "https://chat.twilio.com" } ], + "description": "Webhooks for specific channels", "x-twilio": { "defaultOutputProperties": [ "sid", - "unique_name", - "friendly_name" + "configuration" ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v2/Services/{ServiceSid}/Channels/{ChannelSid}/Invites": { - "description": "Pending invitations to users to become channel members", + "pathType": "instance", + "parent": "/Services/{ServiceSid}/Channels" + }, "get": { "description": "", - "operationId": "ListInvite", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to read the Invite resources from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) with the Channel to fetch the Webhook resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the Invite resources to read belong to. This value can be the Channel resource's `sid` or `unique_name`.", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the Channel Webhook resource to fetch belongs to. This value can be the Channel resource's `sid` or `unique_name`.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The [User](https://www.twilio.com/docs/chat/rest/user-resource)'s `identity` value of the resources to read. See [access tokens](https://www.twilio.com/docs/chat/create-tokens) for more details.", - "in": "query", - "name": "Identity", + "name": "Sid", + "in": "path", + "description": "The SID of the Channel Webhook resource to fetch.", "schema": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - { - "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" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WH[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2031,46 +2011,7 @@ "content": { "application/json": { "schema": { - "properties": { - "invites": { - "items": { - "$ref": "#/components/schemas/chat.v2.service.channel.invite" - }, - "type": "array" - }, - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - } - }, - "title": "ListInviteResponse", - "type": "object" + "$ref": "#/components/schemas/chat.v2.service.channel.channel_webhook" } } }, @@ -2082,72 +2023,58 @@ "accountSid_authToken": [] } ], + "operationId": "FetchChannelWebhook", "x-maturity": [ "GA" ] }, "post": { "description": "", - "operationId": "CreateInvite", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to create the Invite resource under.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) with the Channel that has the Webhook resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the new Invite resource belongs to. This value can be the Channel resource's `sid` or `unique_name`.", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the Channel Webhook resource to update belongs to. This value can be the Channel resource's `sid` or `unique_name`.", "schema": { "type": "string" - } + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the Channel Webhook resource to update.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WH[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Identity": { - "description": "The `identity` value that uniquely identifies the new resource's [User](https://www.twilio.com/docs/chat/rest/user-resource) within the [Service](https://www.twilio.com/docs/chat/rest/service-resource). See [access tokens](https://www.twilio.com/docs/chat/create-tokens) for more info.", - "type": "string" - }, - "RoleSid": { - "description": "The SID of the [Role](https://www.twilio.com/docs/chat/rest/role-resource) assigned to the new member.", - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "required": [ - "Identity" - ], - "title": "CreateInviteRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/chat.v2.service.channel.invite" + "$ref": "#/components/schemas/chat.v2.service.channel.channel_webhook" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -2155,62 +2082,95 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateChannelWebhook", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://chat.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "identity", - "date_created" ], - "parent": "/Services/{ServiceSid}/Channels", - "pathType": "list" - } - }, - "/v2/Services/{ServiceSid}/Channels/{ChannelSid}/Invites/{Sid}": { + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateChannelWebhookRequest", + "properties": { + "Configuration.Url": { + "type": "string", + "description": "The URL of the webhook to call using the `configuration.method`." + }, + "Configuration.Method": { + "type": "string", + "enum": [ + "GET", + "POST" + ], + "description": "The HTTP method used to call `configuration.url`. Can be: `GET` or `POST` and the default is `POST`." + }, + "Configuration.Filters": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The events that cause us to call the Channel Webhook. Used when `type` is `webhook`. This parameter takes only one event. To specify more than one event, repeat this parameter for each event. For the list of possible events, see [Webhook Event Triggers](https://www.twilio.com/docs/chat/webhook-events#webhook-event-trigger)." + }, + "Configuration.Triggers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A string that will cause us to call the webhook when it is present in a message body. This parameter takes only one trigger string. To specify more than one, repeat this parameter for each trigger string up to a total of 5 trigger strings. Used only when `type` = `trigger`." + }, + "Configuration.FlowSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$", + "description": "The SID of the Studio [Flow](https://www.twilio.com/docs/studio/rest-api/flow) to call when an event in `configuration.filters` occurs. Used only when `type` = `studio`." + }, + "Configuration.RetryCount": { + "type": "integer", + "description": "The number of times to retry the webhook if the first attempt fails. Can be an integer between 0 and 3, inclusive, and the default is 0." + } + } + } + } + } + } + }, "delete": { "description": "", - "operationId": "DeleteInvite", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to delete the Invite resource from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) with the Channel to delete the Webhook resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the Invite resource to delete belongs to. This value can be the Channel resource's `sid` or `unique_name`.", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the Channel Webhook resource to delete belongs to. This value can be the Channel resource's `sid` or `unique_name`.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Invite resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Channel Webhook resource to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IN[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WH[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2223,46 +2183,38 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteChannelWebhook", "x-maturity": [ "GA" ] + } + }, + "/v2/Credentials": { + "servers": [ + { + "url": "https://chat.twilio.com" + } + ], + "description": "Credentials for push notifications channels", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "type" + ], + "pathType": "list" }, - "description": "Pending invitations to users to become channel members", "get": { "description": "", - "operationId": "FetchInvite", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to fetch the Invite resource from.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the Invite resource to fetch belongs to. This value can be the Channel resource's `sid` or `unique_name`.", - "in": "path", - "name": "ChannelSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the Invite resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, + "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IN[0-9a-fA-F]{32}$", - "type": "string" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], @@ -2271,7 +2223,46 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/chat.v2.service.channel.invite" + "type": "object", + "title": "ListCredentialResponse", + "properties": { + "credentials": { + "type": "array", + "items": { + "$ref": "#/components/schemas/chat.v2.credential" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -2283,72 +2274,113 @@ "accountSid_authToken": [] } ], + "operationId": "ListCredential", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://chat.twilio.com" - } - ], + "post": { + "description": "", + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/chat.v2.credential" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateCredential", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateCredentialRequest", + "properties": { + "Type": { + "type": "string", + "enum": [ + "gcm", + "apn", + "fcm" + ], + "description": "The type of push-notification service the credential is for. Can be: `gcm`, `fcm`, or `apn`." + }, + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the new resource. It can be up to 64 characters long." + }, + "Certificate": { + "type": "string", + "description": "[APN only] The URL encoded representation of the certificate. For example, \n`-----BEGIN CERTIFICATE-----\nMIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEF.....A==\n-----END CERTIFICATE-----`" + }, + "PrivateKey": { + "type": "string", + "description": "[APN only] The URL encoded representation of the private key. For example,\n`-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fG...\n-----END RSA PRIVATE KEY-----`" + }, + "Sandbox": { + "type": "boolean", + "description": "[APN only] Whether to send the credential to sandbox APNs. Can be `true` to send to sandbox APNs or `false` to send to production." + }, + "ApiKey": { + "type": "string", + "description": "[GCM only] The API key for the project that was obtained from the Google Developer console for your GCM Service application credential." + }, + "Secret": { + "type": "string", + "description": "[FCM only] The **Server key** of your project from the Firebase console, found under Settings / Cloud messaging." + } + }, + "required": [ + "Type" + ] + } + } + } + } + } + }, + "/v2/Credentials/{Sid}": { + "servers": [ + { + "url": "https://chat.twilio.com" + } + ], + "description": "Credentials for push notifications channels", "x-twilio": { "defaultOutputProperties": [ "sid", - "identity", - "date_created" + "friendly_name", + "type" ], - "parent": "/Services/{ServiceSid}/Channels", "pathType": "instance" - } - }, - "/v2/Services/{ServiceSid}/Channels/{ChannelSid}/Members": { - "description": "Users joined to specific channels", + }, "get": { "description": "", - "operationId": "ListMember", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to read the Member resources from.", + "name": "Sid", "in": "path", - "name": "ServiceSid", - "required": true, + "description": "The SID of the Credential resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the Member resources to read belong to. This value can be the Channel resource's `sid` or `unique_name`.", - "in": "path", - "name": "ChannelSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The [User](https://www.twilio.com/docs/chat/rest/user-resource)'s `identity` value of the Member resources to read. See [access tokens](https://www.twilio.com/docs/chat/create-tokens) for more details.", - "in": "query", - "name": "Identity", - "schema": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - { - "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" - } + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2356,46 +2388,7 @@ "content": { "application/json": { "schema": { - "properties": { - "members": { - "items": { - "$ref": "#/components/schemas/chat.v2.service.channel.member" - }, - "type": "array" - }, - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - } - }, - "title": "ListMemberResponse", - "type": "object" + "$ref": "#/components/schemas/chat.v2.credential" } } }, @@ -2407,108 +2400,104 @@ "accountSid_authToken": [] } ], + "operationId": "FetchCredential", "x-maturity": [ "GA" ] }, "post": { "description": "", - "operationId": "CreateMember", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to create the Member resource under.", + "name": "Sid", "in": "path", - "name": "ServiceSid", - "required": true, + "description": "The SID of the Credential resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the new Member resource belongs to. This value can be the Channel resource's `sid` or `unique_name`.", - "in": "path", - "name": "ChannelSid", - "required": true, - "schema": { - "type": "string" - } - }, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/chat.v2.credential" + } + } + }, + "description": "OK" + } + }, + "security": [ { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", - "name": "X-Twilio-Webhook-Enabled", - "schema": { - "enum": [ - "true", - "false" - ], - "type": "string" - } + "accountSid_authToken": [] } ], + "operationId": "UpdateCredential", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateCredentialRequest", "properties": { - "Attributes": { - "description": "A valid JSON string that contains application-specific data.", - "type": "string" - }, - "DateCreated": { - "description": "The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, to assign to the resource as the date it was created. The default value is the current time set by the Chat service. Note that this parameter should only be used when a Member is being recreated from a backup/separate source.", - "format": "date-time", - "type": "string" + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long." }, - "DateUpdated": { - "description": "The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, to assign to the resource as the date it was last updated. The default value is `null`. Note that this parameter should only be used when a Member is being recreated from a backup/separate source and where a Member was previously updated.", - "format": "date-time", - "type": "string" + "Certificate": { + "type": "string", + "description": "[APN only] The URL encoded representation of the certificate. For example, \n`-----BEGIN CERTIFICATE-----\nMIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEF.....A==\n-----END CERTIFICATE-----`" }, - "Identity": { - "description": "The `identity` value that uniquely identifies the new resource's [User](https://www.twilio.com/docs/chat/rest/user-resource) within the [Service](https://www.twilio.com/docs/chat/rest/service-resource). See [access tokens](https://www.twilio.com/docs/chat/create-tokens) for more info.", - "type": "string" + "PrivateKey": { + "type": "string", + "description": "[APN only] The URL encoded representation of the private key. For example,\n`-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fG...\n-----END RSA PRIVATE KEY-----`" }, - "LastConsumedMessageIndex": { - "description": "The index of the last [Message](https://www.twilio.com/docs/chat/rest/message-resource) in the [Channel](https://www.twilio.com/docs/chat/channels) that the Member has read. This parameter should only be used when recreating a Member from a backup/separate source.", - "nullable": true, - "type": "integer" + "Sandbox": { + "type": "boolean", + "description": "[APN only] Whether to send the credential to sandbox APNs. Can be `true` to send to sandbox APNs or `false` to send to production." }, - "LastConsumptionTimestamp": { - "description": "The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp of the last [Message](https://www.twilio.com/docs/chat/rest/message-resource) read event for the Member within the [Channel](https://www.twilio.com/docs/chat/channels).", - "format": "date-time", - "type": "string" + "ApiKey": { + "type": "string", + "description": "[GCM only] The API key for the project that was obtained from the Google Developer console for your GCM Service application credential." }, - "RoleSid": { - "description": "The SID of the [Role](https://www.twilio.com/docs/chat/rest/role-resource) to assign to the member. The default roles are those specified on the [Service](https://www.twilio.com/docs/chat/rest/service-resource).", - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "Secret": { + "type": "string", + "description": "[FCM only] The **Server key** of your project from the Firebase console, found under Settings / Cloud messaging." } - }, - "required": [ - "Identity" - ], - "title": "CreateMemberRequest", - "type": "object" + } } } } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/chat.v2.service.channel.member" - } - } + } + }, + "delete": { + "description": "", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The SID of the Credential resource to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$" }, - "description": "Created" + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -2516,76 +2505,75 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteCredential", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/Services/{ServiceSid}/Channels/{ChannelSid}/Invites/{Sid}": { "servers": [ { "url": "https://chat.twilio.com" } ], + "description": "Pending invitations to users to become channel members", "x-twilio": { "defaultOutputProperties": [ "sid", "identity", "date_created" ], - "parent": "/Services/{ServiceSid}/Channels", - "pathType": "list" - } - }, - "/v2/Services/{ServiceSid}/Channels/{ChannelSid}/Members/{Sid}": { - "delete": { + "pathType": "instance", + "parent": "/Services/{ServiceSid}/Channels" + }, + "get": { "description": "", - "operationId": "DeleteMember", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to delete the Member resource from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to fetch the Invite resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the Member resource to delete belongs to. This value can be the Channel resource's `sid` or `unique_name`.", - "in": "path", "name": "ChannelSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the Member resource to delete. This value can be either the Member's `sid` or its `identity` value.", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the Invite resource to fetch belongs to. This value can be the Channel resource's `sid` or `unique_name`.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", - "name": "X-Twilio-Webhook-Enabled", + "name": "Sid", + "in": "path", + "description": "The SID of the Invite resource to fetch.", "schema": { - "enum": [ - "true", - "false" - ], - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IN[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/chat.v2.service.channel.invite" + } + } + }, + "description": "OK" } }, "security": [ @@ -2593,56 +2581,51 @@ "accountSid_authToken": [] } ], + "operationId": "FetchInvite", "x-maturity": [ "GA" ] }, - "description": "Users joined to specific channels", - "get": { + "delete": { "description": "", - "operationId": "FetchMember", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to fetch the Member resource from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to delete the Invite resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the Member resource to fetch belongs to. This value can be the Channel resource's `sid` or `unique_name`.", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the Invite resource to delete belongs to. This value can be the Channel resource's `sid` or `unique_name`.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Member resource to fetch. This value can be either the Member's `sid` or its `identity` value.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Invite resource to delete.", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IN[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/chat.v2.service.channel.member" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -2650,110 +2633,63 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteInvite", "x-maturity": [ "GA" ] + } + }, + "/v2/Services/{ServiceSid}/Channels/{ChannelSid}/Invites": { + "servers": [ + { + "url": "https://chat.twilio.com" + } + ], + "description": "Pending invitations to users to become channel members", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "identity", + "date_created" + ], + "pathType": "list", + "parent": "/Services/{ServiceSid}/Channels" }, "post": { "description": "", - "operationId": "UpdateMember", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to update the Member resource in.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to create the Invite resource under.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the Member resource to update belongs to. This value can be the Channel resource's `sid` or `unique_name`.", - "in": "path", "name": "ChannelSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the Member resource to update. This value can be either the Member's `sid` or its `identity` value.", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the new Invite resource belongs to. This value can be the Channel resource's `sid` or `unique_name`.", "schema": { "type": "string" - } - }, - { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", - "name": "X-Twilio-Webhook-Enabled", - "schema": { - "enum": [ - "true", - "false" - ], - "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Attributes": { - "description": "A valid JSON string that contains application-specific data.", - "type": "string" - }, - "DateCreated": { - "description": "The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, to assign to the resource as the date it was created. The default value is the current time set by the Chat service. Note that this parameter should only be used when a Member is being recreated from a backup/separate source.", - "format": "date-time", - "type": "string" - }, - "DateUpdated": { - "description": "The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, to assign to the resource as the date it was last updated.", - "format": "date-time", - "type": "string" - }, - "LastConsumedMessageIndex": { - "description": "The index of the last [Message](https://www.twilio.com/docs/chat/rest/message-resource) that the Member has read within the [Channel](https://www.twilio.com/docs/chat/channels).", - "nullable": true, - "type": "integer" - }, - "LastConsumptionTimestamp": { - "description": "The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp of the last [Message](https://www.twilio.com/docs/chat/rest/message-resource) read event for the Member within the [Channel](https://www.twilio.com/docs/chat/channels).", - "format": "date-time", - "type": "string" - }, - "RoleSid": { - "description": "The SID of the [Role](https://www.twilio.com/docs/chat/rest/role-resource) to assign to the member. The default roles are those specified on the [Service](https://www.twilio.com/docs/chat/rest/service-resource).", - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "title": "UpdateMemberRequest", - "type": "object" - } - } - } - }, "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/chat.v2.service.channel.member" + "$ref": "#/components/schemas/chat.v2.service.channel.invite" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -2761,72 +2697,80 @@ "accountSid_authToken": [] } ], + "operationId": "CreateInvite", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://chat.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "identity", - "date_created" ], - "parent": "/Services/{ServiceSid}/Channels", - "pathType": "instance" - } - }, - "/v2/Services/{ServiceSid}/Channels/{ChannelSid}/Messages": { - "description": "Individual chat messages", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateInviteRequest", + "properties": { + "Identity": { + "type": "string", + "description": "The `identity` value that uniquely identifies the new resource's [User](https://www.twilio.com/docs/chat/rest/user-resource) within the [Service](https://www.twilio.com/docs/chat/rest/service-resource). See [access tokens](https://www.twilio.com/docs/chat/create-tokens) for more info." + }, + "RoleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "description": "The SID of the [Role](https://www.twilio.com/docs/chat/rest/role-resource) assigned to the new member." + } + }, + "required": [ + "Identity" + ] + } + } + } + } + }, "get": { "description": "", - "operationId": "ListMessage", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to read the Message resources from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to read the Invite resources from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the Message resource to read belongs to. This value can be the Channel resource's `sid` or `unique_name`.", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the Invite resources to read belong to. This value can be the Channel resource's `sid` or `unique_name`.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The sort order of the returned messages. Can be: `asc` (ascending) or `desc` (descending) with `asc` as the default.", + "name": "Identity", "in": "query", - "name": "Order", + "description": "The [User](https://www.twilio.com/docs/chat/rest/user-resource)'s `identity` value of the resources to read. See [access tokens](https://www.twilio.com/docs/chat/create-tokens) for more details.", "schema": { - "enum": [ - "asc", - "desc" - ], - "type": "string" + "type": "array", + "items": { + "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", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -2835,25 +2779,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListInviteResponse", "properties": { - "messages": { + "invites": { + "type": "array", "items": { - "$ref": "#/components/schemas/chat.v2.service.channel.message" - }, - "type": "array" + "$ref": "#/components/schemas/chat.v2.service.channel.invite" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -2862,19 +2806,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListMessageResponse", - "type": "object" + } } } }, @@ -2886,103 +2830,72 @@ "accountSid_authToken": [] } ], + "operationId": "ListInvite", "x-maturity": [ "GA" ] + } + }, + "/v2/Services/{ServiceSid}/Channels/{ChannelSid}/Members/{Sid}": { + "servers": [ + { + "url": "https://chat.twilio.com" + } + ], + "description": "Users joined to specific channels", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "identity", + "date_created" + ], + "pathType": "instance", + "parent": "/Services/{ServiceSid}/Channels" }, - "post": { + "get": { "description": "", - "operationId": "CreateMessage", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to create the Message resource under.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to fetch the Member resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the new Message resource belongs to. This value can be the Channel resource's `sid` or `unique_name`.", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the Member resource to fetch belongs to. This value can be the Channel resource's `sid` or `unique_name`.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", - "name": "X-Twilio-Webhook-Enabled", + "name": "Sid", + "in": "path", + "description": "The SID of the Member resource to fetch. This value can be either the Member's `sid` or its `identity` value.", "schema": { - "enum": [ - "true", - "false" - ], "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Attributes": { - "description": "A valid JSON string that contains application-specific data.", - "type": "string" - }, - "Body": { - "description": "The message to send to the channel. Can be an empty string or `null`, which sets the value as an empty string. You can send structured data in the body by serializing it as a string.", - "type": "string" - }, - "DateCreated": { - "description": "The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, to assign to the resource as the date it was created. The default value is the current time set by the Chat service. This parameter should only be used when a Chat's history is being recreated from a backup/separate source.", - "format": "date-time", - "type": "string" - }, - "DateUpdated": { - "description": "The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, to assign to the resource as the date it was last updated.", - "format": "date-time", - "type": "string" - }, - "From": { - "description": "The [Identity](https://www.twilio.com/docs/chat/identity) of the new message's author. The default value is `system`.", - "type": "string" - }, - "LastUpdatedBy": { - "description": "The [Identity](https://www.twilio.com/docs/chat/identity) of the User who last updated the Message, if applicable.", - "type": "string" - }, - "MediaSid": { - "description": "The SID of the [Media](https://www.twilio.com/docs/chat/rest/media) to attach to the new Message.", - "maxLength": 34, - "minLength": 34, - "pattern": "^ME[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "title": "CreateMessageRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/chat.v2.service.channel.message" + "$ref": "#/components/schemas/chat.v2.service.channel.member" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -2990,74 +2903,54 @@ "accountSid_authToken": [] } ], + "operationId": "FetchMember", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://chat.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "from", - "to", - "date_created" - ], - "parent": "/Services/{ServiceSid}/Channels", - "pathType": "list" - } - }, - "/v2/Services/{ServiceSid}/Channels/{ChannelSid}/Messages/{Sid}": { "delete": { "description": "", - "operationId": "DeleteMessage", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to delete the Message resource from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to delete the Member resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the Message resource to delete belongs to. This value can be the Channel resource's `sid` or `unique_name`.", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the Member resource to delete belongs to. This value can be the Channel resource's `sid` or `unique_name`.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Message resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Member resource to delete. This value can be either the Member's `sid` or its `identity` value.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IM[0-9a-fA-F]{32}$", "type": "string" - } + }, + "required": true }, { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", "schema": { + "type": "string", "enum": [ "true", "false" - ], - "type": "string" + ] } } ], @@ -3071,46 +2964,54 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteMember", "x-maturity": [ "GA" ] }, - "description": "Individual chat messages", - "get": { + "post": { "description": "", - "operationId": "FetchMessage", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to fetch the Message resource from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to update the Member resource in.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the Message resource to fetch belongs to. This value can be the Channel resource's `sid` or `unique_name`.", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the Member resource to update belongs to. This value can be the Channel resource's `sid` or `unique_name`.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Message resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Member resource to update. This value can be either the Member's `sid` or its `identity` value.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IM[0-9a-fA-F]{32}$", "type": "string" + }, + "required": true + }, + { + "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", + "schema": { + "type": "string", + "enum": [ + "true", + "false" + ] } } ], @@ -3119,7 +3020,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/chat.v2.service.channel.message" + "$ref": "#/components/schemas/chat.v2.service.channel.member" } } }, @@ -3131,170 +3032,223 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateMember", "x-maturity": [ "GA" - ] + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateMemberRequest", + "properties": { + "RoleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "description": "The SID of the [Role](https://www.twilio.com/docs/chat/rest/role-resource) to assign to the member. The default roles are those specified on the [Service](https://www.twilio.com/docs/chat/rest/service-resource)." + }, + "LastConsumedMessageIndex": { + "type": "integer", + "nullable": true, + "description": "The index of the last [Message](https://www.twilio.com/docs/chat/rest/message-resource) that the Member has read within the [Channel](https://www.twilio.com/docs/chat/channels)." + }, + "LastConsumptionTimestamp": { + "type": "string", + "format": "date-time", + "description": "The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp of the last [Message](https://www.twilio.com/docs/chat/rest/message-resource) read event for the Member within the [Channel](https://www.twilio.com/docs/chat/channels)." + }, + "DateCreated": { + "type": "string", + "format": "date-time", + "description": "The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, to assign to the resource as the date it was created. The default value is the current time set by the Chat service. Note that this parameter should only be used when a Member is being recreated from a backup/separate source." + }, + "DateUpdated": { + "type": "string", + "format": "date-time", + "description": "The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, to assign to the resource as the date it was last updated." + }, + "Attributes": { + "type": "string", + "description": "A valid JSON string that contains application-specific data." + } + } + } + } + } + } + } + }, + "/v2/Services/{ServiceSid}/Channels/{ChannelSid}/Members": { + "servers": [ + { + "url": "https://chat.twilio.com" + } + ], + "description": "Users joined to specific channels", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "identity", + "date_created" + ], + "pathType": "list", + "parent": "/Services/{ServiceSid}/Channels" }, "post": { "description": "", - "operationId": "UpdateMessage", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to update the Message resource in.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to create the Member resource under.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the Message resource to update belongs to. This value can be the Channel resource's `sid` or `unique_name`.", - "in": "path", "name": "ChannelSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the Message resource to update.", "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IM[0-9a-fA-F]{32}$", + "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the new Member resource belongs to. This value can be the Channel resource's `sid` or `unique_name`.", + "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", "schema": { + "type": "string", "enum": [ "true", "false" - ], - "type": "string" + ] } } ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/chat.v2.service.channel.member" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateMember", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateMemberRequest", "properties": { - "Attributes": { - "description": "A valid JSON string that contains application-specific data.", - "type": "string" + "Identity": { + "type": "string", + "description": "The `identity` value that uniquely identifies the new resource's [User](https://www.twilio.com/docs/chat/rest/user-resource) within the [Service](https://www.twilio.com/docs/chat/rest/service-resource). See [access tokens](https://www.twilio.com/docs/chat/create-tokens) for more info." }, - "Body": { - "description": "The message to send to the channel. Can be an empty string or `null`, which sets the value as an empty string. You can send structured data in the body by serializing it as a string.", - "type": "string" + "RoleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "description": "The SID of the [Role](https://www.twilio.com/docs/chat/rest/role-resource) to assign to the member. The default roles are those specified on the [Service](https://www.twilio.com/docs/chat/rest/service-resource)." + }, + "LastConsumedMessageIndex": { + "type": "integer", + "nullable": true, + "description": "The index of the last [Message](https://www.twilio.com/docs/chat/rest/message-resource) in the [Channel](https://www.twilio.com/docs/chat/channels) that the Member has read. This parameter should only be used when recreating a Member from a backup/separate source." + }, + "LastConsumptionTimestamp": { + "type": "string", + "format": "date-time", + "description": "The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp of the last [Message](https://www.twilio.com/docs/chat/rest/message-resource) read event for the Member within the [Channel](https://www.twilio.com/docs/chat/channels)." }, "DateCreated": { - "description": "The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, to assign to the resource as the date it was created. The default value is the current time set by the Chat service. This parameter should only be used when a Chat's history is being recreated from a backup/separate source.", + "type": "string", "format": "date-time", - "type": "string" + "description": "The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, to assign to the resource as the date it was created. The default value is the current time set by the Chat service. Note that this parameter should only be used when a Member is being recreated from a backup/separate source." }, "DateUpdated": { - "description": "The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, to assign to the resource as the date it was last updated.", + "type": "string", "format": "date-time", - "type": "string" - }, - "From": { - "description": "The [Identity](https://www.twilio.com/docs/chat/identity) of the message's author.", - "type": "string" + "description": "The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, to assign to the resource as the date it was last updated. The default value is `null`. Note that this parameter should only be used when a Member is being recreated from a backup/separate source and where a Member was previously updated." }, - "LastUpdatedBy": { - "description": "The [Identity](https://www.twilio.com/docs/chat/identity) of the User who last updated the Message, if applicable.", - "type": "string" + "Attributes": { + "type": "string", + "description": "A valid JSON string that contains application-specific data." } }, - "title": "UpdateMessageRequest", - "type": "object" + "required": [ + "Identity" + ] } } } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/chat.v2.service.channel.message" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://chat.twilio.com" } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "from", - "to", - "date_created" - ], - "parent": "/Services/{ServiceSid}/Channels", - "pathType": "instance" - } - }, - "/v2/Services/{ServiceSid}/Channels/{ChannelSid}/Webhooks": { - "description": "Webhooks for specific channels", + }, "get": { "description": "", - "operationId": "ListChannelWebhook", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) with the Channel to read the resources from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to read the Member resources from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the Channel Webhook resources to read belong to. This value can be the Channel resource's `sid` or `unique_name`.", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the Member resources to read belong to. This value can be the Channel resource's `sid` or `unique_name`.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", + "name": "Identity", "in": "query", + "description": "The [User](https://www.twilio.com/docs/chat/rest/user-resource)'s `identity` value of the Member resources to read. See [access tokens](https://www.twilio.com/docs/chat/create-tokens) for more details.", + "schema": { + "type": "array", + "items": { + "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": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -3303,19 +3257,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListMemberResponse", "properties": { + "members": { + "type": "array", + "items": { + "$ref": "#/components/schemas/chat.v2.service.channel.member" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -3324,25 +3284,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "webhooks": { - "items": { - "$ref": "#/components/schemas/chat.v2.service.channel.channel_webhook" - }, - "type": "array" + } } - }, - "title": "ListChannelWebhookResponse", - "type": "object" + } } } }, @@ -3354,107 +3308,76 @@ "accountSid_authToken": [] } ], + "operationId": "ListMember", "x-maturity": [ "GA" ] + } + }, + "/v2/Services/{ServiceSid}/Channels/{ChannelSid}/Messages/{Sid}": { + "servers": [ + { + "url": "https://chat.twilio.com" + } + ], + "description": "Individual chat messages", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "from", + "to", + "date_created" + ], + "pathType": "instance", + "parent": "/Services/{ServiceSid}/Channels" }, - "post": { + "get": { "description": "", - "operationId": "CreateChannelWebhook", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) with the Channel to create the Webhook resource under.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to fetch the Message resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the new Channel Webhook resource belongs to. This value can be the Channel resource's `sid` or `unique_name`.", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the Message resource to fetch belongs to. This value can be the Channel resource's `sid` or `unique_name`.", "schema": { "type": "string" - } + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the Message resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IM[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Configuration.Filters": { - "description": "The events that cause us to call the Channel Webhook. Used when `type` is `webhook`. This parameter takes only one event. To specify more than one event, repeat this parameter for each event. For the list of possible events, see [Webhook Event Triggers](https://www.twilio.com/docs/chat/webhook-events#webhook-event-trigger).", - "items": { - "type": "string" - }, - "type": "array" - }, - "Configuration.FlowSid": { - "description": "The SID of the Studio [Flow](https://www.twilio.com/docs/studio/rest-api/flow) to call when an event in `configuration.filters` occurs. Used only when `type` is `studio`.", - "maxLength": 34, - "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - }, - "Configuration.Method": { - "description": "The HTTP method used to call `configuration.url`. Can be: `GET` or `POST` and the default is `POST`.", - "enum": [ - "GET", - "POST" - ], - "type": "string" - }, - "Configuration.RetryCount": { - "description": "The number of times to retry the webhook if the first attempt fails. Can be an integer between 0 and 3, inclusive, and the default is 0.", - "type": "integer" - }, - "Configuration.Triggers": { - "description": "A string that will cause us to call the webhook when it is present in a message body. This parameter takes only one trigger string. To specify more than one, repeat this parameter for each trigger string up to a total of 5 trigger strings. Used only when `type` = `trigger`.", - "items": { - "type": "string" - }, - "type": "array" - }, - "Configuration.Url": { - "description": "The URL of the webhook to call using the `configuration.method`.", - "type": "string" - }, - "Type": { - "description": "The type of webhook. Can be: `webhook`, `studio`, or `trigger`.", - "enum": [ - "webhook", - "trigger", - "studio" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "title": "CreateChannelWebhookRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/chat.v2.service.channel.channel_webhook" + "$ref": "#/components/schemas/chat.v2.service.channel.message" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -3462,60 +3385,57 @@ "accountSid_authToken": [] } ], + "operationId": "FetchMessage", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://chat.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "configuration" - ], - "parent": "/Services/{ServiceSid}/Channels", - "pathType": "list" - } - }, - "/v2/Services/{ServiceSid}/Channels/{ChannelSid}/Webhooks/{Sid}": { "delete": { "description": "", - "operationId": "DeleteChannelWebhook", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) with the Channel to delete the Webhook resource from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to delete the Message resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the Channel Webhook resource to delete belongs to. This value can be the Channel resource's `sid` or `unique_name`.", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the Message resource to delete belongs to. This value can be the Channel resource's `sid` or `unique_name`.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Channel Webhook resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Message resource to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WH[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^IM[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", + "schema": { + "type": "string", + "enum": [ + "true", + "false" + ] } } ], @@ -3529,46 +3449,57 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteMessage", "x-maturity": [ "GA" ] }, - "description": "Webhooks for specific channels", - "get": { + "post": { "description": "", - "operationId": "FetchChannelWebhook", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) with the Channel to fetch the Webhook resource from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to update the Message resource in.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the Channel Webhook resource to fetch belongs to. This value can be the Channel resource's `sid` or `unique_name`.", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the Message resource to update belongs to. This value can be the Channel resource's `sid` or `unique_name`.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Channel Webhook resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Message resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WH[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^IM[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", + "schema": { + "type": "string", + "enum": [ + "true", + "false" + ] } } ], @@ -3577,7 +3508,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/chat.v2.service.channel.channel_webhook" + "$ref": "#/components/schemas/chat.v2.service.channel.message" } } }, @@ -3589,103 +3520,263 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateMessage", "x-maturity": [ "GA" - ] + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateMessageRequest", + "properties": { + "Body": { + "type": "string", + "description": "The message to send to the channel. Can be an empty string or `null`, which sets the value as an empty string. You can send structured data in the body by serializing it as a string." + }, + "Attributes": { + "type": "string", + "description": "A valid JSON string that contains application-specific data." + }, + "DateCreated": { + "type": "string", + "format": "date-time", + "description": "The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, to assign to the resource as the date it was created. The default value is the current time set by the Chat service. This parameter should only be used when a Chat's history is being recreated from a backup/separate source." + }, + "DateUpdated": { + "type": "string", + "format": "date-time", + "description": "The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, to assign to the resource as the date it was last updated." + }, + "LastUpdatedBy": { + "type": "string", + "description": "The [Identity](https://www.twilio.com/docs/chat/identity) of the User who last updated the Message, if applicable." + }, + "From": { + "type": "string", + "description": "The [Identity](https://www.twilio.com/docs/chat/identity) of the message's author." + } + } + } + } + } + } + } + }, + "/v2/Services/{ServiceSid}/Channels/{ChannelSid}/Messages": { + "servers": [ + { + "url": "https://chat.twilio.com" + } + ], + "description": "Individual chat messages", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "from", + "to", + "date_created" + ], + "pathType": "list", + "parent": "/Services/{ServiceSid}/Channels" }, "post": { "description": "", - "operationId": "UpdateChannelWebhook", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) with the Channel that has the Webhook resource to update.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to create the Message resource under.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the Channel Webhook resource to update belongs to. This value can be the Channel resource's `sid` or `unique_name`.", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the new Message resource belongs to. This value can be the Channel resource's `sid` or `unique_name`.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Channel Webhook resource to update.", - "in": "path", - "name": "Sid", - "required": true, + "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WH[0-9a-fA-F]{32}$", - "type": "string" + "type": "string", + "enum": [ + "true", + "false" + ] } } ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/chat.v2.service.channel.message" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateMessage", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateMessageRequest", "properties": { - "Configuration.Filters": { - "description": "The events that cause us to call the Channel Webhook. Used when `type` is `webhook`. This parameter takes only one event. To specify more than one event, repeat this parameter for each event. For the list of possible events, see [Webhook Event Triggers](https://www.twilio.com/docs/chat/webhook-events#webhook-event-trigger).", - "items": { - "type": "string" - }, - "type": "array" + "From": { + "type": "string", + "description": "The [Identity](https://www.twilio.com/docs/chat/identity) of the new message's author. The default value is `system`." }, - "Configuration.FlowSid": { - "description": "The SID of the Studio [Flow](https://www.twilio.com/docs/studio/rest-api/flow) to call when an event in `configuration.filters` occurs. Used only when `type` = `studio`.", - "maxLength": 34, - "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" + "Attributes": { + "type": "string", + "description": "A valid JSON string that contains application-specific data." }, - "Configuration.Method": { - "description": "The HTTP method used to call `configuration.url`. Can be: `GET` or `POST` and the default is `POST`.", - "enum": [ - "GET", - "POST" - ], - "type": "string" + "DateCreated": { + "type": "string", + "format": "date-time", + "description": "The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, to assign to the resource as the date it was created. The default value is the current time set by the Chat service. This parameter should only be used when a Chat's history is being recreated from a backup/separate source." }, - "Configuration.RetryCount": { - "description": "The number of times to retry the webhook if the first attempt fails. Can be an integer between 0 and 3, inclusive, and the default is 0.", - "type": "integer" + "DateUpdated": { + "type": "string", + "format": "date-time", + "description": "The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, to assign to the resource as the date it was last updated." }, - "Configuration.Triggers": { - "description": "A string that will cause us to call the webhook when it is present in a message body. This parameter takes only one trigger string. To specify more than one, repeat this parameter for each trigger string up to a total of 5 trigger strings. Used only when `type` = `trigger`.", - "items": { - "type": "string" - }, - "type": "array" + "LastUpdatedBy": { + "type": "string", + "description": "The [Identity](https://www.twilio.com/docs/chat/identity) of the User who last updated the Message, if applicable." }, - "Configuration.Url": { - "description": "The URL of the webhook to call using the `configuration.method`.", - "type": "string" + "Body": { + "type": "string", + "description": "The message to send to the channel. Can be an empty string or `null`, which sets the value as an empty string. You can send structured data in the body by serializing it as a string." + }, + "MediaSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^ME[0-9a-fA-F]{32}$", + "description": "The SID of the [Media](https://www.twilio.com/docs/chat/rest/media) to attach to the new Message." } - }, - "title": "UpdateChannelWebhookRequest", - "type": "object" + } } } } - }, + } + }, + "get": { + "description": "", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to read the Message resources from.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "ChannelSid", + "in": "path", + "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) the Message resource to read belongs to. This value can be the Channel resource's `sid` or `unique_name`.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "Order", + "in": "query", + "description": "The sort order of the returned messages. Can be: `asc` (ascending) or `desc` (descending) with `asc` as the default.", + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ] + } + }, + { + "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 + } + } + ], "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/chat.v2.service.channel.channel_webhook" + "type": "object", + "title": "ListMessageResponse", + "properties": { + "messages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/chat.v2.service.channel.message" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -3697,66 +3788,66 @@ "accountSid_authToken": [] } ], + "operationId": "ListMessage", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/Services/{ServiceSid}/Roles/{Sid}": { "servers": [ { "url": "https://chat.twilio.com" } ], + "description": "Roles determining user or member permissions", "x-twilio": { "defaultOutputProperties": [ "sid", - "configuration" + "friendly_name", + "type" ], - "parent": "/Services/{ServiceSid}/Channels", - "pathType": "instance" - } - }, - "/v2/Services/{ServiceSid}/Channels/{Sid}": { - "delete": { + "pathType": "instance", + "parent": "/Services" + }, + "get": { "description": "", - "operationId": "DeleteChannel", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to delete the resource from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to fetch the Role resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the Channel resource to delete. This value can be either the `sid` or the `unique_name` of the Channel resource to delete.", - "in": "path", "name": "Sid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", - "name": "X-Twilio-Webhook-Enabled", + "in": "path", + "description": "The SID of the Role resource to fetch.", "schema": { - "enum": [ - "true", - "false" - ], - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/chat.v2.service.role" + } + } + }, + "description": "OK" } }, "security": [ @@ -3764,47 +3855,42 @@ "accountSid_authToken": [] } ], + "operationId": "FetchRole", "x-maturity": [ "GA" ] }, - "description": "Channels represent chat rooms", - "get": { + "delete": { "description": "", - "operationId": "FetchChannel", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to fetch the Channel resource from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to delete the Role resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the Channel resource to fetch. This value can be either the `sid` or the `unique_name` of the Channel resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Role resource to delete.", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/chat.v2.service.channel" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -3812,92 +3898,45 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteRole", "x-maturity": [ "GA" ] }, "post": { "description": "", - "operationId": "UpdateChannel", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to update the Channel resource in.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to update the Role resource in.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the Channel resource to update. This value can be either the `sid` or the `unique_name` of the Channel resource to update.", - "in": "path", "name": "Sid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", - "name": "X-Twilio-Webhook-Enabled", + "in": "path", + "description": "The SID of the Role resource to update.", "schema": { - "enum": [ - "true", - "false" - ], - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Attributes": { - "description": "A valid JSON string that contains application-specific data.", - "type": "string" - }, - "CreatedBy": { - "description": "The `identity` of the User that created the channel. Default is: `system`.", - "type": "string" - }, - "DateCreated": { - "description": "The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, to assign to the resource as the date it was created. The default value is the current time set by the Chat service. Note that this should only be used in cases where a Channel is being recreated from a backup/separate source.", - "format": "date-time", - "type": "string" - }, - "DateUpdated": { - "description": "The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, to assign to the resource as the date it was last updated.", - "format": "date-time", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It can be up to 256 characters long.", - "type": "string" - }, - "UniqueName": { - "description": "An application-defined string that uniquely identifies the resource. It can be used to address the resource in place of the resource's `sid` in the URL. This value must be 256 characters or less in length and unique within the Service.", - "type": "string" - } - }, - "title": "UpdateChannelRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/chat.v2.service.channel" + "$ref": "#/components/schemas/chat.v2.service.role" } } }, @@ -3909,51 +3948,147 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateRole", "x-maturity": [ "GA" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateRoleRequest", + "properties": { + "Permission": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A permission that you grant to the role. Only one permission can be granted per parameter. To assign more than one permission, repeat this parameter for each permission value. Note that the update action replaces all previously assigned permissions with those defined in the update action. To remove a permission, do not include it in the subsequent update action. The values for this parameter depend on the role's `type`." + } + }, + "required": [ + "Permission" + ] + } + } + } + } + } + }, + "/v2/Services/{ServiceSid}/Roles": { "servers": [ { "url": "https://chat.twilio.com" } ], + "description": "Roles determining user or member permissions", "x-twilio": { "defaultOutputProperties": [ "sid", - "unique_name", - "friendly_name" + "friendly_name", + "type" ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v2/Services/{ServiceSid}/Roles": { - "description": "Roles determining user or member permissions", - "get": { + "pathType": "list", + "parent": "/Services" + }, + "post": { "description": "", - "operationId": "ListRole", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to read the Role resources from.", + "name": "ServiceSid", "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to create the Role resource under.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/chat.v2.service.role" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateRole", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateRoleRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the new resource. It can be up to 64 characters long." + }, + "Type": { + "type": "string", + "enum": [ + "channel", + "deployment" + ], + "description": "The type of role. Can be: `channel` for [Channel](https://www.twilio.com/docs/chat/channels) roles or `deployment` for [Service](https://www.twilio.com/docs/chat/rest/service-resource) roles." + }, + "Permission": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A permission that you grant to the new role. Only one permission can be granted per parameter. To assign more than one permission, repeat this parameter for each permission value. The values for this parameter depend on the role's `type`." + } + }, + "required": [ + "FriendlyName", + "Type", + "Permission" + ] + } + } + } + } + }, + "get": { + "description": "", + "parameters": [ + { "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to read the Role resources from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -3962,19 +4097,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListRoleResponse", "properties": { + "roles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/chat.v2.service.role" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -3983,25 +4124,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "roles": { - "items": { - "$ref": "#/components/schemas/chat.v2.service.role" - }, - "type": "array" + } } - }, - "title": "ListRoleResponse", - "type": "object" + } } } }, @@ -4013,73 +4148,53 @@ "accountSid_authToken": [] } ], + "operationId": "ListRole", "x-maturity": [ "GA" ] + } + }, + "/v2/Services/{Sid}": { + "servers": [ + { + "url": "https://chat.twilio.com" + } + ], + "description": "Top level scope for all chat resources", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "date_created" + ], + "pathType": "instance" }, - "post": { + "get": { "description": "", - "operationId": "CreateRole", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to create the Role resource under.", + "name": "Sid", "in": "path", - "name": "ServiceSid", - "required": true, + "description": "The SID of the Service resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "FriendlyName": { - "description": "A descriptive string that you create to describe the new resource. It can be up to 64 characters long.", - "type": "string" - }, - "Permission": { - "description": "A permission that you grant to the new role. Only one permission can be granted per parameter. To assign more than one permission, repeat this parameter for each permission value. The values for this parameter depend on the role's `type`.", - "items": { - "type": "string" - }, - "type": "array" - }, - "Type": { - "description": "The type of role. Can be: `channel` for [Channel](https://www.twilio.com/docs/chat/channels) roles or `deployment` for [Service](https://www.twilio.com/docs/chat/rest/service-resource) roles.", - "enum": [ - "channel", - "deployment" - ], - "type": "string" - } - }, - "required": [ - "FriendlyName", - "Type", - "Permission" - ], - "title": "CreateRoleRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/chat.v2.service.role" + "$ref": "#/components/schemas/chat.v2.service" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -4087,58 +4202,68 @@ "accountSid_authToken": [] } ], + "operationId": "FetchService", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://chat.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "type" - ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v2/Services/{ServiceSid}/Roles/{Sid}": { "delete": { "description": "", - "operationId": "DeleteRole", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to delete the Role resource from.", + "name": "Sid", "in": "path", - "name": "ServiceSid", - "required": true, + "description": "The SID of the Service resource to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteService", + "x-maturity": [ + "GA" + ] + }, + "post": { + "description": "", + "parameters": [ { - "description": "The SID of the Role resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Service resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/chat.v2.service" + } + } + }, + "description": "OK" } }, "security": [ @@ -4146,50 +4271,198 @@ "accountSid_authToken": [] } ], - "x-maturity": [ - "GA" - ] + "operationId": "UpdateService", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateServiceRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the resource." + }, + "DefaultServiceRoleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "description": "The service role assigned to users when they are added to the service. See the [Role resource](https://www.twilio.com/docs/chat/rest/role-resource) for more info about roles." + }, + "DefaultChannelRoleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "description": "The channel role assigned to users when they are added to a channel. See the [Role resource](https://www.twilio.com/docs/chat/rest/role-resource) for more info about roles." + }, + "DefaultChannelCreatorRoleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "description": "The channel role assigned to a channel creator when they join a new channel. See the [Role resource](https://www.twilio.com/docs/chat/rest/role-resource) for more info about roles." + }, + "ReadStatusEnabled": { + "type": "boolean", + "description": "Whether to enable the [Message Consumption Horizon](https://www.twilio.com/docs/chat/consumption-horizon) feature. The default is `true`." + }, + "ReachabilityEnabled": { + "type": "boolean", + "description": "Whether to enable the [Reachability Indicator](https://www.twilio.com/docs/chat/reachability-indicator) for this Service instance. The default is `false`." + }, + "TypingIndicatorTimeout": { + "type": "integer", + "description": "How long in seconds after a `started typing` event until clients should assume that user is no longer typing, even if no `ended typing` message was received. The default is 5 seconds." + }, + "ConsumptionReportInterval": { + "type": "integer", + "description": "DEPRECATED. The interval in seconds between consumption reports submission batches from client endpoints." + }, + "Notifications.NewMessage.Enabled": { + "type": "boolean", + "description": "Whether to send a notification when a new message is added to a channel. The default is `false`." + }, + "Notifications.NewMessage.Template": { + "type": "string", + "description": "The template to use to create the notification text displayed when a new message is added to a channel and `notifications.new_message.enabled` is `true`." + }, + "Notifications.NewMessage.Sound": { + "type": "string", + "description": "The name of the sound to play when a new message is added to a channel and `notifications.new_message.enabled` is `true`." + }, + "Notifications.NewMessage.BadgeCountEnabled": { + "type": "boolean", + "description": "Whether the new message badge is enabled. The default is `false`." + }, + "Notifications.AddedToChannel.Enabled": { + "type": "boolean", + "description": "Whether to send a notification when a member is added to a channel. The default is `false`." + }, + "Notifications.AddedToChannel.Template": { + "type": "string", + "description": "The template to use to create the notification text displayed when a member is added to a channel and `notifications.added_to_channel.enabled` is `true`." + }, + "Notifications.AddedToChannel.Sound": { + "type": "string", + "description": "The name of the sound to play when a member is added to a channel and `notifications.added_to_channel.enabled` is `true`." + }, + "Notifications.RemovedFromChannel.Enabled": { + "type": "boolean", + "description": "Whether to send a notification to a user when they are removed from a channel. The default is `false`." + }, + "Notifications.RemovedFromChannel.Template": { + "type": "string", + "description": "The template to use to create the notification text displayed to a user when they are removed from a channel and `notifications.removed_from_channel.enabled` is `true`." + }, + "Notifications.RemovedFromChannel.Sound": { + "type": "string", + "description": "The name of the sound to play to a user when they are removed from a channel and `notifications.removed_from_channel.enabled` is `true`." + }, + "Notifications.InvitedToChannel.Enabled": { + "type": "boolean", + "description": "Whether to send a notification when a user is invited to a channel. The default is `false`." + }, + "Notifications.InvitedToChannel.Template": { + "type": "string", + "description": "The template to use to create the notification text displayed when a user is invited to a channel and `notifications.invited_to_channel.enabled` is `true`." + }, + "Notifications.InvitedToChannel.Sound": { + "type": "string", + "description": "The name of the sound to play when a user is invited to a channel and `notifications.invited_to_channel.enabled` is `true`." + }, + "PreWebhookUrl": { + "type": "string", + "format": "uri", + "description": "The URL for pre-event webhooks, which are called by using the `webhook_method`. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) for more details." + }, + "PostWebhookUrl": { + "type": "string", + "format": "uri", + "description": "The URL for post-event webhooks, which are called by using the `webhook_method`. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) for more details." + }, + "WebhookMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method to use for calls to the `pre_webhook_url` and `post_webhook_url` webhooks. Can be: `POST` or `GET` and the default is `POST`. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) for more details." + }, + "WebhookFilters": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of webhook events that are enabled for this Service instance. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) for more details." + }, + "Limits.ChannelMembers": { + "type": "integer", + "description": "The maximum number of Members that can be added to Channels within this Service. Can be up to 1,000." + }, + "Limits.UserChannels": { + "type": "integer", + "description": "The maximum number of Channels Users can be a Member of within this Service. Can be up to 1,000." + }, + "Media.CompatibilityMessage": { + "type": "string", + "description": "The message to send when a media message has no text. Can be used as placeholder message." + }, + "PreWebhookRetryCount": { + "type": "integer", + "description": "The number of times to retry a call to the `pre_webhook_url` if the request times out (after 5 seconds) or it receives a 429, 503, or 504 HTTP response. Default retry count is 0 times, which means the call won't be retried." + }, + "PostWebhookRetryCount": { + "type": "integer", + "description": "The number of times to retry a call to the `post_webhook_url` if the request times out (after 5 seconds) or it receives a 429, 503, or 504 HTTP response. The default is 0, which means the call won't be retried." + }, + "Notifications.LogEnabled": { + "type": "boolean", + "description": "Whether to log notifications. The default is `false`." + } + } + } + } + } + } + } + }, + "/v2/Services": { + "servers": [ + { + "url": "https://chat.twilio.com" + } + ], + "description": "Top level scope for all chat resources", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "date_created" + ], + "pathType": "list" }, - "description": "Roles determining user or member permissions", - "get": { + "post": { "description": "", - "operationId": "FetchRole", - "parameters": [ - { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to fetch the Role resource from.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the Role resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/chat.v2.service.role" + "$ref": "#/components/schemas/chat.v2.service" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -4197,123 +4470,41 @@ "accountSid_authToken": [] } ], + "operationId": "CreateService", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "", - "operationId": "UpdateRole", - "parameters": [ - { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to update the Role resource in.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the Role resource to update.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateServiceRequest", "properties": { - "Permission": { - "description": "A permission that you grant to the role. Only one permission can be granted per parameter. To assign more than one permission, repeat this parameter for each permission value. Note that the update action replaces all previously assigned permissions with those defined in the update action. To remove a permission, do not include it in the subsequent update action. The values for this parameter depend on the role's `type`.", - "items": { - "type": "string" - }, - "type": "array" + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the new resource." } }, "required": [ - "Permission" - ], - "title": "UpdateRoleRequest", - "type": "object" + "FriendlyName" + ] } } } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/chat.v2.service.role" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://chat.twilio.com" } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "type" - ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v2/Services/{ServiceSid}/Users": { - "description": "Unique chat users within a chat service", + }, "get": { "description": "", - "operationId": "ListUser", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to read the User resources from.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[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", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -4322,19 +4513,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListServiceResponse", "properties": { + "services": { + "type": "array", + "items": { + "$ref": "#/components/schemas/chat.v2.service" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -4343,25 +4540,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "users": { - "items": { - "$ref": "#/components/schemas/chat.v2.service.user" - }, - "type": "array" + } } - }, - "title": "ListUserResponse", - "type": "object" + } } } }, @@ -4373,75 +4564,56 @@ "accountSid_authToken": [] } ], + "operationId": "ListService", "x-maturity": [ "GA" ] + } + }, + "/v2/Services/{ServiceSid}/Users/{Sid}": { + "servers": [ + { + "url": "https://chat.twilio.com" + } + ], + "description": "Unique chat users within a chat service", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "identity", + "date_created" + ], + "pathType": "instance", + "parent": "/Services" }, - "post": { + "get": { "description": "", - "operationId": "CreateUser", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to create the User resource under.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to fetch the User resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", - "name": "X-Twilio-Webhook-Enabled", + "name": "Sid", + "in": "path", + "description": "The SID of the User resource to fetch. This value can be either the `sid` or the `identity` of the User resource to fetch.", "schema": { - "enum": [ - "true", - "false" - ], "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Attributes": { - "description": "A valid JSON string that contains application-specific data.", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the new resource. This value is often used for display purposes.", - "type": "string" - }, - "Identity": { - "description": "The `identity` value that uniquely identifies the new resource's [User](https://www.twilio.com/docs/chat/rest/user-resource) within the [Service](https://www.twilio.com/docs/chat/rest/service-resource). This value is often a username or email address. See the Identity documentation for more info.", - "type": "string" - }, - "RoleSid": { - "description": "The SID of the [Role](https://www.twilio.com/docs/chat/rest/role-resource) to assign to the new User.", - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "required": [ - "Identity" - ], - "title": "CreateUserRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { @@ -4449,7 +4621,7 @@ } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -4457,51 +4629,34 @@ "accountSid_authToken": [] } ], + "operationId": "FetchUser", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://chat.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "identity", - "date_created" - ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v2/Services/{ServiceSid}/Users/{Sid}": { "delete": { "description": "", - "operationId": "DeleteUser", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to delete the User resource from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to delete the User resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the User resource to delete. This value can be either the `sid` or the `identity` of the User resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the User resource to delete. This value can be either the `sid` or the `identity` of the User resource to delete.", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -4514,34 +4669,45 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteUser", "x-maturity": [ "GA" ] }, - "description": "Unique chat users within a chat service", - "get": { + "post": { "description": "", - "operationId": "FetchUser", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to fetch the User resource from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to update the User resource in.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the User resource to fetch. This value can be either the `sid` or the `identity` of the User resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the User resource to update. This value can be either the `sid` or the `identity` of the User resource to update.", "schema": { "type": "string" + }, + "required": true + }, + { + "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", + "schema": { + "type": "string", + "enum": [ + "true", + "false" + ] } } ], @@ -4562,81 +4728,211 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateUser", "x-maturity": [ "GA" - ] + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateUserRequest", + "properties": { + "RoleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "description": "The SID of the [Role](https://www.twilio.com/docs/chat/rest/role-resource) to assign to the User." + }, + "Attributes": { + "type": "string", + "description": "A valid JSON string that contains application-specific data." + }, + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the resource. It is often used for display purposes." + } + } + } + } + } + } + } + }, + "/v2/Services/{ServiceSid}/Users": { + "servers": [ + { + "url": "https://chat.twilio.com" + } + ], + "description": "Unique chat users within a chat service", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "identity", + "date_created" + ], + "pathType": "list", + "parent": "/Services" }, "post": { "description": "", - "operationId": "UpdateUser", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to update the User resource in.", - "in": "path", "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the User resource to update. This value can be either the `sid` or the `identity` of the User resource to update.", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to create the User resource under.", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", "schema": { + "type": "string", "enum": [ "true", "false" - ], - "type": "string" + ] } } ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/chat.v2.service.user" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateUser", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateUserRequest", "properties": { - "Attributes": { - "description": "A valid JSON string that contains application-specific data.", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It is often used for display purposes.", - "type": "string" + "Identity": { + "type": "string", + "description": "The `identity` value that uniquely identifies the new resource's [User](https://www.twilio.com/docs/chat/rest/user-resource) within the [Service](https://www.twilio.com/docs/chat/rest/service-resource). This value is often a username or email address. See the Identity documentation for more info." }, "RoleSid": { - "description": "The SID of the [Role](https://www.twilio.com/docs/chat/rest/role-resource) to assign to the User.", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the [Role](https://www.twilio.com/docs/chat/rest/role-resource) to assign to the new User." + }, + "Attributes": { + "type": "string", + "description": "A valid JSON string that contains application-specific data." + }, + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the new resource. This value is often used for display purposes." } }, - "title": "UpdateUserRequest", - "type": "object" + "required": [ + "Identity" + ] } } } - }, + } + }, + "get": { + "description": "", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to read the User resources from.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "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 + } + } + ], "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/chat.v2.service.user" + "type": "object", + "title": "ListUserResponse", + "properties": { + "users": { + "type": "array", + "items": { + "$ref": "#/components/schemas/chat.v2.service.user" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -4648,77 +4944,78 @@ "accountSid_authToken": [] } ], + "operationId": "ListUser", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/Services/{ServiceSid}/Users/{UserSid}/Bindings": { "servers": [ { "url": "https://chat.twilio.com" } ], + "description": "List of bindings for a given user", "x-twilio": { "defaultOutputProperties": [ "sid", - "friendly_name", + "endpoint", "identity", - "date_created" + "binding_type" ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v2/Services/{ServiceSid}/Users/{UserSid}/Bindings": { - "description": "List of bindings for a given user", + "pathType": "list", + "parent": "/Services/{ServiceSid}/Users", + "className": "user_binding" + }, "get": { "description": "", - "operationId": "ListUserBinding", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to read the User Binding resources from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to read the User Binding resources from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the [User](https://www.twilio.com/docs/chat/rest/user-resource) with the User Binding resources to read. See [push notification configuration](https://www.twilio.com/docs/chat/push-notification-configuration) for more info.", - "in": "path", "name": "UserSid", - "required": true, + "in": "path", + "description": "The SID of the [User](https://www.twilio.com/docs/chat/rest/user-resource) with the User Binding resources to read. See [push notification configuration](https://www.twilio.com/docs/chat/push-notification-configuration) for more info.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The push technology used by the User Binding resources to read. Can be: `apn`, `gcm`, or `fcm`. See [push notification configuration](https://www.twilio.com/docs/chat/push-notification-configuration) for more info.", - "in": "query", "name": "BindingType", + "in": "query", + "description": "The push technology used by the User Binding resources to read. Can be: `apn`, `gcm`, or `fcm`. See [push notification configuration](https://www.twilio.com/docs/chat/push-notification-configuration) for more info.", "schema": { + "type": "array", "items": { + "type": "string", "enum": [ "gcm", "apn", "fcm" - ], - "type": "string" - }, - "type": "array" + ] + } } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -4727,25 +5024,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListUserBindingResponse", "properties": { "bindings": { + "type": "array", "items": { "$ref": "#/components/schemas/chat.v2.service.user.user_binding" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -4754,19 +5051,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListUserBindingResponse", - "type": "object" + } } } }, @@ -4778,69 +5075,77 @@ "accountSid_authToken": [] } ], + "operationId": "ListUserBinding", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/Services/{ServiceSid}/Users/{UserSid}/Bindings/{Sid}": { "servers": [ { "url": "https://chat.twilio.com" } ], + "description": "List of bindings for a given user", "x-twilio": { - "className": "user_binding", "defaultOutputProperties": [ "sid", "endpoint", "identity", "binding_type" ], + "pathType": "instance", "parent": "/Services/{ServiceSid}/Users", - "pathType": "list" - } - }, - "/v2/Services/{ServiceSid}/Users/{UserSid}/Bindings/{Sid}": { - "delete": { + "className": "user_binding" + }, + "get": { "description": "", - "operationId": "DeleteUserBinding", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to delete the User Binding resource from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to fetch the User Binding resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the [User](https://www.twilio.com/docs/chat/rest/user-resource) with the User Binding resources to delete. See [push notification configuration](https://www.twilio.com/docs/chat/push-notification-configuration) for more info.", - "in": "path", "name": "UserSid", - "required": true, + "in": "path", + "description": "The SID of the [User](https://www.twilio.com/docs/chat/rest/user-resource) with the User Binding resource to fetch. See [push notification configuration](https://www.twilio.com/docs/chat/push-notification-configuration) for more info.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the User Binding resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the User Binding resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BS[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/chat.v2.service.user.user_binding" + } + } + }, + "description": "OK" } }, "security": [ @@ -4848,59 +5153,51 @@ "accountSid_authToken": [] } ], + "operationId": "FetchUserBinding", "x-maturity": [ "GA" ] }, - "description": "List of bindings for a given user", - "get": { + "delete": { "description": "", - "operationId": "FetchUserBinding", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to fetch the User Binding resource from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to delete the User Binding resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the [User](https://www.twilio.com/docs/chat/rest/user-resource) with the User Binding resource to fetch. See [push notification configuration](https://www.twilio.com/docs/chat/push-notification-configuration) for more info.", - "in": "path", "name": "UserSid", - "required": true, + "in": "path", + "description": "The SID of the [User](https://www.twilio.com/docs/chat/rest/user-resource) with the User Binding resources to delete. See [push notification configuration](https://www.twilio.com/docs/chat/push-notification-configuration) for more info.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the User Binding resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the User Binding resource to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BS[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/chat.v2.service.user.user_binding" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -4908,62 +5205,60 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteUserBinding", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/Services/{ServiceSid}/Users/{UserSid}/Channels": { "servers": [ { "url": "https://chat.twilio.com" } ], + "description": "List of channels for a given user", "x-twilio": { - "className": "user_binding", "defaultOutputProperties": [ - "sid", - "endpoint", - "identity", - "binding_type" + "channel_sid", + "status" ], + "pathType": "list", "parent": "/Services/{ServiceSid}/Users", - "pathType": "instance" - } - }, - "/v2/Services/{ServiceSid}/Users/{UserSid}/Channels": { - "description": "List of channels for a given user", + "className": "user_channel" + }, "get": { "description": "List all Channels for a given User.", - "operationId": "ListUserChannel", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to read the User Channel resources from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to read the User Channel resources from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the [User](https://www.twilio.com/docs/chat/rest/user-resource) to read the User Channel resources from. This value can be either the `sid` or the `identity` of the User resource.", - "in": "path", "name": "UserSid", - "required": true, + "in": "path", + "description": "The SID of the [User](https://www.twilio.com/docs/chat/rest/user-resource) to read the User Channel resources from. This value can be either the `sid` or the `identity` of the User resource.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -4972,25 +5267,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListUserChannelResponse", "properties": { "channels": { + "type": "array", "items": { "$ref": "#/components/schemas/chat.v2.service.user.user_channel" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -4999,19 +5294,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListUserChannelResponse", - "type": "object" + } } } }, @@ -5023,209 +5318,62 @@ "accountSid_authToken": [] } ], + "operationId": "ListUserChannel", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/Services/{ServiceSid}/Users/{UserSid}/Channels/{ChannelSid}": { "servers": [ { "url": "https://chat.twilio.com" } ], + "description": "List of channels for a given user", "x-twilio": { - "className": "user_channel", "defaultOutputProperties": [ "channel_sid", "status" ], + "pathType": "instance", "parent": "/Services/{ServiceSid}/Users", - "pathType": "list" - } - }, - "/v2/Services/{ServiceSid}/Users/{UserSid}/Channels/{ChannelSid}": { - "delete": { - "description": "Removes User from selected Channel.", - "operationId": "DeleteUserChannel", - "parameters": [ - { - "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to read the resources from.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the [User](https://www.twilio.com/docs/api/chat/rest/users) to read the User Channel resources from.", - "in": "path", - "name": "UserSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the resource belongs to.", - "in": "path", - "name": "ChannelSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", - "name": "X-Twilio-Webhook-Enabled", - "schema": { - "enum": [ - "true", - "false" - ], - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] + "className": "user_channel" }, - "description": "List of channels for a given user", "get": { "description": "", - "operationId": "FetchUserChannel", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to fetch the User Channel resource from.", - "in": "path", "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the [User](https://www.twilio.com/docs/chat/rest/user-resource) to fetch the User Channel resource from. This value can be either the `sid` or the `identity` of the User resource.", - "in": "path", - "name": "UserSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) that has the User Channel to fetch. This value can be either the `sid` or the `unique_name` of the Channel to fetch.", - "in": "path", - "name": "ChannelSid", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/chat.v2.service.user.user_channel" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "", - "operationId": "UpdateUserChannel", - "parameters": [ - { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to update the User Channel resource in.", "in": "path", - "name": "ServiceSid", - "required": true, + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to fetch the User Channel resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the [User](https://www.twilio.com/docs/chat/rest/user-resource) to update the User Channel resource from. This value can be either the `sid` or the `identity` of the User resource.", - "in": "path", "name": "UserSid", - "required": true, + "in": "path", + "description": "The SID of the [User](https://www.twilio.com/docs/chat/rest/user-resource) to fetch the User Channel resource from. This value can be either the `sid` or the `identity` of the User resource.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) with the User Channel resource to update. This value can be the Channel resource's `sid` or `unique_name`.", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) that has the User Channel to fetch. This value can be either the `sid` or the `unique_name` of the Channel to fetch.", "schema": { "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "LastConsumedMessageIndex": { - "description": "The index of the last [Message](https://www.twilio.com/docs/chat/rest/message-resource) in the [Channel](https://www.twilio.com/docs/chat/channels) that the Member has read.", - "nullable": true, - "type": "integer" - }, - "LastConsumptionTimestamp": { - "description": "The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp of the last [Message](https://www.twilio.com/docs/chat/rest/message-resource) read event for the Member within the [Channel](https://www.twilio.com/docs/chat/channels).", - "format": "date-time", - "type": "string" - }, - "NotificationLevel": { - "description": "The push notification level to assign to the User Channel. Can be: `default` or `muted`.", - "enum": [ - "default", - "muted" - ], - "type": "string" - } - }, - "title": "UpdateUserChannelRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { @@ -5243,40 +5391,54 @@ "accountSid_authToken": [] } ], + "operationId": "FetchUserChannel", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://chat.twilio.com" - } - ], - "x-twilio": { - "className": "user_channel", - "defaultOutputProperties": [ - "channel_sid", - "status" - ], - "parent": "/Services/{ServiceSid}/Users", - "pathType": "instance" - } - }, - "/v2/Services/{Sid}": { "delete": { - "description": "", - "operationId": "DeleteService", + "description": "Removes User from selected Channel.", "parameters": [ { - "description": "The SID of the Service resource to delete.", + "name": "ServiceSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to read the resources from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "UserSid", + "in": "path", + "description": "The SID of the [User](https://www.twilio.com/docs/api/chat/rest/users) to read the User Channel resources from.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "ChannelSid", + "in": "path", + "description": "The SID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the resource belongs to.", + "schema": { "type": "string" + }, + "required": true + }, + { + "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", + "schema": { + "type": "string", + "enum": [ + "true", + "false" + ] } } ], @@ -5290,26 +5452,43 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteUserChannel", "x-maturity": [ "GA" ] }, - "description": "Top level scope for all chat resources", - "get": { + "post": { "description": "", - "operationId": "FetchService", "parameters": [ { - "description": "The SID of the Service resource to fetch.", + "name": "ServiceSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to update the User Channel resource in.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "UserSid", + "in": "path", + "description": "The SID of the [User](https://www.twilio.com/docs/chat/rest/user-resource) to update the User Channel resource from. This value can be either the `sid` or the `identity` of the User resource.", + "schema": { "type": "string" - } + }, + "required": true + }, + { + "name": "ChannelSid", + "in": "path", + "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/channels) with the User Channel resource to update. This value can be the Channel resource's `sid` or `unique_name`.", + "schema": { + "type": "string" + }, + "required": true } ], "responses": { @@ -5317,7 +5496,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/chat.v2.service" + "$ref": "#/components/schemas/chat.v2.service.user.user_channel" } } }, @@ -5329,219 +5508,40 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateUserChannel", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "", - "operationId": "UpdateService", - "parameters": [ - { - "description": "The SID of the Service resource to update.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateUserChannelRequest", "properties": { - "ConsumptionReportInterval": { - "description": "DEPRECATED. The interval in seconds between consumption reports submission batches from client endpoints.", - "type": "integer" - }, - "DefaultChannelCreatorRoleSid": { - "description": "The channel role assigned to a channel creator when they join a new channel. See the [Role resource](https://www.twilio.com/docs/chat/rest/role-resource) for more info about roles.", - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - }, - "DefaultChannelRoleSid": { - "description": "The channel role assigned to users when they are added to a channel. See the [Role resource](https://www.twilio.com/docs/chat/rest/role-resource) for more info about roles.", - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - }, - "DefaultServiceRoleSid": { - "description": "The service role assigned to users when they are added to the service. See the [Role resource](https://www.twilio.com/docs/chat/rest/role-resource) for more info about roles.", - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the resource.", - "type": "string" - }, - "Limits.ChannelMembers": { - "description": "The maximum number of Members that can be added to Channels within this Service. Can be up to 1,000.", - "type": "integer" - }, - "Limits.UserChannels": { - "description": "The maximum number of Channels Users can be a Member of within this Service. Can be up to 1,000.", - "type": "integer" - }, - "Media.CompatibilityMessage": { - "description": "The message to send when a media message has no text. Can be used as placeholder message.", - "type": "string" - }, - "Notifications.AddedToChannel.Enabled": { - "description": "Whether to send a notification when a member is added to a channel. The default is `false`.", - "type": "boolean" - }, - "Notifications.AddedToChannel.Sound": { - "description": "The name of the sound to play when a member is added to a channel and `notifications.added_to_channel.enabled` is `true`.", - "type": "string" - }, - "Notifications.AddedToChannel.Template": { - "description": "The template to use to create the notification text displayed when a member is added to a channel and `notifications.added_to_channel.enabled` is `true`.", - "type": "string" - }, - "Notifications.InvitedToChannel.Enabled": { - "description": "Whether to send a notification when a user is invited to a channel. The default is `false`.", - "type": "boolean" - }, - "Notifications.InvitedToChannel.Sound": { - "description": "The name of the sound to play when a user is invited to a channel and `notifications.invited_to_channel.enabled` is `true`.", - "type": "string" - }, - "Notifications.InvitedToChannel.Template": { - "description": "The template to use to create the notification text displayed when a user is invited to a channel and `notifications.invited_to_channel.enabled` is `true`.", - "type": "string" - }, - "Notifications.LogEnabled": { - "description": "Whether to log notifications. The default is `false`.", - "type": "boolean" - }, - "Notifications.NewMessage.BadgeCountEnabled": { - "description": "Whether the new message badge is enabled. The default is `false`.", - "type": "boolean" - }, - "Notifications.NewMessage.Enabled": { - "description": "Whether to send a notification when a new message is added to a channel. The default is `false`.", - "type": "boolean" - }, - "Notifications.NewMessage.Sound": { - "description": "The name of the sound to play when a new message is added to a channel and `notifications.new_message.enabled` is `true`.", - "type": "string" - }, - "Notifications.NewMessage.Template": { - "description": "The template to use to create the notification text displayed when a new message is added to a channel and `notifications.new_message.enabled` is `true`.", - "type": "string" - }, - "Notifications.RemovedFromChannel.Enabled": { - "description": "Whether to send a notification to a user when they are removed from a channel. The default is `false`.", - "type": "boolean" - }, - "Notifications.RemovedFromChannel.Sound": { - "description": "The name of the sound to play to a user when they are removed from a channel and `notifications.removed_from_channel.enabled` is `true`.", - "type": "string" - }, - "Notifications.RemovedFromChannel.Template": { - "description": "The template to use to create the notification text displayed to a user when they are removed from a channel and `notifications.removed_from_channel.enabled` is `true`.", - "type": "string" - }, - "PostWebhookRetryCount": { - "description": "The number of times to retry a call to the `post_webhook_url` if the request times out (after 5 seconds) or it receives a 429, 503, or 504 HTTP response. The default is 0, which means the call won't be retried.", - "type": "integer" - }, - "PostWebhookUrl": { - "description": "The URL for post-event webhooks, which are called by using the `webhook_method`. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) for more details.", - "format": "uri", - "type": "string" - }, - "PreWebhookRetryCount": { - "description": "The number of times to retry a call to the `pre_webhook_url` if the request times out (after 5 seconds) or it receives a 429, 503, or 504 HTTP response. Default retry count is 0 times, which means the call won't be retried.", - "type": "integer" - }, - "PreWebhookUrl": { - "description": "The URL for pre-event webhooks, which are called by using the `webhook_method`. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) for more details.", - "format": "uri", - "type": "string" - }, - "ReachabilityEnabled": { - "description": "Whether to enable the [Reachability Indicator](https://www.twilio.com/docs/chat/reachability-indicator) for this Service instance. The default is `false`.", - "type": "boolean" - }, - "ReadStatusEnabled": { - "description": "Whether to enable the [Message Consumption Horizon](https://www.twilio.com/docs/chat/consumption-horizon) feature. The default is `true`.", - "type": "boolean" - }, - "TypingIndicatorTimeout": { - "description": "How long in seconds after a `started typing` event until clients should assume that user is no longer typing, even if no `ended typing` message was received. The default is 5 seconds.", - "type": "integer" - }, - "WebhookFilters": { - "description": "The list of webhook events that are enabled for this Service instance. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) for more details.", - "items": { - "type": "string" - }, - "type": "array" - }, - "WebhookMethod": { - "description": "The HTTP method to use for calls to the `pre_webhook_url` and `post_webhook_url` webhooks. Can be: `POST` or `GET` and the default is `POST`. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) for more details.", + "NotificationLevel": { + "type": "string", "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" + "default", + "muted" ], - "format": "http-method", - "type": "string" + "description": "The push notification level to assign to the User Channel. Can be: `default` or `muted`." + }, + "LastConsumedMessageIndex": { + "type": "integer", + "nullable": true, + "description": "The index of the last [Message](https://www.twilio.com/docs/chat/rest/message-resource) in the [Channel](https://www.twilio.com/docs/chat/channels) that the Member has read." + }, + "LastConsumptionTimestamp": { + "type": "string", + "format": "date-time", + "description": "The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp of the last [Message](https://www.twilio.com/docs/chat/rest/message-resource) read event for the Member within the [Channel](https://www.twilio.com/docs/chat/channels)." } - }, - "title": "UpdateServiceRequest", - "type": "object" - } - } - } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/chat.v2.service" } } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] + } } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://chat.twilio.com" } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "date_created" - ], - "pathType": "instance" } } }, @@ -5552,8 +5552,8 @@ ], "x-maturity": [ { - "description": "This product is Generally Available.", - "name": "GA" + "name": "GA", + "description": "This product is Generally Available." } ] } \ No newline at end of file diff --git a/spec/json/twilio_chat_v3.json b/spec/json/twilio_chat_v3.json index a7d81b71..2cc48e10 100644 --- a/spec/json/twilio_chat_v3.json +++ b/spec/json/twilio_chat_v3.json @@ -2,191 +2,176 @@ "components": { "schemas": { "chat.v3.channel": { + "type": "object", "properties": { + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique string that identifies the resource" + }, "account_sid": { - "description": "The SID of the Account that created the resource", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "service_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Service that the resource is associated with" + }, + "friendly_name": { + "type": "string", + "nullable": true, + "description": "The string that you assigned to describe the resource" + }, + "unique_name": { + "type": "string", + "nullable": true, + "description": "An application-defined string that uniquely identifies the resource" }, "attributes": { - "description": "The JSON string that stores application-specific data", + "type": "string", "nullable": true, - "type": "string" + "description": "The JSON string that stores application-specific data" }, - "created_by": { - "description": "The identity of the User that created the channel", + "type": { + "type": "string", + "enum": [ + "public", + "private" + ], "nullable": true, - "type": "string" + "description": "The visibility of the channel. Can be: `public` or `private`" }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", + "created_by": { + "type": "string", "nullable": true, - "type": "string" + "description": "The identity of the User that created the channel" }, "members_count": { - "description": "The number of Members in the Channel", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The number of Members in the Channel" }, "messages_count": { - "description": "The number of Messages that have been passed in the Channel", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The number of Messages that have been passed in the Channel" }, "messaging_service_sid": { - "description": "The unique ID of the Messaging Service this channel belongs to.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" - }, - "service_sid": { - "description": "The SID of the Service that the resource is associated with", "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" - }, - "type": { - "description": "The visibility of the channel. Can be: `public` or `private`", - "enum": [ - "public", - "private" - ], - "nullable": true, - "type": "string" - }, - "unique_name": { - "description": "An application-defined string that uniquely identifies the resource", + "pattern": "^MG[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique ID of the Messaging Service this channel belongs to." }, "url": { - "description": "The absolute URL of the Channel resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Channel resource" } - }, - "type": "object" + } } }, "securitySchemes": { "accountSid_authToken": { - "scheme": "basic", - "type": "http" + "type": "http", + "scheme": "basic" } } }, "info": { + "title": "Twilio - Chat", + "description": "This is the public Twilio REST API.", + "termsOfService": "https://www.twilio.com/legal/tos", "contact": { - "email": "support@twilio.com", "name": "Twilio Support", - "url": "https://support.twilio.com" + "url": "https://support.twilio.com", + "email": "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 - Chat", "version": "1.30.0" }, "openapi": "3.0.1", "paths": { "/v3/Services/{ServiceSid}/Channels/{Sid}": { + "servers": [ + { + "url": "https://chat.twilio.com" + } + ], "description": "A Channel resource represents a chat/conversation channel with an ordered list of messages and a participant roster.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "unique_name", + "friendly_name" + ], + "pathType": "instance" + }, "post": { "description": "Update a specific Channel.", - "operationId": "UpdateChannel", "parameters": [ { - "description": "The unique SID identifier of the Service.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The unique SID identifier of the Service.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "A 34 character string that uniquely identifies this Channel.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "A 34 character string that uniquely identifies this Channel.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", "schema": { + "type": "string", "enum": [ "true", "false" - ], - "type": "string" + ] } } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "MessagingServiceSid": { - "description": "The unique ID of the [Messaging Service](https://www.twilio.com/docs/sms/services/api) this channel belongs to.", - "maxLength": 34, - "minLength": 34, - "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" - }, - "Type": { - "description": "TThe Type for this Channel to migrate to. Can only be `private`. Migration to 'public' is not allowed.", - "enum": [ - "public", - "private" - ], - "type": "string" - } - }, - "title": "UpdateChannelRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { @@ -204,22 +189,37 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateChannel", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://chat.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "unique_name", - "friendly_name" ], - "pathType": "instance" + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateChannelRequest", + "properties": { + "Type": { + "type": "string", + "enum": [ + "public", + "private" + ], + "description": "TThe Type for this Channel to migrate to. Can only be `private`. Migration to 'public' is not allowed." + }, + "MessagingServiceSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$", + "description": "The unique ID of the [Messaging Service](https://www.twilio.com/docs/sms/services/api) this channel belongs to." + } + } + } + } + } + } } } }, @@ -230,8 +230,8 @@ ], "x-maturity": [ { - "description": "This product is Generally Available.", - "name": "GA" + "name": "GA", + "description": "This product is Generally Available." } ] } \ No newline at end of file diff --git a/spec/json/twilio_conversations_v1.json b/spec/json/twilio_conversations_v1.json index 8e3d86f6..9f7753e2 100644 --- a/spec/json/twilio_conversations_v1.json +++ b/spec/json/twilio_conversations_v1.json @@ -2,422 +2,406 @@ "components": { "schemas": { "conversations.v1.configuration": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account responsible for this configuration.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account responsible for this configuration." }, "default_chat_service_sid": { - "description": "The SID of the default Conversation Service that every new conversation is associated with.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - }, - "default_closed_timer": { - "description": "Default ISO8601 duration when conversation will be switched to `closed` state.", - "nullable": true, - "type": "string" - }, - "default_inactive_timer": { - "description": "Default ISO8601 duration when conversation will be switched to `inactive` state.", "nullable": true, - "type": "string" + "description": "The SID of the default Conversation Service that every new conversation is associated with." }, "default_messaging_service_sid": { - "description": "The SID of the default Messaging Service that every new conversation is associated with.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the default Messaging Service that every new conversation is associated with." }, - "links": { - "description": "Absolute URLs to access the webhook and default service configurations.", - "format": "uri-map", + "default_inactive_timer": { + "type": "string", + "nullable": true, + "description": "Default ISO8601 duration when conversation will be switched to `inactive` state." + }, + "default_closed_timer": { + "type": "string", "nullable": true, - "type": "object" + "description": "Default ISO8601 duration when conversation will be switched to `closed` state." }, "url": { - "description": "An absolute URL for this global configuration.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "An absolute URL for this global configuration." + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "Absolute URLs to access the webhook and default service configurations." } - }, - "type": "object" + } }, - "conversations.v1.configuration.configuration_webhook": { + "conversations.v1.configuration_address": { + "type": "object", "properties": { - "account_sid": { - "description": "The unique ID of the Account responsible for this conversation.", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^IG[0-9a-fA-F]{32}$", "nullable": true, + "description": "A 34 character string that uniquely identifies this resource." + }, + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique ID of the Account the address belongs to." }, - "filters": { - "description": "The list of webhook event triggers that are enabled for this Service.", - "items": { - "type": "string" - }, + "type": { + "type": "string", "nullable": true, - "type": "array" + "description": "Type of Address." }, - "method": { - "description": "The HTTP method to be used when sending a webhook request.", - "enum": [ - "GET", - "POST" - ], + "address": { + "type": "string", "nullable": true, - "type": "string" + "description": "The unique address to be configured." }, - "post_webhook_url": { - "description": "The absolute url the post-event webhook request should be sent to.", + "friendly_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "The human-readable name of this configuration." }, - "pre_webhook_url": { - "description": "The absolute url the pre-event webhook request should be sent to.", + "auto_creation": { "nullable": true, - "type": "string" + "description": "Auto Creation configuration for the address." }, - "target": { - "description": "The routing target of the webhook.", - "enum": [ - "webhook", - "flex" - ], + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The date that this resource was created." + }, + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "string" + "description": "The date that this resource was last updated." }, "url": { - "description": "An absolute URL for this webhook.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "An absolute URL for this address configuration." } - }, - "type": "object" + } }, - "conversations.v1.configuration_address": { + "conversations.v1.configuration.configuration_webhook": { + "type": "object", "properties": { "account_sid": { - "description": "The unique ID of the Account the address belongs to.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "address": { - "description": "The unique address to be configured.", "nullable": true, - "type": "string" - }, - "auto_creation": { - "description": "Auto Creation configuration for the address.", - "nullable": true + "description": "The unique ID of the Account responsible for this conversation." }, - "date_created": { - "description": "The date that this resource was created.", - "format": "date-time", + "method": { + "type": "string", + "enum": [ + "GET", + "POST" + ], "nullable": true, - "type": "string" + "description": "The HTTP method to be used when sending a webhook request." }, - "date_updated": { - "description": "The date that this resource was last updated.", - "format": "date-time", + "filters": { + "type": "array", + "items": { + "type": "string" + }, "nullable": true, - "type": "string" + "description": "The list of webhook event triggers that are enabled for this Service." }, - "friendly_name": { - "description": "The human-readable name of this configuration.", + "pre_webhook_url": { + "type": "string", "nullable": true, - "type": "string" + "description": "The absolute url the pre-event webhook request should be sent to." }, - "sid": { - "description": "A 34 character string that uniquely identifies this resource.", - "maxLength": 34, - "minLength": 34, + "post_webhook_url": { + "type": "string", "nullable": true, - "pattern": "^IG[0-9a-fA-F]{32}$", - "type": "string" + "description": "The absolute url the post-event webhook request should be sent to." }, - "type": { - "description": "Type of Address.", + "target": { + "type": "string", + "enum": [ + "webhook", + "flex" + ], "nullable": true, - "type": "string" + "description": "The routing target of the webhook." }, "url": { - "description": "An absolute URL for this address configuration.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "An absolute URL for this webhook." } - }, - "type": "object" + } }, "conversations.v1.conversation": { + "type": "object", "properties": { "account_sid": { - "description": "The unique ID of the Account responsible for this conversation.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "attributes": { - "description": "An optional string metadata field you can use to store any data you wish.", "nullable": true, - "type": "string" - }, - "bindings": { - "nullable": true + "description": "The unique ID of the Account responsible for this conversation." }, "chat_service_sid": { - "description": "The unique ID of the Conversation Service this conversation belongs to.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "description": "The date that this resource was created.", - "format": "date-time", "nullable": true, - "type": "string" + "description": "The unique ID of the Conversation Service this conversation belongs to." }, - "date_updated": { - "description": "The date that this resource was last updated.", - "format": "date-time", + "messaging_service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique ID of the Messaging Service this conversation belongs to." }, - "friendly_name": { - "description": "The human-readable name of this conversation.", + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "A 34 character string that uniquely identifies this resource." }, - "links": { - "description": "Absolute URLs to access the participants, messages and webhooks of this conversation.", - "format": "uri-map", + "friendly_name": { + "type": "string", "nullable": true, - "type": "object" + "description": "The human-readable name of this conversation." }, - "messaging_service_sid": { - "description": "The unique ID of the Messaging Service this conversation belongs to.", - "maxLength": 34, - "minLength": 34, + "unique_name": { + "type": "string", "nullable": true, - "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" + "description": "An application-defined string that uniquely identifies the resource" }, - "sid": { - "description": "A 34 character string that uniquely identifies this resource.", - "maxLength": 34, - "minLength": 34, + "attributes": { + "type": "string", "nullable": true, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" + "description": "An optional string metadata field you can use to store any data you wish." }, "state": { - "description": "Current state of this conversation.", + "type": "string", "enum": [ "inactive", "active", "closed" ], "nullable": true, - "type": "string" + "description": "Current state of this conversation." }, - "timers": { - "description": "Timer date values for this conversation.", - "nullable": true + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The date that this resource was created." }, - "unique_name": { - "description": "An application-defined string that uniquely identifies the resource", + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The date that this resource was last updated." + }, + "timers": { "nullable": true, - "type": "string" + "description": "Timer date values for this conversation." }, "url": { - "description": "An absolute URL for this conversation.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "An absolute URL for this conversation." + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "Absolute URLs to access the participants, messages and webhooks of this conversation." + }, + "bindings": { + "nullable": true } - }, - "type": "object" + } }, "conversations.v1.conversation.conversation_message": { + "type": "object", "properties": { "account_sid": { - "description": "The unique ID of the Account responsible for this message.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "attributes": { - "description": "A string metadata field you can use to store any data you wish.", - "nullable": true, - "type": "string" - }, - "author": { - "description": "The channel specific identifier of the message's author.", - "nullable": true, - "type": "string" - }, - "body": { - "description": "The content of the message.", "nullable": true, - "type": "string" + "description": "The unique ID of the Account responsible for this message." }, "conversation_sid": { - "description": "The unique ID of the Conversation for this message.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "description": "The date that this resource was created.", - "format": "date-time", "nullable": true, - "type": "string" + "description": "The unique ID of the Conversation for this message." }, - "date_updated": { - "description": "The date that this resource was last updated.", - "format": "date-time", + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IM[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" - }, - "delivery": { - "description": "An object that contains the summary of delivery statuses for the message to non-chat participants.", - "nullable": true + "description": "A 34 character string that uniquely identifies this resource." }, "index": { - "description": "The index of the message within the Conversation.", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The index of the message within the Conversation." }, - "links": { - "description": "Absolute URL to access the receipts of this message.", - "format": "uri-map", + "author": { + "type": "string", + "nullable": true, + "description": "The channel specific identifier of the message's author." + }, + "body": { + "type": "string", "nullable": true, - "type": "object" + "description": "The content of the message." }, "media": { - "description": "An array of objects that describe the Message's media if attached, otherwise, null.", + "type": "array", "items": {}, "nullable": true, - "type": "array" + "description": "An array of objects that describe the Message's media if attached, otherwise, null." + }, + "attributes": { + "type": "string", + "nullable": true, + "description": "A string metadata field you can use to store any data you wish." }, "participant_sid": { - "description": "The unique ID of messages's author participant.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^MB[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique ID of messages's author participant." }, - "sid": { - "description": "A 34 character string that uniquely identifies this resource.", - "maxLength": 34, - "minLength": 34, + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^IM[0-9a-fA-F]{32}$", - "type": "string" + "description": "The date that this resource was created." + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The date that this resource was last updated." }, "url": { - "description": "An absolute API URL for this message.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "An absolute API URL for this message." + }, + "delivery": { + "nullable": true, + "description": "An object that contains the summary of delivery statuses for the message to non-chat participants." + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "Absolute URL to access the receipts of this message." } - }, - "type": "object" + } }, "conversations.v1.conversation.conversation_message.conversation_message_receipt": { + "type": "object", "properties": { "account_sid": { - "description": "The unique ID of the Account responsible for this participant.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "channel_message_sid": { - "description": "A messaging channel-specific identifier for the message delivered to participant", "maxLength": 34, - "minLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique ID of the Account responsible for this participant." }, "conversation_sid": { - "description": "The unique ID of the Conversation for this message.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "description": "The date that this resource was created.", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "date_updated": { - "description": "The date that this resource was last updated.", - "format": "date-time", "nullable": true, - "type": "string" + "description": "The unique ID of the Conversation for this message." }, - "error_code": { - "description": "The message [delivery error code](https://www.twilio.com/docs/sms/api/message-resource#delivery-related-errors) for a `failed` status", + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^DY[0-9a-fA-F]{32}$", "nullable": true, - "type": "integer" + "description": "A 34 character string that uniquely identifies this resource." }, "message_sid": { - "description": "The SID of the message the delivery receipt belongs to", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^IM[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the message the delivery receipt belongs to" + }, + "channel_message_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^IM[0-9a-fA-F]{32}$", - "type": "string" + "description": "A messaging channel-specific identifier for the message delivered to participant" }, "participant_sid": { - "description": "The unique ID of the participant the delivery receipt belongs to.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^MB[0-9a-fA-F]{32}$", - "type": "string" - }, - "sid": { - "description": "A 34 character string that uniquely identifies this resource.", "maxLength": 34, - "minLength": 34, + "pattern": "^MB[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^DY[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique ID of the participant the delivery receipt belongs to." }, "status": { - "description": "The message delivery status", + "type": "string", "enum": [ "read", "failed", @@ -426,942 +410,842 @@ "sent" ], "nullable": true, - "type": "string" + "description": "The message delivery status" + }, + "error_code": { + "type": "integer", + "nullable": true, + "description": "The message [delivery error code](https://www.twilio.com/docs/sms/api/message-resource#delivery-related-errors) for a `failed` status" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The date that this resource was created." + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The date that this resource was last updated." }, "url": { - "description": "An absolute URL for this delivery receipt.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "An absolute URL for this delivery receipt." } - }, - "type": "object" + } }, "conversations.v1.conversation.conversation_participant": { + "type": "object", "properties": { "account_sid": { - "description": "The unique ID of the Account responsible for this participant.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "attributes": { - "description": "An optional string metadata field you can use to store any data you wish.", "nullable": true, - "type": "string" + "description": "The unique ID of the Account responsible for this participant." }, "conversation_sid": { - "description": "The unique ID of the Conversation for this participant.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "description": "The date that this resource was created.", - "format": "date-time", "nullable": true, - "type": "string" + "description": "The unique ID of the Conversation for this participant." }, - "date_updated": { - "description": "The date that this resource was last updated.", - "format": "date-time", + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^MB[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "A 34 character string that uniquely identifies this resource." }, "identity": { - "description": "A unique string identifier for the conversation participant as Conversation User.", - "nullable": true, - "type": "string" - }, - "last_read_message_index": { - "description": "Index of last \u201cread\u201d message in the Conversation for the Participant.", + "type": "string", "nullable": true, - "type": "integer" + "description": "A unique string identifier for the conversation participant as Conversation User." }, - "last_read_timestamp": { - "description": "Timestamp of last \u201cread\u201d message in the Conversation for the Participant.", + "attributes": { + "type": "string", "nullable": true, - "type": "string" + "description": "An optional string metadata field you can use to store any data you wish." }, "messaging_binding": { - "description": "Information about how this participant exchanges messages with the conversation.", - "nullable": true + "nullable": true, + "description": "Information about how this participant exchanges messages with the conversation." }, "role_sid": { - "description": "The SID of a conversation-level Role to assign to the participant", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of a conversation-level Role to assign to the participant" }, - "sid": { - "description": "A 34 character string that uniquely identifies this resource.", - "maxLength": 34, - "minLength": 34, + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^MB[0-9a-fA-F]{32}$", - "type": "string" + "description": "The date that this resource was created." + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The date that this resource was last updated." }, "url": { - "description": "An absolute URL for this participant.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "An absolute URL for this participant." + }, + "last_read_message_index": { + "type": "integer", + "nullable": true, + "description": "Index of last \u201cread\u201d message in the Conversation for the Participant." + }, + "last_read_timestamp": { + "type": "string", + "nullable": true, + "description": "Timestamp of last \u201cread\u201d message in the Conversation for the Participant." } - }, - "type": "object" + } }, "conversations.v1.conversation.conversation_scoped_webhook": { + "type": "object", "properties": { - "account_sid": { - "description": "The unique ID of the Account responsible for this conversation.", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "configuration": { - "description": "The configuration of this webhook.", - "nullable": true - }, - "conversation_sid": { - "description": "The unique ID of the Conversation for this webhook.", "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "description": "The date that this resource was created.", - "format": "date-time", + "pattern": "^WH[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "A 34 character string that uniquely identifies this resource." }, - "date_updated": { - "description": "The date that this resource was last updated.", - "format": "date-time", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique ID of the Account responsible for this conversation." }, - "sid": { - "description": "A 34 character string that uniquely identifies this resource.", - "maxLength": 34, + "conversation_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^WH[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique ID of the Conversation for this webhook." }, "target": { - "description": "The target of this webhook.", + "type": "string", "nullable": true, - "type": "string" + "description": "The target of this webhook." }, "url": { - "description": "An absolute URL for this webhook.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "conversations.v1.credential": { - "properties": { - "account_sid": { - "description": "The unique ID of the Account responsible for this credential.", - "maxLength": 34, - "minLength": 34, + "description": "An absolute URL for this webhook." + }, + "configuration": { "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The configuration of this webhook." }, "date_created": { - "description": "The date that this resource was created.", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The date that this resource was created." }, "date_updated": { - "description": "The date that this resource was last updated.", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" - }, - "friendly_name": { - "description": "The human-readable name of this credential.", + "description": "The date that this resource was last updated." + } + } + }, + "conversations.v1.credential": { + "type": "object", + "properties": { + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "A 34 character string that uniquely identifies this resource." }, - "sandbox": { - "description": "[APN only] Whether to send the credential to sandbox APNs.", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique ID of the Account responsible for this credential." }, - "sid": { - "description": "A 34 character string that uniquely identifies this resource.", - "maxLength": 34, - "minLength": 34, + "friendly_name": { + "type": "string", "nullable": true, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" + "description": "The human-readable name of this credential." }, "type": { - "description": "The type of push-notification service the credential is for.", + "type": "string", "enum": [ "apn", "gcm", "fcm" ], "nullable": true, - "type": "string" + "description": "The type of push-notification service the credential is for." + }, + "sandbox": { + "type": "string", + "nullable": true, + "description": "[APN only] Whether to send the credential to sandbox APNs." + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The date that this resource was created." + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The date that this resource was last updated." }, "url": { - "description": "An absolute URL for this credential.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "An absolute URL for this credential." } - }, - "type": "object" + } }, "conversations.v1.participant_conversation": { + "type": "object", "properties": { "account_sid": { - "description": "The unique ID of the Account responsible for this conversation.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique ID of the Account responsible for this conversation." }, "chat_service_sid": { - "description": "The unique ID of the Conversation Service this conversation belongs to.", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique ID of the Conversation Service this conversation belongs to." + }, + "participant_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^MB[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique ID of the Participant." }, - "conversation_attributes": { - "description": "An optional string metadata field you can use to store any data you wish.", + "participant_user_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^US[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique ID for the conversation participant as Conversation User." }, - "conversation_created_by": { - "description": "Creator of this conversation.", + "participant_identity": { + "type": "string", + "nullable": true, + "description": "A unique string identifier for the conversation participant as Conversation User." + }, + "participant_messaging_binding": { + "nullable": true, + "description": "Information about how this participant exchanges messages with the conversation." + }, + "conversation_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique ID of the Conversation this Participant belongs to." + }, + "conversation_unique_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "An application-defined string that uniquely identifies the Conversation resource" + }, + "conversation_friendly_name": { + "type": "string", + "nullable": true, + "description": "The human-readable name of this conversation." + }, + "conversation_attributes": { + "type": "string", + "nullable": true, + "description": "An optional string metadata field you can use to store any data you wish." }, "conversation_date_created": { - "description": "The date that this conversation was created.", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The date that this conversation was created." }, "conversation_date_updated": { - "description": "The date that this conversation was last updated.", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" - }, - "conversation_friendly_name": { - "description": "The human-readable name of this conversation.", - "nullable": true, - "type": "string" + "description": "The date that this conversation was last updated." }, - "conversation_sid": { - "description": "The unique ID of the Conversation this Participant belongs to.", - "maxLength": 34, - "minLength": 34, + "conversation_created_by": { + "type": "string", "nullable": true, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" + "description": "Creator of this conversation." }, "conversation_state": { - "description": "The current state of this User Conversation", + "type": "string", "enum": [ "inactive", "active", "closed" ], "nullable": true, - "type": "string" + "description": "The current state of this User Conversation" }, "conversation_timers": { - "description": "Timer date values for this conversation.", - "nullable": true - }, - "conversation_unique_name": { - "description": "An application-defined string that uniquely identifies the Conversation resource", "nullable": true, - "type": "string" + "description": "Timer date values for this conversation." }, "links": { - "description": "Absolute URLs to access the participant and conversation of this Participant Conversation.", + "type": "object", "format": "uri-map", "nullable": true, - "type": "object" - }, - "participant_identity": { - "description": "A unique string identifier for the conversation participant as Conversation User.", - "nullable": true, - "type": "string" - }, - "participant_messaging_binding": { - "description": "Information about how this participant exchanges messages with the conversation.", - "nullable": true - }, - "participant_sid": { - "description": "The unique ID of the Participant.", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^MB[0-9a-fA-F]{32}$", - "type": "string" - }, - "participant_user_sid": { - "description": "The unique ID for the conversation participant as Conversation User.", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^US[0-9a-fA-F]{32}$", - "type": "string" + "description": "Absolute URLs to access the participant and conversation of this Participant Conversation." } - }, - "type": "object" + } }, "conversations.v1.role": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", "nullable": true, + "description": "The unique string that identifies the resource" + }, + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "chat_service_sid": { - "description": "The SID of the Conversation Service that the resource is associated with", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", - "format": "date-time", "nullable": true, - "type": "string" + "description": "The SID of the Conversation Service that the resource is associated with" }, - "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", - "format": "date-time", + "friendly_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the resource" }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", + "type": { + "type": "string", + "enum": [ + "conversation", + "service" + ], "nullable": true, - "type": "string" + "description": "The type of role" }, "permissions": { - "description": "An array of the permissions the role has been granted", + "type": "array", "items": { "type": "string" }, "nullable": true, - "type": "array" + "description": "An array of the permissions the role has been granted" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, - "type": { - "description": "The type of role", - "enum": [ - "conversation", - "service" - ], + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, "url": { - "description": "An absolute URL for this user role.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "An absolute URL for this user role." } - }, - "type": "object" + } }, "conversations.v1.service": { + "type": "object", "properties": { "account_sid": { - "description": "The unique ID of the Account responsible for this service.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "description": "The date that this resource was created.", - "format": "date-time", "nullable": true, - "type": "string" + "description": "The unique ID of the Account responsible for this service." }, - "date_updated": { - "description": "The date that this resource was last updated.", - "format": "date-time", + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "A 34 character string that uniquely identifies this resource." }, "friendly_name": { - "description": "The human-readable name of this service.", + "type": "string", "nullable": true, - "type": "string" + "description": "The human-readable name of this service." }, - "links": { - "description": "Absolute URLs to access the conversations, users, roles, bindings and configuration of this service.", - "format": "uri-map", + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "object" + "description": "The date that this resource was created." }, - "sid": { - "description": "A 34 character string that uniquely identifies this resource.", - "maxLength": 34, - "minLength": 34, + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The date that this resource was last updated." }, "url": { - "description": "An absolute URL for this service.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "An absolute URL for this service." + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "Absolute URLs to access the conversations, users, roles, bindings and configuration of this service." } - }, - "type": "object" + } }, "conversations.v1.service.service_binding": { + "type": "object", "properties": { - "account_sid": { - "description": "The unique ID of the Account responsible for this binding.", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^BS[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "A 34 character string that uniquely identifies this resource." }, - "binding_type": { - "description": "The push technology to use for the binding.", - "enum": [ - "apn", - "gcm", - "fcm" - ], + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique ID of the Account responsible for this binding." }, "chat_service_sid": { - "description": "The SID of the Conversation Service that the resource is associated with.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Conversation Service that the resource is associated with." }, "credential_sid": { - "description": "The SID of the Credential for the binding.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Credential for the binding." }, "date_created": { - "description": "The date that this resource was created.", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The date that this resource was created." }, "date_updated": { - "description": "The date that this resource was last updated.", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The date that this resource was last updated." }, "endpoint": { - "description": "The unique endpoint identifier for the Binding.", + "type": "string", "nullable": true, - "type": "string" + "description": "The unique endpoint identifier for the Binding." }, "identity": { - "description": "The identity of Conversation User associated with this binding.", + "type": "string", + "nullable": true, + "description": "The identity of Conversation User associated with this binding." + }, + "binding_type": { + "type": "string", + "enum": [ + "apn", + "gcm", + "fcm" + ], "nullable": true, - "type": "string" + "description": "The push technology to use for the binding." }, "message_types": { - "description": "The Conversation message types the binding is subscribed to.", + "type": "array", "items": { "type": "string" }, "nullable": true, - "type": "array" - }, - "sid": { - "description": "A 34 character string that uniquely identifies this resource.", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^BS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The Conversation message types the binding is subscribed to." }, "url": { - "description": "An absolute URL for this binding.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "An absolute URL for this binding." } - }, - "type": "object" + } }, "conversations.v1.service.service_configuration": { + "type": "object", "properties": { "chat_service_sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - }, - "default_chat_service_role_sid": { - "description": "The service role assigned to users when they are added to the service", "maxLength": 34, - "minLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, "default_conversation_creator_role_sid": { - "description": "The role assigned to a conversation creator user when they join a new conversation", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The role assigned to a conversation creator user when they join a new conversation" }, "default_conversation_role_sid": { - "description": "The role assigned to users when they are added to a conversation", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - }, - "links": { - "description": "Absolute URL to access the push notifications configuration of this service.", - "format": "uri-map", "nullable": true, - "type": "object" + "description": "The role assigned to users when they are added to a conversation" }, - "reachability_enabled": { - "description": "Whether the Reachability Indicator feature is enabled for this Conversations Service", + "default_chat_service_role_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", "nullable": true, - "type": "boolean" + "description": "The service role assigned to users when they are added to the service" }, "url": { - "description": "An absolute URL for this service configuration.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "conversations.v1.service.service_configuration.service_notification": { - "properties": { - "account_sid": { - "description": "The unique ID of the Account responsible for this configuration.", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "added_to_conversation": { - "description": "The Push Notification configuration for being added to a Conversation.", - "nullable": true - }, - "chat_service_sid": { - "description": "The SID of the Conversation Service that the Configuration applies to.", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "description": "An absolute URL for this service configuration." }, - "log_enabled": { - "description": "Weather the notification logging is enabled.", + "links": { + "type": "object", + "format": "uri-map", "nullable": true, - "type": "boolean" + "description": "Absolute URL to access the push notifications configuration of this service." }, - "new_message": { - "description": "The Push Notification configuration for New Messages.", - "nullable": true - }, - "removed_from_conversation": { - "description": "The Push Notification configuration for being removed from a Conversation.", - "nullable": true - }, - "url": { - "description": "An absolute URL for this configuration.", - "format": "uri", + "reachability_enabled": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Whether the Reachability Indicator feature is enabled for this Conversations Service" } - }, - "type": "object" + } }, - "conversations.v1.service.service_configuration.service_webhook_configuration": { + "conversations.v1.service.service_conversation": { + "type": "object", "properties": { "account_sid": { - "description": "The unique ID of the Account responsible for this service.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique ID of the Account responsible for this conversation." }, "chat_service_sid": { - "description": "The unique ID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) this conversation belongs to.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - }, - "filters": { - "description": "The list of events that your configured webhook targets will receive. Events not configured here will not fire.", - "items": { - "type": "string" - }, "nullable": true, - "type": "array" + "description": "The unique ID of the Conversation Service this conversation belongs to." }, - "method": { - "description": "The HTTP method to be used when sending a webhook request", - "enum": [ - "GET", - "POST" - ], + "messaging_service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique ID of the Messaging Service this conversation belongs to." }, - "post_webhook_url": { - "description": "The absolute url the post-event webhook request should be sent to.", - "format": "uri", + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "A 34 character string that uniquely identifies this resource." }, - "pre_webhook_url": { - "description": "The absolute url the pre-event webhook request should be sent to.", - "format": "uri", + "friendly_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "The human-readable name of this conversation." }, - "url": { - "description": "An absolute URL for this webhook.", - "format": "uri", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "conversations.v1.service.service_conversation": { - "properties": { - "account_sid": { - "description": "The unique ID of the Account responsible for this conversation.", - "maxLength": 34, - "minLength": 34, + "unique_name": { + "type": "string", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "An application-defined string that uniquely identifies the resource" }, "attributes": { - "description": "An optional string metadata field you can use to store any data you wish.", + "type": "string", "nullable": true, - "type": "string" - }, - "bindings": { - "nullable": true + "description": "An optional string metadata field you can use to store any data you wish." }, - "chat_service_sid": { - "description": "The unique ID of the Conversation Service this conversation belongs to.", - "maxLength": 34, - "minLength": 34, + "state": { + "type": "string", + "enum": [ + "inactive", + "active", + "closed" + ], "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "description": "Current state of this conversation." }, "date_created": { - "description": "The date that this resource was created.", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The date that this resource was created." }, "date_updated": { - "description": "The date that this resource was last updated.", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The date that this resource was last updated." }, - "friendly_name": { - "description": "The human-readable name of this conversation.", + "timers": { "nullable": true, - "type": "string" + "description": "Timer date values for this conversation." + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "An absolute URL for this conversation." }, "links": { - "description": "Absolute URLs to access the participants, messages and webhooks of this conversation.", + "type": "object", "format": "uri-map", "nullable": true, - "type": "object" + "description": "Absolute URLs to access the participants, messages and webhooks of this conversation." }, - "messaging_service_sid": { - "description": "The unique ID of the Messaging Service this conversation belongs to.", - "maxLength": 34, + "bindings": { + "nullable": true + } + } + }, + "conversations.v1.service.service_conversation.service_conversation_message": { + "type": "object", + "properties": { + "account_sid": { + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" - }, - "sid": { - "description": "A 34 character string that uniquely identifies this resource.", "maxLength": 34, - "minLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique ID of the Account responsible for this message." }, - "state": { - "description": "Current state of this conversation.", - "enum": [ - "inactive", - "active", - "closed" - ], + "chat_service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Conversation Service that the resource is associated with." }, - "timers": { - "description": "Timer date values for this conversation.", - "nullable": true - }, - "unique_name": { - "description": "An application-defined string that uniquely identifies the resource", + "conversation_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique ID of the Conversation for this message." }, - "url": { - "description": "An absolute URL for this conversation.", - "format": "uri", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "conversations.v1.service.service_conversation.service_conversation_message": { - "properties": { - "account_sid": { - "description": "The unique ID of the Account responsible for this message.", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^IM[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "A 34 character string that uniquely identifies this resource." }, - "attributes": { - "description": "A string metadata field you can use to store any data you wish.", + "index": { + "type": "integer", "nullable": true, - "type": "string" + "description": "The index of the message within the Conversation." }, "author": { - "description": "The channel specific identifier of the message's author.", + "type": "string", "nullable": true, - "type": "string" + "description": "The channel specific identifier of the message's author." }, "body": { - "description": "The content of the message.", + "type": "string", "nullable": true, - "type": "string" + "description": "The content of the message." }, - "chat_service_sid": { - "description": "The SID of the Conversation Service that the resource is associated with.", - "maxLength": 34, - "minLength": 34, + "media": { + "type": "array", + "items": {}, "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "description": "An array of objects that describe the Message's media if attached, otherwise, null." }, - "conversation_sid": { - "description": "The unique ID of the Conversation for this message.", - "maxLength": 34, + "attributes": { + "type": "string", + "nullable": true, + "description": "A string metadata field you can use to store any data you wish." + }, + "participant_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^MB[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique ID of messages's author participant." }, "date_created": { - "description": "The date that this resource was created.", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The date that this resource was created." }, "date_updated": { - "description": "The date that this resource was last updated.", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The date that this resource was last updated." }, "delivery": { - "description": "An object that contains the summary of delivery statuses for the message to non-chat participants.", - "nullable": true + "nullable": true, + "description": "An object that contains the summary of delivery statuses for the message to non-chat participants." }, - "index": { - "description": "The index of the message within the Conversation.", + "url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "integer" + "description": "An absolute URL for this message." }, "links": { - "description": "Absolute URL to access the receipts of this message.", + "type": "object", "format": "uri-map", "nullable": true, - "type": "object" - }, - "media": { - "description": "An array of objects that describe the Message's media if attached, otherwise, null.", - "items": {}, - "nullable": true, - "type": "array" - }, - "participant_sid": { - "description": "The unique ID of messages's author participant.", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^MB[0-9a-fA-F]{32}$", - "type": "string" - }, - "sid": { - "description": "A 34 character string that uniquely identifies this resource.", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^IM[0-9a-fA-F]{32}$", - "type": "string" - }, - "url": { - "description": "An absolute URL for this message.", - "format": "uri", - "nullable": true, - "type": "string" + "description": "Absolute URL to access the receipts of this message." } - }, - "type": "object" + } }, "conversations.v1.service.service_conversation.service_conversation_message.service_conversation_message_receipt": { + "type": "object", "properties": { "account_sid": { - "description": "The unique ID of the Account responsible for this participant.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "channel_message_sid": { - "description": "A messaging channel-specific identifier for the message delivered to participant", "maxLength": 34, - "minLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique ID of the Account responsible for this participant." }, "chat_service_sid": { - "description": "The SID of the Conversation Service that the resource is associated with.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Conversation Service that the resource is associated with." }, "conversation_sid": { - "description": "The unique ID of the Conversation for this message.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "description": "The date that this resource was created.", - "format": "date-time", "nullable": true, - "type": "string" + "description": "The unique ID of the Conversation for this message." }, - "date_updated": { - "description": "The date that this resource was last updated.", - "format": "date-time", + "message_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IM[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the message the delivery receipt belongs to" }, - "error_code": { - "description": "The message [delivery error code](https://www.twilio.com/docs/sms/api/message-resource#delivery-related-errors) for a `failed` status", + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^DY[0-9a-fA-F]{32}$", "nullable": true, - "type": "integer" + "description": "A 34 character string that uniquely identifies this resource." }, - "message_sid": { - "description": "The SID of the message the delivery receipt belongs to", - "maxLength": 34, + "channel_message_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^IM[0-9a-fA-F]{32}$", - "type": "string" + "description": "A messaging channel-specific identifier for the message delivered to participant" }, "participant_sid": { - "description": "The unique ID of the participant the delivery receipt belongs to.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^MB[0-9a-fA-F]{32}$", - "type": "string" - }, - "sid": { - "description": "A 34 character string that uniquely identifies this resource.", "maxLength": 34, - "minLength": 34, + "pattern": "^MB[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^DY[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique ID of the participant the delivery receipt belongs to." }, "status": { - "description": "The message delivery status", + "type": "string", "enum": [ "read", "failed", @@ -1370,785 +1254,913 @@ "sent" ], "nullable": true, - "type": "string" + "description": "The message delivery status" + }, + "error_code": { + "type": "integer", + "nullable": true, + "description": "The message [delivery error code](https://www.twilio.com/docs/sms/api/message-resource#delivery-related-errors) for a `failed` status" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The date that this resource was created." + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The date that this resource was last updated." }, "url": { - "description": "An absolute URL for this delivery receipt.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "An absolute URL for this delivery receipt." } - }, - "type": "object" + } }, "conversations.v1.service.service_conversation.service_conversation_participant": { + "type": "object", "properties": { "account_sid": { - "description": "The unique ID of the Account responsible for this participant.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "attributes": { - "description": "An optional string metadata field you can use to store any data you wish.", "nullable": true, - "type": "string" + "description": "The unique ID of the Account responsible for this participant." }, "chat_service_sid": { - "description": "The SID of the Conversation Service that the resource is associated with.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Conversation Service that the resource is associated with." }, "conversation_sid": { - "description": "The unique ID of the Conversation for this participant.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "description": "The date that this resource was created.", - "format": "date-time", "nullable": true, - "type": "string" + "description": "The unique ID of the Conversation for this participant." }, - "date_updated": { - "description": "The date that this resource was last updated.", - "format": "date-time", + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^MB[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "A 34 character string that uniquely identifies this resource." }, "identity": { - "description": "A unique string identifier for the conversation participant as Conversation User.", - "nullable": true, - "type": "string" - }, - "last_read_message_index": { - "description": "Index of last \u201cread\u201d message in the Conversation for the Participant.", + "type": "string", "nullable": true, - "type": "integer" + "description": "A unique string identifier for the conversation participant as Conversation User." }, - "last_read_timestamp": { - "description": "Timestamp of last \u201cread\u201d message in the Conversation for the Participant.", + "attributes": { + "type": "string", "nullable": true, - "type": "string" + "description": "An optional string metadata field you can use to store any data you wish." }, "messaging_binding": { - "description": "Information about how this participant exchanges messages with the conversation.", - "nullable": true + "nullable": true, + "description": "Information about how this participant exchanges messages with the conversation." }, "role_sid": { - "description": "The SID of a conversation-level Role to assign to the participant", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of a conversation-level Role to assign to the participant" }, - "sid": { - "description": "A 34 character string that uniquely identifies this resource.", - "maxLength": 34, - "minLength": 34, + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^MB[0-9a-fA-F]{32}$", - "type": "string" + "description": "The date that this resource was created." + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The date that this resource was last updated." }, "url": { - "description": "An absolute URL for this participant.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "An absolute URL for this participant." + }, + "last_read_message_index": { + "type": "integer", + "nullable": true, + "description": "Index of last \u201cread\u201d message in the Conversation for the Participant." + }, + "last_read_timestamp": { + "type": "string", + "nullable": true, + "description": "Timestamp of last \u201cread\u201d message in the Conversation for the Participant." } - }, - "type": "object" + } }, "conversations.v1.service.service_conversation.service_conversation_scoped_webhook": { + "type": "object", "properties": { - "account_sid": { - "description": "The unique ID of the Account responsible for this conversation.", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^WH[0-9a-fA-F]{32}$", "nullable": true, + "description": "A 34 character string that uniquely identifies this resource." + }, + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique ID of the Account responsible for this conversation." }, "chat_service_sid": { - "description": "The SID of the Conversation Service that the resource is associated with.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - }, - "configuration": { - "description": "The configuration of this webhook.", - "nullable": true + "nullable": true, + "description": "The SID of the Conversation Service that the resource is associated with." }, "conversation_sid": { - "description": "The unique ID of the Conversation for this webhook.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique ID of the Conversation for this webhook." + }, + "target": { + "type": "string", + "nullable": true, + "description": "The target of this webhook." + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "An absolute URL for this webhook." + }, + "configuration": { + "nullable": true, + "description": "The configuration of this webhook." }, "date_created": { - "description": "The date that this resource was created.", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The date that this resource was created." }, "date_updated": { - "description": "The date that this resource was last updated.", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" - }, - "sid": { - "description": "A 34 character string that uniquely identifies this resource.", + "description": "The date that this resource was last updated." + } + } + }, + "conversations.v1.service.service_configuration.service_notification": { + "type": "object", + "properties": { + "account_sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique ID of the Account responsible for this configuration." + }, + "chat_service_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^WH[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Conversation Service that the Configuration applies to." }, - "target": { - "description": "The target of this webhook.", + "new_message": { + "nullable": true, + "description": "The Push Notification configuration for New Messages." + }, + "added_to_conversation": { + "nullable": true, + "description": "The Push Notification configuration for being added to a Conversation." + }, + "removed_from_conversation": { + "nullable": true, + "description": "The Push Notification configuration for being removed from a Conversation." + }, + "log_enabled": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Weather the notification logging is enabled." }, "url": { - "description": "An absolute URL for this webhook.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "An absolute URL for this configuration." } - }, - "type": "object" + } }, "conversations.v1.service.service_participant_conversation": { + "type": "object", "properties": { "account_sid": { - "description": "The unique ID of the Account responsible for this conversation.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique ID of the Account responsible for this conversation." }, "chat_service_sid": { - "description": "The unique ID of the Conversation Service this conversation belongs to.", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique ID of the Conversation Service this conversation belongs to." + }, + "participant_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^MB[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique ID of the Participant." }, - "conversation_attributes": { - "description": "An optional string metadata field you can use to store any data you wish.", + "participant_user_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^US[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique ID for the conversation participant as Conversation User." }, - "conversation_created_by": { - "description": "Creator of this conversation.", + "participant_identity": { + "type": "string", + "nullable": true, + "description": "A unique string identifier for the conversation participant as Conversation User." + }, + "participant_messaging_binding": { + "nullable": true, + "description": "Information about how this participant exchanges messages with the conversation." + }, + "conversation_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique ID of the Conversation this Participant belongs to." + }, + "conversation_unique_name": { + "type": "string", + "nullable": true, + "description": "An application-defined string that uniquely identifies the Conversation resource." + }, + "conversation_friendly_name": { + "type": "string", + "nullable": true, + "description": "The human-readable name of this conversation." + }, + "conversation_attributes": { + "type": "string", + "nullable": true, + "description": "An optional string metadata field you can use to store any data you wish." }, "conversation_date_created": { - "description": "The date that this conversation was created.", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The date that this conversation was created." }, "conversation_date_updated": { - "description": "The date that this conversation was last updated.", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" - }, - "conversation_friendly_name": { - "description": "The human-readable name of this conversation.", - "nullable": true, - "type": "string" + "description": "The date that this conversation was last updated." }, - "conversation_sid": { - "description": "The unique ID of the Conversation this Participant belongs to.", - "maxLength": 34, - "minLength": 34, + "conversation_created_by": { + "type": "string", "nullable": true, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" + "description": "Creator of this conversation." }, "conversation_state": { - "description": "The current state of this User Conversation", + "type": "string", "enum": [ "inactive", "active", "closed" ], "nullable": true, - "type": "string" + "description": "The current state of this User Conversation" }, "conversation_timers": { - "description": "Timer date values for this conversation.", - "nullable": true - }, - "conversation_unique_name": { - "description": "An application-defined string that uniquely identifies the Conversation resource.", "nullable": true, - "type": "string" + "description": "Timer date values for this conversation." }, "links": { - "description": "Absolute URLs to access the participant and conversation of this Participant Conversation.", + "type": "object", "format": "uri-map", "nullable": true, - "type": "object" - }, - "participant_identity": { - "description": "A unique string identifier for the conversation participant as Conversation User.", + "description": "Absolute URLs to access the participant and conversation of this Participant Conversation." + } + } + }, + "conversations.v1.service.service_role": { + "type": "object", + "properties": { + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique string that identifies the resource" }, - "participant_messaging_binding": { - "description": "Information about how this participant exchanges messages with the conversation.", - "nullable": true - }, - "participant_sid": { - "description": "The unique ID of the Participant.", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^MB[0-9a-fA-F]{32}$", - "type": "string" - }, - "participant_user_sid": { - "description": "The unique ID for the conversation participant as Conversation User.", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^US[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "type": "object" - }, - "conversations.v1.service.service_role": { - "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "chat_service_sid": { - "description": "The SID of the Conversation Service that the resource is associated with", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", - "format": "date-time", "nullable": true, - "type": "string" + "description": "The SID of the Conversation Service that the resource is associated with" }, - "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", - "format": "date-time", + "friendly_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the resource" }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", + "type": { + "type": "string", + "enum": [ + "conversation", + "service" + ], "nullable": true, - "type": "string" + "description": "The type of role" }, "permissions": { - "description": "An array of the permissions the role has been granted", + "type": "array", "items": { "type": "string" }, "nullable": true, - "type": "array" + "description": "An array of the permissions the role has been granted" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, - "type": { - "description": "The type of role", - "enum": [ - "conversation", - "service" - ], + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, "url": { - "description": "An absolute URL for this user role.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "An absolute URL for this user role." } - }, - "type": "object" + } }, "conversations.v1.service.service_user": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^US[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "attributes": { - "description": "The JSON Object string that stores application-specific data", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, "chat_service_sid": { - "description": "The SID of the Conversation Service that the resource is associated with", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", - "format": "date-time", "nullable": true, - "type": "string" + "description": "The SID of the Conversation Service that the resource is associated with" }, - "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", - "format": "date-time", + "role_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of a service-level Role assigned to the user" }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", + "identity": { + "type": "string", "nullable": true, - "type": "string" + "description": "The string that identifies the resource's User" }, - "identity": { - "description": "The string that identifies the resource's User", + "friendly_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the resource" }, - "is_notifiable": { - "description": "Whether the User has a potentially valid Push Notification registration for this Conversations Service", + "attributes": { + "type": "string", "nullable": true, - "type": "boolean" + "description": "The JSON Object string that stores application-specific data" }, "is_online": { - "description": "Whether the User is actively connected to this Conversations Service and online", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Whether the User is actively connected to this Conversations Service and online" }, - "links": { - "format": "uri-map", + "is_notifiable": { + "type": "boolean", "nullable": true, - "type": "object" + "description": "Whether the User has a potentially valid Push Notification registration for this Conversations Service" }, - "role_sid": { - "description": "The SID of a service-level Role assigned to the user", - "maxLength": 34, - "minLength": 34, + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^US[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, "url": { - "description": "An absolute URL for this user.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "An absolute URL for this user." + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true } - }, - "type": "object" + } }, "conversations.v1.service.service_user.service_user_conversation": { + "type": "object", "properties": { "account_sid": { - "description": "The unique ID of the Account responsible for this conversation.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "attributes": { - "description": "An optional string metadata field you can use to store any data you wish.", "nullable": true, - "type": "string" + "description": "The unique ID of the Account responsible for this conversation." }, "chat_service_sid": { - "description": "The unique ID of the Conversation Service this conversation belongs to.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique ID of the Conversation Service this conversation belongs to." }, "conversation_sid": { - "description": "The unique ID of the Conversation for this User Conversation.", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique ID of the Conversation for this User Conversation." + }, + "unread_messages_count": { + "type": "integer", + "nullable": true, + "description": "The number of unread Messages in the Conversation." + }, + "last_read_message_index": { + "type": "integer", + "nullable": true, + "description": "The index of the last read Message ." + }, + "participant_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^MB[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" + "description": "Participant Sid." + }, + "user_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^US[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique ID for the User." + }, + "friendly_name": { + "type": "string", + "nullable": true, + "description": "The human-readable name of this conversation." }, "conversation_state": { - "description": "The current state of this User Conversation", + "type": "string", "enum": [ "inactive", "active", "closed" ], "nullable": true, - "type": "string" + "description": "The current state of this User Conversation" }, - "created_by": { - "description": "Creator of this conversation.", + "timers": { "nullable": true, - "type": "string" + "description": "Timer date values for this conversation." + }, + "attributes": { + "type": "string", + "nullable": true, + "description": "An optional string metadata field you can use to store any data you wish." }, "date_created": { - "description": "The date that this conversation was created.", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The date that this conversation was created." }, "date_updated": { - "description": "The date that this conversation was last updated.", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" - }, - "friendly_name": { - "description": "The human-readable name of this conversation.", - "nullable": true, - "type": "string" - }, - "last_read_message_index": { - "description": "The index of the last read Message .", - "nullable": true, - "type": "integer" + "description": "The date that this conversation was last updated." }, - "links": { - "description": "Absolute URLs to access the participant and conversation of this user conversation.", - "format": "uri-map", + "created_by": { + "type": "string", "nullable": true, - "type": "object" + "description": "Creator of this conversation." }, "notification_level": { - "description": "The Notification Level of this User Conversation.", + "type": "string", "enum": [ "default", "muted" ], "nullable": true, - "type": "string" + "description": "The Notification Level of this User Conversation." }, - "participant_sid": { - "description": "Participant Sid.", - "maxLength": 34, - "minLength": 34, + "unique_name": { + "type": "string", "nullable": true, - "pattern": "^MB[0-9a-fA-F]{32}$", - "type": "string" + "description": "An application-defined string that uniquely identifies the Conversation resource." }, - "timers": { - "description": "Timer date values for this conversation.", + "url": { + "type": "string", + "format": "uri", "nullable": true }, - "unique_name": { - "description": "An application-defined string that uniquely identifies the Conversation resource.", + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "Absolute URLs to access the participant and conversation of this user conversation." + } + } + }, + "conversations.v1.service.service_configuration.service_webhook_configuration": { + "type": "object", + "properties": { + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique ID of the Account responsible for this service." }, - "unread_messages_count": { - "description": "The number of unread Messages in the Conversation.", + "chat_service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, - "type": "integer" + "description": "The unique ID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) this conversation belongs to." }, - "url": { + "pre_webhook_url": { + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute url the pre-event webhook request should be sent to." }, - "user_sid": { - "description": "The unique ID for the User.", - "maxLength": 34, - "minLength": 34, + "post_webhook_url": { + "type": "string", + "format": "uri", "nullable": true, - "pattern": "^US[0-9a-fA-F]{32}$", - "type": "string" + "description": "The absolute url the post-event webhook request should be sent to." + }, + "filters": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true, + "description": "The list of events that your configured webhook targets will receive. Events not configured here will not fire." + }, + "method": { + "type": "string", + "enum": [ + "GET", + "POST" + ], + "nullable": true, + "description": "The HTTP method to be used when sending a webhook request" + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "An absolute URL for this webhook." } - }, - "type": "object" + } }, "conversations.v1.user": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^US[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "attributes": { - "description": "The JSON Object string that stores application-specific data", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, "chat_service_sid": { - "description": "The SID of the Conversation Service that the resource is associated with", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", - "format": "date-time", "nullable": true, - "type": "string" + "description": "The SID of the Conversation Service that the resource is associated with" }, - "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", - "format": "date-time", + "role_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of a service-level Role assigned to the user" }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", + "identity": { + "type": "string", "nullable": true, - "type": "string" + "description": "The string that identifies the resource's User" }, - "identity": { - "description": "The string that identifies the resource's User", + "friendly_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the resource" }, - "is_notifiable": { - "description": "Whether the User has a potentially valid Push Notification registration for this Conversations Service", + "attributes": { + "type": "string", "nullable": true, - "type": "boolean" + "description": "The JSON Object string that stores application-specific data" }, "is_online": { - "description": "Whether the User is actively connected to this Conversations Service and online", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Whether the User is actively connected to this Conversations Service and online" }, - "links": { - "format": "uri-map", + "is_notifiable": { + "type": "boolean", "nullable": true, - "type": "object" + "description": "Whether the User has a potentially valid Push Notification registration for this Conversations Service" }, - "role_sid": { - "description": "The SID of a service-level Role assigned to the user", - "maxLength": 34, - "minLength": 34, + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^US[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, "url": { - "description": "An absolute URL for this user.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "An absolute URL for this user." + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true } - }, - "type": "object" + } }, "conversations.v1.user.user_conversation": { + "type": "object", "properties": { "account_sid": { - "description": "The unique ID of the Account responsible for this conversation.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "attributes": { - "description": "An optional string metadata field you can use to store any data you wish.", "nullable": true, - "type": "string" + "description": "The unique ID of the Account responsible for this conversation." }, "chat_service_sid": { - "description": "The unique ID of the Conversation Service this conversation belongs to.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique ID of the Conversation Service this conversation belongs to." }, "conversation_sid": { - "description": "The unique ID of the Conversation for this User Conversation.", + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique ID of the Conversation for this User Conversation." + }, + "unread_messages_count": { + "type": "integer", + "nullable": true, + "description": "The number of unread Messages in the Conversation." + }, + "last_read_message_index": { + "type": "integer", + "nullable": true, + "description": "The index of the last read Message ." + }, + "participant_sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^MB[0-9a-fA-F]{32}$", + "nullable": true, + "description": "Participant Sid." + }, + "user_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^US[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique ID for the User." + }, + "friendly_name": { + "type": "string", + "nullable": true, + "description": "The human-readable name of this conversation." }, "conversation_state": { - "description": "The current state of this User Conversation", + "type": "string", "enum": [ "inactive", "active", "closed" ], "nullable": true, - "type": "string" + "description": "The current state of this User Conversation" }, - "created_by": { - "description": "Creator of this conversation.", + "timers": { + "nullable": true, + "description": "Timer date values for this conversation." + }, + "attributes": { + "type": "string", "nullable": true, - "type": "string" + "description": "An optional string metadata field you can use to store any data you wish." }, "date_created": { - "description": "The date that this conversation was created.", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The date that this conversation was created." }, "date_updated": { - "description": "The date that this conversation was last updated.", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The date that this conversation was last updated." }, - "friendly_name": { - "description": "The human-readable name of this conversation.", - "nullable": true, - "type": "string" - }, - "last_read_message_index": { - "description": "The index of the last read Message .", - "nullable": true, - "type": "integer" - }, - "links": { - "description": "Absolute URLs to access the participant and conversation of this user conversation.", - "format": "uri-map", + "created_by": { + "type": "string", "nullable": true, - "type": "object" + "description": "Creator of this conversation." }, "notification_level": { - "description": "The Notification Level of this User Conversation.", + "type": "string", "enum": [ "default", "muted" ], "nullable": true, - "type": "string" - }, - "participant_sid": { - "description": "Participant Sid.", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^MB[0-9a-fA-F]{32}$", - "type": "string" - }, - "timers": { - "description": "Timer date values for this conversation.", - "nullable": true + "description": "The Notification Level of this User Conversation." }, "unique_name": { - "description": "An application-defined string that uniquely identifies the Conversation resource.", - "nullable": true, - "type": "string" - }, - "unread_messages_count": { - "description": "The number of unread Messages in the Conversation.", + "type": "string", "nullable": true, - "type": "integer" + "description": "An application-defined string that uniquely identifies the Conversation resource." }, "url": { + "type": "string", "format": "uri", - "nullable": true, - "type": "string" + "nullable": true }, - "user_sid": { - "description": "The unique ID for the User.", - "maxLength": 34, - "minLength": 34, + "links": { + "type": "object", + "format": "uri-map", "nullable": true, - "pattern": "^US[0-9a-fA-F]{32}$", - "type": "string" + "description": "Absolute URLs to access the participant and conversation of this user conversation." } - }, - "type": "object" + } } }, "securitySchemes": { "accountSid_authToken": { - "scheme": "basic", - "type": "http" + "type": "http", + "scheme": "basic" } } }, "info": { + "title": "Twilio - Conversations", + "description": "This is the public Twilio REST API.", + "termsOfService": "https://www.twilio.com/legal/tos", "contact": { - "email": "support@twilio.com", "name": "Twilio Support", - "url": "https://support.twilio.com" + "url": "https://support.twilio.com", + "email": "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 - Conversations", "version": "1.30.0" }, "openapi": "3.0.1", "paths": { "/v1/Configuration": { + "servers": [ + { + "url": "https://conversations.twilio.com" + } + ], "description": "The Configuration resource manages a set of account-level settings applicable to the Conversations API.", + "x-twilio": { + "defaultOutputProperties": [ + "account_sid", + "default_chat_service_sid", + "default_messaging_service_sid" + ], + "pathType": "instance" + }, "get": { "description": "Fetch the global configuration of conversations on your account", - "operationId": "FetchConfiguration", "responses": { "200": { "content": { @@ -2166,47 +2178,13 @@ "accountSid_authToken": [] } ], + "operationId": "FetchConfiguration", "x-maturity": [ "GA" ] }, "post": { "description": "Update the global configuration of conversations on your account", - "operationId": "UpdateConfiguration", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "DefaultChatServiceSid": { - "description": "The SID of the default [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) to use when creating a conversation.", - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - }, - "DefaultClosedTimer": { - "description": "Default ISO8601 duration when conversation will be switched to `closed` state. Minimum value for this timer is 10 minutes.", - "type": "string" - }, - "DefaultInactiveTimer": { - "description": "Default ISO8601 duration when conversation will be switched to `inactive` state. Minimum value for this timer is 1 minute.", - "type": "string" - }, - "DefaultMessagingServiceSid": { - "description": "The SID of the default [Messaging Service](https://www.twilio.com/docs/sms/services/api) to use when creating a conversation.", - "maxLength": 34, - "minLength": 34, - "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "title": "UpdateConfigurationRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { @@ -2224,46 +2202,82 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateConfiguration", "x-maturity": [ "GA" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateConfigurationRequest", + "properties": { + "DefaultChatServiceSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", + "description": "The SID of the default [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) to use when creating a conversation." + }, + "DefaultMessagingServiceSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$", + "description": "The SID of the default [Messaging Service](https://www.twilio.com/docs/sms/services/api) to use when creating a conversation." + }, + "DefaultInactiveTimer": { + "type": "string", + "description": "Default ISO8601 duration when conversation will be switched to `inactive` state. Minimum value for this timer is 1 minute." + }, + "DefaultClosedTimer": { + "type": "string", + "description": "Default ISO8601 duration when conversation will be switched to `closed` state. Minimum value for this timer is 10 minutes." + } + } + } + } + } + } + } + }, + "/v1/Configuration/Addresses": { "servers": [ { "url": "https://conversations.twilio.com" } ], + "description": "Address Configuration resource manages the configurations related to a unique address within Conversations", "x-twilio": { "defaultOutputProperties": [ - "account_sid", - "default_chat_service_sid", - "default_messaging_service_sid" + "sid", + "type", + "address", + "friendly_name" ], - "pathType": "instance" - } - }, - "/v1/Configuration/Addresses": { - "description": "Address Configuration resource manages the configurations related to a unique address within Conversations", + "pathType": "list", + "className": "address_configuration" + }, "get": { "description": "Retrieve a list of address configurations for an account", - "operationId": "ListConfigurationAddress", "parameters": [ { - "description": "Filter the address configurations by its type. This value can be one of: `whatsapp`, `sms`.", - "in": "query", "name": "Type", + "in": "query", + "description": "Filter the address configurations by its type. This value can be one of: `whatsapp`, `sms`.", "schema": { "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", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -2272,25 +2286,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListConfigurationAddressResponse", "properties": { "address_configurations": { + "type": "array", "items": { "$ref": "#/components/schemas/conversations.v1.configuration_address" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -2299,19 +2313,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListConfigurationAddressResponse", - "type": "object" + } } } }, @@ -2323,152 +2337,160 @@ "accountSid_authToken": [] } ], + "operationId": "ListConfigurationAddress", "x-maturity": [ "GA" ] }, "post": { "description": "Create a new address configuration", + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/conversations.v1.configuration_address" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], "operationId": "CreateConfigurationAddress", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateConfigurationAddressRequest", "properties": { + "Type": { + "type": "string", + "enum": [ + "sms", + "whatsapp", + "messenger", + "gbm" + ], + "description": "Type of Address. Value can be `whatsapp` or `sms`." + }, "Address": { - "description": "The unique address to be configured. The address can be a whatsapp address or phone number", - "type": "string" + "type": "string", + "description": "The unique address to be configured. The address can be a whatsapp address or phone number" }, - "AutoCreation.ConversationServiceSid": { - "description": "Conversation Service for the auto-created conversation. If not set, the conversation is created in the default service.", - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "FriendlyName": { + "type": "string", + "description": "The human-readable name of this configuration, limited to 256 characters. Optional." }, "AutoCreation.Enabled": { - "description": "Enable/Disable auto-creating conversations for messages to this address", - "type": "boolean" - }, - "AutoCreation.StudioFlowSid": { - "description": "For type `studio`, the studio flow SID where the webhook should be sent to.", - "maxLength": 34, - "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - }, - "AutoCreation.StudioRetryCount": { - "description": "For type `studio`, number of times to retry the webhook request", - "type": "integer" + "type": "boolean", + "description": "Enable/Disable auto-creating conversations for messages to this address" }, "AutoCreation.Type": { - "description": "Type of Auto Creation. Value can be one of `webhook`, `studio` or `default`.", + "type": "string", "enum": [ "webhook", "studio", "default" ], - "type": "string" + "description": "Type of Auto Creation. Value can be one of `webhook`, `studio` or `default`." }, - "AutoCreation.WebhookFilters": { - "description": "The list of events, firing webhook event for this Conversation. Values can be any of the following: `onMessageAdded`, `onMessageUpdated`, `onMessageRemoved`, `onConversationUpdated`, `onConversationStateUpdated`, `onConversationRemoved`, `onParticipantAdded`, `onParticipantUpdated`, `onParticipantRemoved`, `onDeliveryUpdated`", - "items": { - "type": "string" - }, - "type": "array" + "AutoCreation.ConversationServiceSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", + "description": "Conversation Service for the auto-created conversation. If not set, the conversation is created in the default service." + }, + "AutoCreation.WebhookUrl": { + "type": "string", + "description": "For type `webhook`, the url for the webhook request." }, "AutoCreation.WebhookMethod": { - "description": "For type `webhook`, the HTTP method to be used when sending a webhook request.", + "type": "string", "enum": [ "GET", "POST" ], - "type": "string" + "description": "For type `webhook`, the HTTP method to be used when sending a webhook request." }, - "AutoCreation.WebhookUrl": { - "description": "For type `webhook`, the url for the webhook request.", - "type": "string" + "AutoCreation.WebhookFilters": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of events, firing webhook event for this Conversation. Values can be any of the following: `onMessageAdded`, `onMessageUpdated`, `onMessageRemoved`, `onConversationUpdated`, `onConversationStateUpdated`, `onConversationRemoved`, `onParticipantAdded`, `onParticipantUpdated`, `onParticipantRemoved`, `onDeliveryUpdated`" }, - "FriendlyName": { - "description": "The human-readable name of this configuration, limited to 256 characters. Optional.", - "type": "string" + "AutoCreation.StudioFlowSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$", + "description": "For type `studio`, the studio flow SID where the webhook should be sent to." }, - "Type": { - "description": "Type of Address. Value can be `whatsapp` or `sms`.", - "enum": [ - "sms", - "whatsapp", - "messenger", - "gbm" - ], - "type": "string" + "AutoCreation.StudioRetryCount": { + "type": "integer", + "description": "For type `studio`, number of times to retry the webhook request" } }, "required": [ "Type", "Address" - ], - "title": "CreateConfigurationAddressRequest", - "type": "object" + ] } } } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/conversations.v1.configuration_address" - } - } - }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, + } + } + }, + "/v1/Configuration/Addresses/{Sid}": { "servers": [ { "url": "https://conversations.twilio.com" } ], + "description": "Address Configuration resource manages the configurations related to a unique address within Conversations", "x-twilio": { - "className": "address_configuration", "defaultOutputProperties": [ "sid", "type", "address", "friendly_name" ], - "pathType": "list" - } - }, - "/v1/Configuration/Addresses/{Sid}": { - "delete": { - "description": "Remove an existing address configuration", - "operationId": "DeleteConfigurationAddress", + "pathType": "instance", + "className": "address_configuration" + }, + "get": { + "description": "Fetch an address configuration ", "parameters": [ { - "description": "The SID of the Address Configuration resource. This value can be either the `sid` or the `address` of the configuration", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Address Configuration resource. This value can be either the `sid` or the `address` of the configuration", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/conversations.v1.configuration_address" + } + } + }, + "description": "OK" } }, "security": [ @@ -2476,23 +2498,22 @@ "accountSid_authToken": [] } ], + "operationId": "FetchConfigurationAddress", "x-maturity": [ "GA" ] }, - "description": "Address Configuration resource manages the configurations related to a unique address within Conversations", - "get": { - "description": "Fetch an address configuration ", - "operationId": "FetchConfigurationAddress", + "post": { + "description": "Update an existing address configuration", "parameters": [ { - "description": "The SID of the Address Configuration resource. This value can be either the `sid` or the `address` of the configuration", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Address Configuration resource. This value can be either the `sid` or the `address` of the configuration", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -2512,100 +2533,93 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateConfigurationAddress", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "Update an existing address configuration", - "operationId": "UpdateConfigurationAddress", - "parameters": [ - { - "description": "The SID of the Address Configuration resource. This value can be either the `sid` or the `address` of the configuration", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateConfigurationAddressRequest", "properties": { - "AutoCreation.ConversationServiceSid": { - "description": "Conversation Service for the auto-created conversation. If not set, the conversation is created in the default service.", - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "FriendlyName": { + "type": "string", + "description": "The human-readable name of this configuration, limited to 256 characters. Optional." }, "AutoCreation.Enabled": { - "description": "Enable/Disable auto-creating conversations for messages to this address", - "type": "boolean" - }, - "AutoCreation.StudioFlowSid": { - "description": "For type `studio`, the studio flow SID where the webhook should be sent to.", - "maxLength": 34, - "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - }, - "AutoCreation.StudioRetryCount": { - "description": "For type `studio`, number of times to retry the webhook request", - "type": "integer" + "type": "boolean", + "description": "Enable/Disable auto-creating conversations for messages to this address" }, "AutoCreation.Type": { - "description": "Type of Auto Creation. Value can be one of `webhook`, `studio` or `default`.", + "type": "string", "enum": [ "webhook", "studio", "default" ], - "type": "string" + "description": "Type of Auto Creation. Value can be one of `webhook`, `studio` or `default`." }, - "AutoCreation.WebhookFilters": { - "description": "The list of events, firing webhook event for this Conversation. Values can be any of the following: `onMessageAdded`, `onMessageUpdated`, `onMessageRemoved`, `onConversationUpdated`, `onConversationStateUpdated`, `onConversationRemoved`, `onParticipantAdded`, `onParticipantUpdated`, `onParticipantRemoved`, `onDeliveryUpdated`", - "items": { - "type": "string" - }, - "type": "array" + "AutoCreation.ConversationServiceSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", + "description": "Conversation Service for the auto-created conversation. If not set, the conversation is created in the default service." + }, + "AutoCreation.WebhookUrl": { + "type": "string", + "description": "For type `webhook`, the url for the webhook request." }, "AutoCreation.WebhookMethod": { - "description": "For type `webhook`, the HTTP method to be used when sending a webhook request.", + "type": "string", "enum": [ "GET", "POST" ], - "type": "string" + "description": "For type `webhook`, the HTTP method to be used when sending a webhook request." }, - "AutoCreation.WebhookUrl": { - "description": "For type `webhook`, the url for the webhook request.", - "type": "string" + "AutoCreation.WebhookFilters": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of events, firing webhook event for this Conversation. Values can be any of the following: `onMessageAdded`, `onMessageUpdated`, `onMessageRemoved`, `onConversationUpdated`, `onConversationStateUpdated`, `onConversationRemoved`, `onParticipantAdded`, `onParticipantUpdated`, `onParticipantRemoved`, `onDeliveryUpdated`" }, - "FriendlyName": { - "description": "The human-readable name of this configuration, limited to 256 characters. Optional.", - "type": "string" + "AutoCreation.StudioFlowSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$", + "description": "For type `studio`, the studio flow SID where the webhook should be sent to." + }, + "AutoCreation.StudioRetryCount": { + "type": "integer", + "description": "For type `studio`, number of times to retry the webhook request" } - }, - "title": "UpdateConfigurationAddressRequest", - "type": "object" + } } } } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/conversations.v1.configuration_address" - } - } + } + }, + "delete": { + "description": "Remove an existing address configuration", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The SID of the Address Configuration resource. This value can be either the `sid` or the `address` of the configuration", + "schema": { + "type": "string" }, - "description": "OK" + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -2613,31 +2627,31 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteConfigurationAddress", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Configuration/Webhooks": { "servers": [ { "url": "https://conversations.twilio.com" } ], + "description": "A Webhook resource manages a service-level set of callback URLs and their configuration for receiving all conversation events.", "x-twilio": { - "className": "address_configuration", "defaultOutputProperties": [ - "sid", - "type", - "address", - "friendly_name" + "target", + "method", + "pre_webhook_url", + "post_webhook_url" ], - "pathType": "instance" - } - }, - "/v1/Configuration/Webhooks": { - "description": "A Webhook resource manages a service-level set of callback URLs and their configuration for receiving all conversation events.", + "pathType": "instance", + "parent": "/Configuration" + }, "get": { "description": "", - "operationId": "FetchConfigurationWebhook", "responses": { "200": { "content": { @@ -2655,155 +2669,117 @@ "accountSid_authToken": [] } ], + "operationId": "FetchConfigurationWebhook", "x-maturity": [ "GA" ] }, "post": { "description": "", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/conversations.v1.configuration.configuration_webhook" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], "operationId": "UpdateConfigurationWebhook", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateConfigurationWebhookRequest", "properties": { + "Method": { + "type": "string", + "description": "The HTTP method to be used when sending a webhook request." + }, "Filters": { - "description": "The list of webhook event triggers that are enabled for this Service: `onMessageAdded`, `onMessageUpdated`, `onMessageRemoved`, `onConversationUpdated`, `onConversationRemoved`, `onParticipantAdded`, `onParticipantUpdated`, `onParticipantRemoved`", + "type": "array", "items": { "type": "string" }, - "type": "array" + "description": "The list of webhook event triggers that are enabled for this Service: `onMessageAdded`, `onMessageUpdated`, `onMessageRemoved`, `onConversationUpdated`, `onConversationRemoved`, `onParticipantAdded`, `onParticipantUpdated`, `onParticipantRemoved`" }, - "Method": { - "description": "The HTTP method to be used when sending a webhook request.", - "type": "string" + "PreWebhookUrl": { + "type": "string", + "description": "The absolute url the pre-event webhook request should be sent to." }, "PostWebhookUrl": { - "description": "The absolute url the post-event webhook request should be sent to.", - "type": "string" - }, - "PreWebhookUrl": { - "description": "The absolute url the pre-event webhook request should be sent to.", - "type": "string" + "type": "string", + "description": "The absolute url the post-event webhook request should be sent to." }, "Target": { - "description": "The routing target of the webhook.", + "type": "string", "enum": [ "webhook", "flex" ], - "type": "string" + "description": "The routing target of the webhook." } - }, - "title": "UpdateConfigurationWebhookRequest", - "type": "object" - } - } - } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/conversations.v1.configuration.configuration_webhook" } } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] + } } - ], - "x-maturity": [ - "GA" - ] - }, + } + } + }, + "/v1/Conversations": { "servers": [ { "url": "https://conversations.twilio.com" } ], + "description": "A Conversation resource represents an omnichannel group conversation with an ordered list of messages and a participant roster.", "x-twilio": { "defaultOutputProperties": [ - "target", - "method", - "pre_webhook_url", - "post_webhook_url" + "sid", + "chat_service_sid", + "friendly_name", + "date_created" ], - "parent": "/Configuration", - "pathType": "instance" - } - }, - "/v1/Conversations": { - "description": "A Conversation resource represents an omnichannel group conversation with an ordered list of messages and a participant roster.", - "get": { - "description": "Retrieve a list of conversations in your account's default service", - "operationId": "ListConversation", + "pathType": "list" + }, + "post": { + "description": "Create a new conversation in your account's default service", "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", - "name": "PageSize", + "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" + "type": "string", + "enum": [ + "true", + "false" + ] } } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "properties": { - "conversations": { - "items": { - "$ref": "#/components/schemas/conversations.v1.conversation" - }, - "type": "array" - }, - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - } - }, - "title": "ListConversationResponse", - "type": "object" + "$ref": "#/components/schemas/conversations.v1.conversation" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -2811,156 +2787,80 @@ "accountSid_authToken": [] } ], + "operationId": "CreateConversation", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "Create a new conversation in your account's default service", - "operationId": "CreateConversation", - "parameters": [ - { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", - "name": "X-Twilio-Webhook-Enabled", - "schema": { - "enum": [ - "true", - "false" - ], - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateConversationRequest", "properties": { - "Attributes": { - "description": "An optional string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \"{}\" will be returned.", - "type": "string" + "FriendlyName": { + "type": "string", + "description": "The human-readable name of this conversation, limited to 256 characters. Optional." + }, + "UniqueName": { + "type": "string", + "description": "An application-defined string that uniquely identifies the resource. It can be used to address the resource in place of the resource's `sid` in the URL." }, "DateCreated": { - "description": "The date that this resource was created.", + "type": "string", "format": "date-time", - "type": "string" + "description": "The date that this resource was created." }, "DateUpdated": { - "description": "The date that this resource was last updated.", + "type": "string", "format": "date-time", - "type": "string" - }, - "FriendlyName": { - "description": "The human-readable name of this conversation, limited to 256 characters. Optional.", - "type": "string" + "description": "The date that this resource was last updated." }, "MessagingServiceSid": { - "description": "The unique ID of the [Messaging Service](https://www.twilio.com/docs/sms/services/api) this conversation belongs to.", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique ID of the [Messaging Service](https://www.twilio.com/docs/sms/services/api) this conversation belongs to." + }, + "Attributes": { + "type": "string", + "description": "An optional string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \"{}\" will be returned." }, "State": { - "description": "Current state of this conversation. Can be either `active`, `inactive` or `closed` and defaults to `active`", + "type": "string", "enum": [ "inactive", "active", "closed" ], - "type": "string" - }, - "Timers.Closed": { - "description": "ISO8601 duration when conversation will be switched to `closed` state. Minimum value for this timer is 10 minutes.", - "type": "string" + "description": "Current state of this conversation. Can be either `active`, `inactive` or `closed` and defaults to `active`" }, "Timers.Inactive": { - "description": "ISO8601 duration when conversation will be switched to `inactive` state. Minimum value for this timer is 1 minute.", - "type": "string" + "type": "string", + "description": "ISO8601 duration when conversation will be switched to `inactive` state. Minimum value for this timer is 1 minute." }, - "UniqueName": { - "description": "An application-defined string that uniquely identifies the resource. It can be used to address the resource in place of the resource's `sid` in the URL.", - "type": "string" + "Timers.Closed": { + "type": "string", + "description": "ISO8601 duration when conversation will be switched to `closed` state. Minimum value for this timer is 10 minutes." } - }, - "title": "CreateConversationRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/conversations.v1.conversation" } } - }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] + } } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://conversations.twilio.com" } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "chat_service_sid", - "friendly_name", - "date_created" - ], - "pathType": "list" - } - }, - "/v1/Conversations/{ConversationSid}/Messages": { - "description": "A Message resource represents a message in a conversation.", + }, "get": { - "description": "Retrieve a list of all messages in the conversation", - "operationId": "ListConversationMessage", + "description": "Retrieve a list of conversations in your account's default service", "parameters": [ { - "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for messages.", - "in": "path", - "name": "ConversationSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The sort order of the returned messages. Can be: `asc` (ascending) or `desc` (descending), with `asc` as the default.", + "name": "PageSize", "in": "query", - "name": "Order", - "schema": { - "enum": [ - "asc", - "desc" - ], - "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, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -2969,25 +2869,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListConversationResponse", "properties": { - "messages": { + "conversations": { + "type": "array", "items": { - "$ref": "#/components/schemas/conversations.v1.conversation.conversation_message" - }, - "type": "array" + "$ref": "#/components/schemas/conversations.v1.conversation" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -2996,19 +2896,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListConversationMessageResponse", - "type": "object" + } } } }, @@ -3020,103 +2920,216 @@ "accountSid_authToken": [] } ], + "operationId": "ListConversation", "x-maturity": [ "GA" ] + } + }, + "/v1/Conversations/{Sid}": { + "servers": [ + { + "url": "https://conversations.twilio.com" + } + ], + "description": "A Conversation resource represents an omnichannel group conversation with an ordered list of messages and a participant roster.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "chat_service_sid", + "friendly_name", + "date_created" + ], + "pathType": "instance" }, "post": { - "description": "Add a new message to the conversation", - "operationId": "CreateConversationMessage", + "description": "Update an existing conversation in your account's default service", "parameters": [ { - "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this message.", + "name": "Sid", "in": "path", - "name": "ConversationSid", - "required": true, + "description": "A 34 character string that uniquely identifies this resource. Can also be the `unique_name` of the Conversation.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", "schema": { + "type": "string", "enum": [ "true", "false" - ], - "type": "string" + ] } } ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/conversations.v1.conversation" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "UpdateConversation", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateConversationRequest", "properties": { - "Attributes": { - "description": "A string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \"{}\" will be returned.", - "type": "string" - }, - "Author": { - "description": "The channel specific identifier of the message's author. Defaults to `system`.", - "type": "string" - }, - "Body": { - "description": "The content of the message, can be up to 1,600 characters long.", - "type": "string" + "FriendlyName": { + "type": "string", + "description": "The human-readable name of this conversation, limited to 256 characters. Optional." }, "DateCreated": { - "description": "The date that this resource was created.", + "type": "string", "format": "date-time", - "type": "string" + "description": "The date that this resource was created." }, "DateUpdated": { - "description": "The date that this resource was last updated. `null` if the message has not been edited.", + "type": "string", "format": "date-time", - "type": "string" + "description": "The date that this resource was last updated." }, - "MediaSid": { - "description": "The Media SID to be attached to the new Message.", - "maxLength": 34, + "Attributes": { + "type": "string", + "description": "An optional string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \"{}\" will be returned." + }, + "MessagingServiceSid": { + "type": "string", "minLength": 34, - "pattern": "^ME[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$", + "description": "The unique ID of the [Messaging Service](https://www.twilio.com/docs/sms/services/api) this conversation belongs to." + }, + "State": { + "type": "string", + "enum": [ + "inactive", + "active", + "closed" + ], + "description": "Current state of this conversation. Can be either `active`, `inactive` or `closed` and defaults to `active`" + }, + "Timers.Inactive": { + "type": "string", + "description": "ISO8601 duration when conversation will be switched to `inactive` state. Minimum value for this timer is 1 minute." + }, + "Timers.Closed": { + "type": "string", + "description": "ISO8601 duration when conversation will be switched to `closed` state. Minimum value for this timer is 10 minutes." + }, + "UniqueName": { + "type": "string", + "description": "An application-defined string that uniquely identifies the resource. It can be used to address the resource in place of the resource's `sid` in the URL." } - }, - "title": "CreateConversationMessageRequest", - "type": "object" + } } } } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/conversations.v1.conversation.conversation_message" - } - } + } + }, + "delete": { + "description": "Remove a conversation from your account's default service", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "A 34 character string that uniquely identifies this resource. Can also be the `unique_name` of the Conversation.", + "schema": { + "type": "string" }, - "description": "Created" - } - }, - "security": [ + "required": true + }, { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" + "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", + "schema": { + "type": "string", + "enum": [ + "true", + "false" + ] + } + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteConversation", + "x-maturity": [ + "GA" ] }, + "get": { + "description": "Fetch a conversation from your account's default service", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "A 34 character string that uniquely identifies this resource. Can also be the `unique_name` of the Conversation.", + "schema": { + "type": "string" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/conversations.v1.conversation" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "FetchConversation", + "x-maturity": [ + "GA" + ] + } + }, + "/v1/Conversations/{ConversationSid}/Messages": { "servers": [ { "url": "https://conversations.twilio.com" } ], + "description": "A Message resource represents a message in a conversation.", "x-twilio": { "defaultOutputProperties": [ "sid", @@ -3124,45 +3137,129 @@ "author", "date_created" ], - "parent": "/Conversations", - "pathType": "list" - } - }, - "/v1/Conversations/{ConversationSid}/Messages/{MessageSid}/Receipts": { - "description": "A Message Receipt resource represents a delivery/read receipt of a message in a conversation.", - "get": { - "description": "Retrieve a list of all delivery and read receipts of the conversation message", - "operationId": "ListConversationMessageReceipt", + "pathType": "list", + "parent": "/Conversations" + }, + "post": { + "description": "Add a new message to the conversation", "parameters": [ { - "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this message.", - "in": "path", "name": "ConversationSid", - "required": true, + "in": "path", + "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this message.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the message within a [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) the delivery receipt belongs to.", + "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", + "schema": { + "type": "string", + "enum": [ + "true", + "false" + ] + } + } + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/conversations.v1.conversation.conversation_message" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateConversationMessage", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateConversationMessageRequest", + "properties": { + "Author": { + "type": "string", + "description": "The channel specific identifier of the message's author. Defaults to `system`." + }, + "Body": { + "type": "string", + "description": "The content of the message, can be up to 1,600 characters long." + }, + "DateCreated": { + "type": "string", + "format": "date-time", + "description": "The date that this resource was created." + }, + "DateUpdated": { + "type": "string", + "format": "date-time", + "description": "The date that this resource was last updated. `null` if the message has not been edited." + }, + "Attributes": { + "type": "string", + "description": "A string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \"{}\" will be returned." + }, + "MediaSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^ME[0-9a-fA-F]{32}$", + "description": "The Media SID to be attached to the new Message." + } + } + } + } + } + } + }, + "get": { + "description": "Retrieve a list of all messages in the conversation", + "parameters": [ + { + "name": "ConversationSid", "in": "path", - "name": "MessageSid", - "required": true, + "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for messages.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IM[0-9a-fA-F]{32}$", "type": "string" - } + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", + "name": "Order", "in": "query", + "description": "The sort order of the returned messages. Can be: `asc` (ascending) or `desc` (descending), with `asc` as the default.", + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ] + } + }, + { "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -3171,25 +3268,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListConversationMessageResponse", "properties": { - "delivery_receipts": { + "messages": { + "type": "array", "items": { - "$ref": "#/components/schemas/conversations.v1.conversation.conversation_message.conversation_message_receipt" - }, - "type": "array" + "$ref": "#/components/schemas/conversations.v1.conversation.conversation_message" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -3198,19 +3295,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListConversationMessageReceiptResponse", - "type": "object" + } } } }, @@ -3222,64 +3319,63 @@ "accountSid_authToken": [] } ], + "operationId": "ListConversationMessage", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Conversations/{ConversationSid}/Messages/{Sid}": { "servers": [ { "url": "https://conversations.twilio.com" } ], + "description": "A Message resource represents a message in a conversation.", "x-twilio": { - "className": "delivery_receipt", "defaultOutputProperties": [ "sid", - "message_sid", - "status", + "index", + "author", "date_created" ], - "parent": "/Conversations/{ConversationSid}/Messages", - "pathType": "list" - } - }, - "/v1/Conversations/{ConversationSid}/Messages/{MessageSid}/Receipts/{Sid}": { - "description": "A Message Receipt resource represents a delivery/read receipt of a message in a conversation.", - "get": { - "description": "Fetch the delivery and read receipts of the conversation message", - "operationId": "FetchConversationMessageReceipt", + "pathType": "instance", + "parent": "/Conversations" + }, + "post": { + "description": "Update an existing message in the conversation", "parameters": [ { - "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this message.", - "in": "path", "name": "ConversationSid", - "required": true, + "in": "path", + "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this message.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the message within a [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) the delivery receipt belongs to.", + "name": "Sid", "in": "path", - "name": "MessageSid", - "required": true, + "description": "A 34 character string that uniquely identifies this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IM[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IM[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "A 34 character string that uniquely identifies this resource.", - "in": "path", - "name": "Sid", - "required": true, + "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^DY[0-9a-fA-F]{32}$", - "type": "string" + "type": "string", + "enum": [ + "true", + "false" + ] } } ], @@ -3288,7 +3384,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/conversations.v1.conversation.conversation_message.conversation_message_receipt" + "$ref": "#/components/schemas/conversations.v1.conversation.conversation_message" } } }, @@ -3300,63 +3396,79 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateConversationMessage", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://conversations.twilio.com" - } - ], - "x-twilio": { - "className": "delivery_receipt", - "defaultOutputProperties": [ - "sid", - "message_sid", - "status", - "date_created" ], - "parent": "/Conversations/{ConversationSid}/Messages", - "pathType": "instance" - } - }, - "/v1/Conversations/{ConversationSid}/Messages/{Sid}": { - "delete": { - "description": "Remove a message from the conversation", - "operationId": "DeleteConversationMessage", - "parameters": [ - { - "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this message.", - "in": "path", - "name": "ConversationSid", - "required": true, - "schema": { - "type": "string" + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateConversationMessageRequest", + "properties": { + "Author": { + "type": "string", + "description": "The channel specific identifier of the message's author. Defaults to `system`." + }, + "Body": { + "type": "string", + "description": "The content of the message, can be up to 1,600 characters long." + }, + "DateCreated": { + "type": "string", + "format": "date-time", + "description": "The date that this resource was created." + }, + "DateUpdated": { + "type": "string", + "format": "date-time", + "description": "The date that this resource was last updated. `null` if the message has not been edited." + }, + "Attributes": { + "type": "string", + "description": "A string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \"{}\" will be returned." + } + } + } } - }, + } + } + }, + "delete": { + "description": "Remove a message from the conversation", + "parameters": [ { - "description": "A 34 character string that uniquely identifies this resource.", + "name": "ConversationSid", "in": "path", + "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this message.", + "schema": { + "type": "string" + }, + "required": true + }, + { "name": "Sid", - "required": true, + "in": "path", + "description": "A 34 character string that uniquely identifies this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IM[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IM[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", "schema": { + "type": "string", "enum": [ "true", "false" - ], - "type": "string" + ] } } ], @@ -3370,35 +3482,34 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteConversationMessage", "x-maturity": [ "GA" ] }, - "description": "A Message resource represents a message in a conversation.", "get": { "description": "Fetch a message from the conversation", - "operationId": "FetchConversationMessage", "parameters": [ { - "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this message.", - "in": "path", "name": "ConversationSid", - "required": true, + "in": "path", + "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this message.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "A 34 character string that uniquely identifies this resource.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "A 34 character string that uniquely identifies this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IM[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IM[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -3418,88 +3529,73 @@ "accountSid_authToken": [] } ], + "operationId": "FetchConversationMessage", "x-maturity": [ "GA" ] + } + }, + "/v1/Conversations/{ConversationSid}/Messages/{MessageSid}/Receipts/{Sid}": { + "servers": [ + { + "url": "https://conversations.twilio.com" + } + ], + "description": "A Message Receipt resource represents a delivery/read receipt of a message in a conversation.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "message_sid", + "status", + "date_created" + ], + "pathType": "instance", + "parent": "/Conversations/{ConversationSid}/Messages", + "className": "delivery_receipt" }, - "post": { - "description": "Update an existing message in the conversation", - "operationId": "UpdateConversationMessage", + "get": { + "description": "Fetch the delivery and read receipts of the conversation message", "parameters": [ { - "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this message.", - "in": "path", "name": "ConversationSid", - "required": true, + "in": "path", + "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this message.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "A 34 character string that uniquely identifies this resource.", + "name": "MessageSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the message within a [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) the delivery receipt belongs to.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IM[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IM[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", - "name": "X-Twilio-Webhook-Enabled", + "name": "Sid", + "in": "path", + "description": "A 34 character string that uniquely identifies this resource.", "schema": { - "enum": [ - "true", - "false" - ], - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^DY[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Attributes": { - "description": "A string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \"{}\" will be returned.", - "type": "string" - }, - "Author": { - "description": "The channel specific identifier of the message's author. Defaults to `system`.", - "type": "string" - }, - "Body": { - "description": "The content of the message, can be up to 1,600 characters long.", - "type": "string" - }, - "DateCreated": { - "description": "The date that this resource was created.", - "format": "date-time", - "type": "string" - }, - "DateUpdated": { - "description": "The date that this resource was last updated. `null` if the message has not been edited.", - "format": "date-time", - "type": "string" - } - }, - "title": "UpdateConversationMessageRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/conversations.v1.conversation.conversation_message" + "$ref": "#/components/schemas/conversations.v1.conversation.conversation_message.conversation_message_receipt" } } }, @@ -3511,49 +3607,62 @@ "accountSid_authToken": [] } ], + "operationId": "FetchConversationMessageReceipt", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Conversations/{ConversationSid}/Messages/{MessageSid}/Receipts": { "servers": [ { "url": "https://conversations.twilio.com" } ], + "description": "A Message Receipt resource represents a delivery/read receipt of a message in a conversation.", "x-twilio": { "defaultOutputProperties": [ "sid", - "index", - "author", + "message_sid", + "status", "date_created" ], - "parent": "/Conversations", - "pathType": "instance" - } - }, - "/v1/Conversations/{ConversationSid}/Participants": { - "description": "A Participant resource represents a member of the conversation.", + "pathType": "list", + "parent": "/Conversations/{ConversationSid}/Messages", + "className": "delivery_receipt" + }, "get": { - "description": "Retrieve a list of all participants of the conversation", - "operationId": "ListConversationParticipant", + "description": "Retrieve a list of all delivery and read receipts of the conversation message", "parameters": [ { - "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for participants.", - "in": "path", "name": "ConversationSid", - "required": true, + "in": "path", + "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this message.", "schema": { "type": "string" - } + }, + "required": true + }, + { + "name": "MessageSid", + "in": "path", + "description": "The SID of the message within a [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) the delivery receipt belongs to.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IM[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -3562,19 +3671,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListConversationMessageReceiptResponse", "properties": { + "delivery_receipts": { + "type": "array", + "items": { + "$ref": "#/components/schemas/conversations.v1.conversation.conversation_message.conversation_message_receipt" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -3583,25 +3698,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "participants": { - "items": { - "$ref": "#/components/schemas/conversations.v1.conversation.conversation_participant" - }, - "type": "array" + } } - }, - "title": "ListConversationParticipantResponse", - "type": "object" + } } } }, @@ -3613,95 +3722,195 @@ "accountSid_authToken": [] } ], + "operationId": "ListConversationMessageReceipt", "x-maturity": [ "GA" ] + } + }, + "/v1/Conversations/{ConversationSid}/Participants": { + "servers": [ + { + "url": "https://conversations.twilio.com" + } + ], + "description": "A Participant resource represents a member of the conversation.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "messaging_binding" + ], + "pathType": "list", + "parent": "/Conversations" }, "post": { "description": "Add a new participant to the conversation", - "operationId": "CreateConversationParticipant", "parameters": [ { - "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this participant.", - "in": "path", "name": "ConversationSid", - "required": true, + "in": "path", + "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this participant.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", "schema": { + "type": "string", "enum": [ "true", "false" - ], - "type": "string" + ] } } ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/conversations.v1.conversation.conversation_participant" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateConversationParticipant", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateConversationParticipantRequest", "properties": { - "Attributes": { - "description": "An optional string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \"{}\" will be returned.", - "type": "string" + "Identity": { + "type": "string", + "description": "A unique string identifier for the conversation participant as [Conversation User](https://www.twilio.com/docs/conversations/api/user-resource). This parameter is non-null if (and only if) the participant is using the Conversations SDK to communicate. Limited to 256 characters." }, - "DateCreated": { - "description": "The date that this resource was created.", - "format": "date-time", - "type": "string" + "MessagingBinding.Address": { + "type": "string", + "description": "The address of the participant's device, e.g. a phone or WhatsApp number. Together with the Proxy address, this determines a participant uniquely. This field (with proxy_address) is only null when the participant is interacting from an SDK endpoint (see the 'identity' field)." }, - "DateUpdated": { - "description": "The date that this resource was last updated.", + "MessagingBinding.ProxyAddress": { + "type": "string", + "description": "The address of the Twilio phone number (or WhatsApp number) that the participant is in contact with. This field, together with participant address, is only null when the participant is interacting from an SDK endpoint (see the 'identity' field)." + }, + "DateCreated": { + "type": "string", "format": "date-time", - "type": "string" + "description": "The date that this resource was created." }, - "Identity": { - "description": "A unique string identifier for the conversation participant as [Conversation User](https://www.twilio.com/docs/conversations/api/user-resource). This parameter is non-null if (and only if) the participant is using the Conversations SDK to communicate. Limited to 256 characters.", - "type": "string" + "DateUpdated": { + "type": "string", + "format": "date-time", + "description": "The date that this resource was last updated." }, - "MessagingBinding.Address": { - "description": "The address of the participant's device, e.g. a phone or WhatsApp number. Together with the Proxy address, this determines a participant uniquely. This field (with proxy_address) is only null when the participant is interacting from an SDK endpoint (see the 'identity' field).", - "type": "string" + "Attributes": { + "type": "string", + "description": "An optional string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \"{}\" will be returned." }, "MessagingBinding.ProjectedAddress": { - "description": "The address of the Twilio phone number that is used in Group MMS. Communication mask for the Conversation participant with Identity.", - "type": "string" - }, - "MessagingBinding.ProxyAddress": { - "description": "The address of the Twilio phone number (or WhatsApp number) that the participant is in contact with. This field, together with participant address, is only null when the participant is interacting from an SDK endpoint (see the 'identity' field).", - "type": "string" + "type": "string", + "description": "The address of the Twilio phone number that is used in Group MMS. Communication mask for the Conversation participant with Identity." }, "RoleSid": { - "description": "The SID of a conversation-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) to assign to the participant.", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of a conversation-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) to assign to the participant." } - }, - "title": "CreateConversationParticipantRequest", - "type": "object" + } } } } - }, + } + }, + "get": { + "description": "Retrieve a list of all participants of the conversation", + "parameters": [ + { + "name": "ConversationSid", + "in": "path", + "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for participants.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "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 + } + } + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/conversations.v1.conversation.conversation_participant" + "type": "object", + "title": "ListConversationParticipantResponse", + "properties": { + "participants": { + "type": "array", + "items": { + "$ref": "#/components/schemas/conversations.v1.conversation.conversation_participant" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -3709,60 +3918,168 @@ "accountSid_authToken": [] } ], + "operationId": "ListConversationParticipant", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Conversations/{ConversationSid}/Participants/{Sid}": { "servers": [ { "url": "https://conversations.twilio.com" } ], + "description": "A Participant resource represents a member of the conversation.", "x-twilio": { "defaultOutputProperties": [ "sid", "messaging_binding" ], - "parent": "/Conversations", - "pathType": "list" - } - }, - "/v1/Conversations/{ConversationSid}/Participants/{Sid}": { - "delete": { - "description": "Remove a participant from the conversation", - "operationId": "DeleteConversationParticipant", + "pathType": "instance", + "parent": "/Conversations" + }, + "post": { + "description": "Update an existing participant in the conversation", "parameters": [ { - "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this participant.", - "in": "path", "name": "ConversationSid", - "required": true, + "in": "path", + "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this participant.", "schema": { "type": "string" - } + }, + "required": true }, { + "name": "Sid", + "in": "path", "description": "A 34 character string that uniquely identifies this resource.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", + "schema": { + "type": "string", + "enum": [ + "true", + "false" + ] + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/conversations.v1.conversation.conversation_participant" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "UpdateConversationParticipant", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateConversationParticipantRequest", + "properties": { + "DateCreated": { + "type": "string", + "format": "date-time", + "description": "The date that this resource was created." + }, + "DateUpdated": { + "type": "string", + "format": "date-time", + "description": "The date that this resource was last updated." + }, + "Attributes": { + "type": "string", + "description": "An optional string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \"{}\" will be returned." + }, + "RoleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "description": "The SID of a conversation-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) to assign to the participant." + }, + "MessagingBinding.ProxyAddress": { + "type": "string", + "description": "The address of the Twilio phone number that the participant is in contact with. 'null' value will remove it." + }, + "MessagingBinding.ProjectedAddress": { + "type": "string", + "description": "The address of the Twilio phone number that is used in Group MMS. 'null' value will remove it." + }, + "Identity": { + "type": "string", + "description": "A unique string identifier for the conversation participant as [Conversation User](https://www.twilio.com/docs/conversations/api/user-resource). This parameter is non-null if (and only if) the participant is using the Conversations SDK to communicate. Limited to 256 characters." + }, + "LastReadMessageIndex": { + "type": "integer", + "nullable": true, + "description": "Index of last \u201cread\u201d message in the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for the Participant." + }, + "LastReadTimestamp": { + "type": "string", + "description": "Timestamp of last \u201cread\u201d message in the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for the Participant." + } + } + } + } + } + } + }, + "delete": { + "description": "Remove a participant from the conversation", + "parameters": [ + { + "name": "ConversationSid", "in": "path", + "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this participant.", + "schema": { + "type": "string" + }, + "required": true + }, + { "name": "Sid", - "required": true, + "in": "path", + "description": "A 34 character string that uniquely identifies this resource.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^MB[0-9a-fA-F]{32}$", "type": "string" - } + }, + "required": true }, { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", "schema": { + "type": "string", "enum": [ "true", "false" - ], - "type": "string" + ] } } ], @@ -3776,35 +4093,31 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteConversationParticipant", "x-maturity": [ "GA" ] }, - "description": "A Participant resource represents a member of the conversation.", "get": { "description": "Fetch a participant of the conversation", - "operationId": "FetchConversationParticipant", "parameters": [ { - "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this participant.", - "in": "path", "name": "ConversationSid", - "required": true, + "in": "path", + "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this participant.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "A 34 character string that uniquely identifies this resource.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "A 34 character string that uniquely identifies this resource.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^MB[0-9a-fA-F]{32}$", "type": "string" - } + }, + "required": true } ], "responses": { @@ -3824,160 +4137,47 @@ "accountSid_authToken": [] } ], + "operationId": "FetchConversationParticipant", "x-maturity": [ "GA" ] + } + }, + "/v1/Conversations/{ConversationSid}/Webhooks": { + "servers": [ + { + "url": "https://conversations.twilio.com" + } + ], + "description": "A Scoped Webhook resource manages a set of callback URLs and their configuration for receiving events specific to one conversation.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "target" + ], + "pathType": "list", + "parent": "/Conversations" }, - "post": { - "description": "Update an existing participant in the conversation", - "operationId": "UpdateConversationParticipant", + "get": { + "description": "Retrieve a list of all webhooks scoped to the conversation", "parameters": [ { - "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this participant.", - "in": "path", "name": "ConversationSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "A 34 character string that uniquely identifies this resource.", "in": "path", - "name": "Sid", - "required": true, + "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this webhook.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^MB[0-9a-fA-F]{32}$", "type": "string" - } + }, + "required": true }, { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", - "name": "X-Twilio-Webhook-Enabled", + "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "enum": [ - "true", - "false" - ], - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Attributes": { - "description": "An optional string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \"{}\" will be returned.", - "type": "string" - }, - "DateCreated": { - "description": "The date that this resource was created.", - "format": "date-time", - "type": "string" - }, - "DateUpdated": { - "description": "The date that this resource was last updated.", - "format": "date-time", - "type": "string" - }, - "Identity": { - "description": "A unique string identifier for the conversation participant as [Conversation User](https://www.twilio.com/docs/conversations/api/user-resource). This parameter is non-null if (and only if) the participant is using the Conversations SDK to communicate. Limited to 256 characters.", - "type": "string" - }, - "LastReadMessageIndex": { - "description": "Index of last \u201cread\u201d message in the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for the Participant.", - "nullable": true, - "type": "integer" - }, - "LastReadTimestamp": { - "description": "Timestamp of last \u201cread\u201d message in the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for the Participant.", - "type": "string" - }, - "MessagingBinding.ProjectedAddress": { - "description": "The address of the Twilio phone number that is used in Group MMS. 'null' value will remove it.", - "type": "string" - }, - "MessagingBinding.ProxyAddress": { - "description": "The address of the Twilio phone number that the participant is in contact with. 'null' value will remove it.", - "type": "string" - }, - "RoleSid": { - "description": "The SID of a conversation-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) to assign to the participant.", - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "title": "UpdateConversationParticipantRequest", - "type": "object" - } - } - } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/conversations.v1.conversation.conversation_participant" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://conversations.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "messaging_binding" - ], - "parent": "/Conversations", - "pathType": "instance" - } - }, - "/v1/Conversations/{ConversationSid}/Webhooks": { - "description": "A Scoped Webhook resource manages a set of callback URLs and their configuration for receiving events specific to one conversation.", - "get": { - "description": "Retrieve a list of all webhooks scoped to the conversation", - "operationId": "ListConversationScopedWebhook", - "parameters": [ - { - "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this webhook.", - "in": "path", - "name": "ConversationSid", - "required": true, - "schema": { - "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" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], @@ -3986,19 +4186,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListConversationScopedWebhookResponse", "properties": { + "webhooks": { + "type": "array", + "items": { + "$ref": "#/components/schemas/conversations.v1.conversation.conversation_scoped_webhook" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -4007,25 +4213,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "webhooks": { - "items": { - "$ref": "#/components/schemas/conversations.v1.conversation.conversation_scoped_webhook" - }, - "type": "array" + } } - }, - "title": "ListConversationScopedWebhookResponse", - "type": "object" + } } } }, @@ -4037,150 +4237,158 @@ "accountSid_authToken": [] } ], + "operationId": "ListConversationScopedWebhook", "x-maturity": [ "GA" ] }, "post": { "description": "Create a new webhook scoped to the conversation", - "operationId": "CreateConversationScopedWebhook", "parameters": [ { - "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this webhook.", - "in": "path", "name": "ConversationSid", - "required": true, + "in": "path", + "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this webhook.", "schema": { "type": "string" - } + }, + "required": true + } + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/conversations.v1.conversation.conversation_scoped_webhook" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] } ], + "operationId": "CreateConversationScopedWebhook", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateConversationScopedWebhookRequest", "properties": { - "Configuration.Filters": { - "description": "The list of events, firing webhook event for this Conversation.", - "items": { - "type": "string" - }, - "type": "array" + "Target": { + "type": "string", + "enum": [ + "webhook", + "trigger", + "studio" + ], + "description": "The target of this webhook: `webhook`, `studio`, `trigger`" }, - "Configuration.FlowSid": { - "description": "The studio flow SID, where the webhook should be sent to.", - "maxLength": 34, - "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" + "Configuration.Url": { + "type": "string", + "description": "The absolute url the webhook request should be sent to." }, "Configuration.Method": { - "description": "The HTTP method to be used when sending a webhook request.", + "type": "string", "enum": [ "GET", "POST" ], - "type": "string" + "description": "The HTTP method to be used when sending a webhook request." }, - "Configuration.ReplayAfter": { - "description": "The message index for which and it's successors the webhook will be replayed. Not set by default", - "type": "integer" + "Configuration.Filters": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of events, firing webhook event for this Conversation." }, "Configuration.Triggers": { - "description": "The list of keywords, firing webhook event for this Conversation.", + "type": "array", "items": { "type": "string" }, - "type": "array" + "description": "The list of keywords, firing webhook event for this Conversation." }, - "Configuration.Url": { - "description": "The absolute url the webhook request should be sent to.", - "type": "string" + "Configuration.FlowSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$", + "description": "The studio flow SID, where the webhook should be sent to." }, - "Target": { - "description": "The target of this webhook: `webhook`, `studio`, `trigger`", - "enum": [ - "webhook", - "trigger", - "studio" - ], - "type": "string" + "Configuration.ReplayAfter": { + "type": "integer", + "description": "The message index for which and it's successors the webhook will be replayed. Not set by default" } }, "required": [ "Target" - ], - "title": "CreateConversationScopedWebhookRequest", - "type": "object" + ] } } } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/conversations.v1.conversation.conversation_scoped_webhook" - } - } - }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, + } + } + }, + "/v1/Conversations/{ConversationSid}/Webhooks/{Sid}": { "servers": [ { "url": "https://conversations.twilio.com" } ], + "description": "A Scoped Webhook resource manages a set of callback URLs and their configuration for receiving events specific to one conversation.", "x-twilio": { "defaultOutputProperties": [ "sid", "target" ], - "parent": "/Conversations", - "pathType": "list" - } - }, - "/v1/Conversations/{ConversationSid}/Webhooks/{Sid}": { - "delete": { - "description": "Remove an existing webhook scoped to the conversation", - "operationId": "DeleteConversationScopedWebhook", + "pathType": "instance", + "parent": "/Conversations" + }, + "get": { + "description": "Fetch the configuration of a conversation-scoped webhook", "parameters": [ { - "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this webhook.", - "in": "path", "name": "ConversationSid", - "required": true, + "in": "path", + "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this webhook.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "A 34 character string that uniquely identifies this resource.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "A 34 character string that uniquely identifies this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WH[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WH[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/conversations.v1.conversation.conversation_scoped_webhook" + } + } + }, + "description": "OK" } }, "security": [ @@ -4188,35 +4396,34 @@ "accountSid_authToken": [] } ], + "operationId": "FetchConversationScopedWebhook", "x-maturity": [ "GA" ] }, - "description": "A Scoped Webhook resource manages a set of callback URLs and their configuration for receiving events specific to one conversation.", - "get": { - "description": "Fetch the configuration of a conversation-scoped webhook", - "operationId": "FetchConversationScopedWebhook", + "post": { + "description": "Update an existing conversation-scoped webhook", "parameters": [ { - "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this webhook.", - "in": "path", "name": "ConversationSid", - "required": true, + "in": "path", + "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this webhook.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "A 34 character string that uniquely identifies this resource.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "A 34 character string that uniquely identifies this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WH[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WH[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -4236,141 +4443,79 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateConversationScopedWebhook", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "Update an existing conversation-scoped webhook", - "operationId": "UpdateConversationScopedWebhook", - "parameters": [ - { - "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this webhook.", - "in": "path", - "name": "ConversationSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "A 34 character string that uniquely identifies this resource.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WH[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateConversationScopedWebhookRequest", "properties": { - "Configuration.Filters": { - "description": "The list of events, firing webhook event for this Conversation.", - "items": { - "type": "string" - }, - "type": "array" - }, - "Configuration.FlowSid": { - "description": "The studio flow SID, where the webhook should be sent to.", - "maxLength": 34, - "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" + "Configuration.Url": { + "type": "string", + "description": "The absolute url the webhook request should be sent to." }, "Configuration.Method": { - "description": "The HTTP method to be used when sending a webhook request.", + "type": "string", "enum": [ "GET", "POST" ], - "type": "string" + "description": "The HTTP method to be used when sending a webhook request." + }, + "Configuration.Filters": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of events, firing webhook event for this Conversation." }, "Configuration.Triggers": { - "description": "The list of keywords, firing webhook event for this Conversation.", + "type": "array", "items": { "type": "string" }, - "type": "array" + "description": "The list of keywords, firing webhook event for this Conversation." }, - "Configuration.Url": { - "description": "The absolute url the webhook request should be sent to.", - "type": "string" + "Configuration.FlowSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$", + "description": "The studio flow SID, where the webhook should be sent to." } - }, - "title": "UpdateConversationScopedWebhookRequest", - "type": "object" - } - } - } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/conversations.v1.conversation.conversation_scoped_webhook" } } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] + } } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://conversations.twilio.com" } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "target" - ], - "parent": "/Conversations", - "pathType": "instance" - } - }, - "/v1/Conversations/{Sid}": { + }, "delete": { - "description": "Remove a conversation from your account's default service", - "operationId": "DeleteConversation", + "description": "Remove an existing webhook scoped to the conversation", "parameters": [ { - "description": "A 34 character string that uniquely identifies this resource. Can also be the `unique_name` of the Conversation.", + "name": "ConversationSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this webhook.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", - "name": "X-Twilio-Webhook-Enabled", + "name": "Sid", + "in": "path", + "description": "A 34 character string that uniquely identifies this resource.", "schema": { - "enum": [ - "true", - "false" - ], - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WH[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -4383,35 +4528,39 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteConversationScopedWebhook", "x-maturity": [ "GA" ] - }, - "description": "A Conversation resource represents an omnichannel group conversation with an ordered list of messages and a participant roster.", - "get": { - "description": "Fetch a conversation from your account's default service", - "operationId": "FetchConversation", - "parameters": [ - { - "description": "A 34 character string that uniquely identifies this resource. Can also be the `unique_name` of the Conversation.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "type": "string" - } - } + } + }, + "/v1/Credentials": { + "servers": [ + { + "url": "https://conversations.twilio.com" + } + ], + "description": "A Credential resource represents a push notification credential.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "type" ], + "pathType": "list" + }, + "post": { + "description": "Add a new push notification credential to your account", "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/conversations.v1.conversation" + "$ref": "#/components/schemas/conversations.v1.credential" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -4419,100 +4568,118 @@ "accountSid_authToken": [] } ], + "operationId": "CreateCredential", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "Update an existing conversation in your account's default service", - "operationId": "UpdateConversation", - "parameters": [ - { - "description": "A 34 character string that uniquely identifies this resource. Can also be the `unique_name` of the Conversation.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", - "name": "X-Twilio-Webhook-Enabled", - "schema": { - "enum": [ - "true", - "false" - ], - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateCredentialRequest", "properties": { - "Attributes": { - "description": "An optional string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \"{}\" will be returned.", - "type": "string" - }, - "DateCreated": { - "description": "The date that this resource was created.", - "format": "date-time", - "type": "string" - }, - "DateUpdated": { - "description": "The date that this resource was last updated.", - "format": "date-time", - "type": "string" + "Type": { + "type": "string", + "enum": [ + "apn", + "gcm", + "fcm" + ], + "description": "The type of push-notification service the credential is for. Can be: `fcm`, `gcm`, or `apn`." }, "FriendlyName": { - "description": "The human-readable name of this conversation, limited to 256 characters. Optional.", - "type": "string" + "type": "string", + "description": "A descriptive string that you create to describe the new resource. It can be up to 64 characters long." }, - "MessagingServiceSid": { - "description": "The unique ID of the [Messaging Service](https://www.twilio.com/docs/sms/services/api) this conversation belongs to.", - "maxLength": 34, - "minLength": 34, - "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" + "Certificate": { + "type": "string", + "description": "[APN only] The URL encoded representation of the certificate. For example, \n`-----BEGIN CERTIFICATE-----\nMIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEF.....A==\n-----END CERTIFICATE-----`." }, - "State": { - "description": "Current state of this conversation. Can be either `active`, `inactive` or `closed` and defaults to `active`", - "enum": [ - "inactive", - "active", - "closed" - ], - "type": "string" + "PrivateKey": { + "type": "string", + "description": "[APN only] The URL encoded representation of the private key. For example,\n`-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fG...\n-----END RSA PRIVATE KEY-----`." }, - "Timers.Closed": { - "description": "ISO8601 duration when conversation will be switched to `closed` state. Minimum value for this timer is 10 minutes.", - "type": "string" + "Sandbox": { + "type": "boolean", + "description": "[APN only] Whether to send the credential to sandbox APNs. Can be `true` to send to sandbox APNs or `false` to send to production." }, - "Timers.Inactive": { - "description": "ISO8601 duration when conversation will be switched to `inactive` state. Minimum value for this timer is 1 minute.", - "type": "string" + "ApiKey": { + "type": "string", + "description": "[GCM only] The API key for the project that was obtained from the Google Developer console for your GCM Service application credential." }, - "UniqueName": { - "description": "An application-defined string that uniquely identifies the resource. It can be used to address the resource in place of the resource's `sid` in the URL.", - "type": "string" + "Secret": { + "type": "string", + "description": "[FCM only] The **Server key** of your project from the Firebase console, found under Settings / Cloud messaging." } }, - "title": "UpdateConversationRequest", - "type": "object" + "required": [ + "Type" + ] } } } - }, + } + }, + "get": { + "description": "Retrieve a list of all push notification credentials on your account", + "parameters": [ + { + "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 + } + } + ], "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/conversations.v1.conversation" + "type": "object", + "title": "ListCredentialResponse", + "properties": { + "credentials": { + "type": "array", + "items": { + "$ref": "#/components/schemas/conversations.v1.credential" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -4524,40 +4691,41 @@ "accountSid_authToken": [] } ], + "operationId": "ListCredential", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Credentials/{Sid}": { "servers": [ { "url": "https://conversations.twilio.com" } ], + "description": "A Credential resource represents a push notification credential.", "x-twilio": { "defaultOutputProperties": [ "sid", - "chat_service_sid", "friendly_name", - "date_created" + "type" ], "pathType": "instance" - } - }, - "/v1/Credentials": { - "description": "A Credential resource represents a push notification credential.", - "get": { - "description": "Retrieve a list of all push notification credentials on your account", - "operationId": "ListCredential", + }, + "post": { + "description": "Update an existing push notification credential on your account", "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", - "name": "PageSize", + "name": "Sid", + "in": "path", + "description": "A 34 character string that uniquely identifies this resource.", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -4565,46 +4733,7 @@ "content": { "application/json": { "schema": { - "properties": { - "credentials": { - "items": { - "$ref": "#/components/schemas/conversations.v1.credential" - }, - "type": "array" - }, - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - } - }, - "title": "ListCredentialResponse", - "type": "object" + "$ref": "#/components/schemas/conversations.v1.credential" } } }, @@ -4616,112 +4745,70 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateCredential", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "Add a new push notification credential to your account", - "operationId": "CreateCredential", + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateCredentialRequest", "properties": { - "ApiKey": { - "description": "[GCM only] The API key for the project that was obtained from the Google Developer console for your GCM Service application credential.", - "type": "string" - }, - "Certificate": { - "description": "[APN only] The URL encoded representation of the certificate. For example, \n`-----BEGIN CERTIFICATE-----\nMIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEF.....A==\n-----END CERTIFICATE-----`.", - "type": "string" + "Type": { + "type": "string", + "enum": [ + "apn", + "gcm", + "fcm" + ], + "description": "The type of push-notification service the credential is for. Can be: `fcm`, `gcm`, or `apn`." }, "FriendlyName": { - "description": "A descriptive string that you create to describe the new resource. It can be up to 64 characters long.", - "type": "string" + "type": "string", + "description": "A descriptive string that you create to describe the new resource. It can be up to 64 characters long." + }, + "Certificate": { + "type": "string", + "description": "[APN only] The URL encoded representation of the certificate. For example, \n`-----BEGIN CERTIFICATE-----\nMIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEF.....A==\n-----END CERTIFICATE-----`." }, "PrivateKey": { - "description": "[APN only] The URL encoded representation of the private key. For example,\n`-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fG...\n-----END RSA PRIVATE KEY-----`.", - "type": "string" + "type": "string", + "description": "[APN only] The URL encoded representation of the private key. For example,\n`-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fG...\n-----END RSA PRIVATE KEY-----`." }, "Sandbox": { - "description": "[APN only] Whether to send the credential to sandbox APNs. Can be `true` to send to sandbox APNs or `false` to send to production.", - "type": "boolean" + "type": "boolean", + "description": "[APN only] Whether to send the credential to sandbox APNs. Can be `true` to send to sandbox APNs or `false` to send to production." }, - "Secret": { - "description": "[FCM only] The **Server key** of your project from the Firebase console, found under Settings / Cloud messaging.", - "type": "string" + "ApiKey": { + "type": "string", + "description": "[GCM only] The API key for the project that was obtained from the Google Developer console for your GCM Service application credential." }, - "Type": { - "description": "The type of push-notification service the credential is for. Can be: `fcm`, `gcm`, or `apn`.", - "enum": [ - "apn", - "gcm", - "fcm" - ], - "type": "string" + "Secret": { + "type": "string", + "description": "[FCM only] The **Server key** of your project from the Firebase console, found under Settings / Cloud messaging." } - }, - "required": [ - "Type" - ], - "title": "CreateCredentialRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/conversations.v1.credential" } } - }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] + } } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://conversations.twilio.com" } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "type" - ], - "pathType": "list" - } - }, - "/v1/Credentials/{Sid}": { + }, "delete": { "description": "Remove a push notification credential from your account", - "operationId": "DeleteCredential", "parameters": [ { - "description": "A 34 character string that uniquely identifies this resource.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "A 34 character string that uniquely identifies this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -4734,111 +4821,27 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteCredential", "x-maturity": [ "GA" ] }, - "description": "A Credential resource represents a push notification credential.", "get": { "description": "Fetch a push notification credential from your account", - "operationId": "FetchCredential", "parameters": [ { - "description": "A 34 character string that uniquely identifies this resource.", - "in": "path", "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/conversations.v1.credential" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "Update an existing push notification credential on your account", - "operationId": "UpdateCredential", - "parameters": [ - { - "description": "A 34 character string that uniquely identifies this resource.", "in": "path", - "name": "Sid", - "required": true, + "description": "A 34 character string that uniquely identifies this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "ApiKey": { - "description": "[GCM only] The API key for the project that was obtained from the Google Developer console for your GCM Service application credential.", - "type": "string" - }, - "Certificate": { - "description": "[APN only] The URL encoded representation of the certificate. For example, \n`-----BEGIN CERTIFICATE-----\nMIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEF.....A==\n-----END CERTIFICATE-----`.", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the new resource. It can be up to 64 characters long.", - "type": "string" - }, - "PrivateKey": { - "description": "[APN only] The URL encoded representation of the private key. For example,\n`-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fG...\n-----END RSA PRIVATE KEY-----`.", - "type": "string" - }, - "Sandbox": { - "description": "[APN only] Whether to send the credential to sandbox APNs. Can be `true` to send to sandbox APNs or `false` to send to production.", - "type": "boolean" - }, - "Secret": { - "description": "[FCM only] The **Server key** of your project from the Firebase console, found under Settings / Cloud messaging.", - "type": "string" - }, - "Type": { - "description": "The type of push-notification service the credential is for. Can be: `fcm`, `gcm`, or `apn`.", - "enum": [ - "apn", - "gcm", - "fcm" - ], - "type": "string" - } - }, - "title": "UpdateCredentialRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { @@ -4856,54 +4859,54 @@ "accountSid_authToken": [] } ], + "operationId": "FetchCredential", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/ParticipantConversations": { "servers": [ { "url": "https://conversations.twilio.com" } ], + "description": "Participant Conversations resource represents a list of Conversations that this Participant belongs to belonging to a default conversation service.", "x-twilio": { "defaultOutputProperties": [ - "sid", - "friendly_name", - "type" + "chat_service_sid", + "participant_sid", + "conversation_sid" ], - "pathType": "instance" - } - }, - "/v1/ParticipantConversations": { - "description": "Participant Conversations resource represents a list of Conversations that this Participant belongs to belonging to a default conversation service.", + "pathType": "list" + }, "get": { "description": "Retrieve a list of all Conversations that this Participant belongs to by identity or by address. Only one parameter should be specified.", - "operationId": "ListParticipantConversation", "parameters": [ { - "description": "A unique string identifier for the conversation participant as [Conversation User](https://www.twilio.com/docs/conversations/api/user-resource). This parameter is non-null if (and only if) the participant is using the Conversations SDK to communicate. Limited to 256 characters.", - "in": "query", "name": "Identity", + "in": "query", + "description": "A unique string identifier for the conversation participant as [Conversation User](https://www.twilio.com/docs/conversations/api/user-resource). This parameter is non-null if (and only if) the participant is using the Conversations SDK to communicate. Limited to 256 characters.", "schema": { "type": "string" } }, { - "description": "A unique string identifier for the conversation participant who's not a Conversation User. This parameter could be found in messaging_binding.address field of Participant resource. It should be url-encoded.", - "in": "query", "name": "Address", + "in": "query", + "description": "A unique string identifier for the conversation participant who's not a Conversation User. This parameter could be found in messaging_binding.address field of Participant resource. It should be url-encoded.", "schema": { "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", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -4912,25 +4915,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListParticipantConversationResponse", "properties": { "conversations": { + "type": "array", "items": { "$ref": "#/components/schemas/conversations.v1.participant_conversation" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -4939,19 +4942,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListParticipantConversationResponse", - "type": "object" + } } } }, @@ -4963,90 +4966,39 @@ "accountSid_authToken": [] } ], + "operationId": "ListParticipantConversation", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Roles": { "servers": [ { "url": "https://conversations.twilio.com" } ], + "description": "A Role resource represents a set of permissions granted to a user within a service or a conversation.", "x-twilio": { "defaultOutputProperties": [ - "chat_service_sid", - "participant_sid", - "conversation_sid" + "sid", + "friendly_name", + "type" ], "pathType": "list" - } - }, - "/v1/Roles": { - "description": "A Role resource represents a set of permissions granted to a user within a service or a conversation.", - "get": { - "description": "Retrieve a list of all user roles in your account's default service", - "operationId": "ListRole", - "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" - } - } - ], + }, + "post": { + "description": "Create a new user role in your account's default service", "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "roles": { - "items": { - "$ref": "#/components/schemas/conversations.v1.role" - }, - "type": "array" - } - }, - "title": "ListRoleResponse", - "type": "object" + "$ref": "#/components/schemas/conversations.v1.role" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -5054,59 +5006,110 @@ "accountSid_authToken": [] } ], + "operationId": "CreateRole", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "Create a new user role in your account's default service", - "operationId": "CreateRole", + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateRoleRequest", "properties": { "FriendlyName": { - "description": "A descriptive string that you create to describe the new resource. It can be up to 64 characters long.", - "type": "string" - }, - "Permission": { - "description": "A permission that you grant to the new role. Only one permission can be granted per parameter. To assign more than one permission, repeat this parameter for each permission value. The values for this parameter depend on the role's `type`.", - "items": { - "type": "string" - }, - "type": "array" + "type": "string", + "description": "A descriptive string that you create to describe the new resource. It can be up to 64 characters long." }, "Type": { - "description": "The type of role. Can be: `conversation` for [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) roles or `service` for [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) roles.", + "type": "string", "enum": [ "conversation", "service" ], - "type": "string" + "description": "The type of role. Can be: `conversation` for [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) roles or `service` for [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) roles." + }, + "Permission": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A permission that you grant to the new role. Only one permission can be granted per parameter. To assign more than one permission, repeat this parameter for each permission value. The values for this parameter depend on the role's `type`." } }, "required": [ "FriendlyName", "Type", "Permission" - ], - "title": "CreateRoleRequest", - "type": "object" + ] } } } - }, + } + }, + "get": { + "description": "Retrieve a list of all user roles in your account's default service", + "parameters": [ + { + "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 + } + } + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/conversations.v1.role" + "type": "object", + "title": "ListRoleResponse", + "properties": { + "roles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/conversations.v1.role" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -5114,72 +5117,41 @@ "accountSid_authToken": [] } ], + "operationId": "ListRole", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Roles/{Sid}": { "servers": [ { "url": "https://conversations.twilio.com" } ], + "description": "A Role resource represents a set of permissions granted to a user within a service or a conversation.", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name", "type" ], - "pathType": "list" - } - }, - "/v1/Roles/{Sid}": { - "delete": { - "description": "Remove a user role from your account's default service", - "operationId": "DeleteRole", - "parameters": [ - { - "description": "The SID of the Role resource to delete.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] + "pathType": "instance" }, - "description": "A Role resource represents a set of permissions granted to a user within a service or a conversation.", - "get": { - "description": "Fetch a user role from your account's default service", - "operationId": "FetchRole", + "post": { + "description": "Update an existing user role in your account's default service", "parameters": [ { - "description": "The SID of the Role resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Role resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -5199,49 +5171,80 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateRole", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "Update an existing user role in your account's default service", - "operationId": "UpdateRole", - "parameters": [ - { - "description": "The SID of the Role resource to update.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateRoleRequest", "properties": { "Permission": { - "description": "A permission that you grant to the role. Only one permission can be granted per parameter. To assign more than one permission, repeat this parameter for each permission value. Note that the update action replaces all previously assigned permissions with those defined in the update action. To remove a permission, do not include it in the subsequent update action. The values for this parameter depend on the role's `type`.", + "type": "array", "items": { "type": "string" }, - "type": "array" + "description": "A permission that you grant to the role. Only one permission can be granted per parameter. To assign more than one permission, repeat this parameter for each permission value. Note that the update action replaces all previously assigned permissions with those defined in the update action. To remove a permission, do not include it in the subsequent update action. The values for this parameter depend on the role's `type`." } }, "required": [ "Permission" - ], - "title": "UpdateRoleRequest", - "type": "object" + ] } } } + } + }, + "delete": { + "description": "Remove a user role from your account's default service", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The SID of the Role resource to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteRole", + "x-maturity": [ + "GA" + ] + }, + "get": { + "description": "Fetch a user role from your account's default service", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The SID of the Role resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$" + }, + "required": true + } + ], "responses": { "200": { "content": { @@ -5259,90 +5262,38 @@ "accountSid_authToken": [] } ], + "operationId": "FetchRole", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Services": { "servers": [ { "url": "https://conversations.twilio.com" } ], + "description": "A Service resource is a top-level conversation resource container that serves as a data silo.", "x-twilio": { "defaultOutputProperties": [ "sid", - "friendly_name", - "type" - ], - "pathType": "instance" - } - }, - "/v1/Services": { - "description": "A Service resource is a top-level conversation resource container that serves as a data silo.", - "get": { - "description": "Retrieve a list of all conversation services on your account", - "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" - } - } + "friendly_name" ], + "pathType": "list" + }, + "post": { + "description": "Create a new conversation service on your account", "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "services": { - "items": { - "$ref": "#/components/schemas/conversations.v1.service" - }, - "type": "array" - } - }, - "title": "ListServiceResponse", - "type": "object" + "$ref": "#/components/schemas/conversations.v1.service" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -5350,119 +5301,41 @@ "accountSid_authToken": [] } ], + "operationId": "CreateService", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "Create a new conversation service on your account", - "operationId": "CreateService", + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateServiceRequest", "properties": { "FriendlyName": { - "description": "The human-readable name of this service, limited to 256 characters. Optional.", - "type": "string" + "type": "string", + "description": "The human-readable name of this service, limited to 256 characters. Optional." } }, "required": [ "FriendlyName" - ], - "title": "CreateServiceRequest", - "type": "object" + ] } } } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/conversations.v1.service" - } - } - }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://conversations.twilio.com" } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name" - ], - "pathType": "list" - } - }, - "/v1/Services/{ChatServiceSid}/Bindings": { - "description": "A Binding resource represents a push notification binding and its configuration, for delivering conversation events to mobile or web endpoints.", + }, "get": { - "description": "Retrieve a list of all push notification bindings in the conversation service", - "operationId": "ListServiceBinding", + "description": "Retrieve a list of all conversation services on your account", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Binding resource is associated with.", - "in": "path", - "name": "ChatServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The push technology used by the Binding resources to read. Can be: `apn`, `gcm`, or `fcm`. See [push notification configuration](https://www.twilio.com/docs/chat/push-notification-configuration) for more info.", - "in": "query", - "name": "BindingType", - "schema": { - "items": { - "enum": [ - "apn", - "gcm", - "fcm" - ], - "type": "string" - }, - "type": "array" - } - }, - { - "description": "The identity of a [Conversation User](https://www.twilio.com/docs/conversations/api/user-resource) this binding belongs to. See [access tokens](https://www.twilio.com/docs/conversations/create-tokens) for more details.", + "name": "PageSize", "in": "query", - "name": "Identity", - "schema": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - { "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, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -5471,25 +5344,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListServiceResponse", "properties": { - "bindings": { + "services": { + "type": "array", "items": { - "$ref": "#/components/schemas/conversations.v1.service.service_binding" - }, - "type": "array" + "$ref": "#/components/schemas/conversations.v1.service" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -5498,19 +5371,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListServiceBindingResponse", - "type": "object" + } } } }, @@ -5522,53 +5395,40 @@ "accountSid_authToken": [] } ], + "operationId": "ListService", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Services/{Sid}": { "servers": [ { "url": "https://conversations.twilio.com" } ], + "description": "A Service resource is a top-level conversation resource container that serves as a data silo.", "x-twilio": { "defaultOutputProperties": [ "sid", - "endpoint", - "identity" + "friendly_name" ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v1/Services/{ChatServiceSid}/Bindings/{Sid}": { + "pathType": "instance" + }, "delete": { - "description": "Remove a push notification binding from the conversation service", - "operationId": "DeleteServiceBinding", + "description": "Remove a conversation service with all its nested resources from your account", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) to delete the Binding resource from.", + "name": "Sid", "in": "path", - "name": "ChatServiceSid", - "required": true, + "description": "A 34 character string that uniquely identifies this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the Binding resource to delete.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { "maxLength": 34, - "minLength": 34, - "pattern": "^BS[0-9a-fA-F]{32}$", - "type": "string" - } + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -5581,38 +5441,25 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteService", "x-maturity": [ "GA" ] }, - "description": "A Binding resource represents a push notification binding and its configuration, for delivering conversation events to mobile or web endpoints.", "get": { - "description": "Fetch a push notification binding from the conversation service", - "operationId": "FetchServiceBinding", + "description": "Fetch a conversation service from your account", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Binding resource is associated with.", + "name": "Sid", "in": "path", - "name": "ChatServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { "description": "A 34 character string that uniquely identifies this resource.", - "in": "path", - "name": "Sid", - "required": true, "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -5620,7 +5467,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/conversations.v1.service.service_binding" + "$ref": "#/components/schemas/conversations.v1.service" } } }, @@ -5632,54 +5479,59 @@ "accountSid_authToken": [] } ], + "operationId": "FetchService", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Services/{ChatServiceSid}/Bindings/{Sid}": { "servers": [ { "url": "https://conversations.twilio.com" } ], + "description": "A Binding resource represents a push notification binding and its configuration, for delivering conversation events to mobile or web endpoints.", "x-twilio": { "defaultOutputProperties": [ "sid", "endpoint", "identity" ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v1/Services/{ChatServiceSid}/Configuration": { - "description": "A Service Configuration resource manages service-level settings applicable to the Conversation API.", - "get": { - "description": "Fetch the configuration of a conversation service", - "operationId": "FetchServiceConfiguration", + "pathType": "instance", + "parent": "/Services" + }, + "delete": { + "description": "Remove a push notification binding from the conversation service", "parameters": [ { - "description": "The SID of the Service configuration resource to fetch.", - "in": "path", "name": "ChatServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) to delete the Binding resource from.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the Binding resource to delete.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BS[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/conversations.v1.service.service_configuration" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -5687,70 +5539,45 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteServiceBinding", "x-maturity": [ "GA" ] }, - "post": { - "description": "Update configuration settings of a conversation service", - "operationId": "UpdateServiceConfiguration", + "get": { + "description": "Fetch a push notification binding from the conversation service", "parameters": [ { - "description": "The SID of the Service configuration resource to update.", - "in": "path", "name": "ChatServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Binding resource is associated with.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "A 34 character string that uniquely identifies this resource.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BS[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "DefaultChatServiceRoleSid": { - "description": "The service-level role assigned to users when they are added to the service. See the [Conversation Role](https://www.twilio.com/docs/conversations/api/role-resource) for more info about roles.", - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - }, - "DefaultConversationCreatorRoleSid": { - "description": "The conversation-level role assigned to a conversation creator when they join a new conversation. See the [Conversation Role](https://www.twilio.com/docs/conversations/api/role-resource) for more info about roles.", - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - }, - "DefaultConversationRoleSid": { - "description": "The conversation-level role assigned to users when they are added to a conversation. See the [Conversation Role](https://www.twilio.com/docs/conversations/api/role-resource) for more info about roles.", - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - }, - "ReachabilityEnabled": { - "description": "Whether the [Reachability Indicator](https://www.twilio.com/docs/chat/reachability-indicator) is enabled for this Conversations Service. The default is `false`.", - "type": "boolean" - } - }, - "title": "UpdateServiceConfigurationRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/conversations.v1.service.service_configuration" + "$ref": "#/components/schemas/conversations.v1.service.service_binding" } } }, @@ -5762,39 +5589,78 @@ "accountSid_authToken": [] } ], + "operationId": "FetchServiceBinding", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Services/{ChatServiceSid}/Bindings": { "servers": [ { "url": "https://conversations.twilio.com" } ], + "description": "A Binding resource represents a push notification binding and its configuration, for delivering conversation events to mobile or web endpoints.", "x-twilio": { "defaultOutputProperties": [ - "chat_service_sid" + "sid", + "endpoint", + "identity" ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v1/Services/{ChatServiceSid}/Configuration/Notifications": { - "description": "A Service Notification resource manages a set of settings to determine push notification behavior at service level.", + "pathType": "list", + "parent": "/Services" + }, "get": { - "description": "Fetch push notification service settings", - "operationId": "FetchServiceNotification", + "description": "Retrieve a list of all push notification bindings in the conversation service", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Configuration applies to.", - "in": "path", "name": "ChatServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Binding resource is associated with.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "BindingType", + "in": "query", + "description": "The push technology used by the Binding resources to read. Can be: `apn`, `gcm`, or `fcm`. See [push notification configuration](https://www.twilio.com/docs/chat/push-notification-configuration) for more info.", + "schema": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "apn", + "gcm", + "fcm" + ] + } + } + }, + { + "name": "Identity", + "in": "query", + "description": "The identity of a [Conversation User](https://www.twilio.com/docs/conversations/api/user-resource) this binding belongs to. See [access tokens](https://www.twilio.com/docs/conversations/create-tokens) for more details.", + "schema": { + "type": "array", + "items": { + "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 } } ], @@ -5803,7 +5669,46 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/conversations.v1.service.service_configuration.service_notification" + "type": "object", + "title": "ListServiceBindingResponse", + "properties": { + "bindings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/conversations.v1.service.service_binding" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -5815,97 +5720,48 @@ "accountSid_authToken": [] } ], + "operationId": "ListServiceBinding", "x-maturity": [ "GA" ] + } + }, + "/v1/Services/{ChatServiceSid}/Configuration": { + "servers": [ + { + "url": "https://conversations.twilio.com" + } + ], + "description": "A Service Configuration resource manages service-level settings applicable to the Conversation API.", + "x-twilio": { + "defaultOutputProperties": [ + "chat_service_sid" + ], + "pathType": "instance", + "parent": "/Services" }, - "post": { - "description": "Update push notification service settings", - "operationId": "UpdateServiceNotification", + "get": { + "description": "Fetch the configuration of a conversation service", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Configuration applies to.", - "in": "path", "name": "ChatServiceSid", - "required": true, + "in": "path", + "description": "The SID of the Service configuration resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "AddedToConversation.Enabled": { - "description": "Whether to send a notification when a participant is added to a conversation. The default is `false`.", - "type": "boolean" - }, - "AddedToConversation.Sound": { - "description": "The name of the sound to play when a participant is added to a conversation and `added_to_conversation.enabled` is `true`.", - "type": "string" - }, - "AddedToConversation.Template": { - "description": "The template to use to create the notification text displayed when a participant is added to a conversation and `added_to_conversation.enabled` is `true`.", - "type": "string" - }, - "LogEnabled": { - "description": "Weather the notification logging is enabled.", - "type": "boolean" - }, - "NewMessage.BadgeCountEnabled": { - "description": "Whether the new message badge is enabled. The default is `false`.", - "type": "boolean" - }, - "NewMessage.Enabled": { - "description": "Whether to send a notification when a new message is added to a conversation. The default is `false`.", - "type": "boolean" - }, - "NewMessage.Sound": { - "description": "The name of the sound to play when a new message is added to a conversation and `new_message.enabled` is `true`.", - "type": "string" - }, - "NewMessage.Template": { - "description": "The template to use to create the notification text displayed when a new message is added to a conversation and `new_message.enabled` is `true`.", - "type": "string" - }, - "NewMessage.WithMedia.Enabled": { - "description": "Whether to send a notification when a new message with media/file attachments is added to a conversation. The default is `false`.", - "type": "boolean" - }, - "NewMessage.WithMedia.Template": { - "description": "The template to use to create the notification text displayed when a new message with media/file attachments is added to a conversation and `new_message.attachments.enabled` is `true`.", - "type": "string" - }, - "RemovedFromConversation.Enabled": { - "description": "Whether to send a notification to a user when they are removed from a conversation. The default is `false`.", - "type": "boolean" - }, - "RemovedFromConversation.Sound": { - "description": "The name of the sound to play to a user when they are removed from a conversation and `removed_from_conversation.enabled` is `true`.", - "type": "string" - }, - "RemovedFromConversation.Template": { - "description": "The template to use to create the notification text displayed to a user when they are removed from a conversation and `removed_from_conversation.enabled` is `true`.", - "type": "string" - } - }, - "title": "UpdateServiceNotificationRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/conversations.v1.service.service_configuration.service_notification" + "$ref": "#/components/schemas/conversations.v1.service.service_configuration" } } }, @@ -5917,40 +5773,25 @@ "accountSid_authToken": [] } ], + "operationId": "FetchServiceConfiguration", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://conversations.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "chat_service_sid" - ], - "parent": "/Services/{ChatServiceSid}/Configuration", - "pathType": "instance" - } - }, - "/v1/Services/{ChatServiceSid}/Configuration/Webhooks": { - "description": "A service webhook configuration resource manages a service-level set of callback URLs and their configuration for receiving all the corresponding service events.", - "get": { - "description": "Fetch a specific service webhook configuration.", - "operationId": "FetchServiceWebhookConfiguration", + "post": { + "description": "Update configuration settings of a conversation service", "parameters": [ { - "description": "The unique ID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) this conversation belongs to.", - "in": "path", "name": "ChatServiceSid", - "required": true, + "in": "path", + "description": "The SID of the Service configuration resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -5958,7 +5799,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/conversations.v1.service.service_configuration.service_webhook_configuration" + "$ref": "#/components/schemas/conversations.v1.service.service_configuration" } } }, @@ -5970,70 +5811,104 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateServiceConfiguration", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "Update a specific Webhook.", - "operationId": "UpdateServiceWebhookConfiguration", - "parameters": [ - { - "description": "The unique ID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) this conversation belongs to.", - "in": "path", - "name": "ChatServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateServiceConfigurationRequest", "properties": { - "Filters": { - "description": "The list of events that your configured webhook targets will receive. Events not configured here will not fire. Possible values are `onParticipantAdd`, `onParticipantAdded`, `onDeliveryUpdated`, `onConversationUpdated`, `onConversationRemove`, `onParticipantRemove`, `onConversationUpdate`, `onMessageAdd`, `onMessageRemoved`, `onParticipantUpdated`, `onConversationAdded`, `onMessageAdded`, `onConversationAdd`, `onConversationRemoved`, `onParticipantUpdate`, `onMessageRemove`, `onMessageUpdated`, `onParticipantRemoved`, `onMessageUpdate` or `onConversationStateUpdated`.", - "items": { - "type": "string" - }, - "type": "array" + "DefaultConversationCreatorRoleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "description": "The conversation-level role assigned to a conversation creator when they join a new conversation. See the [Conversation Role](https://www.twilio.com/docs/conversations/api/role-resource) for more info about roles." }, - "Method": { - "description": "The HTTP method to be used when sending a webhook request. One of `GET` or `POST`.", - "type": "string" + "DefaultConversationRoleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "description": "The conversation-level role assigned to users when they are added to a conversation. See the [Conversation Role](https://www.twilio.com/docs/conversations/api/role-resource) for more info about roles." }, - "PostWebhookUrl": { - "description": "The absolute url the post-event webhook request should be sent to.", - "format": "uri", - "type": "string" + "DefaultChatServiceRoleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "description": "The service-level role assigned to users when they are added to the service. See the [Conversation Role](https://www.twilio.com/docs/conversations/api/role-resource) for more info about roles." }, - "PreWebhookUrl": { - "description": "The absolute url the pre-event webhook request should be sent to.", - "format": "uri", - "type": "string" + "ReachabilityEnabled": { + "type": "boolean", + "description": "Whether the [Reachability Indicator](https://www.twilio.com/docs/chat/reachability-indicator) is enabled for this Conversations Service. The default is `false`." } - }, - "title": "UpdateServiceWebhookConfigurationRequest", - "type": "object" + } } } } - }, + } + } + }, + "/v1/Services/{ChatServiceSid}/Conversations": { + "servers": [ + { + "url": "https://conversations.twilio.com" + } + ], + "description": "A Service Conversation resource represents an omnichannel group conversation with an ordered list of messages and a participant roster.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "chat_service_sid", + "friendly_name", + "date_created" + ], + "pathType": "list", + "parent": "/Services" + }, + "post": { + "description": "Create a new conversation in your service", + "parameters": [ + { + "name": "ChatServiceSid", + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Conversation resource is associated with.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", + "schema": { + "type": "string", + "enum": [ + "true", + "false" + ] + } + } + ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/conversations.v1.service.service_configuration.service_webhook_configuration" + "$ref": "#/components/schemas/conversations.v1.service.service_conversation" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -6041,49 +5916,92 @@ "accountSid_authToken": [] } ], + "operationId": "CreateServiceConversation", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://conversations.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "chat_service_sid" ], - "parent": "/Services/{ChatServiceSid}/Configuration", - "pathType": "instance" - } - }, - "/v1/Services/{ChatServiceSid}/Conversations": { - "description": "A Service Conversation resource represents an omnichannel group conversation with an ordered list of messages and a participant roster.", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateServiceConversationRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "The human-readable name of this conversation, limited to 256 characters. Optional." + }, + "UniqueName": { + "type": "string", + "description": "An application-defined string that uniquely identifies the resource. It can be used to address the resource in place of the resource's `sid` in the URL." + }, + "Attributes": { + "type": "string", + "description": "An optional string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \"{}\" will be returned." + }, + "MessagingServiceSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$", + "description": "The unique ID of the [Messaging Service](https://www.twilio.com/docs/sms/services/api) this conversation belongs to." + }, + "DateCreated": { + "type": "string", + "format": "date-time", + "description": "The date that this resource was created." + }, + "DateUpdated": { + "type": "string", + "format": "date-time", + "description": "The date that this resource was last updated." + }, + "State": { + "type": "string", + "enum": [ + "inactive", + "active", + "closed" + ], + "description": "Current state of this conversation. Can be either `active`, `inactive` or `closed` and defaults to `active`" + }, + "Timers.Inactive": { + "type": "string", + "description": "ISO8601 duration when conversation will be switched to `inactive` state. Minimum value for this timer is 1 minute." + }, + "Timers.Closed": { + "type": "string", + "description": "ISO8601 duration when conversation will be switched to `closed` state. Minimum value for this timer is 10 minutes." + } + } + } + } + } + } + }, "get": { "description": "Retrieve a list of conversations in your service", - "operationId": "ListServiceConversation", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Conversation resource is associated with.", - "in": "path", "name": "ChatServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Conversation resource is associated with.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -6092,25 +6010,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListServiceConversationResponse", "properties": { "conversations": { + "type": "array", "items": { "$ref": "#/components/schemas/conversations.v1.service.service_conversation" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -6119,19 +6037,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListServiceConversationResponse", - "type": "object" + } } } }, @@ -6143,233 +6061,186 @@ "accountSid_authToken": [] } ], + "operationId": "ListServiceConversation", "x-maturity": [ "GA" ] + } + }, + "/v1/Services/{ChatServiceSid}/Conversations/{Sid}": { + "servers": [ + { + "url": "https://conversations.twilio.com" + } + ], + "description": "A Service Conversation resource represents an omnichannel group conversation with an ordered list of messages and a participant roster.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "chat_service_sid", + "friendly_name", + "date_created" + ], + "pathType": "instance", + "parent": "/Services" }, "post": { - "description": "Create a new conversation in your service", - "operationId": "CreateServiceConversation", + "description": "Update an existing conversation in your service", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Conversation resource is associated with.", - "in": "path", "name": "ChatServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Conversation resource is associated with.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "A 34 character string that uniquely identifies this resource. Can also be the `unique_name` of the Conversation.", + "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", "schema": { + "type": "string", "enum": [ "true", "false" - ], - "type": "string" + ] } } ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/conversations.v1.service.service_conversation" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "UpdateServiceConversation", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateServiceConversationRequest", "properties": { - "Attributes": { - "description": "An optional string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \"{}\" will be returned.", - "type": "string" + "FriendlyName": { + "type": "string", + "description": "The human-readable name of this conversation, limited to 256 characters. Optional." }, "DateCreated": { - "description": "The date that this resource was created.", + "type": "string", "format": "date-time", - "type": "string" + "description": "The date that this resource was created." }, "DateUpdated": { - "description": "The date that this resource was last updated.", + "type": "string", "format": "date-time", - "type": "string" + "description": "The date that this resource was last updated." }, - "FriendlyName": { - "description": "The human-readable name of this conversation, limited to 256 characters. Optional.", - "type": "string" + "Attributes": { + "type": "string", + "description": "An optional string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \"{}\" will be returned." }, "MessagingServiceSid": { - "description": "The unique ID of the [Messaging Service](https://www.twilio.com/docs/sms/services/api) this conversation belongs to.", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique ID of the [Messaging Service](https://www.twilio.com/docs/sms/services/api) this conversation belongs to." }, "State": { - "description": "Current state of this conversation. Can be either `active`, `inactive` or `closed` and defaults to `active`", + "type": "string", "enum": [ "inactive", "active", "closed" ], - "type": "string" - }, - "Timers.Closed": { - "description": "ISO8601 duration when conversation will be switched to `closed` state. Minimum value for this timer is 10 minutes.", - "type": "string" + "description": "Current state of this conversation. Can be either `active`, `inactive` or `closed` and defaults to `active`" }, "Timers.Inactive": { - "description": "ISO8601 duration when conversation will be switched to `inactive` state. Minimum value for this timer is 1 minute.", - "type": "string" + "type": "string", + "description": "ISO8601 duration when conversation will be switched to `inactive` state. Minimum value for this timer is 1 minute." + }, + "Timers.Closed": { + "type": "string", + "description": "ISO8601 duration when conversation will be switched to `closed` state. Minimum value for this timer is 10 minutes." }, "UniqueName": { - "description": "An application-defined string that uniquely identifies the resource. It can be used to address the resource in place of the resource's `sid` in the URL.", - "type": "string" + "type": "string", + "description": "An application-defined string that uniquely identifies the resource. It can be used to address the resource in place of the resource's `sid` in the URL." } - }, - "title": "CreateServiceConversationRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/conversations.v1.service.service_conversation" } } - }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] + } } - ], - "x-maturity": [ - "GA" - ] + } }, - "servers": [ - { - "url": "https://conversations.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "chat_service_sid", - "friendly_name", - "date_created" - ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v1/Services/{ChatServiceSid}/Conversations/{ConversationSid}/Messages": { - "description": "A Service Message resource represents a message in a conversation within a specific service.", - "get": { - "description": "Retrieve a list of all messages in the conversation", - "operationId": "ListServiceConversationMessage", + "delete": { + "description": "Remove a conversation from your service", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Participant resource is associated with.", - "in": "path", "name": "ChatServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Conversation resource is associated with.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for messages.", + "name": "Sid", "in": "path", - "name": "ConversationSid", - "required": true, + "description": "A 34 character string that uniquely identifies this resource. Can also be the `unique_name` of the Conversation.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The sort order of the returned messages. Can be: `asc` (ascending) or `desc` (descending), with `asc` as the default.", - "in": "query", - "name": "Order", + "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", "schema": { + "type": "string", "enum": [ - "asc", - "desc" - ], - "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" + "true", + "false" + ] } } ], "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "messages": { - "items": { - "$ref": "#/components/schemas/conversations.v1.service.service_conversation.service_conversation_message" - }, - "type": "array" - }, - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - } - }, - "title": "ListServiceConversationMessageResponse", - "type": "object" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -6377,99 +6248,46 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteServiceConversation", "x-maturity": [ "GA" ] }, - "post": { - "description": "Add a new message to the conversation in a specific service", - "operationId": "CreateServiceConversationMessage", + "get": { + "description": "Fetch a conversation from your service", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Participant resource is associated with.", - "in": "path", "name": "ChatServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Conversation resource is associated with.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this message.", + "name": "Sid", "in": "path", - "name": "ConversationSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", - "name": "X-Twilio-Webhook-Enabled", + "description": "A 34 character string that uniquely identifies this resource. Can also be the `unique_name` of the Conversation.", "schema": { - "enum": [ - "true", - "false" - ], "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Attributes": { - "description": "A string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \"{}\" will be returned.", - "type": "string" - }, - "Author": { - "description": "The channel specific identifier of the message's author. Defaults to `system`.", - "type": "string" - }, - "Body": { - "description": "The content of the message, can be up to 1,600 characters long.", - "type": "string" - }, - "DateCreated": { - "description": "The date that this resource was created.", - "format": "date-time", - "type": "string" - }, - "DateUpdated": { - "description": "The date that this resource was last updated. `null` if the message has not been edited.", - "format": "date-time", - "type": "string" - }, - "MediaSid": { - "description": "The Media SID to be attached to the new Message.", - "maxLength": 34, - "minLength": 34, - "pattern": "^ME[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "title": "CreateServiceConversationMessageRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/conversations.v1.service.service_conversation.service_conversation_message" + "$ref": "#/components/schemas/conversations.v1.service.service_conversation" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -6477,15 +6295,19 @@ "accountSid_authToken": [] } ], + "operationId": "FetchServiceConversation", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Services/{ChatServiceSid}/Conversations/{ConversationSid}/Messages": { "servers": [ { "url": "https://conversations.twilio.com" } ], + "description": "A Service Message resource represents a message in a conversation within a specific service.", "x-twilio": { "defaultOutputProperties": [ "sid", @@ -6493,109 +6315,56 @@ "author", "date_created" ], - "parent": "/Services/{ChatServiceSid}/Conversations", - "pathType": "list" - } - }, - "/v1/Services/{ChatServiceSid}/Conversations/{ConversationSid}/Messages/{MessageSid}/Receipts": { - "description": "A Service Message Receipt resource represents a delivery/read receipt of a message in a conversation.", - "get": { - "description": "Retrieve a list of all delivery and read receipts of the conversation message", - "operationId": "ListServiceConversationMessageReceipt", + "pathType": "list", + "parent": "/Services/{ChatServiceSid}/Conversations" + }, + "post": { + "description": "Add a new message to the conversation in a specific service", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Message resource is associated with.", - "in": "path", "name": "ChatServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Participant resource is associated with.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this message.", - "in": "path", "name": "ConversationSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the message within a [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) the delivery receipt belongs to.", "in": "path", - "name": "MessageSid", - "required": true, + "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this message.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IM[0-9a-fA-F]{32}$", "type": "string" - } + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", - "name": "PageSize", + "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" + "type": "string", + "enum": [ + "true", + "false" + ] } } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "properties": { - "delivery_receipts": { - "items": { - "$ref": "#/components/schemas/conversations.v1.service.service_conversation.service_conversation_message.service_conversation_message_receipt" - }, - "type": "array" - }, - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - } - }, - "title": "ListServiceConversationMessageReceiptResponse", - "type": "object" + "$ref": "#/components/schemas/conversations.v1.service.service_conversation.service_conversation_message" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -6603,76 +6372,96 @@ "accountSid_authToken": [] } ], + "operationId": "CreateServiceConversationMessage", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://conversations.twilio.com" - } - ], - "x-twilio": { - "className": "delivery_receipt", - "defaultOutputProperties": [ - "sid", - "message_sid", - "status", - "date_created" ], - "parent": "/Services/{ChatServiceSid}/Conversations/{ConversationSid}/Messages", - "pathType": "list" - } - }, - "/v1/Services/{ChatServiceSid}/Conversations/{ConversationSid}/Messages/{MessageSid}/Receipts/{Sid}": { - "description": "A Service Message Receipt resource represents a delivery/read receipt of a message in a conversation.", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateServiceConversationMessageRequest", + "properties": { + "Author": { + "type": "string", + "description": "The channel specific identifier of the message's author. Defaults to `system`." + }, + "Body": { + "type": "string", + "description": "The content of the message, can be up to 1,600 characters long." + }, + "DateCreated": { + "type": "string", + "format": "date-time", + "description": "The date that this resource was created." + }, + "DateUpdated": { + "type": "string", + "format": "date-time", + "description": "The date that this resource was last updated. `null` if the message has not been edited." + }, + "Attributes": { + "type": "string", + "description": "A string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \"{}\" will be returned." + }, + "MediaSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^ME[0-9a-fA-F]{32}$", + "description": "The Media SID to be attached to the new Message." + } + } + } + } + } + } + }, "get": { - "description": "Fetch the delivery and read receipts of the conversation message", - "operationId": "FetchServiceConversationMessageReceipt", + "description": "Retrieve a list of all messages in the conversation", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Message resource is associated with.", - "in": "path", "name": "ChatServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Participant resource is associated with.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this message.", - "in": "path", "name": "ConversationSid", - "required": true, + "in": "path", + "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for messages.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the message within a [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) the delivery receipt belongs to.", - "in": "path", - "name": "MessageSid", - "required": true, + "name": "Order", + "in": "query", + "description": "The sort order of the returned messages. Can be: `asc` (ascending) or `desc` (descending), with `asc` as the default.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IM[0-9a-fA-F]{32}$", - "type": "string" + "type": "string", + "enum": [ + "asc", + "desc" + ] } }, { - "description": "A 34 character string that uniquely identifies this resource.", - "in": "path", - "name": "Sid", - "required": true, + "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^DY[0-9a-fA-F]{32}$", - "type": "string" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], @@ -6681,7 +6470,46 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/conversations.v1.service.service_conversation.service_conversation_message.service_conversation_message_receipt" + "type": "object", + "title": "ListServiceConversationMessageResponse", + "properties": { + "messages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/conversations.v1.service.service_conversation.service_conversation_message" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -6693,81 +6521,88 @@ "accountSid_authToken": [] } ], + "operationId": "ListServiceConversationMessage", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Services/{ChatServiceSid}/Conversations/{ConversationSid}/Messages/{Sid}": { "servers": [ { "url": "https://conversations.twilio.com" } ], + "description": "A Service Message resource represents a message in a conversation within a specific service.", "x-twilio": { - "className": "delivery_receipt", "defaultOutputProperties": [ "sid", - "message_sid", - "status", + "index", + "author", "date_created" ], - "parent": "/Services/{ChatServiceSid}/Conversations/{ConversationSid}/Messages", - "pathType": "instance" - } - }, - "/v1/Services/{ChatServiceSid}/Conversations/{ConversationSid}/Messages/{Sid}": { - "delete": { - "description": "Remove a message from the conversation", - "operationId": "DeleteServiceConversationMessage", + "pathType": "instance", + "parent": "/Services/{ChatServiceSid}/Conversations" + }, + "post": { + "description": "Update an existing message in the conversation", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Participant resource is associated with.", - "in": "path", "name": "ChatServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Participant resource is associated with.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this message.", - "in": "path", "name": "ConversationSid", - "required": true, + "in": "path", + "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this message.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "A 34 character string that uniquely identifies this resource.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "A 34 character string that uniquely identifies this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IM[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IM[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", "schema": { + "type": "string", "enum": [ "true", "false" - ], - "type": "string" + ] } } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/conversations.v1.service.service_conversation.service_conversation_message" + } + } + }, + "description": "OK" } }, "security": [ @@ -6775,59 +6610,97 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateServiceConversationMessage", "x-maturity": [ "GA" - ] + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateServiceConversationMessageRequest", + "properties": { + "Author": { + "type": "string", + "description": "The channel specific identifier of the message's author. Defaults to `system`." + }, + "Body": { + "type": "string", + "description": "The content of the message, can be up to 1,600 characters long." + }, + "DateCreated": { + "type": "string", + "format": "date-time", + "description": "The date that this resource was created." + }, + "DateUpdated": { + "type": "string", + "format": "date-time", + "description": "The date that this resource was last updated. `null` if the message has not been edited." + }, + "Attributes": { + "type": "string", + "description": "A string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \"{}\" will be returned." + } + } + } + } + } + } }, - "description": "A Service Message resource represents a message in a conversation within a specific service.", - "get": { - "description": "Fetch a message from the conversation", - "operationId": "FetchServiceConversationMessage", + "delete": { + "description": "Remove a message from the conversation", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Participant resource is associated with.", - "in": "path", "name": "ChatServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Participant resource is associated with.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this message.", - "in": "path", "name": "ConversationSid", - "required": true, + "in": "path", + "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this message.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "A 34 character string that uniquely identifies this resource.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "A 34 character string that uniquely identifies this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IM[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^IM[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", + "schema": { + "type": "string", + "enum": [ + "true", + "false" + ] } } ], "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/conversations.v1.service.service_conversation.service_conversation_message" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -6835,100 +6708,144 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteServiceConversationMessage", "x-maturity": [ "GA" ] }, - "post": { - "description": "Update an existing message in the conversation", - "operationId": "UpdateServiceConversationMessage", + "get": { + "description": "Fetch a message from the conversation", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Participant resource is associated with.", - "in": "path", "name": "ChatServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Participant resource is associated with.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this message.", - "in": "path", "name": "ConversationSid", - "required": true, + "in": "path", + "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this message.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "A 34 character string that uniquely identifies this resource.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "A 34 character string that uniquely identifies this resource.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^IM[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/conversations.v1.service.service_conversation.service_conversation_message" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "FetchServiceConversationMessage", + "x-maturity": [ + "GA" + ] + } + }, + "/v1/Services/{ChatServiceSid}/Conversations/{ConversationSid}/Messages/{MessageSid}/Receipts/{Sid}": { + "servers": [ + { + "url": "https://conversations.twilio.com" + } + ], + "description": "A Service Message Receipt resource represents a delivery/read receipt of a message in a conversation.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "message_sid", + "status", + "date_created" + ], + "pathType": "instance", + "parent": "/Services/{ChatServiceSid}/Conversations/{ConversationSid}/Messages", + "className": "delivery_receipt" + }, + "get": { + "description": "Fetch the delivery and read receipts of the conversation message", + "parameters": [ + { + "name": "ChatServiceSid", + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Message resource is associated with.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^IM[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", - "name": "X-Twilio-Webhook-Enabled", + "name": "ConversationSid", + "in": "path", + "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this message.", "schema": { - "enum": [ - "true", - "false" - ], "type": "string" - } + }, + "required": true + }, + { + "name": "MessageSid", + "in": "path", + "description": "The SID of the message within a [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) the delivery receipt belongs to.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IM[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "A 34 character string that uniquely identifies this resource.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^DY[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Attributes": { - "description": "A string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \"{}\" will be returned.", - "type": "string" - }, - "Author": { - "description": "The channel specific identifier of the message's author. Defaults to `system`.", - "type": "string" - }, - "Body": { - "description": "The content of the message, can be up to 1,600 characters long.", - "type": "string" - }, - "DateCreated": { - "description": "The date that this resource was created.", - "format": "date-time", - "type": "string" - }, - "DateUpdated": { - "description": "The date that this resource was last updated. `null` if the message has not been edited.", - "format": "date-time", - "type": "string" - } - }, - "title": "UpdateServiceConversationMessageRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/conversations.v1.service.service_conversation.service_conversation_message" + "$ref": "#/components/schemas/conversations.v1.service.service_conversation.service_conversation_message.service_conversation_message_receipt" } } }, @@ -6940,61 +6857,74 @@ "accountSid_authToken": [] } ], + "operationId": "FetchServiceConversationMessageReceipt", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Services/{ChatServiceSid}/Conversations/{ConversationSid}/Messages/{MessageSid}/Receipts": { "servers": [ { "url": "https://conversations.twilio.com" } ], + "description": "A Service Message Receipt resource represents a delivery/read receipt of a message in a conversation.", "x-twilio": { "defaultOutputProperties": [ "sid", - "index", - "author", + "message_sid", + "status", "date_created" ], - "parent": "/Services/{ChatServiceSid}/Conversations", - "pathType": "instance" - } - }, - "/v1/Services/{ChatServiceSid}/Conversations/{ConversationSid}/Participants": { - "description": "A Service Participant resource represents a member of the conversation within a specific service.", + "pathType": "list", + "parent": "/Services/{ChatServiceSid}/Conversations/{ConversationSid}/Messages", + "className": "delivery_receipt" + }, "get": { - "description": "Retrieve a list of all participants of the conversation", - "operationId": "ListServiceConversationParticipant", + "description": "Retrieve a list of all delivery and read receipts of the conversation message", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Participant resource is associated with.", - "in": "path", "name": "ChatServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Message resource is associated with.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for participants.", - "in": "path", "name": "ConversationSid", - "required": true, + "in": "path", + "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this message.", "schema": { "type": "string" - } + }, + "required": true + }, + { + "name": "MessageSid", + "in": "path", + "description": "The SID of the message within a [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) the delivery receipt belongs to.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IM[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -7003,19 +6933,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListServiceConversationMessageReceiptResponse", "properties": { + "delivery_receipts": { + "type": "array", + "items": { + "$ref": "#/components/schemas/conversations.v1.service.service_conversation.service_conversation_message.service_conversation_message_receipt" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -7024,25 +6960,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "participants": { - "items": { - "$ref": "#/components/schemas/conversations.v1.service.service_conversation.service_conversation_participant" - }, - "type": "array" + } } - }, - "title": "ListServiceConversationParticipantResponse", - "type": "object" + } } } }, @@ -7054,107 +6984,219 @@ "accountSid_authToken": [] } ], + "operationId": "ListServiceConversationMessageReceipt", "x-maturity": [ "GA" ] + } + }, + "/v1/Services/{ChatServiceSid}/Conversations/{ConversationSid}/Participants": { + "servers": [ + { + "url": "https://conversations.twilio.com" + } + ], + "description": "A Service Participant resource represents a member of the conversation within a specific service.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "messaging_binding" + ], + "pathType": "list", + "parent": "/Services/{ChatServiceSid}/Conversations" }, "post": { "description": "Add a new participant to the conversation in a specific service", - "operationId": "CreateServiceConversationParticipant", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Participant resource is associated with.", - "in": "path", "name": "ChatServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Participant resource is associated with.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this participant.", - "in": "path", "name": "ConversationSid", - "required": true, + "in": "path", + "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this participant.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", "schema": { + "type": "string", "enum": [ "true", "false" - ], - "type": "string" + ] } } ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/conversations.v1.service.service_conversation.service_conversation_participant" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateServiceConversationParticipant", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateServiceConversationParticipantRequest", "properties": { - "Attributes": { - "description": "An optional string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \"{}\" will be returned.", - "type": "string" + "Identity": { + "type": "string", + "description": "A unique string identifier for the conversation participant as [Conversation User](https://www.twilio.com/docs/conversations/api/user-resource). This parameter is non-null if (and only if) the participant is using the Conversation SDK to communicate. Limited to 256 characters." + }, + "MessagingBinding.Address": { + "type": "string", + "description": "The address of the participant's device, e.g. a phone or WhatsApp number. Together with the Proxy address, this determines a participant uniquely. This field (with proxy_address) is only null when the participant is interacting from an SDK endpoint (see the 'identity' field)." + }, + "MessagingBinding.ProxyAddress": { + "type": "string", + "description": "The address of the Twilio phone number (or WhatsApp number) that the participant is in contact with. This field, together with participant address, is only null when the participant is interacting from an SDK endpoint (see the 'identity' field)." }, "DateCreated": { - "description": "The date that this resource was created.", + "type": "string", "format": "date-time", - "type": "string" + "description": "The date that this resource was created." }, "DateUpdated": { - "description": "The date that this resource was last updated.", + "type": "string", "format": "date-time", - "type": "string" + "description": "The date that this resource was last updated." }, - "Identity": { - "description": "A unique string identifier for the conversation participant as [Conversation User](https://www.twilio.com/docs/conversations/api/user-resource). This parameter is non-null if (and only if) the participant is using the Conversation SDK to communicate. Limited to 256 characters.", - "type": "string" - }, - "MessagingBinding.Address": { - "description": "The address of the participant's device, e.g. a phone or WhatsApp number. Together with the Proxy address, this determines a participant uniquely. This field (with proxy_address) is only null when the participant is interacting from an SDK endpoint (see the 'identity' field).", - "type": "string" + "Attributes": { + "type": "string", + "description": "An optional string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \"{}\" will be returned." }, "MessagingBinding.ProjectedAddress": { - "description": "The address of the Twilio phone number that is used in Group MMS. Communication mask for the Conversation participant with Identity.", - "type": "string" - }, - "MessagingBinding.ProxyAddress": { - "description": "The address of the Twilio phone number (or WhatsApp number) that the participant is in contact with. This field, together with participant address, is only null when the participant is interacting from an SDK endpoint (see the 'identity' field).", - "type": "string" + "type": "string", + "description": "The address of the Twilio phone number that is used in Group MMS. Communication mask for the Conversation participant with Identity." }, "RoleSid": { - "description": "The SID of a conversation-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) to assign to the participant.", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of a conversation-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) to assign to the participant." } - }, - "title": "CreateServiceConversationParticipantRequest", - "type": "object" + } } } } - }, + } + }, + "get": { + "description": "Retrieve a list of all participants of the conversation", + "parameters": [ + { + "name": "ChatServiceSid", + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Participant resource is associated with.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "ConversationSid", + "in": "path", + "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for participants.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "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 + } + } + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/conversations.v1.service.service_conversation.service_conversation_participant" + "type": "object", + "title": "ListServiceConversationParticipantResponse", + "properties": { + "participants": { + "type": "array", + "items": { + "$ref": "#/components/schemas/conversations.v1.service.service_conversation.service_conversation_participant" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -7162,72 +7204,192 @@ "accountSid_authToken": [] } ], + "operationId": "ListServiceConversationParticipant", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Services/{ChatServiceSid}/Conversations/{ConversationSid}/Participants/{Sid}": { "servers": [ { "url": "https://conversations.twilio.com" } ], + "description": "A Service Participant resource represents a member of the conversation within a specific service.", "x-twilio": { "defaultOutputProperties": [ "sid", "messaging_binding" ], - "parent": "/Services/{ChatServiceSid}/Conversations", - "pathType": "list" - } - }, - "/v1/Services/{ChatServiceSid}/Conversations/{ConversationSid}/Participants/{Sid}": { - "delete": { - "description": "Remove a participant from the conversation", - "operationId": "DeleteServiceConversationParticipant", + "pathType": "instance", + "parent": "/Services/{ChatServiceSid}/Conversations" + }, + "post": { + "description": "Update an existing participant in the conversation", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Participant resource is associated with.", - "in": "path", "name": "ChatServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Participant resource is associated with.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { + "name": "ConversationSid", + "in": "path", "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this participant.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "Sid", "in": "path", - "name": "ConversationSid", - "required": true, + "description": "A 34 character string that uniquely identifies this resource.", "schema": { "type": "string" + }, + "required": true + }, + { + "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", + "schema": { + "type": "string", + "enum": [ + "true", + "false" + ] + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/conversations.v1.service.service_conversation.service_conversation_participant" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "UpdateServiceConversationParticipant", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateServiceConversationParticipantRequest", + "properties": { + "DateCreated": { + "type": "string", + "format": "date-time", + "description": "The date that this resource was created." + }, + "DateUpdated": { + "type": "string", + "format": "date-time", + "description": "The date that this resource was last updated." + }, + "Identity": { + "type": "string", + "description": "A unique string identifier for the conversation participant as [Conversation User](https://www.twilio.com/docs/conversations/api/user-resource). This parameter is non-null if (and only if) the participant is using the Conversation SDK to communicate. Limited to 256 characters." + }, + "Attributes": { + "type": "string", + "description": "An optional string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \"{}\" will be returned." + }, + "RoleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "description": "The SID of a conversation-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) to assign to the participant." + }, + "MessagingBinding.ProxyAddress": { + "type": "string", + "description": "The address of the Twilio phone number that the participant is in contact with. 'null' value will remove it." + }, + "MessagingBinding.ProjectedAddress": { + "type": "string", + "description": "The address of the Twilio phone number that is used in Group MMS. 'null' value will remove it." + }, + "LastReadMessageIndex": { + "type": "integer", + "nullable": true, + "description": "Index of last \u201cread\u201d message in the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for the Participant." + }, + "LastReadTimestamp": { + "type": "string", + "description": "Timestamp of last \u201cread\u201d message in the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for the Participant." + } + } + } } + } + } + }, + "delete": { + "description": "Remove a participant from the conversation", + "parameters": [ + { + "name": "ChatServiceSid", + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Participant resource is associated with.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "A 34 character string that uniquely identifies this resource.", + "name": "ConversationSid", "in": "path", + "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this participant.", + "schema": { + "type": "string" + }, + "required": true + }, + { "name": "Sid", - "required": true, + "in": "path", + "description": "A 34 character string that uniquely identifies this resource.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^MB[0-9a-fA-F]{32}$", "type": "string" - } + }, + "required": true }, { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", "schema": { + "type": "string", "enum": [ "true", "false" - ], - "type": "string" + ] } } ], @@ -7241,47 +7403,43 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteServiceConversationParticipant", "x-maturity": [ "GA" ] }, - "description": "A Service Participant resource represents a member of the conversation within a specific service.", "get": { "description": "Fetch a participant of the conversation", - "operationId": "FetchServiceConversationParticipant", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Participant resource is associated with.", - "in": "path", "name": "ChatServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Participant resource is associated with.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this participant.", - "in": "path", "name": "ConversationSid", - "required": true, + "in": "path", + "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this participant.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "A 34 character string that uniquely identifies this resource.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "A 34 character string that uniquely identifies this resource.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^MB[0-9a-fA-F]{32}$", "type": "string" - } + }, + "required": true } ], "responses": { @@ -7301,184 +7459,167 @@ "accountSid_authToken": [] } ], + "operationId": "FetchServiceConversationParticipant", "x-maturity": [ "GA" ] + } + }, + "/v1/Services/{ChatServiceSid}/Conversations/{ConversationSid}/Webhooks": { + "servers": [ + { + "url": "https://conversations.twilio.com" + } + ], + "description": "A Conversation-scoped Webhook resource manages a set of callback URLs and their configuration for receiving events specific to one conversation.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "target" + ], + "pathType": "list", + "parent": "/Services/{ChatServiceSid}/Conversations" }, "post": { - "description": "Update an existing participant in the conversation", - "operationId": "UpdateServiceConversationParticipant", + "description": "Create a new webhook scoped to the conversation in a specific service", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Participant resource is associated with.", - "in": "path", "name": "ChatServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Participant resource is associated with.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this participant.", - "in": "path", "name": "ConversationSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "A 34 character string that uniquely identifies this resource.", "in": "path", - "name": "Sid", - "required": true, + "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this webhook.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^MB[0-9a-fA-F]{32}$", "type": "string" - } - }, + }, + "required": true + } + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/conversations.v1.service.service_conversation.service_conversation_scoped_webhook" + } + } + }, + "description": "Created" + } + }, + "security": [ { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", - "name": "X-Twilio-Webhook-Enabled", - "schema": { - "enum": [ - "true", - "false" - ], - "type": "string" - } + "accountSid_authToken": [] } ], + "operationId": "CreateServiceConversationScopedWebhook", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateServiceConversationScopedWebhookRequest", "properties": { - "Attributes": { - "description": "An optional string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \"{}\" will be returned.", - "type": "string" - }, - "DateCreated": { - "description": "The date that this resource was created.", - "format": "date-time", - "type": "string" - }, - "DateUpdated": { - "description": "The date that this resource was last updated.", - "format": "date-time", - "type": "string" - }, - "Identity": { - "description": "A unique string identifier for the conversation participant as [Conversation User](https://www.twilio.com/docs/conversations/api/user-resource). This parameter is non-null if (and only if) the participant is using the Conversation SDK to communicate. Limited to 256 characters.", - "type": "string" + "Target": { + "type": "string", + "enum": [ + "webhook", + "trigger", + "studio" + ], + "description": "The target of this webhook: `webhook`, `studio`, `trigger`" }, - "LastReadMessageIndex": { - "description": "Index of last \u201cread\u201d message in the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for the Participant.", - "nullable": true, - "type": "integer" + "Configuration.Url": { + "type": "string", + "description": "The absolute url the webhook request should be sent to." }, - "LastReadTimestamp": { - "description": "Timestamp of last \u201cread\u201d message in the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for the Participant.", - "type": "string" + "Configuration.Method": { + "type": "string", + "enum": [ + "GET", + "POST" + ], + "description": "The HTTP method to be used when sending a webhook request." }, - "MessagingBinding.ProjectedAddress": { - "description": "The address of the Twilio phone number that is used in Group MMS. 'null' value will remove it.", - "type": "string" + "Configuration.Filters": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of events, firing webhook event for this Conversation." }, - "MessagingBinding.ProxyAddress": { - "description": "The address of the Twilio phone number that the participant is in contact with. 'null' value will remove it.", - "type": "string" + "Configuration.Triggers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of keywords, firing webhook event for this Conversation." }, - "RoleSid": { - "description": "The SID of a conversation-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) to assign to the participant.", - "maxLength": 34, + "Configuration.FlowSid": { + "type": "string", "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$", + "description": "The studio flow SID, where the webhook should be sent to." + }, + "Configuration.ReplayAfter": { + "type": "integer", + "description": "The message index for which and it's successors the webhook will be replayed. Not set by default" } }, - "title": "UpdateServiceConversationParticipantRequest", - "type": "object" + "required": [ + "Target" + ] } } } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/conversations.v1.service.service_conversation.service_conversation_participant" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://conversations.twilio.com" } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "messaging_binding" - ], - "parent": "/Services/{ChatServiceSid}/Conversations", - "pathType": "instance" - } - }, - "/v1/Services/{ChatServiceSid}/Conversations/{ConversationSid}/Webhooks": { - "description": "A Conversation-scoped Webhook resource manages a set of callback URLs and their configuration for receiving events specific to one conversation.", + }, "get": { "description": "Retrieve a list of all webhooks scoped to the conversation", - "operationId": "ListServiceConversationScopedWebhook", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Participant resource is associated with.", - "in": "path", "name": "ChatServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Participant resource is associated with.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this webhook.", - "in": "path", "name": "ConversationSid", - "required": true, + "in": "path", + "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this webhook.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -7487,19 +7628,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListServiceConversationScopedWebhookResponse", "properties": { + "webhooks": { + "type": "array", + "items": { + "$ref": "#/components/schemas/conversations.v1.service.service_conversation.service_conversation_scoped_webhook" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -7508,25 +7655,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "webhooks": { - "items": { - "$ref": "#/components/schemas/conversations.v1.service.service_conversation.service_conversation_scoped_webhook" - }, - "type": "array" + } } - }, - "title": "ListServiceConversationScopedWebhookResponse", - "type": "object" + } } } }, @@ -7538,169 +7679,166 @@ "accountSid_authToken": [] } ], + "operationId": "ListServiceConversationScopedWebhook", "x-maturity": [ "GA" ] + } + }, + "/v1/Services/{ChatServiceSid}/Conversations/{ConversationSid}/Webhooks/{Sid}": { + "servers": [ + { + "url": "https://conversations.twilio.com" + } + ], + "description": "A Conversation-scoped Webhook resource manages a set of callback URLs and their configuration for receiving events specific to one conversation.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "target" + ], + "pathType": "instance", + "parent": "/Services/{ChatServiceSid}/Conversations" }, "post": { - "description": "Create a new webhook scoped to the conversation in a specific service", - "operationId": "CreateServiceConversationScopedWebhook", + "description": "Update an existing conversation-scoped webhook", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Participant resource is associated with.", - "in": "path", "name": "ChatServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Participant resource is associated with.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this webhook.", - "in": "path", "name": "ConversationSid", - "required": true, + "in": "path", + "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this webhook.", "schema": { "type": "string" - } + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "A 34 character string that uniquely identifies this resource.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WH[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/conversations.v1.service.service_conversation.service_conversation_scoped_webhook" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] } ], + "operationId": "UpdateServiceConversationScopedWebhook", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateServiceConversationScopedWebhookRequest", "properties": { - "Configuration.Filters": { - "description": "The list of events, firing webhook event for this Conversation.", - "items": { - "type": "string" - }, - "type": "array" - }, - "Configuration.FlowSid": { - "description": "The studio flow SID, where the webhook should be sent to.", - "maxLength": 34, - "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" + "Configuration.Url": { + "type": "string", + "description": "The absolute url the webhook request should be sent to." }, "Configuration.Method": { - "description": "The HTTP method to be used when sending a webhook request.", + "type": "string", "enum": [ "GET", "POST" ], - "type": "string" + "description": "The HTTP method to be used when sending a webhook request." }, - "Configuration.ReplayAfter": { - "description": "The message index for which and it's successors the webhook will be replayed. Not set by default", - "type": "integer" + "Configuration.Filters": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of events, firing webhook event for this Conversation." }, "Configuration.Triggers": { - "description": "The list of keywords, firing webhook event for this Conversation.", + "type": "array", "items": { "type": "string" }, - "type": "array" - }, - "Configuration.Url": { - "description": "The absolute url the webhook request should be sent to.", - "type": "string" + "description": "The list of keywords, firing webhook event for this Conversation." }, - "Target": { - "description": "The target of this webhook: `webhook`, `studio`, `trigger`", - "enum": [ - "webhook", - "trigger", - "studio" - ], - "type": "string" + "Configuration.FlowSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$", + "description": "The studio flow SID, where the webhook should be sent to." } - }, - "required": [ - "Target" - ], - "title": "CreateServiceConversationScopedWebhookRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/conversations.v1.service.service_conversation.service_conversation_scoped_webhook" } } - }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] + } } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://conversations.twilio.com" } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "target" - ], - "parent": "/Services/{ChatServiceSid}/Conversations", - "pathType": "list" - } - }, - "/v1/Services/{ChatServiceSid}/Conversations/{ConversationSid}/Webhooks/{Sid}": { + }, "delete": { "description": "Remove an existing webhook scoped to the conversation", - "operationId": "DeleteServiceConversationScopedWebhook", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Participant resource is associated with.", - "in": "path", "name": "ChatServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Participant resource is associated with.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this webhook.", - "in": "path", "name": "ConversationSid", - "required": true, + "in": "path", + "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this webhook.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "A 34 character string that uniquely identifies this resource.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "A 34 character string that uniquely identifies this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WH[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WH[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -7713,47 +7851,46 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteServiceConversationScopedWebhook", "x-maturity": [ "GA" ] }, - "description": "A Conversation-scoped Webhook resource manages a set of callback URLs and their configuration for receiving events specific to one conversation.", "get": { "description": "Fetch the configuration of a conversation-scoped webhook", - "operationId": "FetchServiceConversationScopedWebhook", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Participant resource is associated with.", - "in": "path", "name": "ChatServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Participant resource is associated with.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this webhook.", - "in": "path", "name": "ConversationSid", - "required": true, + "in": "path", + "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this webhook.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "A 34 character string that uniquely identifies this resource.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "A 34 character string that uniquely identifies this resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WH[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WH[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -7773,99 +7910,150 @@ "accountSid_authToken": [] } ], + "operationId": "FetchServiceConversationScopedWebhook", "x-maturity": [ "GA" ] + } + }, + "/v1/Services/{ChatServiceSid}/Configuration/Notifications": { + "servers": [ + { + "url": "https://conversations.twilio.com" + } + ], + "description": "A Service Notification resource manages a set of settings to determine push notification behavior at service level.", + "x-twilio": { + "defaultOutputProperties": [ + "chat_service_sid" + ], + "pathType": "instance", + "parent": "/Services/{ChatServiceSid}/Configuration" }, "post": { - "description": "Update an existing conversation-scoped webhook", - "operationId": "UpdateServiceConversationScopedWebhook", + "description": "Update push notification service settings", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Participant resource is associated with.", - "in": "path", "name": "ChatServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this webhook.", - "in": "path", - "name": "ConversationSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "A 34 character string that uniquely identifies this resource.", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Configuration applies to.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WH[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/conversations.v1.service.service_configuration.service_notification" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] } ], + "operationId": "UpdateServiceNotification", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateServiceNotificationRequest", "properties": { - "Configuration.Filters": { - "description": "The list of events, firing webhook event for this Conversation.", - "items": { - "type": "string" - }, - "type": "array" + "LogEnabled": { + "type": "boolean", + "description": "Weather the notification logging is enabled." }, - "Configuration.FlowSid": { - "description": "The studio flow SID, where the webhook should be sent to.", - "maxLength": 34, - "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" + "NewMessage.Enabled": { + "type": "boolean", + "description": "Whether to send a notification when a new message is added to a conversation. The default is `false`." }, - "Configuration.Method": { - "description": "The HTTP method to be used when sending a webhook request.", - "enum": [ - "GET", - "POST" - ], - "type": "string" + "NewMessage.Template": { + "type": "string", + "description": "The template to use to create the notification text displayed when a new message is added to a conversation and `new_message.enabled` is `true`." }, - "Configuration.Triggers": { - "description": "The list of keywords, firing webhook event for this Conversation.", - "items": { - "type": "string" - }, - "type": "array" + "NewMessage.Sound": { + "type": "string", + "description": "The name of the sound to play when a new message is added to a conversation and `new_message.enabled` is `true`." }, - "Configuration.Url": { - "description": "The absolute url the webhook request should be sent to.", - "type": "string" + "NewMessage.BadgeCountEnabled": { + "type": "boolean", + "description": "Whether the new message badge is enabled. The default is `false`." + }, + "AddedToConversation.Enabled": { + "type": "boolean", + "description": "Whether to send a notification when a participant is added to a conversation. The default is `false`." + }, + "AddedToConversation.Template": { + "type": "string", + "description": "The template to use to create the notification text displayed when a participant is added to a conversation and `added_to_conversation.enabled` is `true`." + }, + "AddedToConversation.Sound": { + "type": "string", + "description": "The name of the sound to play when a participant is added to a conversation and `added_to_conversation.enabled` is `true`." + }, + "RemovedFromConversation.Enabled": { + "type": "boolean", + "description": "Whether to send a notification to a user when they are removed from a conversation. The default is `false`." + }, + "RemovedFromConversation.Template": { + "type": "string", + "description": "The template to use to create the notification text displayed to a user when they are removed from a conversation and `removed_from_conversation.enabled` is `true`." + }, + "RemovedFromConversation.Sound": { + "type": "string", + "description": "The name of the sound to play to a user when they are removed from a conversation and `removed_from_conversation.enabled` is `true`." + }, + "NewMessage.WithMedia.Enabled": { + "type": "boolean", + "description": "Whether to send a notification when a new message with media/file attachments is added to a conversation. The default is `false`." + }, + "NewMessage.WithMedia.Template": { + "type": "string", + "description": "The template to use to create the notification text displayed when a new message with media/file attachments is added to a conversation and `new_message.attachments.enabled` is `true`." } - }, - "title": "UpdateServiceConversationScopedWebhookRequest", - "type": "object" + } } } } - }, + } + }, + "get": { + "description": "Fetch push notification service settings", + "parameters": [ + { + "name": "ChatServiceSid", + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Configuration applies to.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + } + ], "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/conversations.v1.service.service_conversation.service_conversation_scoped_webhook" + "$ref": "#/components/schemas/conversations.v1.service.service_configuration.service_notification" } } }, @@ -7877,66 +8065,119 @@ "accountSid_authToken": [] } ], + "operationId": "FetchServiceNotification", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Services/{ChatServiceSid}/ParticipantConversations": { "servers": [ { "url": "https://conversations.twilio.com" } ], + "description": "Service Participant Conversations resource represents a list of Conversations that this Participant belongs to belonging to a specific conversation service.", "x-twilio": { "defaultOutputProperties": [ - "sid", - "target" + "chat_service_sid", + "participant_sid", + "conversation_sid" ], - "parent": "/Services/{ChatServiceSid}/Conversations", - "pathType": "instance" - } - }, - "/v1/Services/{ChatServiceSid}/Conversations/{Sid}": { - "delete": { - "description": "Remove a conversation from your service", - "operationId": "DeleteServiceConversation", + "pathType": "list", + "parent": "/Services" + }, + "get": { + "description": "Retrieve a list of all Conversations that this Participant belongs to by identity or by address. Only one parameter should be specified.", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Conversation resource is associated with.", - "in": "path", "name": "ChatServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Participant Conversations resource is associated with.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "A 34 character string that uniquely identifies this resource. Can also be the `unique_name` of the Conversation.", - "in": "path", - "name": "Sid", - "required": true, + "name": "Identity", + "in": "query", + "description": "A unique string identifier for the conversation participant as [Conversation User](https://www.twilio.com/docs/conversations/api/user-resource). This parameter is non-null if (and only if) the participant is using the Conversations SDK to communicate. Limited to 256 characters.", "schema": { "type": "string" } }, { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", - "name": "X-Twilio-Webhook-Enabled", + "name": "Address", + "in": "query", + "description": "A unique string identifier for the conversation participant who's not a Conversation User. This parameter could be found in messaging_binding.address field of Participant resource. It should be url-encoded.", "schema": { - "enum": [ - "true", - "false" - ], "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 + } } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "ListServiceParticipantConversationResponse", + "properties": { + "conversations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/conversations.v1.service.service_participant_conversation" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } + } + } + }, + "description": "OK" } }, "security": [ @@ -7944,47 +8185,54 @@ "accountSid_authToken": [] } ], + "operationId": "ListServiceParticipantConversation", "x-maturity": [ "GA" ] + } + }, + "/v1/Services/{ChatServiceSid}/Roles": { + "servers": [ + { + "url": "https://conversations.twilio.com" + } + ], + "description": "A Service Role resource represents a set of permissions granted to a user within a service or a conversation.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "type" + ], + "pathType": "list", + "parent": "/Services" }, - "description": "A Service Conversation resource represents an omnichannel group conversation with an ordered list of messages and a participant roster.", - "get": { - "description": "Fetch a conversation from your service", - "operationId": "FetchServiceConversation", + "post": { + "description": "Create a new user role in your service", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Conversation resource is associated with.", - "in": "path", "name": "ChatServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "A 34 character string that uniquely identifies this resource. Can also be the `unique_name` of the Conversation.", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) to create the Role resource under.", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/conversations.v1.service.service_conversation" + "$ref": "#/components/schemas/conversations.v1.service.service_role" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -7992,185 +8240,70 @@ "accountSid_authToken": [] } ], + "operationId": "CreateServiceRole", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "Update an existing conversation in your service", - "operationId": "UpdateServiceConversation", - "parameters": [ - { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Conversation resource is associated with.", - "in": "path", - "name": "ChatServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "A 34 character string that uniquely identifies this resource. Can also be the `unique_name` of the Conversation.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", - "name": "X-Twilio-Webhook-Enabled", - "schema": { - "enum": [ - "true", - "false" - ], - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateServiceRoleRequest", "properties": { - "Attributes": { - "description": "An optional string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \"{}\" will be returned.", - "type": "string" - }, - "DateCreated": { - "description": "The date that this resource was created.", - "format": "date-time", - "type": "string" - }, - "DateUpdated": { - "description": "The date that this resource was last updated.", - "format": "date-time", - "type": "string" - }, "FriendlyName": { - "description": "The human-readable name of this conversation, limited to 256 characters. Optional.", - "type": "string" - }, - "MessagingServiceSid": { - "description": "The unique ID of the [Messaging Service](https://www.twilio.com/docs/sms/services/api) this conversation belongs to.", - "maxLength": 34, - "minLength": 34, - "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" + "type": "string", + "description": "A descriptive string that you create to describe the new resource. It can be up to 64 characters long." }, - "State": { - "description": "Current state of this conversation. Can be either `active`, `inactive` or `closed` and defaults to `active`", + "Type": { + "type": "string", "enum": [ - "inactive", - "active", - "closed" + "conversation", + "service" ], - "type": "string" + "description": "The type of role. Can be: `conversation` for [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) roles or `service` for [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) roles." }, - "Timers.Closed": { - "description": "ISO8601 duration when conversation will be switched to `closed` state. Minimum value for this timer is 10 minutes.", - "type": "string" - }, - "Timers.Inactive": { - "description": "ISO8601 duration when conversation will be switched to `inactive` state. Minimum value for this timer is 1 minute.", - "type": "string" - }, - "UniqueName": { - "description": "An application-defined string that uniquely identifies the resource. It can be used to address the resource in place of the resource's `sid` in the URL.", - "type": "string" + "Permission": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A permission that you grant to the new role. Only one permission can be granted per parameter. To assign more than one permission, repeat this parameter for each permission value. The values for this parameter depend on the role's `type`." } }, - "title": "UpdateServiceConversationRequest", - "type": "object" + "required": [ + "FriendlyName", + "Type", + "Permission" + ] } } } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/conversations.v1.service.service_conversation" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://conversations.twilio.com" } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "chat_service_sid", - "friendly_name", - "date_created" - ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v1/Services/{ChatServiceSid}/ParticipantConversations": { - "description": "Service Participant Conversations resource represents a list of Conversations that this Participant belongs to belonging to a specific conversation service.", + }, "get": { - "description": "Retrieve a list of all Conversations that this Participant belongs to by identity or by address. Only one parameter should be specified.", - "operationId": "ListServiceParticipantConversation", + "description": "Retrieve a list of all user roles in your service", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Participant Conversations resource is associated with.", - "in": "path", "name": "ChatServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) to read the Role resources from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "A unique string identifier for the conversation participant as [Conversation User](https://www.twilio.com/docs/conversations/api/user-resource). This parameter is non-null if (and only if) the participant is using the Conversations SDK to communicate. Limited to 256 characters.", - "in": "query", - "name": "Identity", - "schema": { - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "A unique string identifier for the conversation participant who's not a Conversation User. This parameter could be found in messaging_binding.address field of Participant resource. It should be url-encoded.", + "name": "PageSize", "in": "query", - "name": "Address", - "schema": { - "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, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -8179,25 +8312,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListServiceRoleResponse", "properties": { - "conversations": { + "roles": { + "type": "array", "items": { - "$ref": "#/components/schemas/conversations.v1.service.service_participant_conversation" - }, - "type": "array" + "$ref": "#/components/schemas/conversations.v1.service.service_role" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -8206,19 +8339,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListServiceParticipantConversationResponse", - "type": "object" + } } } }, @@ -8230,52 +8363,54 @@ "accountSid_authToken": [] } ], + "operationId": "ListServiceRole", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Services/{ChatServiceSid}/Roles/{Sid}": { "servers": [ { "url": "https://conversations.twilio.com" } ], + "description": "A Service Role resource represents a set of permissions granted to a user within a service or a conversation.", "x-twilio": { "defaultOutputProperties": [ - "chat_service_sid", - "participant_sid", - "conversation_sid" + "sid", + "friendly_name", + "type" ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v1/Services/{ChatServiceSid}/Roles": { - "description": "A Service Role resource represents a set of permissions granted to a user within a service or a conversation.", - "get": { - "description": "Retrieve a list of all user roles in your service", - "operationId": "ListServiceRole", + "pathType": "instance", + "parent": "/Services" + }, + "post": { + "description": "Update an existing user role in your service", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) to read the Role resources from.", - "in": "path", "name": "ChatServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) to update the Role resource in.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", - "name": "PageSize", + "name": "Sid", + "in": "path", + "description": "The SID of the Role resource to update.", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -8283,46 +8418,7 @@ "content": { "application/json": { "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "roles": { - "items": { - "$ref": "#/components/schemas/conversations.v1.service.service_role" - }, - "type": "array" - } - }, - "title": "ListServiceRoleResponse", - "type": "object" + "$ref": "#/components/schemas/conversations.v1.service.service_role" } } }, @@ -8334,127 +8430,59 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateServiceRole", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "Create a new user role in your service", - "operationId": "CreateServiceRole", - "parameters": [ - { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) to create the Role resource under.", - "in": "path", - "name": "ChatServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateServiceRoleRequest", "properties": { - "FriendlyName": { - "description": "A descriptive string that you create to describe the new resource. It can be up to 64 characters long.", - "type": "string" - }, "Permission": { - "description": "A permission that you grant to the new role. Only one permission can be granted per parameter. To assign more than one permission, repeat this parameter for each permission value. The values for this parameter depend on the role's `type`.", + "type": "array", "items": { "type": "string" }, - "type": "array" - }, - "Type": { - "description": "The type of role. Can be: `conversation` for [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) roles or `service` for [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) roles.", - "enum": [ - "conversation", - "service" - ], - "type": "string" + "description": "A permission that you grant to the role. Only one permission can be granted per parameter. To assign more than one permission, repeat this parameter for each permission value. Note that the update action replaces all previously assigned permissions with those defined in the update action. To remove a permission, do not include it in the subsequent update action. The values for this parameter depend on the role's `type`." } }, "required": [ - "FriendlyName", - "Type", "Permission" - ], - "title": "CreateServiceRoleRequest", - "type": "object" + ] } } } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/conversations.v1.service.service_role" - } - } - }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://conversations.twilio.com" } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "type" - ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v1/Services/{ChatServiceSid}/Roles/{Sid}": { + }, "delete": { "description": "Remove a user role from your service", - "operationId": "DeleteServiceRole", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) to delete the Role resource from.", - "in": "path", "name": "ChatServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) to delete the Role resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the Role resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Role resource to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -8467,38 +8495,37 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteServiceRole", "x-maturity": [ "GA" ] }, - "description": "A Service Role resource represents a set of permissions granted to a user within a service or a conversation.", "get": { "description": "Fetch a user role from your service", - "operationId": "FetchServiceRole", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) to fetch the Role resource from.", - "in": "path", "name": "ChatServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) to fetch the Role resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the Role resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Role resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -8518,71 +8545,65 @@ "accountSid_authToken": [] } ], + "operationId": "FetchServiceRole", "x-maturity": [ "GA" ] + } + }, + "/v1/Services/{ChatServiceSid}/Users": { + "servers": [ + { + "url": "https://conversations.twilio.com" + } + ], + "description": "A Service User resource represents a conversation user belonging to a specific conversation service.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "identity" + ], + "pathType": "list", + "parent": "/Services" }, "post": { - "description": "Update an existing user role in your service", - "operationId": "UpdateServiceRole", + "description": "Add a new conversation user to your service", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) to update the Role resource in.", - "in": "path", "name": "ChatServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the User resource is associated with.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the Role resource to update.", - "in": "path", - "name": "Sid", - "required": true, + "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "type": "string", + "enum": [ + "true", + "false" + ] } } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Permission": { - "description": "A permission that you grant to the role. Only one permission can be granted per parameter. To assign more than one permission, repeat this parameter for each permission value. Note that the update action replaces all previously assigned permissions with those defined in the update action. To remove a permission, do not include it in the subsequent update action. The values for this parameter depend on the role's `type`.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Permission" - ], - "title": "UpdateServiceRoleRequest", - "type": "object" - } - } - } - }, "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/conversations.v1.service.service_role" + "$ref": "#/components/schemas/conversations.v1.service.service_user" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -8590,51 +8611,68 @@ "accountSid_authToken": [] } ], + "operationId": "CreateServiceUser", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://conversations.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "type" ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v1/Services/{ChatServiceSid}/Users": { - "description": "A Service User resource represents a conversation user belonging to a specific conversation service.", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateServiceUserRequest", + "properties": { + "Identity": { + "type": "string", + "description": "The application-defined string that uniquely identifies the resource's User within the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource). This value is often a username or an email address, and is case-sensitive." + }, + "FriendlyName": { + "type": "string", + "description": "The string that you assigned to describe the resource." + }, + "Attributes": { + "type": "string", + "description": "The JSON Object string that stores application-specific data. If attributes have not been set, `{}` is returned." + }, + "RoleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "description": "The SID of a service-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) to assign to the user." + } + }, + "required": [ + "Identity" + ] + } + } + } + } + }, "get": { "description": "Retrieve a list of all conversation users in your service", - "operationId": "ListServiceUser", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) to read the User resources from.", - "in": "path", "name": "ChatServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) to read the User resources from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -8643,19 +8681,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListServiceUserResponse", "properties": { + "users": { + "type": "array", + "items": { + "$ref": "#/components/schemas/conversations.v1.service.service_user" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -8664,25 +8708,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "users": { - "items": { - "$ref": "#/components/schemas/conversations.v1.service.service_user" - }, - "type": "array" + } } - }, - "title": "ListServiceUserResponse", - "type": "object" + } } } }, @@ -8694,75 +8732,192 @@ "accountSid_authToken": [] } ], + "operationId": "ListServiceUser", "x-maturity": [ "GA" ] + } + }, + "/v1/Services/{ChatServiceSid}/Users/{Sid}": { + "servers": [ + { + "url": "https://conversations.twilio.com" + } + ], + "description": "A Service User resource represents a conversation user belonging to a specific conversation service.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "identity" + ], + "pathType": "instance", + "parent": "/Services" }, "post": { - "description": "Add a new conversation user to your service", - "operationId": "CreateServiceUser", + "description": "Update an existing conversation user in your service", + "parameters": [ + { + "name": "ChatServiceSid", + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the User resource is associated with.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the User resource to update. This value can be either the `sid` or the `identity` of the User resource to update.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", + "schema": { + "type": "string", + "enum": [ + "true", + "false" + ] + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/conversations.v1.service.service_user" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "UpdateServiceUser", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateServiceUserRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "The string that you assigned to describe the resource." + }, + "Attributes": { + "type": "string", + "description": "The JSON Object string that stores application-specific data. If attributes have not been set, `{}` is returned." + }, + "RoleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "description": "The SID of a service-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) to assign to the user." + } + } + } + } + } + } + }, + "delete": { + "description": "Remove a conversation user from your service", + "parameters": [ + { + "name": "ChatServiceSid", + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) to delete the User resource from.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the User resource to delete. This value can be either the `sid` or the `identity` of the User resource to delete.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", + "schema": { + "type": "string", + "enum": [ + "true", + "false" + ] + } + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteServiceUser", + "x-maturity": [ + "GA" + ] + }, + "get": { + "description": "Fetch a conversation user from your service", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the User resource is associated with.", - "in": "path", "name": "ChatServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) to fetch the User resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", - "name": "X-Twilio-Webhook-Enabled", + "name": "Sid", + "in": "path", + "description": "The SID of the User resource to fetch. This value can be either the `sid` or the `identity` of the User resource to fetch.", "schema": { - "enum": [ - "true", - "false" - ], "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Attributes": { - "description": "The JSON Object string that stores application-specific data. If attributes have not been set, `{}` is returned.", - "type": "string" - }, - "FriendlyName": { - "description": "The string that you assigned to describe the resource.", - "type": "string" - }, - "Identity": { - "description": "The application-defined string that uniquely identifies the resource's User within the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource). This value is often a username or an email address, and is case-sensitive.", - "type": "string" - }, - "RoleSid": { - "description": "The SID of a service-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) to assign to the user.", - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "required": [ - "Identity" - ], - "title": "CreateServiceUserRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { @@ -8770,7 +8925,7 @@ } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -8778,66 +8933,75 @@ "accountSid_authToken": [] } ], + "operationId": "FetchServiceUser", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Services/{ChatServiceSid}/Users/{UserSid}/Conversations/{ConversationSid}": { "servers": [ { "url": "https://conversations.twilio.com" } ], + "description": "A Service User Conversation resource represents a conversation of the user belonging to a specific conversation service.", "x-twilio": { "defaultOutputProperties": [ - "sid", - "identity" + "conversation_sid", + "user_sid", + "chat_service_sid", + "friendly_name", + "date_created" ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v1/Services/{ChatServiceSid}/Users/{Sid}": { - "delete": { - "description": "Remove a conversation user from your service", - "operationId": "DeleteServiceUser", + "pathType": "instance", + "parent": "/Services/{ChatServiceSid}/Users", + "className": "user_conversation" + }, + "post": { + "description": "Update a specific User Conversation.", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) to delete the User resource from.", - "in": "path", "name": "ChatServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Conversation resource is associated with.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the User resource to delete. This value can be either the `sid` or the `identity` of the User resource to delete.", + "name": "UserSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The unique SID identifier of the [User resource](https://www.twilio.com/docs/conversations/api/user-resource). This value can be either the `sid` or the `identity` of the User resource.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", - "name": "X-Twilio-Webhook-Enabled", + "name": "ConversationSid", + "in": "path", + "description": "The unique SID identifier of the Conversation. This value can be either the `sid` or the `unique_name` of the [Conversation resource](https://www.twilio.com/docs/conversations/api/conversation-resource).", "schema": { - "enum": [ - "true", - "false" - ], "type": "string" - } + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/conversations.v1.service.service_user.service_user_conversation" + } + } + }, + "description": "OK" } }, "security": [ @@ -8845,47 +9009,78 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateServiceUserConversation", "x-maturity": [ "GA" - ] + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateServiceUserConversationRequest", + "properties": { + "NotificationLevel": { + "type": "string", + "enum": [ + "default", + "muted" + ], + "description": "The Notification Level of this User Conversation. One of `default` or `muted`." + }, + "LastReadTimestamp": { + "type": "string", + "format": "date-time", + "description": "The date of the last message read in conversation by the user, given in ISO 8601 format." + }, + "LastReadMessageIndex": { + "type": "integer", + "nullable": true, + "description": "The index of the last Message in the Conversation that the Participant has read." + } + } + } + } + } + } }, - "description": "A Service User resource represents a conversation user belonging to a specific conversation service.", - "get": { - "description": "Fetch a conversation user from your service", - "operationId": "FetchServiceUser", + "delete": { + "description": "Delete a specific User Conversation.", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) to fetch the User resource from.", - "in": "path", "name": "ChatServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Conversation resource is associated with.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "UserSid", + "in": "path", + "description": "The unique SID identifier of the [User resource](https://www.twilio.com/docs/conversations/api/user-resource). This value can be either the `sid` or the `identity` of the User resource.", + "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the User resource to fetch. This value can be either the `sid` or the `identity` of the User resource to fetch.", + "name": "ConversationSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The unique SID identifier of the Conversation. This value can be either the `sid` or the `unique_name` of the [Conversation resource](https://www.twilio.com/docs/conversations/api/conversation-resource).", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/conversations.v1.service.service_user" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -8893,81 +9088,51 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteServiceUserConversation", "x-maturity": [ "GA" ] }, - "post": { - "description": "Update an existing conversation user in your service", - "operationId": "UpdateServiceUser", + "get": { + "description": "Fetch a specific User Conversation.", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the User resource is associated with.", - "in": "path", "name": "ChatServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Conversation resource is associated with.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the User resource to update. This value can be either the `sid` or the `identity` of the User resource to update.", + "name": "UserSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The unique SID identifier of the [User resource](https://www.twilio.com/docs/conversations/api/user-resource). This value can be either the `sid` or the `identity` of the User resource.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", - "name": "X-Twilio-Webhook-Enabled", + "name": "ConversationSid", + "in": "path", + "description": "The unique SID identifier of the Conversation. This value can be either the `sid` or the `unique_name` of the [Conversation resource](https://www.twilio.com/docs/conversations/api/conversation-resource).", "schema": { - "enum": [ - "true", - "false" - ], "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Attributes": { - "description": "The JSON Object string that stores application-specific data. If attributes have not been set, `{}` is returned.", - "type": "string" - }, - "FriendlyName": { - "description": "The string that you assigned to describe the resource.", - "type": "string" - }, - "RoleSid": { - "description": "The SID of a service-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) to assign to the user.", - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "title": "UpdateServiceUserRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/conversations.v1.service.service_user" + "$ref": "#/components/schemas/conversations.v1.service.service_user.service_user_conversation" } } }, @@ -8979,59 +9144,63 @@ "accountSid_authToken": [] } ], + "operationId": "FetchServiceUserConversation", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Services/{ChatServiceSid}/Users/{UserSid}/Conversations": { "servers": [ { "url": "https://conversations.twilio.com" } ], + "description": "A Service User Conversation resource represents a conversation of the user belonging to a specific conversation service.", "x-twilio": { "defaultOutputProperties": [ - "sid", - "identity" + "conversation_sid", + "user_sid", + "chat_service_sid", + "friendly_name", + "date_created" ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v1/Services/{ChatServiceSid}/Users/{UserSid}/Conversations": { - "description": "A Service User Conversation resource represents a conversation of the user belonging to a specific conversation service.", + "pathType": "list", + "parent": "/Services/{ChatServiceSid}/Users", + "className": "user_conversation" + }, "get": { "description": "Retrieve a list of all User Conversations for the User.", - "operationId": "ListServiceUserConversation", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Conversation resource is associated with.", - "in": "path", "name": "ChatServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Conversation resource is associated with.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique SID identifier of the [User resource](https://www.twilio.com/docs/conversations/api/user-resource). This value can be either the `sid` or the `identity` of the User resource.", - "in": "path", "name": "UserSid", - "required": true, + "in": "path", + "description": "The unique SID identifier of the [User resource](https://www.twilio.com/docs/conversations/api/user-resource). This value can be either the `sid` or the `identity` of the User resource.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -9040,25 +9209,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListServiceUserConversationResponse", "properties": { "conversations": { + "type": "array", "items": { "$ref": "#/components/schemas/conversations.v1.service.service_user.service_user_conversation" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -9067,19 +9236,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListServiceUserConversationResponse", - "type": "object" + } } } }, @@ -9091,112 +9260,40 @@ "accountSid_authToken": [] } ], + "operationId": "ListServiceUserConversation", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Services/{ChatServiceSid}/Configuration/Webhooks": { "servers": [ { "url": "https://conversations.twilio.com" } ], + "description": "A service webhook configuration resource manages a service-level set of callback URLs and their configuration for receiving all the corresponding service events.", "x-twilio": { - "className": "user_conversation", "defaultOutputProperties": [ - "conversation_sid", - "user_sid", - "chat_service_sid", - "friendly_name", - "date_created" - ], - "parent": "/Services/{ChatServiceSid}/Users", - "pathType": "list" - } - }, - "/v1/Services/{ChatServiceSid}/Users/{UserSid}/Conversations/{ConversationSid}": { - "delete": { - "description": "Delete a specific User Conversation.", - "operationId": "DeleteServiceUserConversation", - "parameters": [ - { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Conversation resource is associated with.", - "in": "path", - "name": "ChatServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The unique SID identifier of the [User resource](https://www.twilio.com/docs/conversations/api/user-resource). This value can be either the `sid` or the `identity` of the User resource.", - "in": "path", - "name": "UserSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The unique SID identifier of the Conversation. This value can be either the `sid` or the `unique_name` of the [Conversation resource](https://www.twilio.com/docs/conversations/api/conversation-resource).", - "in": "path", - "name": "ConversationSid", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } + "chat_service_sid" ], - "x-maturity": [ - "GA" - ] + "pathType": "instance", + "parent": "/Services/{ChatServiceSid}/Configuration" }, - "description": "A Service User Conversation resource represents a conversation of the user belonging to a specific conversation service.", - "get": { - "description": "Fetch a specific User Conversation.", - "operationId": "FetchServiceUserConversation", + "post": { + "description": "Update a specific Webhook.", "parameters": [ { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Conversation resource is associated with.", - "in": "path", "name": "ChatServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The unique SID identifier of the [User resource](https://www.twilio.com/docs/conversations/api/user-resource). This value can be either the `sid` or the `identity` of the User resource.", - "in": "path", - "name": "UserSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The unique SID identifier of the Conversation. This value can be either the `sid` or the `unique_name` of the [Conversation resource](https://www.twilio.com/docs/conversations/api/conversation-resource).", "in": "path", - "name": "ConversationSid", - "required": true, + "description": "The unique ID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) this conversation belongs to.", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -9204,7 +9301,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/conversations.v1.service.service_user.service_user_conversation" + "$ref": "#/components/schemas/conversations.v1.service.service_configuration.service_webhook_configuration" } } }, @@ -9216,81 +9313,66 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateServiceWebhookConfiguration", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "Update a specific User Conversation.", - "operationId": "UpdateServiceUserConversation", - "parameters": [ - { - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Conversation resource is associated with.", - "in": "path", - "name": "ChatServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The unique SID identifier of the [User resource](https://www.twilio.com/docs/conversations/api/user-resource). This value can be either the `sid` or the `identity` of the User resource.", - "in": "path", - "name": "UserSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The unique SID identifier of the Conversation. This value can be either the `sid` or the `unique_name` of the [Conversation resource](https://www.twilio.com/docs/conversations/api/conversation-resource).", - "in": "path", - "name": "ConversationSid", - "required": true, - "schema": { - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateServiceWebhookConfigurationRequest", "properties": { - "LastReadMessageIndex": { - "description": "The index of the last Message in the Conversation that the Participant has read.", - "nullable": true, - "type": "integer" + "PreWebhookUrl": { + "type": "string", + "format": "uri", + "description": "The absolute url the pre-event webhook request should be sent to." }, - "LastReadTimestamp": { - "description": "The date of the last message read in conversation by the user, given in ISO 8601 format.", - "format": "date-time", - "type": "string" + "PostWebhookUrl": { + "type": "string", + "format": "uri", + "description": "The absolute url the post-event webhook request should be sent to." }, - "NotificationLevel": { - "description": "The Notification Level of this User Conversation. One of `default` or `muted`.", - "enum": [ - "default", - "muted" - ], - "type": "string" + "Filters": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of events that your configured webhook targets will receive. Events not configured here will not fire. Possible values are `onParticipantAdd`, `onParticipantAdded`, `onDeliveryUpdated`, `onConversationUpdated`, `onConversationRemove`, `onParticipantRemove`, `onConversationUpdate`, `onMessageAdd`, `onMessageRemoved`, `onParticipantUpdated`, `onConversationAdded`, `onMessageAdded`, `onConversationAdd`, `onConversationRemoved`, `onParticipantUpdate`, `onMessageRemove`, `onMessageUpdated`, `onParticipantRemoved`, `onMessageUpdate` or `onConversationStateUpdated`." + }, + "Method": { + "type": "string", + "description": "The HTTP method to be used when sending a webhook request. One of `GET` or `POST`." } - }, - "title": "UpdateServiceUserConversationRequest", - "type": "object" + } } } } - }, + } + }, + "get": { + "description": "Fetch a specific service webhook configuration.", + "parameters": [ + { + "name": "ChatServiceSid", + "in": "path", + "description": "The unique ID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) this conversation belongs to.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + } + ], "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/conversations.v1.service.service_user.service_user_conversation" + "$ref": "#/components/schemas/conversations.v1.service.service_configuration.service_webhook_configuration" } } }, @@ -9302,88 +9384,52 @@ "accountSid_authToken": [] } ], + "operationId": "FetchServiceWebhookConfiguration", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Users": { "servers": [ { "url": "https://conversations.twilio.com" } ], + "description": "A User resource represents a conversation user belonging to a default conversation service.", "x-twilio": { - "className": "user_conversation", "defaultOutputProperties": [ - "conversation_sid", - "user_sid", - "chat_service_sid", - "friendly_name", - "date_created" - ], - "parent": "/Services/{ChatServiceSid}/Users", - "pathType": "instance" - } - }, - "/v1/Services/{Sid}": { - "delete": { - "description": "Remove a conversation service with all its nested resources from your account", - "operationId": "DeleteService", - "parameters": [ - { - "description": "A 34 character string that uniquely identifies this resource.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } + "sid", + "identity" ], - "x-maturity": [ - "GA" - ] + "pathType": "list" }, - "description": "A Service resource is a top-level conversation resource container that serves as a data silo.", - "get": { - "description": "Fetch a conversation service from your account", - "operationId": "FetchService", + "post": { + "description": "Add a new conversation user to your account's default service", "parameters": [ { - "description": "A 34 character string that uniquely identifies this resource.", - "in": "path", - "name": "Sid", - "required": true, + "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "type": "string", + "enum": [ + "true", + "false" + ] } } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/conversations.v1.service" + "$ref": "#/components/schemas/conversations.v1.user" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -9391,37 +9437,56 @@ "accountSid_authToken": [] } ], + "operationId": "CreateUser", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://conversations.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name" ], - "pathType": "instance" - } - }, - "/v1/Users": { - "description": "A User resource represents a conversation user belonging to a default conversation service.", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateUserRequest", + "properties": { + "Identity": { + "type": "string", + "description": "The application-defined string that uniquely identifies the resource's User within the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource). This value is often a username or an email address, and is case-sensitive." + }, + "FriendlyName": { + "type": "string", + "description": "The string that you assigned to describe the resource." + }, + "Attributes": { + "type": "string", + "description": "The JSON Object string that stores application-specific data. If attributes have not been set, `{}` is returned." + }, + "RoleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "description": "The SID of a service-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) to assign to the user." + } + }, + "required": [ + "Identity" + ] + } + } + } + } + }, "get": { "description": "Retrieve a list of all conversation users in your account's default service", - "operationId": "ListUser", "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -9430,19 +9495,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListUserResponse", "properties": { + "users": { + "type": "array", + "items": { + "$ref": "#/components/schemas/conversations.v1.user" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -9451,25 +9522,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "users": { - "items": { - "$ref": "#/components/schemas/conversations.v1.user" - }, - "type": "array" + } } - }, - "title": "ListUserResponse", - "type": "object" + } } } }, @@ -9481,63 +9546,53 @@ "accountSid_authToken": [] } ], + "operationId": "ListUser", "x-maturity": [ "GA" ] + } + }, + "/v1/Users/{Sid}": { + "servers": [ + { + "url": "https://conversations.twilio.com" + } + ], + "description": "A User resource represents a conversation user belonging to a default conversation service.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "identity" + ], + "pathType": "instance" }, "post": { - "description": "Add a new conversation user to your account's default service", - "operationId": "CreateUser", + "description": "Update an existing conversation user in your account's default service", "parameters": [ { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", + "name": "Sid", + "in": "path", + "description": "The SID of the User resource to update. This value can be either the `sid` or the `identity` of the User resource to update.", + "schema": { + "type": "string" + }, + "required": true + }, + { "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", "schema": { + "type": "string", "enum": [ "true", "false" - ], - "type": "string" + ] } } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Attributes": { - "description": "The JSON Object string that stores application-specific data. If attributes have not been set, `{}` is returned.", - "type": "string" - }, - "FriendlyName": { - "description": "The string that you assigned to describe the resource.", - "type": "string" - }, - "Identity": { - "description": "The application-defined string that uniquely identifies the resource's User within the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource). This value is often a username or an email address, and is case-sensitive.", - "type": "string" - }, - "RoleSid": { - "description": "The SID of a service-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) to assign to the user.", - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "required": [ - "Identity" - ], - "title": "CreateUserRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { @@ -9545,7 +9600,7 @@ } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -9553,47 +9608,60 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateUser", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://conversations.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "identity" ], - "pathType": "list" - } - }, - "/v1/Users/{Sid}": { + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateUserRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "The string that you assigned to describe the resource." + }, + "Attributes": { + "type": "string", + "description": "The JSON Object string that stores application-specific data. If attributes have not been set, `{}` is returned." + }, + "RoleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "description": "The SID of a service-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) to assign to the user." + } + } + } + } + } + } + }, "delete": { "description": "Remove a conversation user from your account's default service", - "operationId": "DeleteUser", "parameters": [ { - "description": "The SID of the User resource to delete. This value can be either the `sid` or the `identity` of the User resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the User resource to delete. This value can be either the `sid` or the `identity` of the User resource to delete.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", "schema": { + "type": "string", "enum": [ "true", "false" - ], - "type": "string" + ] } } ], @@ -9607,99 +9675,24 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteUser", "x-maturity": [ "GA" ] }, - "description": "A User resource represents a conversation user belonging to a default conversation service.", "get": { "description": "Fetch a conversation user from your account's default service", - "operationId": "FetchUser", "parameters": [ { - "description": "The SID of the User resource to fetch. This value can be either the `sid` or the `identity` of the User resource to fetch.", - "in": "path", "name": "Sid", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/conversations.v1.user" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "Update an existing conversation user in your account's default service", - "operationId": "UpdateUser", - "parameters": [ - { - "description": "The SID of the User resource to update. This value can be either the `sid` or the `identity` of the User resource to update.", "in": "path", - "name": "Sid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", - "name": "X-Twilio-Webhook-Enabled", - "schema": { - "enum": [ - "true", - "false" - ], - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Attributes": { - "description": "The JSON Object string that stores application-specific data. If attributes have not been set, `{}` is returned.", - "type": "string" - }, - "FriendlyName": { - "description": "The string that you assigned to describe the resource.", - "type": "string" - }, - "RoleSid": { - "description": "The SID of a service-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) to assign to the user.", - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "title": "UpdateUserRequest", - "type": "object" - } - } + "description": "The SID of the User resource to fetch. This value can be either the `sid` or the `identity` of the User resource to fetch.", + "schema": { + "type": "string" + }, + "required": true } - }, + ], "responses": { "200": { "content": { @@ -9717,47 +9710,51 @@ "accountSid_authToken": [] } ], + "operationId": "FetchUser", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Users/{UserSid}/Conversations/{ConversationSid}": { "servers": [ { "url": "https://conversations.twilio.com" } ], + "description": "A User Conversation resource represents a conversation of the user belonging to a default conversation service.", "x-twilio": { "defaultOutputProperties": [ - "sid", - "identity" + "conversation_sid", + "user_sid", + "chat_service_sid", + "friendly_name", + "date_created" ], - "pathType": "instance" - } - }, - "/v1/Users/{UserSid}/Conversations": { - "description": "A User Conversation resource represents a conversation of the user belonging to a default conversation service.", - "get": { - "description": "Retrieve a list of all User Conversations for the User.", - "operationId": "ListUserConversation", + "pathType": "instance", + "parent": "/Users", + "className": "user_conversation" + }, + "post": { + "description": "Update a specific User Conversation.", "parameters": [ { - "description": "The unique SID identifier of the [User resource](https://www.twilio.com/docs/conversations/api/user-resource). This value can be either the `sid` or the `identity` of the User resource.", - "in": "path", "name": "UserSid", - "required": true, + "in": "path", + "description": "The unique SID identifier of the [User resource](https://www.twilio.com/docs/conversations/api/user-resource). This value can be either the `sid` or the `identity` of the User resource.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", - "name": "PageSize", + "name": "ConversationSid", + "in": "path", + "description": "The unique SID identifier of the Conversation. This value can be either the `sid` or the `unique_name` of the [Conversation resource](https://www.twilio.com/docs/conversations/api/conversation-resource).", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" - } + "type": "string" + }, + "required": true } ], "responses": { @@ -9765,46 +9762,7 @@ "content": { "application/json": { "schema": { - "properties": { - "conversations": { - "items": { - "$ref": "#/components/schemas/conversations.v1.user.user_conversation" - }, - "type": "array" - }, - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - } - }, - "title": "ListUserConversationResponse", - "type": "object" + "$ref": "#/components/schemas/conversations.v1.user.user_conversation" } } }, @@ -9816,50 +9774,61 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateUserConversation", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://conversations.twilio.com" - } - ], - "x-twilio": { - "className": "user_conversation", - "defaultOutputProperties": [ - "conversation_sid", - "user_sid", - "chat_service_sid", - "friendly_name", - "date_created" ], - "parent": "/Users", - "pathType": "list" - } - }, - "/v1/Users/{UserSid}/Conversations/{ConversationSid}": { + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateUserConversationRequest", + "properties": { + "NotificationLevel": { + "type": "string", + "enum": [ + "default", + "muted" + ], + "description": "The Notification Level of this User Conversation. One of `default` or `muted`." + }, + "LastReadTimestamp": { + "type": "string", + "format": "date-time", + "description": "The date of the last message read in conversation by the user, given in ISO 8601 format." + }, + "LastReadMessageIndex": { + "type": "integer", + "nullable": true, + "description": "The index of the last Message in the Conversation that the Participant has read." + } + } + } + } + } + } + }, "delete": { "description": "Delete a specific User Conversation.", - "operationId": "DeleteUserConversation", "parameters": [ { - "description": "The unique SID identifier of the [User resource](https://www.twilio.com/docs/conversations/api/user-resource). This value can be either the `sid` or the `identity` of the User resource.", - "in": "path", "name": "UserSid", - "required": true, + "in": "path", + "description": "The unique SID identifier of the [User resource](https://www.twilio.com/docs/conversations/api/user-resource). This value can be either the `sid` or the `identity` of the User resource.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The unique SID identifier of the Conversation. This value can be either the `sid` or the `unique_name` of the [Conversation resource](https://www.twilio.com/docs/conversations/api/conversation-resource).", - "in": "path", "name": "ConversationSid", - "required": true, + "in": "path", + "description": "The unique SID identifier of the Conversation. This value can be either the `sid` or the `unique_name` of the [Conversation resource](https://www.twilio.com/docs/conversations/api/conversation-resource).", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -9872,32 +9841,31 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteUserConversation", "x-maturity": [ "GA" ] }, - "description": "A User Conversation resource represents a conversation of the user belonging to a default conversation service.", "get": { "description": "Fetch a specific User Conversation.", - "operationId": "FetchUserConversation", "parameters": [ { - "description": "The unique SID identifier of the [User resource](https://www.twilio.com/docs/conversations/api/user-resource). This value can be either the `sid` or the `identity` of the User resource.", - "in": "path", "name": "UserSid", - "required": true, + "in": "path", + "description": "The unique SID identifier of the [User resource](https://www.twilio.com/docs/conversations/api/user-resource). This value can be either the `sid` or the `identity` of the User resource.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The unique SID identifier of the Conversation. This value can be either the `sid` or the `unique_name` of the [Conversation resource](https://www.twilio.com/docs/conversations/api/conversation-resource).", - "in": "path", "name": "ConversationSid", - "required": true, + "in": "path", + "description": "The unique SID identifier of the Conversation. This value can be either the `sid` or the `unique_name` of the [Conversation resource](https://www.twilio.com/docs/conversations/api/conversation-resource).", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -9917,69 +9885,99 @@ "accountSid_authToken": [] } ], + "operationId": "FetchUserConversation", "x-maturity": [ "GA" ] + } + }, + "/v1/Users/{UserSid}/Conversations": { + "servers": [ + { + "url": "https://conversations.twilio.com" + } + ], + "description": "A User Conversation resource represents a conversation of the user belonging to a default conversation service.", + "x-twilio": { + "defaultOutputProperties": [ + "conversation_sid", + "user_sid", + "chat_service_sid", + "friendly_name", + "date_created" + ], + "pathType": "list", + "parent": "/Users", + "className": "user_conversation" }, - "post": { - "description": "Update a specific User Conversation.", - "operationId": "UpdateUserConversation", + "get": { + "description": "Retrieve a list of all User Conversations for the User.", "parameters": [ { - "description": "The unique SID identifier of the [User resource](https://www.twilio.com/docs/conversations/api/user-resource). This value can be either the `sid` or the `identity` of the User resource.", - "in": "path", "name": "UserSid", - "required": true, + "in": "path", + "description": "The unique SID identifier of the [User resource](https://www.twilio.com/docs/conversations/api/user-resource). This value can be either the `sid` or the `identity` of the User resource.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The unique SID identifier of the Conversation. This value can be either the `sid` or the `unique_name` of the [Conversation resource](https://www.twilio.com/docs/conversations/api/conversation-resource).", - "in": "path", - "name": "ConversationSid", - "required": true, + "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": "string" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "LastReadMessageIndex": { - "description": "The index of the last Message in the Conversation that the Participant has read.", - "nullable": true, - "type": "integer" - }, - "LastReadTimestamp": { - "description": "The date of the last message read in conversation by the user, given in ISO 8601 format.", - "format": "date-time", - "type": "string" - }, - "NotificationLevel": { - "description": "The Notification Level of this User Conversation. One of `default` or `muted`.", - "enum": [ - "default", - "muted" - ], - "type": "string" - } - }, - "title": "UpdateUserConversationRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/conversations.v1.user.user_conversation" + "type": "object", + "title": "ListUserConversationResponse", + "properties": { + "conversations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/conversations.v1.user.user_conversation" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -9991,26 +9989,10 @@ "accountSid_authToken": [] } ], + "operationId": "ListUserConversation", "x-maturity": [ "GA" ] - }, - "servers": [ - { - "url": "https://conversations.twilio.com" - } - ], - "x-twilio": { - "className": "user_conversation", - "defaultOutputProperties": [ - "conversation_sid", - "user_sid", - "chat_service_sid", - "friendly_name", - "date_created" - ], - "parent": "/Users", - "pathType": "instance" } } }, @@ -10021,8 +10003,8 @@ ], "x-maturity": [ { - "description": "This product is Generally Available.", - "name": "GA" + "name": "GA", + "description": "This product is Generally Available." } ] } \ No newline at end of file diff --git a/spec/json/twilio_events_v1.json b/spec/json/twilio_events_v1.json index 3528b370..743d418d 100644 --- a/spec/json/twilio_events_v1.json +++ b/spec/json/twilio_events_v1.json @@ -2,162 +2,157 @@ "components": { "schemas": { "events.v1.event_type": { + "type": "object", "properties": { + "type": { + "type": "string", + "nullable": true, + "description": "The Event Type identifier." + }, + "schema_id": { + "type": "string", + "nullable": true, + "description": "The Schema identifier for this Event Type." + }, "date_created": { - "description": "The date this Event Type was created.", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The date this Event Type was created." }, "date_updated": { - "description": "The date this Event Type was updated.", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The date this Event Type was updated." }, "description": { - "description": "Event Type description.", - "nullable": true, - "type": "string" - }, - "links": { - "format": "uri-map", - "nullable": true, - "type": "object" - }, - "schema_id": { - "description": "The Schema identifier for this Event Type.", - "nullable": true, - "type": "string" - }, - "type": { - "description": "The Event Type identifier.", + "type": "string", "nullable": true, - "type": "string" + "description": "Event Type description." }, "url": { - "description": "The URL of this resource.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL of this resource." + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true } - }, - "type": "object" + } }, "events.v1.schema": { + "type": "object", "properties": { "id": { - "description": "Schema Identifier.", - "nullable": true, - "type": "string" - }, - "latest_version": { - "description": "Latest schema version.", + "type": "string", "nullable": true, - "type": "integer" + "description": "Schema Identifier." }, - "latest_version_date_created": { - "description": "The date that the latest schema version was created.", - "format": "date-time", + "url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "string" + "description": "The URL of this resource." }, "links": { - "description": "Nested resource URLs.", + "type": "object", "format": "uri-map", "nullable": true, - "type": "object" + "description": "Nested resource URLs." }, - "url": { - "description": "The URL of this resource.", - "format": "uri", + "latest_version_date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The date that the latest schema version was created." + }, + "latest_version": { + "type": "integer", "nullable": true, - "type": "string" + "description": "Latest schema version." } - }, - "type": "object" + } }, "events.v1.schema.schema_version": { + "type": "object", "properties": { - "date_created": { - "description": "The date the schema version was created.", - "format": "date-time", - "nullable": true, - "type": "string" - }, "id": { - "description": "The unique identifier of the schema.", + "type": "string", "nullable": true, - "type": "string" + "description": "The unique identifier of the schema." }, - "raw": { - "format": "uri", + "schema_version": { + "type": "integer", "nullable": true, - "type": "string" + "description": "The version of this schema." }, - "schema_version": { - "description": "The version of this schema.", + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "integer" + "description": "The date the schema version was created." }, "url": { - "description": "The URL of this resource.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL of this resource." + }, + "raw": { + "type": "string", + "format": "uri", + "nullable": true } - }, - "type": "object" + } }, "events.v1.sink": { + "type": "object", "properties": { "date_created": { - "description": "The date this Sink was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The date this Sink was created" }, "date_updated": { - "description": "The date this Sink was updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The date this Sink was updated" }, "description": { - "description": "Sink Description", - "nullable": true, - "type": "string" - }, - "links": { - "description": "Nested resource URLs.", - "format": "uri-map", + "type": "string", "nullable": true, - "type": "object" + "description": "Sink Description" }, "sid": { - "description": "A string that uniquely identifies this Sink.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^DG[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "A string that uniquely identifies this Sink." }, "sink_configuration": { - "description": "JSON Sink configuration.", - "nullable": true + "nullable": true, + "description": "JSON Sink configuration." }, "sink_type": { - "description": "Sink type.", + "type": "string", "enum": [ "kinesis", "webhook", "segment" ], "nullable": true, - "type": "string" + "description": "Sink type." }, "status": { - "description": "The Status of this Sink", + "type": "string", "enum": [ "initialized", "validating", @@ -165,229 +160,197 @@ "failed" ], "nullable": true, - "type": "string" + "description": "The Status of this Sink" }, "url": { - "description": "The URL of this resource.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL of this resource." + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "Nested resource URLs." } - }, - "type": "object" + } }, "events.v1.sink.sink_test": { + "type": "object", "properties": { "result": { - "description": "Feedback indicating whether the test event was generated.", + "type": "string", "nullable": true, - "type": "string" + "description": "Feedback indicating whether the test event was generated." } - }, - "type": "object" + } }, "events.v1.sink.sink_validate": { + "type": "object", "properties": { "result": { - "description": "Feedback indicating whether the given Sink was validated.", + "type": "string", "nullable": true, - "type": "string" + "description": "Feedback indicating whether the given Sink was validated." } - }, - "type": "object" + } }, - "events.v1.subscription": { + "events.v1.subscription.subscribed_event": { + "type": "object", "properties": { "account_sid": { - "description": "Account SID.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "description": "The date this Subscription was created", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "date_updated": { - "description": "The date this Subscription was updated", - "format": "date-time", "nullable": true, - "type": "string" + "description": "Account SID." }, - "description": { - "description": "Subscription description", + "type": { + "type": "string", "nullable": true, - "type": "string" + "description": "Type of event being subscribed to." }, - "links": { - "description": "Nested resource URLs.", - "format": "uri-map", + "schema_version": { + "type": "integer", "nullable": true, - "type": "object" + "description": "The schema version that the subscription should use." }, - "sid": { - "description": "A string that uniquely identifies this Subscription.", - "maxLength": 34, + "subscription_sid": { + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^DF[0-9a-fA-F]{32}$", - "type": "string" - }, - "sink_sid": { - "description": "Sink SID.", "maxLength": 34, - "minLength": 34, + "pattern": "^DF[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^DG[0-9a-fA-F]{32}$", - "type": "string" + "description": "Subscription SID." }, "url": { - "description": "The URL of this resource.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL of this resource." } - }, - "type": "object" + } }, - "events.v1.subscription.subscribed_event": { + "events.v1.subscription": { + "type": "object", "properties": { "account_sid": { - "description": "Account SID.", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "Account SID." + }, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^DF[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "A string that uniquely identifies this Subscription." }, - "schema_version": { - "description": "The schema version that the subscription should use.", + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "integer" + "description": "The date this Subscription was created" }, - "subscription_sid": { - "description": "Subscription SID.", - "maxLength": 34, - "minLength": 34, + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^DF[0-9a-fA-F]{32}$", - "type": "string" + "description": "The date this Subscription was updated" }, - "type": { - "description": "Type of event being subscribed to.", + "description": { + "type": "string", + "nullable": true, + "description": "Subscription description" + }, + "sink_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^DG[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "Sink SID." }, "url": { - "description": "The URL of this resource.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL of this resource." + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "Nested resource URLs." } - }, - "type": "object" + } } }, "securitySchemes": { "accountSid_authToken": { - "scheme": "basic", - "type": "http" + "type": "http", + "scheme": "basic" } } }, "info": { + "title": "Twilio - Events", + "description": "This is the public Twilio REST API.", + "termsOfService": "https://www.twilio.com/legal/tos", "contact": { - "email": "support@twilio.com", "name": "Twilio Support", - "url": "https://support.twilio.com" + "url": "https://support.twilio.com", + "email": "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 - Events", "version": "1.30.0" }, "openapi": "3.0.1", "paths": { - "/v1/Schemas/{Id}": { - "description": "Versioned Schema definitions for Event Types", - "get": { - "description": "Fetch a specific schema with its nested versions.", - "operationId": "FetchSchema", - "parameters": [ - { - "description": "The unique identifier of the schema. Each schema can have multiple versions, that share the same id.", - "in": "path", - "name": "Id", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/events.v1.schema" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "Beta" - ] - }, + "/v1/Types": { "servers": [ { "url": "https://events.twilio.com" } ], + "description": "Event Types available", "x-twilio": { "defaultOutputProperties": [ - "id" + "type", + "schema_id", + "description" ], - "pathType": "instance" - } - }, - "/v1/Schemas/{Id}/Versions": { - "description": "Version of the Schema", + "pathType": "list", + "className": "event_type" + }, "get": { - "description": "Retrieve a paginated list of versions of the schema.", - "operationId": "ListSchemaVersion", + "description": "Retrieve a paginated list of all the available Event Types.", "parameters": [ { - "description": "The unique identifier of the schema. Each schema can have multiple versions, that share the same id.", - "in": "path", - "name": "Id", - "required": true, + "name": "SchemaId", + "in": "query", + "description": "A string parameter filtering the results to return only the Event Types using a given schema.", "schema": { "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", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -396,19 +359,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListEventTypeResponse", "properties": { + "types": { + "type": "array", + "items": { + "$ref": "#/components/schemas/events.v1.event_type" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -417,25 +386,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "schema_versions": { - "items": { - "$ref": "#/components/schemas/events.v1.schema.schema_version" - }, - "type": "array" + } } - }, - "title": "ListSchemaVersionResponse", - "type": "object" + } } } }, @@ -447,49 +410,39 @@ "accountSid_authToken": [] } ], + "operationId": "ListEventType", "x-maturity": [ "Beta" ] - }, + } + }, + "/v1/Types/{Type}": { "servers": [ { "url": "https://events.twilio.com" } ], + "description": "Event Types available", "x-twilio": { - "className": "schema_version", "defaultOutputProperties": [ - "id", - "schema_version", - "date_created" + "type", + "schema_id", + "description" ], - "parent": "/Schemas", - "pathType": "list" - } - }, - "/v1/Schemas/{Id}/Versions/{SchemaVersion}": { - "description": "Version of the Schema", + "pathType": "instance", + "className": "event_type" + }, "get": { - "description": "Fetch a specific schema and version.", - "operationId": "FetchSchemaVersion", + "description": "Fetch a specific Event Type.", "parameters": [ { - "description": "The unique identifier of the schema. Each schema can have multiple versions, that share the same id.", + "name": "Type", "in": "path", - "name": "Id", - "required": true, + "description": "A string that uniquely identifies this Event Type.", "schema": { "type": "string" - } - }, - { - "description": "The version of the schema", - "in": "path", - "name": "SchemaVersion", - "required": true, - "schema": { - "type": "integer" - } + }, + "required": true } ], "responses": { @@ -497,7 +450,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/events.v1.schema.schema_version" + "$ref": "#/components/schemas/events.v1.event_type" } } }, @@ -509,56 +462,98 @@ "accountSid_authToken": [] } ], + "operationId": "FetchEventType", "x-maturity": [ "Beta" ] + } + }, + "/v1/Schemas/{Id}": { + "servers": [ + { + "url": "https://events.twilio.com" + } + ], + "description": "Versioned Schema definitions for Event Types", + "x-twilio": { + "defaultOutputProperties": [ + "id" + ], + "pathType": "instance" }, + "get": { + "description": "Fetch a specific schema with its nested versions.", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "The unique identifier of the schema. Each schema can have multiple versions, that share the same id.", + "schema": { + "type": "string" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/events.v1.schema" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "FetchSchema", + "x-maturity": [ + "Beta" + ] + } + }, + "/v1/Schemas/{Id}/Versions": { "servers": [ { "url": "https://events.twilio.com" } ], + "description": "Version of the Schema", "x-twilio": { - "className": "schema_version", "defaultOutputProperties": [ "id", "schema_version", "date_created" ], + "pathType": "list", "parent": "/Schemas", - "pathType": "instance" - } - }, - "/v1/Sinks": { - "description": "Sink destination to send events to", + "className": "schema_version" + }, "get": { - "description": "Retrieve a paginated list of Sinks belonging to the account used to make the request.", - "operationId": "ListSink", + "description": "Retrieve a paginated list of versions of the schema.", "parameters": [ { - "description": "A boolean query parameter filtering the results to return sinks used/not used by a subscription.", - "in": "query", - "name": "InUse", - "schema": { - "type": "boolean" - } - }, - { - "description": "A String query parameter filtering the results by status `initialized`, `validating`, `active` or `failed`.", - "in": "query", - "name": "Status", + "name": "Id", + "in": "path", + "description": "The unique identifier of the schema. Each schema can have multiple versions, that share the same id.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -567,19 +562,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListSchemaVersionResponse", "properties": { + "schema_versions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/events.v1.schema.schema_version" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -588,25 +589,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "sinks": { - "items": { - "$ref": "#/components/schemas/events.v1.sink" - }, - "type": "array" + } } - }, - "title": "ListSinkResponse", - "type": "object" + } } } }, @@ -618,56 +613,61 @@ "accountSid_authToken": [] } ], + "operationId": "ListSchemaVersion", "x-maturity": [ "Beta" ] + } + }, + "/v1/Schemas/{Id}/Versions/{SchemaVersion}": { + "servers": [ + { + "url": "https://events.twilio.com" + } + ], + "description": "Version of the Schema", + "x-twilio": { + "defaultOutputProperties": [ + "id", + "schema_version", + "date_created" + ], + "pathType": "instance", + "parent": "/Schemas", + "className": "schema_version" }, - "post": { - "description": "Create a new Sink", - "operationId": "CreateSink", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Description": { - "description": "A human readable description for the Sink **This value should not contain PII.**", - "type": "string" - }, - "SinkConfiguration": { - "description": "The information required for Twilio to connect to the provided Sink encoded as JSON." - }, - "SinkType": { - "description": "The Sink type. Can only be \"kinesis\" or \"webhook\" currently.", - "enum": [ - "kinesis", - "webhook", - "segment" - ], - "type": "string" - } - }, - "required": [ - "Description", - "SinkConfiguration", - "SinkType" - ], - "title": "CreateSinkRequest", - "type": "object" - } - } + "get": { + "description": "Fetch a specific schema and version.", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "The unique identifier of the schema. Each schema can have multiple versions, that share the same id.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "SchemaVersion", + "in": "path", + "description": "The version of the schema", + "schema": { + "type": "integer" + }, + "required": true } - }, + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/events.v1.sink" + "$ref": "#/components/schemas/events.v1.schema.schema_version" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -675,15 +675,19 @@ "accountSid_authToken": [] } ], + "operationId": "FetchSchemaVersion", "x-maturity": [ "Beta" ] - }, + } + }, + "/v1/Sinks/{Sid}": { "servers": [ { "url": "https://events.twilio.com" } ], + "description": "Sink destination to send events to", "x-twilio": { "defaultOutputProperties": [ "date_created", @@ -694,25 +698,60 @@ "sink_type", "status" ], - "pathType": "list" - } - }, - "/v1/Sinks/{Sid}": { + "pathType": "instance" + }, + "get": { + "description": "Fetch a specific Sink.", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "A 34 character string that uniquely identifies this Sink.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^DG[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/events.v1.sink" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "FetchSink", + "x-maturity": [ + "Beta" + ] + }, "delete": { "description": "Delete a specific Sink.", - "operationId": "DeleteSink", "parameters": [ { - "description": "A 34 character string that uniquely identifies this Sink.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "A 34 character string that uniquely identifies this Sink.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^DG[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^DG[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -725,26 +764,25 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteSink", "x-maturity": [ "Beta" ] }, - "description": "Sink destination to send events to", - "get": { - "description": "Fetch a specific Sink.", - "operationId": "FetchSink", + "post": { + "description": "Update a specific Sink", "parameters": [ { - "description": "A 34 character string that uniquely identifies this Sink.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "A 34 character string that uniquely identifies this Sink.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^DG[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^DG[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -764,72 +802,38 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateSink", "x-maturity": [ "Beta" - ] - }, - "post": { - "description": "Update a specific Sink", - "operationId": "UpdateSink", - "parameters": [ - { - "description": "A 34 character string that uniquely identifies this Sink.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^DG[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateSinkRequest", "properties": { "Description": { - "description": "A human readable description for the Sink **This value should not contain PII.**", - "type": "string" + "type": "string", + "description": "A human readable description for the Sink **This value should not contain PII.**" } }, "required": [ "Description" - ], - "title": "UpdateSinkRequest", - "type": "object" + ] } } } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/events.v1.sink" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "Beta" - ] - }, + } + } + }, + "/v1/Sinks": { "servers": [ { "url": "https://events.twilio.com" } ], + "description": "Sink destination to send events to", "x-twilio": { "defaultOutputProperties": [ "date_created", @@ -840,34 +844,16 @@ "sink_type", "status" ], - "pathType": "instance" - } - }, - "/v1/Sinks/{Sid}/Test": { - "description": "Test sink", + "pathType": "list" + }, "post": { - "description": "Create a new Sink Test Event for the given Sink.", - "operationId": "CreateSinkTest", - "parameters": [ - { - "description": "A 34 character string that uniquely identifies the Sink to be Tested.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^DG[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], + "description": "Create a new Sink", "responses": { "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/events.v1.sink.sink_test" + "$ref": "#/components/schemas/events.v1.sink" } } }, @@ -879,122 +865,71 @@ "accountSid_authToken": [] } ], + "operationId": "CreateSink", "x-maturity": [ "Beta" - ] - }, - "servers": [ - { - "url": "https://events.twilio.com" - } - ], - "x-twilio": { - "className": "sink_test", - "defaultOutputProperties": [ - "result" - ], - "parent": "/Sinks", - "pathType": "list" - } - }, - "/v1/Sinks/{Sid}/Validate": { - "description": "Validate sink", - "post": { - "description": "Validate that a test event for a Sink was received.", - "operationId": "CreateSinkValidate", - "parameters": [ - { - "description": "A 34 character string that uniquely identifies the Sink being validated.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^DG[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateSinkRequest", "properties": { - "TestId": { - "description": "A 34 character string that uniquely identifies the test event for a Sink being validated.", - "type": "string" + "Description": { + "type": "string", + "description": "A human readable description for the Sink **This value should not contain PII.**" + }, + "SinkConfiguration": { + "description": "The information required for Twilio to connect to the provided Sink encoded as JSON." + }, + "SinkType": { + "type": "string", + "enum": [ + "kinesis", + "webhook", + "segment" + ], + "description": "The Sink type. Can only be \"kinesis\" or \"webhook\" currently." } }, "required": [ - "TestId" - ], - "title": "CreateSinkValidateRequest", - "type": "object" + "Description", + "SinkConfiguration", + "SinkType" + ] } } } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/events.v1.sink.sink_validate" - } - } - }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "Beta" - ] - }, - "servers": [ - { - "url": "https://events.twilio.com" } - ], - "x-twilio": { - "className": "sink_validate", - "defaultOutputProperties": [ - "result" - ], - "parent": "/Sinks", - "pathType": "list" - } - }, - "/v1/Subscriptions": { - "description": "Subscription to send Event Types to a Sink", + }, "get": { - "description": "Retrieve a paginated list of Subscriptions belonging to the account used to make the request.", - "operationId": "ListSubscription", + "description": "Retrieve a paginated list of Sinks belonging to the account used to make the request.", "parameters": [ { - "description": "The SID of the sink that the list of Subscriptions should be filtered by.", + "name": "InUse", "in": "query", - "name": "SinkSid", + "description": "A boolean query parameter filtering the results to return sinks used/not used by a subscription.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^DG[0-9a-fA-F]{32}$", - "type": "string" + "type": "boolean" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", + "name": "Status", "in": "query", + "description": "A String query parameter filtering the results by status `initialized`, `validating`, `active` or `failed`.", + "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": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1003,19 +938,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListSinkResponse", "properties": { + "sinks": { + "type": "array", + "items": { + "$ref": "#/components/schemas/events.v1.sink" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1024,25 +965,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "subscriptions": { - "items": { - "$ref": "#/components/schemas/events.v1.subscription" - }, - "type": "array" + } } - }, - "title": "ListSubscriptionResponse", - "type": "object" + } } } }, @@ -1054,52 +989,49 @@ "accountSid_authToken": [] } ], + "operationId": "ListSink", "x-maturity": [ "Beta" ] + } + }, + "/v1/Sinks/{Sid}/Test": { + "servers": [ + { + "url": "https://events.twilio.com" + } + ], + "description": "Test sink", + "x-twilio": { + "defaultOutputProperties": [ + "result" + ], + "pathType": "list", + "parent": "/Sinks", + "className": "sink_test" }, "post": { - "description": "Create a new Subscription.", - "operationId": "CreateSubscription", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Description": { - "description": "A human readable description for the Subscription **This value should not contain PII.**", - "type": "string" - }, - "SinkSid": { - "description": "The SID of the sink that events selected by this subscription should be sent to. Sink must be active for the subscription to be created.", - "maxLength": 34, - "minLength": 34, - "pattern": "^DG[0-9a-fA-F]{32}$", - "type": "string" - }, - "Types": { - "description": "An array of objects containing the subscribed Event Types", - "items": {}, - "type": "array" - } - }, - "required": [ - "Description", - "SinkSid", - "Types" - ], - "title": "CreateSubscriptionRequest", - "type": "object" - } - } + "description": "Create a new Sink Test Event for the given Sink.", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "A 34 character string that uniquely identifies the Sink to be Tested.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^DG[0-9a-fA-F]{32}$" + }, + "required": true } - }, + ], "responses": { "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/events.v1.subscription" + "$ref": "#/components/schemas/events.v1.sink.sink_test" } } }, @@ -1111,86 +1043,53 @@ "accountSid_authToken": [] } ], + "operationId": "CreateSinkTest", "x-maturity": [ "Beta" ] - }, + } + }, + "/v1/Sinks/{Sid}/Validate": { "servers": [ { "url": "https://events.twilio.com" } ], + "description": "Validate sink", "x-twilio": { "defaultOutputProperties": [ - "account_sid", - "sid", - "sink_sid", - "date_created", - "date_updated" - ], - "pathType": "list" - } - }, - "/v1/Subscriptions/{Sid}": { - "delete": { - "description": "Delete a specific Subscription.", - "operationId": "DeleteSubscription", - "parameters": [ - { - "description": "A 34 character string that uniquely identifies this Subscription.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^DF[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } + "result" ], - "x-maturity": [ - "Beta" - ] + "pathType": "list", + "parent": "/Sinks", + "className": "sink_validate" }, - "description": "Subscription to send Event Types to a Sink", - "get": { - "description": "Fetch a specific Subscription.", - "operationId": "FetchSubscription", + "post": { + "description": "Validate that a test event for a Sink was received.", "parameters": [ { - "description": "A 34 character string that uniquely identifies this Subscription.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "A 34 character string that uniquely identifies the Sink being validated.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^DF[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^DG[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/events.v1.subscription" + "$ref": "#/components/schemas/events.v1.sink.sink_validate" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -1198,113 +1097,71 @@ "accountSid_authToken": [] } ], + "operationId": "CreateSinkValidate", "x-maturity": [ "Beta" - ] - }, - "post": { - "description": "Update a Subscription.", - "operationId": "UpdateSubscription", - "parameters": [ - { - "description": "A 34 character string that uniquely identifies this Subscription.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^DF[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateSinkValidateRequest", "properties": { - "Description": { - "description": "A human readable description for the Subscription.", - "type": "string" - }, - "SinkSid": { - "description": "The SID of the sink that events selected by this subscription should be sent to. Sink must be active for the subscription to be created.", - "maxLength": 34, - "minLength": 34, - "pattern": "^DG[0-9a-fA-F]{32}$", - "type": "string" + "TestId": { + "type": "string", + "description": "A 34 character string that uniquely identifies the test event for a Sink being validated." } }, - "title": "UpdateSubscriptionRequest", - "type": "object" + "required": [ + "TestId" + ] } } } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/events.v1.subscription" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "Beta" - ] - }, + } + } + }, + "/v1/Subscriptions/{SubscriptionSid}/SubscribedEvents": { "servers": [ { "url": "https://events.twilio.com" } ], + "description": "Event subscribed to in the parent subscription", "x-twilio": { "defaultOutputProperties": [ + "type", + "schema_version", "account_sid", - "sid", - "sink_sid", - "date_created", - "date_updated" + "subscription_sid" ], - "pathType": "instance" - } - }, - "/v1/Subscriptions/{SubscriptionSid}/SubscribedEvents": { - "description": "Event subscribed to in the parent subscription", + "pathType": "list", + "parent": "/Subscriptions" + }, "get": { "description": "Retrieve a list of all Subscribed Event types for a Subscription.", - "operationId": "ListSubscribedEvent", "parameters": [ { - "description": "The unique SID identifier of the Subscription.", - "in": "path", "name": "SubscriptionSid", - "required": true, + "in": "path", + "description": "The unique SID identifier of the Subscription.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^DF[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^DF[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1313,19 +1170,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListSubscribedEventResponse", "properties": { + "types": { + "type": "array", + "items": { + "$ref": "#/components/schemas/events.v1.subscription.subscribed_event" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1334,25 +1197,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "types": { - "items": { - "$ref": "#/components/schemas/events.v1.subscription.subscribed_event" - }, - "type": "array" + } } - }, - "title": "ListSubscribedEventResponse", - "type": "object" + } } } }, @@ -1364,50 +1221,27 @@ "accountSid_authToken": [] } ], + "operationId": "ListSubscribedEvent", "x-maturity": [ "Beta" ] }, "post": { "description": "Create a new Subscribed Event type for the subscription", - "operationId": "CreateSubscribedEvent", "parameters": [ { - "description": "The unique SID identifier of the Subscription.", - "in": "path", "name": "SubscriptionSid", - "required": true, + "in": "path", + "description": "The unique SID identifier of the Subscription.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^DF[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^DF[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "SchemaVersion": { - "description": "The schema version that the subscription should use.", - "type": "integer" - }, - "Type": { - "description": "Type of event being subscribed to.", - "type": "string" - } - }, - "required": [ - "Type" - ], - "title": "CreateSubscribedEventRequest", - "type": "object" - } - } - } - }, "responses": { "201": { "content": { @@ -1425,15 +1259,42 @@ "accountSid_authToken": [] } ], + "operationId": "CreateSubscribedEvent", "x-maturity": [ "Beta" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateSubscribedEventRequest", + "properties": { + "Type": { + "type": "string", + "description": "Type of event being subscribed to." + }, + "SchemaVersion": { + "type": "integer", + "description": "The schema version that the subscription should use." + } + }, + "required": [ + "Type" + ] + } + } + } + } + } + }, + "/v1/Subscriptions/{SubscriptionSid}/SubscribedEvents/{Type}": { "servers": [ { "url": "https://events.twilio.com" } ], + "description": "Event subscribed to in the parent subscription", "x-twilio": { "defaultOutputProperties": [ "type", @@ -1441,40 +1302,44 @@ "account_sid", "subscription_sid" ], - "parent": "/Subscriptions", - "pathType": "list" - } - }, - "/v1/Subscriptions/{SubscriptionSid}/SubscribedEvents/{Type}": { - "delete": { - "description": "Remove an event type from a subscription.", - "operationId": "DeleteSubscribedEvent", + "pathType": "instance", + "parent": "/Subscriptions" + }, + "get": { + "description": "Read an Event for a Subscription.", "parameters": [ { - "description": "The unique SID identifier of the Subscription.", - "in": "path", "name": "SubscriptionSid", - "required": true, + "in": "path", + "description": "The unique SID identifier of the Subscription.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^DF[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^DF[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "Type of event being subscribed to.", - "in": "path", "name": "Type", - "required": true, + "in": "path", + "description": "Type of event being subscribed to.", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/events.v1.subscription.subscribed_event" + } + } + }, + "description": "OK" } }, "security": [ @@ -1482,35 +1347,34 @@ "accountSid_authToken": [] } ], + "operationId": "FetchSubscribedEvent", "x-maturity": [ "Beta" ] }, - "description": "Event subscribed to in the parent subscription", - "get": { - "description": "Read an Event for a Subscription.", - "operationId": "FetchSubscribedEvent", + "post": { + "description": "Update an Event for a Subscription.", "parameters": [ { - "description": "The unique SID identifier of the Subscription.", - "in": "path", "name": "SubscriptionSid", - "required": true, + "in": "path", + "description": "The unique SID identifier of the Subscription.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^DF[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^DF[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "Type of event being subscribed to.", - "in": "path", "name": "Type", - "required": true, + "in": "path", + "description": "Type of event being subscribed to.", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -1530,62 +1394,55 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateSubscribedEvent", "x-maturity": [ "Beta" - ] + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateSubscribedEventRequest", + "properties": { + "SchemaVersion": { + "type": "integer", + "description": "The schema version that the subscription should use." + } + } + } + } + } + } }, - "post": { - "description": "Update an Event for a Subscription.", - "operationId": "UpdateSubscribedEvent", + "delete": { + "description": "Remove an event type from a subscription.", "parameters": [ { - "description": "The unique SID identifier of the Subscription.", - "in": "path", "name": "SubscriptionSid", - "required": true, + "in": "path", + "description": "The unique SID identifier of the Subscription.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^DF[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^DF[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "Type of event being subscribed to.", - "in": "path", "name": "Type", - "required": true, + "in": "path", + "description": "Type of event being subscribed to.", "schema": { "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "SchemaVersion": { - "description": "The schema version that the subscription should use.", - "type": "integer" - } - }, - "title": "UpdateSubscribedEventRequest", - "type": "object" - } - } - } - }, "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/events.v1.subscription.subscribed_event" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -1593,48 +1450,51 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteSubscribedEvent", "x-maturity": [ "Beta" ] - }, + } + }, + "/v1/Subscriptions": { "servers": [ { "url": "https://events.twilio.com" } ], + "description": "Subscription to send Event Types to a Sink", "x-twilio": { "defaultOutputProperties": [ - "type", - "schema_version", "account_sid", - "subscription_sid" + "sid", + "sink_sid", + "date_created", + "date_updated" ], - "parent": "/Subscriptions", - "pathType": "instance" - } - }, - "/v1/Types": { - "description": "Event Types available", + "pathType": "list" + }, "get": { - "description": "Retrieve a paginated list of all the available Event Types.", - "operationId": "ListEventType", + "description": "Retrieve a paginated list of Subscriptions belonging to the account used to make the request.", "parameters": [ { - "description": "A string parameter filtering the results to return only the Event Types using a given schema.", + "name": "SinkSid", "in": "query", - "name": "SchemaId", + "description": "The SID of the sink that the list of Subscriptions should be filtered by.", "schema": { - "type": "string" + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^DG[0-9a-fA-F]{32}$" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1643,19 +1503,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListSubscriptionResponse", "properties": { + "subscriptions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/events.v1.subscription" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1664,25 +1530,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "types": { - "items": { - "$ref": "#/components/schemas/events.v1.event_type" - }, - "type": "array" + } } - }, - "title": "ListEventTypeResponse", - "type": "object" + } } } }, @@ -1694,39 +1554,100 @@ "accountSid_authToken": [] } ], + "operationId": "ListSubscription", "x-maturity": [ "Beta" ] }, + "post": { + "description": "Create a new Subscription.", + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/events.v1.subscription" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateSubscription", + "x-maturity": [ + "Beta" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateSubscriptionRequest", + "properties": { + "Description": { + "type": "string", + "description": "A human readable description for the Subscription **This value should not contain PII.**" + }, + "SinkSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^DG[0-9a-fA-F]{32}$", + "description": "The SID of the sink that events selected by this subscription should be sent to. Sink must be active for the subscription to be created." + }, + "Types": { + "type": "array", + "items": {}, + "description": "An array of objects containing the subscribed Event Types" + } + }, + "required": [ + "Description", + "SinkSid", + "Types" + ] + } + } + } + } + } + }, + "/v1/Subscriptions/{Sid}": { "servers": [ { "url": "https://events.twilio.com" } ], + "description": "Subscription to send Event Types to a Sink", "x-twilio": { - "className": "event_type", "defaultOutputProperties": [ - "type", - "schema_id", - "description" + "account_sid", + "sid", + "sink_sid", + "date_created", + "date_updated" ], - "pathType": "list" - } - }, - "/v1/Types/{Type}": { - "description": "Event Types available", + "pathType": "instance" + }, "get": { - "description": "Fetch a specific Event Type.", - "operationId": "FetchEventType", + "description": "Fetch a specific Subscription.", "parameters": [ { - "description": "A string that uniquely identifies this Event Type.", + "name": "Sid", "in": "path", - "name": "Type", - "required": true, + "description": "A 34 character string that uniquely identifies this Subscription.", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^DF[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1734,7 +1655,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/events.v1.event_type" + "$ref": "#/components/schemas/events.v1.subscription" } } }, @@ -1746,23 +1667,102 @@ "accountSid_authToken": [] } ], + "operationId": "FetchSubscription", "x-maturity": [ "Beta" ] }, - "servers": [ - { - "url": "https://events.twilio.com" + "post": { + "description": "Update a Subscription.", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "A 34 character string that uniquely identifies this Subscription.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^DF[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/events.v1.subscription" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "UpdateSubscription", + "x-maturity": [ + "Beta" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateSubscriptionRequest", + "properties": { + "Description": { + "type": "string", + "description": "A human readable description for the Subscription." + }, + "SinkSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^DG[0-9a-fA-F]{32}$", + "description": "The SID of the sink that events selected by this subscription should be sent to. Sink must be active for the subscription to be created." + } + } + } + } + } } - ], - "x-twilio": { - "className": "event_type", - "defaultOutputProperties": [ - "type", - "schema_id", - "description" + }, + "delete": { + "description": "Delete a specific Subscription.", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "A 34 character string that uniquely identifies this Subscription.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^DF[0-9a-fA-F]{32}$" + }, + "required": true + } ], - "pathType": "instance" + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteSubscription", + "x-maturity": [ + "Beta" + ] } } }, @@ -1773,8 +1773,8 @@ ], "x-maturity": [ { - "description": "PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution.", - "name": "Beta" + "name": "Beta", + "description": "PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution." } ] } \ No newline at end of file diff --git a/spec/json/twilio_flex_v1.json b/spec/json/twilio_flex_v1.json index fb5aa869..5078e4ab 100644 --- a/spec/json/twilio_flex_v1.json +++ b/spec/json/twilio_flex_v1.json @@ -2,477 +2,473 @@ "components": { "schemas": { "flex.v1.channel": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource and owns this Workflow", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the Flex chat channel was created", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "date_updated": { - "description": "The ISO 8601 date and time in GMT when the Flex chat channel was last updated", - "format": "date-time", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource and owns this Workflow" }, "flex_flow_sid": { - "description": "The SID of the Flex Flow", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^FO[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Flex Flow" }, "sid": { - "description": "The unique string that identifies the resource", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique string that identifies the resource" + }, + "user_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^US[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the chat user" }, "task_sid": { - "description": "The SID of the TaskRouter Task", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^WT[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the TaskRouter Task" }, "url": { - "description": "The absolute URL of the Flex chat channel resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Flex chat channel resource" }, - "user_sid": { - "description": "The SID of the chat user", - "maxLength": 34, - "minLength": 34, + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^US[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO 8601 date and time in GMT when the Flex chat channel was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the Flex chat channel was last updated" } - }, - "type": "object" + } }, "flex.v1.configuration": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, - "attributes": { - "description": "An object that contains application-specific data", - "nullable": true + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the Configuration resource was created" }, - "call_recording_enabled": { - "description": "Whether call recording is enabled", + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "boolean" + "description": "The ISO 8601 date and time in GMT when the Configuration resource was last updated" }, - "call_recording_webhook_url": { - "description": "The call recording webhook URL", - "format": "uri", + "attributes": { "nullable": true, - "type": "string" + "description": "An object that contains application-specific data" }, - "channel_configs": { - "description": "Flex Conversations channels' attachments configurations", - "items": {}, + "status": { + "type": "string", + "enum": [ + "ok", + "inprogress", + "notstarted" + ], "nullable": true, - "type": "array" + "description": "The status of the Flex onboarding" }, - "chat_service_instance_sid": { - "description": "The SID of the chat service this user belongs to", + "taskrouter_workspace_sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the TaskRouter Workspace" + }, + "taskrouter_target_workflow_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^WW[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the TaskRouter target Workflow" }, - "crm_attributes": { - "description": "An object that contains the CRM attributes", - "nullable": true + "taskrouter_target_taskqueue_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WQ[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the TaskRouter Target TaskQueue" }, - "crm_callback_url": { - "description": "The CRM Callback URL", - "format": "uri", + "taskrouter_taskqueues": { + "type": "array", + "items": {}, "nullable": true, - "type": "string" + "description": "The list of TaskRouter TaskQueues" }, - "crm_enabled": { - "description": "Whether CRM is present for Flex", + "taskrouter_skills": { + "type": "array", + "items": {}, "nullable": true, - "type": "boolean" + "description": "The Skill description for TaskRouter workers" }, - "crm_fallback_url": { - "description": "The CRM Fallback URL", - "format": "uri", + "taskrouter_worker_channels": { "nullable": true, - "type": "string" + "description": "The TaskRouter default channel capacities and availability for workers" }, - "crm_type": { - "description": "The CRM Type", + "taskrouter_worker_attributes": { "nullable": true, - "type": "string" + "description": "The TaskRouter Worker attributes" }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the Configuration resource was created", - "format": "date-time", + "taskrouter_offline_activity_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WA[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The TaskRouter SID of the offline activity" }, - "date_updated": { - "description": "The ISO 8601 date and time in GMT when the Configuration resource was last updated", - "format": "date-time", + "runtime_domain": { + "type": "string", + "format": "uri", "nullable": true, - "type": "string" + "description": "The URL where the Flex instance is hosted" }, - "flex_insights_drilldown": { - "description": "Setting to enable Flex UI redirection", + "messaging_service_instance_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$", "nullable": true, - "type": "boolean" + "description": "The SID of the Messaging service instance" }, - "flex_insights_hr": { - "description": "Object that controls workspace reporting", - "nullable": true + "chat_service_instance_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the chat service this user belongs to" }, "flex_service_instance_sid": { - "description": "The SID of the Flex service instance", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Flex service instance" }, - "flex_url": { - "description": "URL to redirect to in case drilldown is enabled.", - "format": "uri", + "ui_language": { + "type": "string", "nullable": true, - "type": "string" + "description": "The primary language of the Flex UI" }, - "integrations": { - "description": "A list of objects that contain the configurations for the Integrations supported in this configuration", - "items": {}, + "ui_attributes": { "nullable": true, - "type": "array" + "description": "The object that describes Flex UI characteristics and settings" }, - "markdown": { - "description": "Configurable parameters for Markdown", - "nullable": true + "ui_dependencies": { + "nullable": true, + "description": "The object that defines the NPM packages and versions to be used in Hosted Flex" }, - "messaging_service_instance_sid": { - "description": "The SID of the Messaging service instance", - "maxLength": 34, - "minLength": 34, + "ui_version": { + "type": "string", "nullable": true, - "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" + "description": "The Pinned UI version" }, - "notifications": { - "description": "Configurable parameters for Notifications", - "nullable": true + "service_version": { + "type": "string", + "nullable": true, + "description": "The Flex Service version" }, - "outbound_call_flows": { - "description": "The list of outbound call flows", - "nullable": true + "call_recording_enabled": { + "type": "boolean", + "nullable": true, + "description": "Whether call recording is enabled" }, - "plugin_service_attributes": { - "description": "The plugin service attributes", - "nullable": true + "call_recording_webhook_url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The call recording webhook URL" }, - "plugin_service_enabled": { - "description": "Whether the plugin service enabled", + "crm_enabled": { + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Whether CRM is present for Flex" }, - "public_attributes": { - "description": "The list of public attributes", - "nullable": true + "crm_type": { + "type": "string", + "nullable": true, + "description": "The CRM Type" }, - "queue_stats_configuration": { - "description": "Configurable parameters for Queues Statistics", - "nullable": true + "crm_callback_url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The CRM Callback URL" }, - "runtime_domain": { - "description": "The URL where the Flex instance is hosted", + "crm_fallback_url": { + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The CRM Fallback URL" }, - "serverless_service_sids": { - "description": "The list of serverless service SIDs", - "items": { - "maxLength": 34, - "minLength": 34, - "pattern": "^ZS[0-9a-fA-F]{32}$", - "type": "string" - }, + "crm_attributes": { "nullable": true, - "type": "array" + "description": "An object that contains the CRM attributes" }, - "service_version": { - "description": "The Flex Service version", + "public_attributes": { "nullable": true, - "type": "string" + "description": "The list of public attributes" }, - "status": { - "description": "The status of the Flex onboarding", - "enum": [ - "ok", - "inprogress", - "notstarted" - ], + "plugin_service_enabled": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Whether the plugin service enabled" }, - "taskrouter_offline_activity_sid": { - "description": "The TaskRouter SID of the offline activity", - "maxLength": 34, - "minLength": 34, + "plugin_service_attributes": { "nullable": true, - "pattern": "^WA[0-9a-fA-F]{32}$", - "type": "string" + "description": "The plugin service attributes" }, - "taskrouter_skills": { - "description": "The Skill description for TaskRouter workers", + "integrations": { + "type": "array", "items": {}, "nullable": true, - "type": "array" + "description": "A list of objects that contain the configurations for the Integrations supported in this configuration" }, - "taskrouter_target_taskqueue_sid": { - "description": "The SID of the TaskRouter Target TaskQueue", - "maxLength": 34, - "minLength": 34, + "outbound_call_flows": { "nullable": true, - "pattern": "^WQ[0-9a-fA-F]{32}$", - "type": "string" + "description": "The list of outbound call flows" }, - "taskrouter_target_workflow_sid": { - "description": "The SID of the TaskRouter target Workflow", - "maxLength": 34, - "minLength": 34, + "serverless_service_sids": { + "type": "array", + "items": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^ZS[0-9a-fA-F]{32}$" + }, "nullable": true, - "pattern": "^WW[0-9a-fA-F]{32}$", - "type": "string" + "description": "The list of serverless service SIDs" }, - "taskrouter_taskqueues": { - "description": "The list of TaskRouter TaskQueues", - "items": {}, + "queue_stats_configuration": { "nullable": true, - "type": "array" - }, - "taskrouter_worker_attributes": { - "description": "The TaskRouter Worker attributes", - "nullable": true + "description": "Configurable parameters for Queues Statistics" }, - "taskrouter_worker_channels": { - "description": "The TaskRouter default channel capacities and availability for workers", - "nullable": true - }, - "taskrouter_workspace_sid": { - "description": "The SID of the TaskRouter Workspace", - "maxLength": 34, - "minLength": 34, + "notifications": { "nullable": true, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" + "description": "Configurable parameters for Notifications" }, - "ui_attributes": { - "description": "The object that describes Flex UI characteristics and settings", - "nullable": true + "markdown": { + "nullable": true, + "description": "Configurable parameters for Markdown" }, - "ui_dependencies": { - "description": "The object that defines the NPM packages and versions to be used in Hosted Flex", - "nullable": true + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The absolute URL of the Configuration resource" }, - "ui_language": { - "description": "The primary language of the Flex UI", + "flex_insights_hr": { "nullable": true, - "type": "string" + "description": "Object that controls workspace reporting" }, - "ui_version": { - "description": "The Pinned UI version", + "flex_insights_drilldown": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Setting to enable Flex UI redirection" }, - "url": { - "description": "The absolute URL of the Configuration resource", + "flex_url": { + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "URL to redirect to in case drilldown is enabled." + }, + "channel_configs": { + "type": "array", + "items": {}, + "nullable": true, + "description": "Flex Conversations channels' attachments configurations" } - }, - "type": "object" + } }, "flex.v1.flex_flow": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "channel_type": { - "description": "The channel type", - "enum": [ - "web", - "sms", - "facebook", - "whatsapp", - "line", - "custom" - ], - "nullable": true, - "type": "string" - }, - "chat_service_sid": { - "description": "The SID of the chat service", "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - }, - "contact_identity": { - "description": "The channel contact's Identity", + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, - "enabled": { - "description": "Whether the Flex Flow is enabled", + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^FO[0-9a-fA-F]{32}$", "nullable": true, - "type": "boolean" + "description": "The unique string that identifies the resource" }, "friendly_name": { - "description": "The string that you assigned to describe the resource", + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the resource" }, - "integration": { - "description": "An object that contains specific parameters for the integration", - "nullable": true + "chat_service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the chat service" + }, + "channel_type": { + "type": "string", + "enum": [ + "web", + "sms", + "facebook", + "whatsapp", + "line", + "custom" + ], + "nullable": true, + "description": "The channel type" + }, + "contact_identity": { + "type": "string", + "nullable": true, + "description": "The channel contact's Identity" + }, + "enabled": { + "type": "boolean", + "nullable": true, + "description": "Whether the Flex Flow is enabled" }, "integration_type": { - "description": "The software that will handle inbound messages.", + "type": "string", "enum": [ "studio", "external", "task" ], "nullable": true, - "type": "string" + "description": "The software that will handle inbound messages." }, - "janitor_enabled": { - "description": "Remove active Proxy sessions if the corresponding Task is deleted.", + "integration": { "nullable": true, - "type": "boolean" + "description": "An object that contains specific parameters for the integration" }, "long_lived": { - "description": "Re-use this chat channel for future interactions with a contact", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Re-use this chat channel for future interactions with a contact" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "janitor_enabled": { + "type": "boolean", "nullable": true, - "pattern": "^FO[0-9a-fA-F]{32}$", - "type": "string" + "description": "Remove active Proxy sessions if the corresponding Task is deleted." }, "url": { - "description": "The absolute URL of the Flex Flow resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Flex Flow resource" } - }, - "type": "object" + } }, "flex.v1.interaction": { + "type": "object", "properties": { - "channel": { - "description": "The Interaction's channel", - "nullable": true + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^KD[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique string that identifies the resource" }, - "links": { - "format": "uri-map", + "channel": { "nullable": true, - "type": "object" + "description": "The Interaction's channel" }, "routing": { - "description": "A JSON Object representing the routing rules for the Interaction Channel", - "nullable": true - }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, "nullable": true, - "pattern": "^KD[0-9a-fA-F]{32}$", - "type": "string" + "description": "A JSON Object representing the routing rules for the Interaction Channel" }, "url": { + "type": "string", "format": "uri", - "nullable": true, - "type": "string" + "nullable": true + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true } - }, - "type": "object" + } }, "flex.v1.interaction.interaction_channel": { + "type": "object", "properties": { - "interaction_sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^UO[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^KD[0-9a-fA-F]{32}$", - "type": "string" - }, - "links": { - "format": "uri-map", - "nullable": true, - "type": "object" + "description": "The unique string that identifies the resource" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "interaction_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^KD[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^UO[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, "type": { - "description": "The Interaction Channel's type.", + "type": "string", "enum": [ "voice", "sms", @@ -482,82 +478,71 @@ "chat" ], "nullable": true, - "type": "string" + "description": "The Interaction Channel's type." }, "url": { + "type": "string", "format": "uri", - "nullable": true, - "type": "string" + "nullable": true + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true } - }, - "type": "object" + } }, "flex.v1.interaction.interaction_channel.interaction_channel_invite": { + "type": "object", "properties": { - "channel_sid": { - "description": "The Channel SID for this Invite", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^KG[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^UO[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, "interaction_sid": { - "description": "The Interaction SID for this Channel", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^KD[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The Interaction SID for this Channel" + }, + "channel_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^UO[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^KD[0-9a-fA-F]{32}$", - "type": "string" + "description": "The Channel SID for this Invite" }, "routing": { - "description": "A JSON object representing the routing rules for the Interaction Channel", - "nullable": true - }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, "nullable": true, - "pattern": "^KG[0-9a-fA-F]{32}$", - "type": "string" + "description": "A JSON object representing the routing rules for the Interaction Channel" }, "url": { + "type": "string", "format": "uri", - "nullable": true, - "type": "string" + "nullable": true } - }, - "type": "object" + } }, "flex.v1.interaction.interaction_channel.interaction_channel_participant": { + "type": "object", "properties": { - "channel_sid": { - "description": "The Channel Sid for this Participant.", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^UO[0-9a-fA-F]{32}$", - "type": "string" - }, - "interaction_sid": { - "description": "The Interaction Sid for this channel.", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^KD[0-9a-fA-F]{32}$", - "type": "string" - }, "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^UT[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string that identifies the resource" }, "type": { - "description": "Participant type.", + "type": "string", "enum": [ "supervisor", "customer", @@ -566,102 +551,130 @@ "unknown" ], "nullable": true, - "type": "string" + "description": "Participant type." + }, + "interaction_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^KD[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The Interaction Sid for this channel." + }, + "channel_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^UO[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The Channel Sid for this Participant." }, "url": { + "type": "string", "format": "uri", - "nullable": true, - "type": "string" + "nullable": true } - }, - "type": "object" + } }, "flex.v1.web_channel": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource and owns this Workflow", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "description": "The 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 date and time in GMT when the resource was last updated", - "format": "date-time", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource and owns this Workflow" }, "flex_flow_sid": { - "description": "The SID of the Flex Flow", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^FO[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Flex Flow" }, "sid": { - "description": "The unique string that identifies the WebChannel resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string that identifies the WebChannel resource" }, "url": { - "description": "The absolute URL of the WebChannel resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the WebChannel resource" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was last updated" } - }, - "type": "object" + } } }, "securitySchemes": { "accountSid_authToken": { - "scheme": "basic", - "type": "http" + "type": "http", + "scheme": "basic" } } }, "info": { + "title": "Twilio - Flex", + "description": "This is the public Twilio REST API.", + "termsOfService": "https://www.twilio.com/legal/tos", "contact": { - "email": "support@twilio.com", "name": "Twilio Support", - "url": "https://support.twilio.com" + "url": "https://support.twilio.com", + "email": "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 - Flex", "version": "1.30.0" }, "openapi": "3.0.1", "paths": { "/v1/Channels": { + "servers": [ + { + "url": "https://flex-api.twilio.com" + } + ], "description": "Flex chat channels", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "flex_flow_sid", + "user_sid", + "task_sid" + ], + "pathType": "list" + }, "get": { "description": "", - "operationId": "ListChannel", "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -670,25 +683,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListChannelResponse", "properties": { "flex_chat_channels": { + "type": "array", "items": { "$ref": "#/components/schemas/flex.v1.channel" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -697,19 +710,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListChannelResponse", - "type": "object" + } } } }, @@ -721,63 +734,86 @@ "accountSid_authToken": [] } ], + "operationId": "ListChannel", "x-maturity": [ "GA" ] }, "post": { "description": "", + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/flex.v1.channel" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], "operationId": "CreateChannel", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateChannelRequest", "properties": { - "ChatFriendlyName": { - "description": "The chat channel's friendly name.", - "type": "string" - }, - "ChatUniqueName": { - "description": "The chat channel's unique name.", - "type": "string" - }, - "ChatUserFriendlyName": { - "description": "The chat participant's friendly name.", - "type": "string" - }, "FlexFlowSid": { - "description": "The SID of the Flex Flow.", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, "pattern": "^FO[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Flex Flow." }, "Identity": { - "description": "The `identity` value that uniquely identifies the new resource's chat User.", - "type": "string" + "type": "string", + "description": "The `identity` value that uniquely identifies the new resource's chat User." }, - "LongLived": { - "description": "Whether to create the channel as long-lived.", - "type": "boolean" + "ChatUserFriendlyName": { + "type": "string", + "description": "The chat participant's friendly name." }, - "PreEngagementData": { - "description": "The pre-engagement data.", - "type": "string" + "ChatFriendlyName": { + "type": "string", + "description": "The chat channel's friendly name." }, "Target": { - "description": "The Target Contact Identity, for example the phone number of an SMS.", - "type": "string" + "type": "string", + "description": "The Target Contact Identity, for example the phone number of an SMS." }, - "TaskAttributes": { - "description": "The Task attributes to be added for the TaskRouter Task.", - "type": "string" + "ChatUniqueName": { + "type": "string", + "description": "The chat channel's unique name." + }, + "PreEngagementData": { + "type": "string", + "description": "The pre-engagement data." }, "TaskSid": { - "description": "The SID of the TaskRouter Task. Only valid when integration type is `task`. `null` for integration types `studio` & `external`", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, "pattern": "^WT[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the TaskRouter Task. Only valid when integration type is `task`. `null` for integration types `studio` & `external`" + }, + "TaskAttributes": { + "type": "string", + "description": "The Task attributes to be added for the TaskRouter Task." + }, + "LongLived": { + "type": "boolean", + "description": "Whether to create the channel as long-lived." } }, "required": [ @@ -785,39 +821,20 @@ "Identity", "ChatUserFriendlyName", "ChatFriendlyName" - ], - "title": "CreateChannelRequest", - "type": "object" + ] } } } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/flex.v1.channel" - } - } - }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, + } + } + }, + "/v1/Channels/{Sid}": { "servers": [ { "url": "https://flex-api.twilio.com" } ], + "description": "Flex chat channels", "x-twilio": { "defaultOutputProperties": [ "sid", @@ -825,30 +842,34 @@ "user_sid", "task_sid" ], - "pathType": "list" - } - }, - "/v1/Channels/{Sid}": { - "delete": { + "pathType": "instance" + }, + "get": { "description": "", - "operationId": "DeleteChannel", "parameters": [ { - "description": "The SID of the Flex chat channel resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Flex chat channel resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/flex.v1.channel" + } + } + }, + "description": "OK" } }, "security": [ @@ -856,38 +877,30 @@ "accountSid_authToken": [] } ], + "operationId": "FetchChannel", "x-maturity": [ "GA" ] }, - "description": "Flex chat channels", - "get": { + "delete": { "description": "", - "operationId": "FetchChannel", "parameters": [ { - "description": "The SID of the Flex chat channel resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Flex chat channel resource to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/flex.v1.channel" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -895,35 +908,35 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteChannel", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Configuration": { "servers": [ { "url": "https://flex-api.twilio.com" } ], + "description": "Configuration for a Flex instance", "x-twilio": { "defaultOutputProperties": [ - "sid", - "flex_flow_sid", - "user_sid", - "task_sid" + "status", + "ui_language", + "ui_version", + "service_version" ], "pathType": "instance" - } - }, - "/v1/Configuration": { - "description": "Configuration for a Flex instance", + }, "get": { "description": "", - "operationId": "FetchConfiguration", "parameters": [ { - "description": "The Pinned UI version of the Configuration resource to fetch.", - "in": "query", "name": "UiVersion", + "in": "query", + "description": "The Pinned UI version of the Configuration resource to fetch.", "schema": { "type": "string" } @@ -946,47 +959,47 @@ "accountSid_authToken": [] } ], + "operationId": "FetchConfiguration", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/FlexFlows": { "servers": [ { "url": "https://flex-api.twilio.com" } ], + "description": "Flex Flow", "x-twilio": { "defaultOutputProperties": [ - "status", - "ui_language", - "ui_version", - "service_version" + "sid", + "friendly_name", + "channel_type", + "integration_type" ], - "pathType": "instance" - } - }, - "/v1/FlexFlows": { - "description": "Flex Flow", + "pathType": "list" + }, "get": { "description": "", - "operationId": "ListFlexFlow", "parameters": [ { - "description": "The `friendly_name` of the Flex Flow resources to read.", - "in": "query", "name": "FriendlyName", + "in": "query", + "description": "The `friendly_name` of the Flex Flow resources to read.", "schema": { "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", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -995,25 +1008,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListFlexFlowResponse", "properties": { "flex_flows": { + "type": "array", "items": { "$ref": "#/components/schemas/flex.v1.flex_flow" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1022,19 +1035,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListFlexFlowResponse", - "type": "object" + } } } }, @@ -1046,20 +1059,54 @@ "accountSid_authToken": [] } ], + "operationId": "ListFlexFlow", "x-maturity": [ "GA" ] }, "post": { "description": "", + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/flex.v1.flex_flow" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], "operationId": "CreateFlexFlow", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateFlexFlowRequest", "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the Flex Flow resource." + }, + "ChatServiceSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", + "description": "The SID of the chat service." + }, "ChannelType": { - "description": "The channel type. One of `web`, `facebook`, `sms`, `whatsapp`, `line` or `custom`. By default, Studio\u2019s Send to Flex widget passes it on to the Task attributes for Tasks created based on this Flex Flow. The Task attributes will be used by the Flex UI to render the respective Task as appropriate (applying channel-specific design and length limits). If `channelType` is `facebook`, `whatsapp` or `line`, the Send to Flex widget should set the Task Channel to Programmable Chat.", + "type": "string", "enum": [ "web", "sms", @@ -1068,128 +1115,98 @@ "line", "custom" ], - "type": "string" - }, - "ChatServiceSid": { - "description": "The SID of the chat service.", - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The channel type. One of `web`, `facebook`, `sms`, `whatsapp`, `line` or `custom`. By default, Studio\u2019s Send to Flex widget passes it on to the Task attributes for Tasks created based on this Flex Flow. The Task attributes will be used by the Flex UI to render the respective Task as appropriate (applying channel-specific design and length limits). If `channelType` is `facebook`, `whatsapp` or `line`, the Send to Flex widget should set the Task Channel to Programmable Chat." }, "ContactIdentity": { - "description": "The channel contact's Identity.", - "type": "string" + "type": "string", + "description": "The channel contact's Identity." }, "Enabled": { - "description": "Whether the new Flex Flow is enabled.", - "type": "boolean" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the Flex Flow resource.", - "type": "string" + "type": "boolean", + "description": "Whether the new Flex Flow is enabled." }, - "Integration.Channel": { - "description": "The Task Channel SID (TCXXXX) or unique name (e.g., `sms`) to use for the Task that will be created. Applicable and required when `integrationType` is `task`. The default value is `default`.", - "type": "string" - }, - "Integration.CreationOnMessage": { - "description": "In the context of outbound messaging, defines whether to create a Task immediately (and therefore reserve the conversation to current agent), or delay Task creation until the customer sends the first response. Set to false to create immediately, true to delay Task creation. This setting is only applicable for outbound messaging.", - "type": "boolean" + "IntegrationType": { + "type": "string", + "enum": [ + "studio", + "external", + "task" + ], + "description": "The software that will handle inbound messages. [Integration Type](https://www.twilio.com/docs/flex/developer/messaging/manage-flows#integration-types) can be: `studio`, `external`, or `task`." }, "Integration.FlowSid": { - "description": "The SID of the Studio Flow. Required when `integrationType` is `studio`.", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - }, - "Integration.Priority": { - "description": "The Task priority of a new Task. The default priority is 0. Optional when `integrationType` is `task`, not applicable otherwise.", - "type": "integer" - }, - "Integration.RetryCount": { - "description": "The number of times to retry the Studio Flow or webhook in case of failure. Takes integer values from 0 to 3 with the default being 3. Optional when `integrationType` is `studio` or `external`, not applicable otherwise.", - "type": "integer" - }, - "Integration.Timeout": { - "description": "The Task timeout in seconds for a new Task. Default is 86,400 seconds (24 hours). Optional when `integrationType` is `task`, not applicable otherwise.", - "type": "integer" + "description": "The SID of the Studio Flow. Required when `integrationType` is `studio`." }, "Integration.Url": { - "description": "The URL of the external webhook. Required when `integrationType` is `external`.", + "type": "string", "format": "uri", - "type": "string" + "description": "The URL of the external webhook. Required when `integrationType` is `external`." }, - "Integration.WorkflowSid": { - "description": "The Workflow SID for a new Task. Required when `integrationType` is `task`.", + "Integration.WorkspaceSid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$", + "description": "The Workspace SID for a new Task. Required when `integrationType` is `task`." + }, + "Integration.WorkflowSid": { + "type": "string", "minLength": 34, + "maxLength": 34, "pattern": "^WW[0-9a-fA-F]{32}$", - "type": "string" + "description": "The Workflow SID for a new Task. Required when `integrationType` is `task`." }, - "Integration.WorkspaceSid": { - "description": "The Workspace SID for a new Task. Required when `integrationType` is `task`.", - "maxLength": 34, - "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" + "Integration.Channel": { + "type": "string", + "description": "The Task Channel SID (TCXXXX) or unique name (e.g., `sms`) to use for the Task that will be created. Applicable and required when `integrationType` is `task`. The default value is `default`." }, - "IntegrationType": { - "description": "The software that will handle inbound messages. [Integration Type](https://www.twilio.com/docs/flex/developer/messaging/manage-flows#integration-types) can be: `studio`, `external`, or `task`.", - "enum": [ - "studio", - "external", - "task" - ], - "type": "string" + "Integration.Timeout": { + "type": "integer", + "description": "The Task timeout in seconds for a new Task. Default is 86,400 seconds (24 hours). Optional when `integrationType` is `task`, not applicable otherwise." }, - "JanitorEnabled": { - "description": "When enabled, the Messaging Channel Janitor will remove active Proxy sessions if the associated Task is deleted outside of the Flex UI. Defaults to `false`.", - "type": "boolean" + "Integration.Priority": { + "type": "integer", + "description": "The Task priority of a new Task. The default priority is 0. Optional when `integrationType` is `task`, not applicable otherwise." + }, + "Integration.CreationOnMessage": { + "type": "boolean", + "description": "In the context of outbound messaging, defines whether to create a Task immediately (and therefore reserve the conversation to current agent), or delay Task creation until the customer sends the first response. Set to false to create immediately, true to delay Task creation. This setting is only applicable for outbound messaging." }, "LongLived": { - "description": "When enabled, Flex will keep the chat channel active so that it may be used for subsequent interactions with a contact identity. Defaults to `false`.", - "type": "boolean" + "type": "boolean", + "description": "When enabled, Flex will keep the chat channel active so that it may be used for subsequent interactions with a contact identity. Defaults to `false`." + }, + "JanitorEnabled": { + "type": "boolean", + "description": "When enabled, the Messaging Channel Janitor will remove active Proxy sessions if the associated Task is deleted outside of the Flex UI. Defaults to `false`." + }, + "Integration.RetryCount": { + "type": "integer", + "description": "The number of times to retry the Studio Flow or webhook in case of failure. Takes integer values from 0 to 3 with the default being 3. Optional when `integrationType` is `studio` or `external`, not applicable otherwise." } }, "required": [ "FriendlyName", "ChatServiceSid", "ChannelType" - ], - "title": "CreateFlexFlowRequest", - "type": "object" + ] } } } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/flex.v1.flex_flow" - } - } - }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, + } + } + }, + "/v1/FlexFlows/{Sid}": { "servers": [ { "url": "https://flex-api.twilio.com" } ], + "description": "Flex Flow", "x-twilio": { "defaultOutputProperties": [ "sid", @@ -1197,30 +1214,34 @@ "channel_type", "integration_type" ], - "pathType": "list" - } - }, - "/v1/FlexFlows/{Sid}": { - "delete": { + "pathType": "instance" + }, + "get": { "description": "", - "operationId": "DeleteFlexFlow", "parameters": [ { - "description": "The SID of the Flex Flow resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Flex Flow resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FO[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FO[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/flex.v1.flex_flow" + } + } + }, + "description": "OK" } }, "security": [ @@ -1228,26 +1249,25 @@ "accountSid_authToken": [] } ], + "operationId": "FetchFlexFlow", "x-maturity": [ "GA" ] }, - "description": "Flex Flow", - "get": { + "post": { "description": "", - "operationId": "FetchFlexFlow", "parameters": [ { - "description": "The SID of the Flex Flow resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Flex Flow resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FO[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FO[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1267,34 +1287,30 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateFlexFlow", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "", - "operationId": "UpdateFlexFlow", - "parameters": [ - { - "description": "The SID of the Flex Flow resource to update.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^FO[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateFlexFlowRequest", "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the Flex Flow resource." + }, + "ChatServiceSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", + "description": "The SID of the chat service." + }, "ChannelType": { - "description": "The channel type. One of `web`, `facebook`, `sms`, `whatsapp`, `line` or `custom`. By default, Studio\u2019s Send to Flex widget passes it on to the Task attributes for Tasks created based on this Flex Flow. The Task attributes will be used by the Flex UI to render the respective Task as appropriate (applying channel-specific design and length limits). If `channelType` is `facebook`, `whatsapp` or `line`, the Send to Flex widget should set the Task Channel to Programmable Chat.", + "type": "string", "enum": [ "web", "sms", @@ -1303,103 +1319,152 @@ "line", "custom" ], - "type": "string" - }, - "ChatServiceSid": { - "description": "The SID of the chat service.", - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The channel type. One of `web`, `facebook`, `sms`, `whatsapp`, `line` or `custom`. By default, Studio\u2019s Send to Flex widget passes it on to the Task attributes for Tasks created based on this Flex Flow. The Task attributes will be used by the Flex UI to render the respective Task as appropriate (applying channel-specific design and length limits). If `channelType` is `facebook`, `whatsapp` or `line`, the Send to Flex widget should set the Task Channel to Programmable Chat." }, "ContactIdentity": { - "description": "The channel contact's Identity.", - "type": "string" + "type": "string", + "description": "The channel contact's Identity." }, "Enabled": { - "description": "Whether the new Flex Flow is enabled.", - "type": "boolean" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the Flex Flow resource.", - "type": "string" - }, - "Integration.Channel": { - "description": "The Task Channel SID (TCXXXX) or unique name (e.g., `sms`) to use for the Task that will be created. Applicable and required when `integrationType` is `task`. The default value is `default`.", - "type": "string" + "type": "boolean", + "description": "Whether the new Flex Flow is enabled." }, - "Integration.CreationOnMessage": { - "description": "In the context of outbound messaging, defines whether to create a Task immediately (and therefore reserve the conversation to current agent), or delay Task creation until the customer sends the first response. Set to false to create immediately, true to delay Task creation. This setting is only applicable for outbound messaging.", - "type": "boolean" + "IntegrationType": { + "type": "string", + "enum": [ + "studio", + "external", + "task" + ], + "description": "The software that will handle inbound messages. [Integration Type](https://www.twilio.com/docs/flex/developer/messaging/manage-flows#integration-types) can be: `studio`, `external`, or `task`." }, "Integration.FlowSid": { - "description": "The SID of the Studio Flow. Required when `integrationType` is `studio`.", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - }, - "Integration.Priority": { - "description": "The Task priority of a new Task. The default priority is 0. Optional when `integrationType` is `task`, not applicable otherwise.", - "type": "integer" - }, - "Integration.RetryCount": { - "description": "The number of times to retry the Studio Flow or webhook in case of failure. Takes integer values from 0 to 3 with the default being 3. Optional when `integrationType` is `studio` or `external`, not applicable otherwise.", - "type": "integer" - }, - "Integration.Timeout": { - "description": "The Task timeout in seconds for a new Task. Default is 86,400 seconds (24 hours). Optional when `integrationType` is `task`, not applicable otherwise.", - "type": "integer" + "description": "The SID of the Studio Flow. Required when `integrationType` is `studio`." }, "Integration.Url": { - "description": "The URL of the external webhook. Required when `integrationType` is `external`.", + "type": "string", "format": "uri", - "type": "string" + "description": "The URL of the external webhook. Required when `integrationType` is `external`." }, - "Integration.WorkflowSid": { - "description": "The Workflow SID for a new Task. Required when `integrationType` is `task`.", + "Integration.WorkspaceSid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$", + "description": "The Workspace SID for a new Task. Required when `integrationType` is `task`." + }, + "Integration.WorkflowSid": { + "type": "string", "minLength": 34, + "maxLength": 34, "pattern": "^WW[0-9a-fA-F]{32}$", - "type": "string" + "description": "The Workflow SID for a new Task. Required when `integrationType` is `task`." }, - "Integration.WorkspaceSid": { - "description": "The Workspace SID for a new Task. Required when `integrationType` is `task`.", - "maxLength": 34, - "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" + "Integration.Channel": { + "type": "string", + "description": "The Task Channel SID (TCXXXX) or unique name (e.g., `sms`) to use for the Task that will be created. Applicable and required when `integrationType` is `task`. The default value is `default`." }, - "IntegrationType": { - "description": "The software that will handle inbound messages. [Integration Type](https://www.twilio.com/docs/flex/developer/messaging/manage-flows#integration-types) can be: `studio`, `external`, or `task`.", - "enum": [ - "studio", - "external", - "task" - ], - "type": "string" + "Integration.Timeout": { + "type": "integer", + "description": "The Task timeout in seconds for a new Task. Default is 86,400 seconds (24 hours). Optional when `integrationType` is `task`, not applicable otherwise." }, - "JanitorEnabled": { - "description": "When enabled, the Messaging Channel Janitor will remove active Proxy sessions if the associated Task is deleted outside of the Flex UI. Defaults to `false`.", - "type": "boolean" + "Integration.Priority": { + "type": "integer", + "description": "The Task priority of a new Task. The default priority is 0. Optional when `integrationType` is `task`, not applicable otherwise." + }, + "Integration.CreationOnMessage": { + "type": "boolean", + "description": "In the context of outbound messaging, defines whether to create a Task immediately (and therefore reserve the conversation to current agent), or delay Task creation until the customer sends the first response. Set to false to create immediately, true to delay Task creation. This setting is only applicable for outbound messaging." }, "LongLived": { - "description": "When enabled, Flex will keep the chat channel active so that it may be used for subsequent interactions with a contact identity. Defaults to `false`.", - "type": "boolean" + "type": "boolean", + "description": "When enabled, Flex will keep the chat channel active so that it may be used for subsequent interactions with a contact identity. Defaults to `false`." + }, + "JanitorEnabled": { + "type": "boolean", + "description": "When enabled, the Messaging Channel Janitor will remove active Proxy sessions if the associated Task is deleted outside of the Flex UI. Defaults to `false`." + }, + "Integration.RetryCount": { + "type": "integer", + "description": "The number of times to retry the Studio Flow or webhook in case of failure. Takes integer values from 0 to 3 with the default being 3. Optional when `integrationType` is `studio` or `external`, not applicable otherwise." } - }, - "title": "UpdateFlexFlowRequest", - "type": "object" + } } } } + } + }, + "delete": { + "description": "", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The SID of the Flex Flow resource to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^FO[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteFlexFlow", + "x-maturity": [ + "GA" + ] + } + }, + "/v1/Interactions/{Sid}": { + "servers": [ + { + "url": "https://flex-api.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid" + ], + "pathType": "instance" + }, + "get": { + "description": "", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The SID of the Interaction resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^KD[0-9a-fA-F]{32}$" + }, + "required": true + } + ], "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/flex.v1.flex_flow" + "$ref": "#/components/schemas/flex.v1.interaction" } } }, @@ -1411,52 +1476,27 @@ "accountSid_authToken": [] } ], + "operationId": "FetchInteraction", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Interactions": { "servers": [ { "url": "https://flex-api.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ - "sid", - "friendly_name", - "channel_type", - "integration_type" + "sid" ], - "pathType": "instance" - } - }, - "/v1/Interactions": { - "description": "TODO: Resource-level docs", + "pathType": "list" + }, "post": { "description": "Create a new Interaction.", - "operationId": "CreateInteraction", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Channel": { - "description": "The Interaction's channel." - }, - "Routing": { - "description": "The Interaction's routing logic." - } - }, - "required": [ - "Channel", - "Routing" - ], - "title": "CreateInteractionRequest", - "type": "object" - } - } - } - }, "responses": { "201": { "content": { @@ -1474,49 +1514,75 @@ "accountSid_authToken": [] } ], + "operationId": "CreateInteraction", "x-maturity": [ "GA" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateInteractionRequest", + "properties": { + "Channel": { + "description": "The Interaction's channel." + }, + "Routing": { + "description": "The Interaction's routing logic." + } + }, + "required": [ + "Channel", + "Routing" + ] + } + } + } + } + } + }, + "/v1/Interactions/{InteractionSid}/Channels/{Sid}": { "servers": [ { "url": "https://flex-api.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid" ], - "pathType": "list" - } - }, - "/v1/Interactions/{InteractionSid}/Channels": { - "description": "TODO: Resource-level docs", + "pathType": "instance", + "parent": "/Interactions", + "className": "interaction_channel" + }, "get": { - "description": "List all Channels for an Interaction.", - "operationId": "ListInteractionChannel", + "description": "Fetch a Channel for an Interaction.", "parameters": [ { - "description": "The unique string created by Twilio to identify an Interaction resource, prefixed with KD.", - "in": "path", "name": "InteractionSid", - "required": true, + "in": "path", + "description": "The unique string created by Twilio to identify an Interaction resource, prefixed with KD.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^KD[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^KD[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", - "name": "PageSize", + "name": "Sid", + "in": "path", + "description": "The unique string created by Twilio to identify an Interaction Channel resource, prefixed with UO.", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^UO[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1524,46 +1590,7 @@ "content": { "application/json": { "schema": { - "properties": { - "channels": { - "items": { - "$ref": "#/components/schemas/flex.v1.interaction.interaction_channel" - }, - "type": "array" - }, - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - } - }, - "title": "ListInteractionChannelResponse", - "type": "object" + "$ref": "#/components/schemas/flex.v1.interaction.interaction_channel" } } }, @@ -1575,62 +1602,127 @@ "accountSid_authToken": [] } ], + "operationId": "FetchInteractionChannel", "x-maturity": [ "GA" ] }, + "post": { + "description": "Update an existing Interaction.", + "parameters": [ + { + "name": "InteractionSid", + "in": "path", + "description": "The unique string created by Twilio to identify an Interaction resource, prefixed with KD.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^KD[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The unique string created by Twilio to identify an Interaction Channel resource, prefixed with UO.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^UO[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/flex.v1.interaction.interaction_channel" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "UpdateInteractionChannel", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateInteractionChannelRequest", + "properties": { + "Status": { + "type": "string", + "enum": [ + "close", + "closed", + "wrapup" + ], + "description": "Required. Indicates the Interaction channel's status. When a channel is set to `closed`, all tasks are put in the `wrapping` state by default unless the Routing status is set to `closed` in which case the tasks will be `completed`. Value: `closed`." + }, + "Routing": { + "description": "Optional. The state of associated tasks. If not specified, all tasks will be set to `wrapping`." + } + }, + "required": [ + "Status" + ] + } + } + } + } + } + }, + "/v1/Interactions/{InteractionSid}/Channels": { "servers": [ { "url": "https://flex-api.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { - "className": "interaction_channel", "defaultOutputProperties": [ "sid" ], + "pathType": "list", "parent": "/Interactions", - "pathType": "list" - } - }, - "/v1/Interactions/{InteractionSid}/Channels/{ChannelSid}/Invites": { - "description": "TODO: Resource-level docs", + "className": "interaction_channel" + }, "get": { - "description": "List all Invites for a Channel.", - "operationId": "ListInteractionChannelInvite", + "description": "List all Channels for an Interaction.", "parameters": [ { - "description": "The Interaction SID for this Channel.", - "in": "path", "name": "InteractionSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^KD[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Channel SID for this Participant.", "in": "path", - "name": "ChannelSid", - "required": true, + "description": "The unique string created by Twilio to identify an Interaction resource, prefixed with KD.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^UO[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^KD[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1639,25 +1731,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListInteractionChannelResponse", "properties": { - "invites": { + "channels": { + "type": "array", "items": { - "$ref": "#/components/schemas/flex.v1.interaction.interaction_channel.interaction_channel_invite" - }, - "type": "array" + "$ref": "#/components/schemas/flex.v1.interaction.interaction_channel" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1666,19 +1758,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListInteractionChannelInviteResponse", - "type": "object" + } } } }, @@ -1690,57 +1782,55 @@ "accountSid_authToken": [] } ], + "operationId": "ListInteractionChannel", "x-maturity": [ "GA" ] + } + }, + "/v1/Interactions/{InteractionSid}/Channels/{ChannelSid}/Invites": { + "servers": [ + { + "url": "https://flex-api.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid" + ], + "pathType": "list", + "parent": "/Interactions/{InteractionSid}/Channels", + "className": "interaction_channel_invite" }, "post": { "description": "Invite an Agent or a TaskQueue to a Channel.", - "operationId": "CreateInteractionChannelInvite", "parameters": [ { - "description": "The Interaction SID for this Channel.", - "in": "path", "name": "InteractionSid", - "required": true, + "in": "path", + "description": "The Interaction SID for this Channel.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^KD[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^KD[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Channel SID for this Invite.", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "The Channel SID for this Invite.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^UO[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^UO[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Routing": { - "description": "The Interaction's routing logic." - } - }, - "required": [ - "Routing" - ], - "title": "CreateInteractionChannelInviteRequest", - "type": "object" - } - } - } - }, "responses": { "201": { "content": { @@ -1758,62 +1848,64 @@ "accountSid_authToken": [] } ], + "operationId": "CreateInteractionChannelInvite", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://flex-api.twilio.com" - } - ], - "x-twilio": { - "className": "interaction_channel_invite", - "defaultOutputProperties": [ - "sid" ], - "parent": "/Interactions/{InteractionSid}/Channels", - "pathType": "list" - } - }, - "/v1/Interactions/{InteractionSid}/Channels/{ChannelSid}/Participants": { - "description": "TODO: Resource-level docs", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateInteractionChannelInviteRequest", + "properties": { + "Routing": { + "description": "The Interaction's routing logic." + } + }, + "required": [ + "Routing" + ] + } + } + } + } + }, "get": { - "description": "List all Participants for a Channel.", - "operationId": "ListInteractionChannelParticipant", + "description": "List all Invites for a Channel.", "parameters": [ { - "description": "The Interaction Sid for this channel.", - "in": "path", "name": "InteractionSid", - "required": true, + "in": "path", + "description": "The Interaction SID for this Channel.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^KD[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^KD[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Channel Sid for this Participant.", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "The Channel SID for this Participant.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^UO[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^UO[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1822,19 +1914,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListInteractionChannelInviteResponse", "properties": { + "invites": { + "type": "array", + "items": { + "$ref": "#/components/schemas/flex.v1.interaction.interaction_channel.interaction_channel_invite" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1843,25 +1941,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "participants": { - "items": { - "$ref": "#/components/schemas/flex.v1.interaction.interaction_channel.interaction_channel_participant" - }, - "type": "array" + } } - }, - "title": "ListInteractionChannelParticipantResponse", - "type": "object" + } } } }, @@ -1873,69 +1965,55 @@ "accountSid_authToken": [] } ], + "operationId": "ListInteractionChannelInvite", "x-maturity": [ "GA" ] + } + }, + "/v1/Interactions/{InteractionSid}/Channels/{ChannelSid}/Participants": { + "servers": [ + { + "url": "https://flex-api.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid" + ], + "pathType": "list", + "parent": "/Interactions/{InteractionSid}/Channels", + "className": "interaction_channel_participant" }, "post": { "description": "Add a Participant to a Channel.", - "operationId": "CreateInteractionChannelParticipant", "parameters": [ { - "description": "The Interaction Sid for the new Channel Participant.", - "in": "path", "name": "InteractionSid", - "required": true, + "in": "path", + "description": "The Interaction Sid for the new Channel Participant.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^KD[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^KD[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Channel Sid for the new Channel Participant.", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "The Channel Sid for the new Channel Participant.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^UO[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^UO[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "MediaProperties": { - "description": "JSON representing the Media Properties for the new Participant." - }, - "Type": { - "description": "Participant type. Can be: `agent`, `customer`, `supervisor`, `external` or `unknown`.", - "enum": [ - "supervisor", - "customer", - "external", - "agent", - "unknown" - ], - "type": "string" - } - }, - "required": [ - "Type", - "MediaProperties" - ], - "title": "CreateInteractionChannelParticipantRequest", - "type": "object" - } - } - } - }, "responses": { "201": { "content": { @@ -1953,240 +2031,124 @@ "accountSid_authToken": [] } ], + "operationId": "CreateInteractionChannelParticipant", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://flex-api.twilio.com" - } - ], - "x-twilio": { - "className": "interaction_channel_participant", - "defaultOutputProperties": [ - "sid" - ], - "parent": "/Interactions/{InteractionSid}/Channels", - "pathType": "list" - } - }, - "/v1/Interactions/{InteractionSid}/Channels/{ChannelSid}/Participants/{Sid}": { - "description": "TODO: Resource-level docs", - "post": { - "description": "Update an existing Channel Participant.", - "operationId": "UpdateInteractionChannelParticipant", - "parameters": [ - { - "description": "The Interaction Sid for this channel.", - "in": "path", - "name": "InteractionSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^KD[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Channel Sid for this Participant.", - "in": "path", - "name": "ChannelSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^UO[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The unique string created by Twilio to identify an Interaction Channel resource.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^UO[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateInteractionChannelParticipantRequest", "properties": { - "Status": { - "description": "The Participant's status. Can be: `closed` or `wrapup`. Participant must be an agent.", + "Type": { + "type": "string", "enum": [ - "close", - "closed", - "wrapup" + "supervisor", + "customer", + "external", + "agent", + "unknown" ], - "type": "string" + "description": "Participant type. Can be: `agent`, `customer`, `supervisor`, `external` or `unknown`." + }, + "MediaProperties": { + "description": "JSON representing the Media Properties for the new Participant." } }, "required": [ - "Status" - ], - "title": "UpdateInteractionChannelParticipantRequest", - "type": "object" + "Type", + "MediaProperties" + ] } } } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/flex.v1.interaction.interaction_channel.interaction_channel_participant" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://flex-api.twilio.com" } - ], - "x-twilio": { - "className": "interaction_channel_participant", - "defaultOutputProperties": [ - "sid" - ], - "parent": "/Interactions/{InteractionSid}/Channels", - "pathType": "instance" - } - }, - "/v1/Interactions/{InteractionSid}/Channels/{Sid}": { - "description": "TODO: Resource-level docs", + }, "get": { - "description": "Fetch a Channel for an Interaction.", - "operationId": "FetchInteractionChannel", + "description": "List all Participants for a Channel.", "parameters": [ { - "description": "The unique string created by Twilio to identify an Interaction resource, prefixed with KD.", - "in": "path", "name": "InteractionSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^KD[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The unique string created by Twilio to identify an Interaction Channel resource, prefixed with UO.", "in": "path", - "name": "Sid", - "required": true, + "description": "The Interaction Sid for this channel.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^UO[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/flex.v1.interaction.interaction_channel" - } - } + "maxLength": 34, + "pattern": "^KD[0-9a-fA-F]{32}$" }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "Update an existing Interaction.", - "operationId": "UpdateInteractionChannel", - "parameters": [ + "required": true + }, { - "description": "The unique string created by Twilio to identify an Interaction resource, prefixed with KD.", + "name": "ChannelSid", "in": "path", - "name": "InteractionSid", - "required": true, + "description": "The Channel Sid for this Participant.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^KD[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^UO[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique string created by Twilio to identify an Interaction Channel resource, prefixed with UO.", - "in": "path", - "name": "Sid", - "required": true, + "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^UO[0-9a-fA-F]{32}$", - "type": "string" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Routing": { - "description": "Optional. The state of associated tasks. If not specified, all tasks will be set to `wrapping`." - }, - "Status": { - "description": "Required. Indicates the Interaction channel's status. When a channel is set to `closed`, all tasks are put in the `wrapping` state by default unless the Routing status is set to `closed` in which case the tasks will be `completed`. Value: `closed`.", - "enum": [ - "close", - "closed", - "wrapup" - ], - "type": "string" - } - }, - "required": [ - "Status" - ], - "title": "UpdateInteractionChannelRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/flex.v1.interaction.interaction_channel" + "type": "object", + "title": "ListInteractionChannelParticipantResponse", + "properties": { + "participants": { + "type": "array", + "items": { + "$ref": "#/components/schemas/flex.v1.interaction.interaction_channel.interaction_channel_participant" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -2198,41 +2160,65 @@ "accountSid_authToken": [] } ], + "operationId": "ListInteractionChannelParticipant", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Interactions/{InteractionSid}/Channels/{ChannelSid}/Participants/{Sid}": { "servers": [ { "url": "https://flex-api.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { - "className": "interaction_channel", "defaultOutputProperties": [ - "sid" - ], - "parent": "/Interactions", - "pathType": "instance" - } - }, - "/v1/Interactions/{Sid}": { - "description": "TODO: Resource-level docs", - "get": { - "description": "", - "operationId": "FetchInteraction", + "sid" + ], + "pathType": "instance", + "parent": "/Interactions/{InteractionSid}/Channels", + "className": "interaction_channel_participant" + }, + "post": { + "description": "Update an existing Channel Participant.", "parameters": [ { - "description": "The SID of the Interaction resource to fetch.", + "name": "InteractionSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The Interaction Sid for this channel.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^KD[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "ChannelSid", + "in": "path", + "description": "The Channel Sid for this Participant.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^UO[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The unique string created by Twilio to identify an Interaction Channel resource.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^KD[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^UO[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2240,7 +2226,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/flex.v1.interaction" + "$ref": "#/components/schemas/flex.v1.interaction.interaction_channel.interaction_channel_participant" } } }, @@ -2252,36 +2238,61 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateInteractionChannelParticipant", "x-maturity": [ "GA" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateInteractionChannelParticipantRequest", + "properties": { + "Status": { + "type": "string", + "enum": [ + "close", + "closed", + "wrapup" + ], + "description": "The Participant's status. Can be: `closed` or `wrapup`. Participant must be an agent." + } + }, + "required": [ + "Status" + ] + } + } + } + } + } + }, + "/v1/WebChannels": { "servers": [ { "url": "https://flex-api.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ - "sid" + "sid", + "flex_flow_sid" ], - "pathType": "instance" - } - }, - "/v1/WebChannels": { - "description": "TODO: Resource-level docs", + "pathType": "list" + }, "get": { "description": "", - "operationId": "ListWebChannel", "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -2290,25 +2301,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListWebChannelResponse", "properties": { "flex_chat_channels": { + "type": "array", "items": { "$ref": "#/components/schemas/flex.v1.web_channel" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -2317,19 +2328,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListWebChannelResponse", - "type": "object" + } } } }, @@ -2341,44 +2352,67 @@ "accountSid_authToken": [] } ], + "operationId": "ListWebChannel", "x-maturity": [ "GA" ] }, "post": { "description": "", + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/flex.v1.web_channel" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], "operationId": "CreateWebChannel", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateWebChannelRequest", "properties": { - "ChatFriendlyName": { - "description": "The chat channel's friendly name.", - "type": "string" - }, - "ChatUniqueName": { - "description": "The chat channel's unique name.", - "type": "string" - }, - "CustomerFriendlyName": { - "description": "The chat participant's friendly name.", - "type": "string" - }, "FlexFlowSid": { - "description": "The SID of the Flex Flow.", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, "pattern": "^FO[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Flex Flow." }, "Identity": { - "description": "The chat identity.", - "type": "string" + "type": "string", + "description": "The chat identity." + }, + "CustomerFriendlyName": { + "type": "string", + "description": "The chat participant's friendly name." + }, + "ChatFriendlyName": { + "type": "string", + "description": "The chat channel's friendly name." + }, + "ChatUniqueName": { + "type": "string", + "description": "The chat channel's unique name." }, "PreEngagementData": { - "description": "The pre-engagement data.", - "type": "string" + "type": "string", + "description": "The pre-engagement data." } }, "required": [ @@ -2386,68 +2420,53 @@ "Identity", "CustomerFriendlyName", "ChatFriendlyName" - ], - "title": "CreateWebChannelRequest", - "type": "object" + ] } } } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/flex.v1.web_channel" - } - } - }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, + } + } + }, + "/v1/WebChannels/{Sid}": { "servers": [ { "url": "https://flex-api.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", "flex_flow_sid" ], - "pathType": "list" - } - }, - "/v1/WebChannels/{Sid}": { - "delete": { + "pathType": "instance" + }, + "get": { "description": "", - "operationId": "DeleteWebChannel", "parameters": [ { - "description": "The SID of the WebChannel resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the WebChannel resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/flex.v1.web_channel" + } + } + }, + "description": "OK" } }, "security": [ @@ -2455,26 +2474,25 @@ "accountSid_authToken": [] } ], + "operationId": "FetchWebChannel", "x-maturity": [ "GA" ] }, - "description": "TODO: Resource-level docs", - "get": { + "post": { "description": "", - "operationId": "FetchWebChannel", "parameters": [ { - "description": "The SID of the WebChannel resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the WebChannel resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2494,60 +2512,53 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateWebChannel", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "", - "operationId": "UpdateWebChannel", - "parameters": [ - { - "description": "The SID of the WebChannel resource to update.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateWebChannelRequest", "properties": { "ChatStatus": { - "description": "The chat status. Can only be `inactive`.", + "type": "string", "enum": [ "inactive" ], - "type": "string" + "description": "The chat status. Can only be `inactive`." }, "PostEngagementData": { - "description": "The post-engagement data.", - "type": "string" + "type": "string", + "description": "The post-engagement data." } - }, - "title": "UpdateWebChannelRequest", - "type": "object" + } } } } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/flex.v1.web_channel" - } - } + } + }, + "delete": { + "description": "", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The SID of the WebChannel resource to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$" }, - "description": "OK" + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -2555,21 +2566,10 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteWebChannel", "x-maturity": [ "GA" ] - }, - "servers": [ - { - "url": "https://flex-api.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "flex_flow_sid" - ], - "pathType": "instance" } } }, @@ -2580,8 +2580,8 @@ ], "x-maturity": [ { - "description": "This product is Generally Available.", - "name": "GA" + "name": "GA", + "description": "This product is Generally Available." } ] } \ No newline at end of file diff --git a/spec/json/twilio_frontline_v1.json b/spec/json/twilio_frontline_v1.json index bb1ec0de..9fe9aff9 100644 --- a/spec/json/twilio_frontline_v1.json +++ b/spec/json/twilio_frontline_v1.json @@ -2,92 +2,103 @@ "components": { "schemas": { "frontline.v1.user": { + "type": "object", "properties": { - "avatar": { - "description": "The avatar URL which will be shown in Frontline application", - "nullable": true, - "type": "string" - }, - "friendly_name": { - "description": "The string that you assigned to describe the User", + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^US[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique string that identifies the resource" }, "identity": { - "description": "The string that identifies the resource's User", + "type": "string", "nullable": true, - "type": "string" + "description": "The string that identifies the resource's User" }, - "is_available": { - "description": "Whether the User is available for new conversations", + "friendly_name": { + "type": "string", "nullable": true, - "type": "boolean" + "description": "The string that you assigned to describe the User" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "avatar": { + "type": "string", "nullable": true, - "pattern": "^US[0-9a-fA-F]{32}$", - "type": "string" + "description": "The avatar URL which will be shown in Frontline application" }, "state": { - "description": "Current state of this user", + "type": "string", "enum": [ "active", "deactivated" ], "nullable": true, - "type": "string" + "description": "Current state of this user" + }, + "is_available": { + "type": "boolean", + "nullable": true, + "description": "Whether the User is available for new conversations" }, "url": { - "description": "An absolute URL for this user.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "An absolute URL for this user." } - }, - "type": "object" + } } }, "securitySchemes": { "accountSid_authToken": { - "scheme": "basic", - "type": "http" + "type": "http", + "scheme": "basic" } } }, "info": { + "title": "Twilio - Frontline", + "description": "This is the public Twilio REST API.", + "termsOfService": "https://www.twilio.com/legal/tos", "contact": { - "email": "support@twilio.com", "name": "Twilio Support", - "url": "https://support.twilio.com" + "url": "https://support.twilio.com", + "email": "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 - Frontline", "version": "1.30.0" }, "openapi": "3.0.1", "paths": { "/v1/Users/{Sid}": { + "servers": [ + { + "url": "https://frontline-api.twilio.com" + } + ], "description": "A User resource represents a frontline user.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "identity" + ], + "pathType": "instance" + }, "get": { "description": "Fetch a frontline user", - "operationId": "FetchUser", "parameters": [ { - "description": "The SID of the User resource to fetch. This value can be either the `sid` or the `identity` of the User resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the User resource to fetch. This value can be either the `sid` or the `identity` of the User resource to fetch.", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -107,56 +118,24 @@ "accountSid_authToken": [] } ], + "operationId": "FetchUser", "x-maturity": [ "Beta" ] }, "post": { "description": "Update an existing frontline user", - "operationId": "UpdateUser", "parameters": [ { - "description": "The SID of the User resource to update. This value can be either the `sid` or the `identity` of the User resource to update.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the User resource to update. This value can be either the `sid` or the `identity` of the User resource to update.", "schema": { "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Avatar": { - "description": "The avatar URL which will be shown in Frontline application.", - "type": "string" - }, - "FriendlyName": { - "description": "The string that you assigned to describe the User.", - "type": "string" - }, - "IsAvailable": { - "description": "Whether the User is available for new conversations. Set to `false` to prevent User from receiving new inbound conversations if you are using [Pool Routing](https://www.twilio.com/docs/frontline/handle-incoming-conversations#3-pool-routing).", - "type": "boolean" - }, - "State": { - "description": "Current state of this user. Can be either `active` or `deactivated`.", - "enum": [ - "active", - "deactivated" - ], - "type": "string" - } - }, - "title": "UpdateUserRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { @@ -174,21 +153,42 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateUser", "x-maturity": [ "Beta" - ] - }, - "servers": [ - { - "url": "https://frontline-api.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "identity" ], - "pathType": "instance" + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateUserRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "The string that you assigned to describe the User." + }, + "Avatar": { + "type": "string", + "description": "The avatar URL which will be shown in Frontline application." + }, + "State": { + "type": "string", + "enum": [ + "active", + "deactivated" + ], + "description": "Current state of this user. Can be either `active` or `deactivated`." + }, + "IsAvailable": { + "type": "boolean", + "description": "Whether the User is available for new conversations. Set to `false` to prevent User from receiving new inbound conversations if you are using [Pool Routing](https://www.twilio.com/docs/frontline/handle-incoming-conversations#3-pool-routing)." + } + } + } + } + } + } } } }, @@ -199,8 +199,8 @@ ], "x-maturity": [ { - "description": "PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution.", - "name": "Beta" + "name": "Beta", + "description": "PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution." } ] } \ No newline at end of file diff --git a/spec/json/twilio_insights_v1.json b/spec/json/twilio_insights_v1.json index af2f2b38..dc524e3a 100644 --- a/spec/json/twilio_insights_v1.json +++ b/spec/json/twilio_insights_v1.json @@ -2,92 +2,61 @@ "components": { "schemas": { "insights.v1.account_settings": { + "type": "object", "properties": { "account_sid": { - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true }, "advanced_features": { - "nullable": true, - "type": "boolean" - }, - "url": { - "format": "uri", - "nullable": true, - "type": "string" + "type": "boolean", + "nullable": true }, "voice_trace": { - "nullable": true, - "type": "boolean" - } - }, - "type": "object" - }, - "insights.v1.call": { - "properties": { - "links": { - "format": "uri-map", - "nullable": true, - "type": "object" - }, - "sid": { - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" + "type": "boolean", + "nullable": true }, "url": { + "type": "string", "format": "uri", - "nullable": true, - "type": "string" + "nullable": true } - }, - "type": "object" + } }, "insights.v1.call.annotation": { + "type": "object", "properties": { - "account_sid": { - "description": "Account SID.", - "maxLength": 34, + "call_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$", "nullable": true, + "description": "Call SID." + }, + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "Account SID." }, "answered_by": { - "description": "Indicates the answering entity as determined by Answering Machine Detection.", + "type": "string", "enum": [ "unknown_answered_by", "human", "machine" ], "nullable": true, - "type": "string" - }, - "call_score": { - "description": "Call Score", - "nullable": true, - "type": "integer" - }, - "call_sid": { - "description": "Call SID.", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" - }, - "comment": { - "description": "User comments", - "nullable": true, - "type": "string" + "description": "Indicates the answering entity as determined by Answering Machine Detection." }, "connectivity_issue": { - "description": "Indicates if the call had any connectivity issue", + "type": "string", "enum": [ "unknown_connectivity_issue", "no_connectivity_issue", @@ -97,179 +66,95 @@ "number_reachability" ], "nullable": true, - "type": "string" - }, - "incident": { - "description": "Call tag for incidents or support ticket", - "nullable": true, - "type": "string" + "description": "Indicates if the call had any connectivity issue" }, "quality_issues": { - "description": "Indicates if the call had audio quality issues.", + "type": "array", "items": { "type": "string" }, "nullable": true, - "type": "array" + "description": "Indicates if the call had audio quality issues." }, "spam": { - "description": "Call spam indicator", - "nullable": true, - "type": "boolean" - }, - "url": { - "description": "The URL of this resource.", - "format": "uri", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "insights.v1.call.event": { - "properties": { - "account_sid": { - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "call_sid": { - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" - }, - "carrier_edge": { - "nullable": true - }, - "client_edge": { - "nullable": true - }, - "edge": { - "enum": [ - "unknown_edge", - "carrier_edge", - "sip_edge", - "sdk_edge", - "client_edge" - ], + "type": "boolean", "nullable": true, - "type": "string" + "description": "Call spam indicator" }, - "group": { + "call_score": { + "type": "integer", "nullable": true, - "type": "string" + "description": "Call Score" }, - "level": { - "enum": [ - "UNKNOWN", - "DEBUG", - "INFO", - "WARNING", - "ERROR" - ], + "comment": { + "type": "string", "nullable": true, - "type": "string" + "description": "User comments" }, - "name": { + "incident": { + "type": "string", "nullable": true, - "type": "string" + "description": "Call tag for incidents or support ticket" }, - "sdk_edge": { - "nullable": true - }, - "sip_edge": { - "nullable": true - }, - "timestamp": { + "url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "string" + "description": "The URL of this resource." } - }, - "type": "object" + } }, - "insights.v1.call.metric": { + "insights.v1.call": { + "type": "object", "properties": { - "account_sid": { - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "call_sid": { "maxLength": 34, - "minLength": 34, - "nullable": true, "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" - }, - "carrier_edge": { "nullable": true }, - "client_edge": { - "nullable": true - }, - "direction": { - "enum": [ - "unknown", - "inbound", - "outbound", - "both" - ], - "nullable": true, - "type": "string" - }, - "edge": { - "enum": [ - "unknown_edge", - "carrier_edge", - "sip_edge", - "sdk_edge", - "client_edge" - ], - "nullable": true, - "type": "string" - }, - "sdk_edge": { + "url": { + "type": "string", + "format": "uri", "nullable": true }, - "sip_edge": { + "links": { + "type": "object", + "format": "uri-map", "nullable": true - }, - "timestamp": { - "nullable": true, - "type": "string" } - }, - "type": "object" + } }, - "insights.v1.call.summary": { + "insights.v1.call_summaries": { + "type": "object", "properties": { "account_sid": { - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "annotation": { - "nullable": true - }, - "attributes": { "nullable": true }, "call_sid": { - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true + }, + "call_type": { + "type": "string", + "enum": [ + "carrier", + "sip", + "trunking", + "client" + ], + "nullable": true }, "call_state": { + "type": "string", "enum": [ "ringing", "completed", @@ -280,55 +165,49 @@ "answered", "undialed" ], - "nullable": true, - "type": "string" + "nullable": true }, - "call_type": { + "processing_state": { + "type": "string", "enum": [ - "carrier", - "sip", - "trunking", - "client" + "complete", + "partial" ], - "nullable": true, - "type": "string" - }, - "carrier_edge": { "nullable": true }, - "client_edge": { + "created_time": { + "type": "string", + "format": "date-time", "nullable": true }, - "connect_duration": { - "nullable": true, - "type": "integer" + "start_time": { + "type": "string", + "format": "date-time", + "nullable": true }, - "created_time": { + "end_time": { + "type": "string", "format": "date-time", - "nullable": true, - "type": "string" + "nullable": true }, "duration": { - "nullable": true, - "type": "integer" + "type": "integer", + "nullable": true }, - "end_time": { - "format": "date-time", - "nullable": true, - "type": "string" + "connect_duration": { + "type": "integer", + "nullable": true }, "from": { "nullable": true }, - "processing_state": { - "enum": [ - "complete", - "partial" - ], - "nullable": true, - "type": "string" + "to": { + "nullable": true }, - "properties": { + "carrier_edge": { + "nullable": true + }, + "client_edge": { "nullable": true }, "sdk_edge": { @@ -337,185 +216,109 @@ "sip_edge": { "nullable": true }, - "start_time": { - "format": "date-time", - "nullable": true, - "type": "string" - }, "tags": { + "type": "array", "items": { "type": "string" }, - "nullable": true, - "type": "array" + "nullable": true }, - "to": { + "url": { + "type": "string", + "format": "uri", "nullable": true }, - "trust": { + "attributes": { "nullable": true }, - "url": { - "format": "uri", - "nullable": true, - "type": "string" + "properties": { + "nullable": true + }, + "trust": { + "nullable": true } - }, - "type": "object" + } }, - "insights.v1.call_summaries": { + "insights.v1.conference": { + "type": "object", "properties": { - "account_sid": { - "maxLength": 34, + "conference_sid": { + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "attributes": { - "nullable": true - }, - "call_sid": { "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" - }, - "call_state": { - "enum": [ - "ringing", - "completed", - "busy", - "fail", - "noanswer", - "canceled", - "answered", - "undialed" - ], + "pattern": "^CF[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "Conference SID." }, - "call_type": { - "enum": [ - "carrier", - "sip", - "trunking", - "client" - ], + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" - }, - "carrier_edge": { - "nullable": true + "description": "Account SID." }, - "client_edge": { - "nullable": true - }, - "connect_duration": { + "friendly_name": { + "type": "string", "nullable": true, - "type": "integer" + "description": "Custom label for the conference." }, - "created_time": { + "create_time": { + "type": "string", "format": "date-time", "nullable": true, - "type": "string" - }, - "duration": { - "nullable": true, - "type": "integer" + "description": "Conference creation date/time." }, - "end_time": { + "start_time": { + "type": "string", "format": "date-time", "nullable": true, - "type": "string" - }, - "from": { - "nullable": true - }, - "processing_state": { - "enum": [ - "complete", - "partial" - ], - "nullable": true, - "type": "string" - }, - "properties": { - "nullable": true - }, - "sdk_edge": { - "nullable": true + "description": "Timestamp in ISO 8601 format when the conference started." }, - "sip_edge": { - "nullable": true - }, - "start_time": { + "end_time": { + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "Conference end date/time." }, - "tags": { - "items": { - "type": "string" - }, + "duration_seconds": { + "type": "integer", "nullable": true, - "type": "array" - }, - "to": { - "nullable": true - }, - "trust": { - "nullable": true + "description": "Conference duration in seconds." }, - "url": { - "format": "uri", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "insights.v1.conference": { - "properties": { - "account_sid": { - "description": "Account SID.", - "maxLength": 34, - "minLength": 34, + "connect_duration_seconds": { + "type": "integer", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "Duration of the conference in seconds." }, - "conference_sid": { - "description": "Conference SID.", - "maxLength": 34, - "minLength": 34, + "status": { + "type": "string", + "enum": [ + "in_progress", + "not_started", + "completed", + "summary_timeout" + ], "nullable": true, - "pattern": "^CF[0-9a-fA-F]{32}$", - "type": "string" + "description": "Status of conference" }, - "connect_duration_seconds": { - "description": "Duration of the conference in seconds.", + "max_participants": { + "type": "integer", "nullable": true, - "type": "integer" + "description": "Max participants specified in config." }, - "create_time": { - "description": "Conference creation date/time.", - "format": "date-time", + "max_concurrent_participants": { + "type": "integer", "nullable": true, - "type": "string" - }, - "detected_issues": { - "description": "Potential issues detected during the conference.", - "nullable": true + "description": "Actual maximum concurrent participants." }, - "duration_seconds": { - "description": "Conference duration in seconds.", + "unique_participants": { + "type": "integer", "nullable": true, - "type": "integer" + "description": "Unique conference participants." }, "end_reason": { - "description": "Conference end reason.", + "type": "string", "enum": [ "last_participant_left", "conference_ended_via_api", @@ -524,45 +327,18 @@ "participant_with_end_conference_on_exit_kicked" ], "nullable": true, - "type": "string" - }, - "end_time": { - "description": "Conference end date/time.", - "format": "date-time", - "nullable": true, - "type": "string" + "description": "Conference end reason." }, "ended_by": { - "description": "Call SID that ended the conference.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" - }, - "friendly_name": { - "description": "Custom label for the conference.", - "nullable": true, - "type": "string" - }, - "links": { - "description": "Nested resource URLs.", - "format": "uri-map", - "nullable": true, - "type": "object" - }, - "max_concurrent_participants": { - "description": "Actual maximum concurrent participants.", - "nullable": true, - "type": "integer" - }, - "max_participants": { - "description": "Max participants specified in config.", "nullable": true, - "type": "integer" + "description": "Call SID that ended the conference." }, "mixer_region": { - "description": "Region where the conference was mixed.", + "type": "string", "enum": [ "us1", "au1", @@ -573,10 +349,10 @@ "de1" ], "nullable": true, - "type": "string" + "description": "Region where the conference was mixed." }, "mixer_region_requested": { - "description": "Configuration-requested conference mixer region.", + "type": "string", "enum": [ "us1", "au1", @@ -587,47 +363,21 @@ "de1" ], "nullable": true, - "type": "string" - }, - "processing_state": { - "description": "Processing state for the Conference Summary resource.", - "enum": [ - "complete", - "in_progress", - "timeout" - ], - "nullable": true, - "type": "string" + "description": "Configuration-requested conference mixer region." }, "recording_enabled": { - "description": "Boolean. Indicates whether recording was enabled.", - "nullable": true, - "type": "boolean" - }, - "start_time": { - "description": "Timestamp in ISO 8601 format when the conference started.", - "format": "date-time", + "type": "boolean", "nullable": true, - "type": "string" + "description": "Boolean. Indicates whether recording was enabled." }, - "status": { - "description": "Status of conference", - "enum": [ - "in_progress", - "not_started", - "completed", - "summary_timeout" - ], + "detected_issues": { "nullable": true, - "type": "string" - }, - "tag_info": { - "description": "Object. Contains details about conference tags.", - "nullable": true + "description": "Potential issues detected during the conference." }, "tags": { - "description": "Tags for detected conference conditions and participant behaviors.", + "type": "array", "items": { + "type": "string", "enum": [ "invalid_requested_region", "duplicate_identity", @@ -640,55 +390,100 @@ "high_latency", "low_mos", "detected_silence" - ], - "type": "string" + ] }, "nullable": true, - "type": "array" + "description": "Tags for detected conference conditions and participant behaviors." }, - "unique_participants": { - "description": "Unique conference participants.", + "tag_info": { + "nullable": true, + "description": "Object. Contains details about conference tags." + }, + "processing_state": { + "type": "string", + "enum": [ + "complete", + "in_progress", + "timeout" + ], "nullable": true, - "type": "integer" + "description": "Processing state for the Conference Summary resource." }, "url": { - "description": "The URL of this resource.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL of this resource." + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "Nested resource URLs." } - }, - "type": "object" + } }, "insights.v1.conference.conference_participant": { + "type": "object", "properties": { - "account_sid": { - "description": "Account SID.", + "participant_sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^CP[0-9a-fA-F]{32}$", + "nullable": true, + "description": "SID for this participant." + }, + "label": { + "type": "string", + "nullable": true, + "description": "The user-specified label of this participant." + }, + "conference_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CF[0-9a-fA-F]{32}$", + "nullable": true, + "description": "Conference SID." + }, + "call_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$", "nullable": true, + "description": "Unique SID identifier of the call." + }, + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "Account SID." }, "call_direction": { - "description": "Call direction of the participant.", + "type": "string", "enum": [ "inbound", "outbound" ], "nullable": true, - "type": "string" + "description": "Call direction of the participant." }, - "call_sid": { - "description": "Unique SID identifier of the call.", - "maxLength": 34, - "minLength": 34, + "from": { + "type": "string", "nullable": true, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" + "description": "Caller ID of the calling party." + }, + "to": { + "type": "string", + "nullable": true, + "description": "Called party." }, "call_status": { - "description": "Call status of the call that generated the participant.", + "type": "string", "enum": [ "answered", "completed", @@ -699,80 +494,47 @@ "canceled" ], "nullable": true, - "type": "string" - }, - "call_type": { - "description": "The Call Type of this Conference Participant.", - "enum": [ - "carrier", - "client", - "sip" - ], - "nullable": true, - "type": "string" + "description": "Call status of the call that generated the participant." }, - "coached_participants": { - "description": "Call SIDs coached by this participant.", - "items": { - "type": "string" - }, + "country_code": { + "type": "string", "nullable": true, - "type": "array" + "description": "ISO alpha-2 country code of the participant." }, - "conference_region": { - "description": "The Conference Region of this Conference Participant.", - "enum": [ - "us1", - "us2", - "au1", - "br1", - "ie1", - "jp1", - "sg1", - "de1" - ], + "is_moderator": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Boolean. Indicates whether participant had startConferenceOnEnter=true or endConferenceOnExit=true." }, - "conference_sid": { - "description": "Conference SID.", - "maxLength": 34, - "minLength": 34, + "join_time": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^CF[0-9a-fA-F]{32}$", - "type": "string" + "description": "ISO 8601 timestamp of participant join event." }, - "country_code": { - "description": "ISO alpha-2 country code of the participant.", + "leave_time": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "string" + "description": "ISO 8601 timestamp of participant leave event." }, "duration_seconds": { - "description": "Participant durations in seconds.", - "nullable": true, - "type": "integer" - }, - "events": { - "description": "Object containing information of actions taken by participants. Nested resource URLs.", - "nullable": true - }, - "from": { - "description": "Caller ID of the calling party.", + "type": "integer", "nullable": true, - "type": "string" + "description": "Participant durations in seconds." }, - "is_coach": { - "description": "Boolean. Indicated whether participant was a coach.", + "outbound_queue_length": { + "type": "integer", "nullable": true, - "type": "boolean" + "description": "Estimated time in queue at call creation." }, - "is_moderator": { - "description": "Boolean. Indicates whether participant had startConferenceOnEnter=true or endConferenceOnExit=true.", + "outbound_time_in_queue": { + "type": "integer", "nullable": true, - "type": "boolean" + "description": "Actual time in queue (seconds)." }, "jitter_buffer_size": { - "description": "The Jitter Buffer Size of this Conference Participant.", + "type": "string", "enum": [ "large", "small", @@ -780,41 +542,38 @@ "off" ], "nullable": true, - "type": "string" + "description": "The Jitter Buffer Size of this Conference Participant." }, - "join_time": { - "description": "ISO 8601 timestamp of participant join event.", - "format": "date-time", + "is_coach": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Boolean. Indicated whether participant was a coach." }, - "label": { - "description": "The user-specified label of this participant.", + "coached_participants": { + "type": "array", + "items": { + "type": "string" + }, "nullable": true, - "type": "string" + "description": "Call SIDs coached by this participant." }, - "leave_time": { - "description": "ISO 8601 timestamp of participant leave event.", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "metrics": { - "description": "Object. Contains participant quality metrics.", - "nullable": true - }, - "outbound_queue_length": { - "description": "Estimated time in queue at call creation.", - "nullable": true, - "type": "integer" - }, - "outbound_time_in_queue": { - "description": "Actual time in queue (seconds).", + "participant_region": { + "type": "string", + "enum": [ + "us1", + "us2", + "au1", + "br1", + "ie1", + "jp1", + "sg1", + "de1" + ], "nullable": true, - "type": "integer" + "description": "Twilio region where the participant media originates." }, - "participant_region": { - "description": "Twilio region where the participant media originates.", + "conference_region": { + "type": "string", "enum": [ "us1", "us2", @@ -826,283 +585,394 @@ "de1" ], "nullable": true, - "type": "string" + "description": "The Conference Region of this Conference Participant." }, - "participant_sid": { - "description": "SID for this participant.", - "maxLength": 34, - "minLength": 34, + "call_type": { + "type": "string", + "enum": [ + "carrier", + "client", + "sip" + ], "nullable": true, - "pattern": "^CP[0-9a-fA-F]{32}$", - "type": "string" + "description": "The Call Type of this Conference Participant." }, "processing_state": { - "description": "Processing state of the Participant Summary.", + "type": "string", "enum": [ "complete", "in_progress", "timeout" ], "nullable": true, - "type": "string" + "description": "Processing state of the Participant Summary." }, "properties": { - "description": "Participant properties and metadata.", - "nullable": true + "nullable": true, + "description": "Participant properties and metadata." }, - "to": { - "description": "Called party.", + "events": { + "nullable": true, + "description": "Object containing information of actions taken by participants. Nested resource URLs." + }, + "metrics": { "nullable": true, - "type": "string" + "description": "Object. Contains participant quality metrics." }, "url": { - "description": "The URL of this resource.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL of this resource." } - }, - "type": "object" + } }, - "insights.v1.video_room_summary": { + "insights.v1.call.event": { + "type": "object", "properties": { - "account_sid": { - "description": "Account SID associated with this room.", + "timestamp": { + "type": "string", + "nullable": true + }, + "call_sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$", + "nullable": true + }, + "account_sid": { + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "codecs": { - "description": "Codecs used by participants in the room.", - "items": { - "enum": [ - "VP8", - "H264", - "VP9" - ], - "type": "string" - }, - "nullable": true, - "type": "array" - }, - "concurrent_participants": { - "description": "Actual number of concurrent participants.", - "nullable": true, - "type": "integer" - }, - "create_time": { - "description": "Creation time of the room.", - "format": "date-time", - "nullable": true, - "type": "string" + "nullable": true }, - "created_method": { - "description": "How the room was created.", + "edge": { + "type": "string", "enum": [ - "sdk", - "ad_hoc", - "api" + "unknown_edge", + "carrier_edge", + "sip_edge", + "sdk_edge", + "client_edge" ], - "nullable": true, - "type": "string" + "nullable": true }, - "duration_sec": { - "description": "Total room duration from create time to end time.", - "nullable": true, - "type": "integer" + "group": { + "type": "string", + "nullable": true }, - "edge_location": { - "description": "Edge location of Twilio media servers for the room.", + "level": { + "type": "string", "enum": [ - "ashburn", - "dublin", - "frankfurt", - "singapore", - "sydney", - "sao_paulo", - "roaming", - "umatilla", - "tokyo" + "UNKNOWN", + "DEBUG", + "INFO", + "WARNING", + "ERROR" ], - "nullable": true, - "type": "string" + "nullable": true }, - "end_reason": { - "description": "Reason the room ended.", - "enum": [ - "room_ended_via_api", - "timeout" - ], - "nullable": true, - "type": "string" + "name": { + "type": "string", + "nullable": true }, - "end_time": { - "description": "End time for the room.", - "format": "date-time", - "nullable": true, - "type": "string" + "carrier_edge": { + "nullable": true }, - "links": { - "description": "Room subresources.", - "format": "uri-map", - "nullable": true, - "type": "object" + "sip_edge": { + "nullable": true }, - "max_concurrent_participants": { - "description": "Maximum number of participants allowed in the room at the same time allowed by the application settings.", - "nullable": true, - "type": "integer" + "sdk_edge": { + "nullable": true }, - "max_participants": { - "description": "Max number of total participants allowed by the application settings.", - "nullable": true, - "type": "integer" + "client_edge": { + "nullable": true + } + } + }, + "insights.v1.call.metric": { + "type": "object", + "properties": { + "timestamp": { + "type": "string", + "nullable": true }, - "media_region": { - "description": "Region of Twilio media servers for the room.", + "call_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$", + "nullable": true + }, + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true + }, + "edge": { + "type": "string", "enum": [ - "us1", - "us2", - "au1", - "br1", - "ie1", - "jp1", - "sg1", - "in1", - "de1", - "gll" + "unknown_edge", + "carrier_edge", + "sip_edge", + "sdk_edge", + "client_edge" ], - "nullable": true, - "type": "string" + "nullable": true }, - "processing_state": { - "description": "Video Log Analyzer resource state. Will be either `in-progress` or `complete`.", + "direction": { + "type": "string", "enum": [ - "complete", - "in_progress" + "unknown", + "inbound", + "outbound", + "both" ], - "nullable": true, - "type": "string" + "nullable": true }, - "recording_enabled": { - "description": "Boolean indicating if recording is enabled for the room.", - "nullable": true, - "type": "boolean" + "carrier_edge": { + "nullable": true }, - "room_name": { - "description": "room friendly name.", - "nullable": true, - "type": "string" + "sip_edge": { + "nullable": true }, - "room_sid": { - "description": "Unique identifier for the room.", + "sdk_edge": { + "nullable": true + }, + "client_edge": { + "nullable": true + } + } + }, + "insights.v1.call.summary": { + "type": "object", + "properties": { + "account_sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true + }, + "call_sid": { + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^RM[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$", + "nullable": true }, - "room_status": { - "description": "Status of the room.", + "call_type": { + "type": "string", "enum": [ - "in_progress", - "completed" + "carrier", + "sip", + "trunking", + "client" ], - "nullable": true, - "type": "string" + "nullable": true }, - "room_type": { - "description": "Type of room.", + "call_state": { + "type": "string", "enum": [ - "go", - "peer_to_peer", - "group", - "group_small" + "ringing", + "completed", + "busy", + "fail", + "noanswer", + "canceled", + "answered", + "undialed" ], - "nullable": true, - "type": "string" - }, - "status_callback": { - "description": "Webhook provided for status callbacks.", - "format": "uri", - "nullable": true, - "type": "string" + "nullable": true }, - "status_callback_method": { - "description": "HTTP method provided for status callback URL.", + "processing_state": { + "type": "string", "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" + "complete", + "partial" ], - "format": "http-method", - "nullable": true, - "type": "string" + "nullable": true }, - "total_participant_duration_sec": { - "description": "Combined amount of participant time in the room.", - "nullable": true, - "type": "integer" + "created_time": { + "type": "string", + "format": "date-time", + "nullable": true }, - "total_recording_duration_sec": { - "description": "Combined amount of recorded seconds for participants in the room.", - "nullable": true, - "type": "integer" + "start_time": { + "type": "string", + "format": "date-time", + "nullable": true }, - "unique_participant_identities": { - "description": "Unique number of participant identities.", - "nullable": true, - "type": "integer" + "end_time": { + "type": "string", + "format": "date-time", + "nullable": true }, - "unique_participants": { - "description": "Number of participants. May include duplicate identities for participants who left and rejoined.", - "nullable": true, - "type": "integer" + "duration": { + "type": "integer", + "nullable": true + }, + "connect_duration": { + "type": "integer", + "nullable": true + }, + "from": { + "nullable": true + }, + "to": { + "nullable": true + }, + "carrier_edge": { + "nullable": true + }, + "client_edge": { + "nullable": true + }, + "sdk_edge": { + "nullable": true + }, + "sip_edge": { + "nullable": true + }, + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true }, "url": { - "description": "URL for the room resource.", + "type": "string", "format": "uri", - "nullable": true, - "type": "string" + "nullable": true + }, + "attributes": { + "nullable": true + }, + "properties": { + "nullable": true + }, + "trust": { + "nullable": true + }, + "annotation": { + "nullable": true } - }, - "type": "object" + } }, "insights.v1.video_room_summary.video_participant_summary": { + "type": "object", "properties": { + "participant_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^PA[0-9a-fA-F]{32}$", + "nullable": true, + "description": "Unique identifier for the participant." + }, + "participant_identity": { + "type": "string", + "nullable": true, + "description": "The application-defined string that uniquely identifies the participant within a Room." + }, + "join_time": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "When the participant joined the room." + }, + "leave_time": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "When the participant left the room" + }, + "duration_sec": { + "type": "integer", + "nullable": true, + "description": "Amount of time in seconds the participant was in the room." + }, "account_sid": { - "description": "Account SID associated with the room.", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "Account SID associated with the room." + }, + "room_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^RM[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "Unique identifier for the room." + }, + "status": { + "type": "string", + "enum": [ + "in_progress", + "completed" + ], + "nullable": true, + "description": "Status of the room." }, "codecs": { - "description": "Codecs detected from the participant.", + "type": "array", "items": { + "type": "string", "enum": [ "VP8", "H264", "VP9" - ], - "type": "string" + ] }, "nullable": true, - "type": "array" + "description": "Codecs detected from the participant." }, - "duration_sec": { - "description": "Amount of time in seconds the participant was in the room.", + "end_reason": { + "type": "string", + "nullable": true, + "description": "Reason the participant left the room." + }, + "error_code": { + "type": "integer", + "nullable": true, + "description": "Errors encountered by the participant." + }, + "error_code_url": { + "type": "string", + "nullable": true, + "description": "Twilio error code dictionary link." + }, + "media_region": { + "type": "string", + "enum": [ + "us1", + "us2", + "au1", + "br1", + "ie1", + "jp1", + "sg1", + "in1", + "de1", + "gll" + ], + "nullable": true, + "description": "Twilio media region the participant connected to." + }, + "properties": { "nullable": true, - "type": "integer" + "description": "Object containing information about the participant's data from the room." }, "edge_location": { - "description": "Name of the edge location the participant connected to.", + "type": "string", "enum": [ "ashburn", "dublin", @@ -1115,37 +985,155 @@ "tokyo" ], "nullable": true, - "type": "string" + "description": "Name of the edge location the participant connected to." }, - "end_reason": { - "description": "Reason the participant left the room.", + "publisher_info": { "nullable": true, - "type": "string" + "description": "Object containing information about the SDK name and version." }, - "error_code": { - "description": "Errors encountered by the participant.", + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "URL of the participant resource." + } + } + }, + "insights.v1.video_room_summary": { + "type": "object", + "properties": { + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "integer" + "description": "Account SID associated with this room." }, - "error_code_url": { - "description": "Twilio error code dictionary link.", + "room_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RM[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "Unique identifier for the room." }, - "join_time": { - "description": "When the participant joined the room.", + "room_name": { + "type": "string", + "nullable": true, + "description": "room friendly name." + }, + "create_time": { + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "Creation time of the room." }, - "leave_time": { - "description": "When the participant left the room", + "end_time": { + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "End time for the room." + }, + "room_type": { + "type": "string", + "enum": [ + "go", + "peer_to_peer", + "group", + "group_small" + ], + "nullable": true, + "description": "Type of room." + }, + "room_status": { + "type": "string", + "enum": [ + "in_progress", + "completed" + ], + "nullable": true, + "description": "Status of the room." + }, + "status_callback": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "Webhook provided for status callbacks." + }, + "status_callback_method": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "nullable": true, + "description": "HTTP method provided for status callback URL." + }, + "created_method": { + "type": "string", + "enum": [ + "sdk", + "ad_hoc", + "api" + ], + "nullable": true, + "description": "How the room was created." + }, + "end_reason": { + "type": "string", + "enum": [ + "room_ended_via_api", + "timeout" + ], + "nullable": true, + "description": "Reason the room ended." + }, + "max_participants": { + "type": "integer", + "nullable": true, + "description": "Max number of total participants allowed by the application settings." + }, + "unique_participants": { + "type": "integer", + "nullable": true, + "description": "Number of participants. May include duplicate identities for participants who left and rejoined." + }, + "unique_participant_identities": { + "type": "integer", + "nullable": true, + "description": "Unique number of participant identities." + }, + "concurrent_participants": { + "type": "integer", + "nullable": true, + "description": "Actual number of concurrent participants." + }, + "max_concurrent_participants": { + "type": "integer", + "nullable": true, + "description": "Maximum number of participants allowed in the room at the same time allowed by the application settings." + }, + "codecs": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "VP8", + "H264", + "VP9" + ] + }, + "nullable": true, + "description": "Codecs used by participants in the room." }, "media_region": { - "description": "Twilio media region the participant connected to.", + "type": "string", "enum": [ "us1", "us2", @@ -1159,177 +1147,118 @@ "gll" ], "nullable": true, - "type": "string" + "description": "Region of Twilio media servers for the room." }, - "participant_identity": { - "description": "The application-defined string that uniquely identifies the participant within a Room.", + "duration_sec": { + "type": "integer", "nullable": true, - "type": "string" + "description": "Total room duration from create time to end time." }, - "participant_sid": { - "description": "Unique identifier for the participant.", - "maxLength": 34, - "minLength": 34, + "total_participant_duration_sec": { + "type": "integer", "nullable": true, - "pattern": "^PA[0-9a-fA-F]{32}$", - "type": "string" - }, - "properties": { - "description": "Object containing information about the participant's data from the room.", - "nullable": true + "description": "Combined amount of participant time in the room." }, - "publisher_info": { - "description": "Object containing information about the SDK name and version.", - "nullable": true - }, - "room_sid": { - "description": "Unique identifier for the room.", - "maxLength": 34, - "minLength": 34, + "total_recording_duration_sec": { + "type": "integer", "nullable": true, - "pattern": "^RM[0-9a-fA-F]{32}$", - "type": "string" + "description": "Combined amount of recorded seconds for participants in the room." }, - "status": { - "description": "Status of the room.", + "processing_state": { + "type": "string", "enum": [ - "in_progress", - "completed" + "complete", + "in_progress" ], "nullable": true, - "type": "string" + "description": "Video Log Analyzer resource state. Will be either `in-progress` or `complete`." }, - "url": { - "description": "URL of the participant resource.", - "format": "uri", + "recording_enabled": { + "type": "boolean", "nullable": true, - "type": "string" - } - }, - "type": "object" - } - }, - "securitySchemes": { - "accountSid_authToken": { - "scheme": "basic", - "type": "http" - } + "description": "Boolean indicating if recording is enabled for the room." + }, + "edge_location": { + "type": "string", + "enum": [ + "ashburn", + "dublin", + "frankfurt", + "singapore", + "sydney", + "sao_paulo", + "roaming", + "umatilla", + "tokyo" + ], + "nullable": true, + "description": "Edge location of Twilio media servers for the room." + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "URL for the room resource." + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "Room subresources." + } + } + } + }, + "securitySchemes": { + "accountSid_authToken": { + "type": "http", + "scheme": "basic" + } } }, "info": { + "title": "Twilio - Insights", + "description": "This is the public Twilio REST API.", + "termsOfService": "https://www.twilio.com/legal/tos", "contact": { - "email": "support@twilio.com", "name": "Twilio Support", - "url": "https://support.twilio.com" + "url": "https://support.twilio.com", + "email": "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 - Insights", "version": "1.30.0" }, "openapi": "3.0.1", "paths": { - "/v1/Conferences": { + "/v1/Voice/Settings": { + "servers": [ + { + "url": "https://insights.twilio.com" + } + ], "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "advanced_features", + "voice_trace" + ], + "pathType": "instance" + }, "get": { - "description": "Retrieve a list of Conferences.", - "operationId": "ListConference", + "description": "", "parameters": [ { - "description": "The SID of the conference.", - "in": "query", - "name": "ConferenceSid", - "schema": { - "type": "string" - } - }, - { - "description": "Custom label for the conference resource, up to 64 characters.", - "in": "query", - "name": "FriendlyName", - "schema": { - "type": "string" - } - }, - { - "description": "Conference status.", - "in": "query", - "name": "Status", - "schema": { - "type": "string" - } - }, - { - "description": "Conferences created after the provided timestamp specified in ISO 8601 format", - "in": "query", - "name": "CreatedAfter", - "schema": { - "type": "string" - } - }, - { - "description": "Conferences created before the provided timestamp specified in ISO 8601 format.", - "in": "query", - "name": "CreatedBefore", - "schema": { - "type": "string" - } - }, - { - "description": "Twilio region where the conference media was mixed.", - "in": "query", - "name": "MixerRegion", - "schema": { - "type": "string" - } - }, - { - "description": "Tags applied by Twilio for common potential configuration, quality, or performance issues.", - "in": "query", - "name": "Tags", - "schema": { - "type": "string" - } - }, - { - "description": "Account SID for the subaccount whose resources you wish to retrieve.", + "name": "SubaccountSid", "in": "query", - "name": "Subaccount", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "Potential configuration, behavior, or performance issues detected during the conference.", - "in": "query", - "name": "DetectedIssues", - "schema": { - "type": "string" - } - }, - { - "description": "Conference end reason; e.g. last participant left, modified by API, etc.", - "in": "query", - "name": "EndReason", - "schema": { - "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" + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" } } ], @@ -1338,46 +1267,7 @@ "content": { "application/json": { "schema": { - "properties": { - "conferences": { - "items": { - "$ref": "#/components/schemas/insights.v1.conference" - }, - "type": "array" - }, - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - } - }, - "title": "ListConferenceResponse", - "type": "object" + "$ref": "#/components/schemas/insights.v1.account_settings" } } }, @@ -1389,40 +1279,92 @@ "accountSid_authToken": [] } ], + "operationId": "FetchAccountSettings", "x-maturity": [ "GA" ] }, + "post": { + "description": "", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/insights.v1.account_settings" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "UpdateAccountSettings", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateAccountSettingsRequest", + "properties": { + "AdvancedFeatures": { + "type": "boolean", + "description": "" + }, + "VoiceTrace": { + "type": "boolean", + "description": "" + }, + "SubaccountSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "description": "" + } + } + } + } + } + } + } + }, + "/v1/Voice/{CallSid}/Annotation": { "servers": [ { "url": "https://insights.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ - "conference_sid", + "call_sid", "account_sid" ], - "pathType": "list" - } - }, - "/v1/Conferences/{ConferenceSid}": { - "description": "TODO: Resource-level docs", - "get": { - "description": "Fetch a specific Conference.", - "operationId": "FetchConference", + "pathType": "instance", + "parent": "/Voice/{Sid}" + }, + "post": { + "description": "Create/Update the annotation for the call", "parameters": [ { - "description": "The unique SID identifier of the Conference.", + "name": "CallSid", "in": "path", - "name": "ConferenceSid", - "required": true, + "description": "The unique string that Twilio created to identify this Call resource. It always starts with a CA.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CF[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1430,7 +1372,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/insights.v1.conference" + "$ref": "#/components/schemas/insights.v1.call.annotation" } } }, @@ -1442,74 +1384,79 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateAnnotation", "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://insights.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "conference_sid", - "account_sid" + "Beta" ], - "pathType": "instance" - } - }, - "/v1/Conferences/{ConferenceSid}/Participants": { - "description": "TODO: Resource-level docs", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateAnnotationRequest", + "properties": { + "AnsweredBy": { + "type": "string", + "enum": [ + "unknown_answered_by", + "human", + "machine" + ], + "description": "Which entity answered the call as determined by Answering Machine Detection. Use this to provide feedback on Answering Machine Detection accuracy. Possible enumerated values, one of: human, machine. human indicates the call was answered by a person. machine indicates the call was answered by an answering machine." + }, + "ConnectivityIssue": { + "type": "string", + "enum": [ + "unknown_connectivity_issue", + "no_connectivity_issue", + "invalid_number", + "caller_id", + "dropped_call", + "number_reachability" + ], + "description": "Specify if the call had any connectivity issues. Possible enumerated values, one : no_connectivity_issue, invalid_number, caller_id, dropped_call, number_reachability." + }, + "QualityIssues": { + "type": "string", + "description": "Specify if the call had any subjective quality issues. Possible values, one or more of: no_quality_issue, low_volume, choppy_robotic, echo, dtmf, latency, owa, static_noise. Use comma separated values to indicate multiple quality issues for the same call" + }, + "Spam": { + "type": "boolean", + "description": "Specify if the call was a spam call. Use this to provide feedback on whether calls placed from your account were marked as spam, or if inbound calls received by your account were unwanted spam. Is of type Boolean: true, false. Use true if the call was a spam call." + }, + "CallScore": { + "type": "integer", + "nullable": true, + "description": "Specify the call score. This is of type integer. Use a range of 1-5 to indicate the call experience score, with the following mapping as a reference for rating the call [5: Excellent, 4: Good, 3 : Fair, 2 : Poor, 1: Bad]." + }, + "Comment": { + "type": "string", + "description": "Specify any comments pertaining to the call. This of type string with a max limit of 100 characters. Twilio does not treat this field as PII, so don\u2019t put any PII in here." + }, + "Incident": { + "type": "string", + "description": "Associate this call with an incident or support ticket. This is of type string with a max limit of 100 characters. Twilio does not treat this field as PII, so don\u2019t put any PII in here." + } + } + } + } + } + } + }, "get": { - "description": "List Conference Participants.", - "operationId": "ListConferenceParticipant", + "description": "Fetch a specific Annotation.", "parameters": [ { - "description": "The unique SID identifier of the Conference.", + "name": "CallSid", "in": "path", - "name": "ConferenceSid", - "required": true, + "description": "The unique SID identifier of the Call.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CF[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The unique SID identifier of the Participant.", - "in": "query", - "name": "ParticipantSid", - "schema": { - "type": "string" - } - }, - { - "description": "User-specified label for a participant.", - "in": "query", - "name": "Label", - "schema": { - "type": "string" - } - }, - { - "description": "Conference events generated by application or participant activity; e.g. `hold`, `mute`, etc.", - "in": "query", - "name": "Events", - "schema": { - "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" - } + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1517,46 +1464,7 @@ "content": { "application/json": { "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "participants": { - "items": { - "$ref": "#/components/schemas/insights.v1.conference.conference_participant" - }, - "type": "array" - } - }, - "title": "ListConferenceParticipantResponse", - "type": "object" + "$ref": "#/components/schemas/insights.v1.call.annotation" } } }, @@ -1568,72 +1476,38 @@ "accountSid_authToken": [] } ], + "operationId": "FetchAnnotation", "x-maturity": [ - "GA" + "Beta" ] - }, + } + }, + "/v1/Voice/{Sid}": { "servers": [ { "url": "https://insights.twilio.com" } ], - "x-twilio": { - "className": "conference_participant", - "defaultOutputProperties": [ - "participant_sid", - "conference_sid", - "call_sid", - "account_sid" - ], - "parent": "/Conferences", - "pathType": "list" - } - }, - "/v1/Conferences/{ConferenceSid}/Participants/{ParticipantSid}": { "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [], + "pathType": "instance", + "className": "call" + }, "get": { - "description": "Fetch a specific Conference Participant Summary.", - "operationId": "FetchConferenceParticipant", + "description": "", "parameters": [ { - "description": "The unique SID identifier of the Conference.", + "name": "Sid", "in": "path", - "name": "ConferenceSid", - "required": true, + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CF[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The unique SID identifier of the Participant.", - "in": "path", - "name": "ParticipantSid", - "required": true, - "schema": { "maxLength": 34, - "minLength": 34, - "pattern": "^CP[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "Conference events generated by application or participant activity; e.g. `hold`, `mute`, etc.", - "in": "query", - "name": "Events", - "schema": { - "type": "string" - } - }, - { - "description": "Object. Contains participant call quality metrics.", - "in": "query", - "name": "Metrics", - "schema": { - "type": "string" - } + "pattern": "^CA[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1641,7 +1515,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/insights.v1.conference.conference_participant" + "$ref": "#/components/schemas/insights.v1.call" } } }, @@ -1653,121 +1527,229 @@ "accountSid_authToken": [] } ], + "operationId": "FetchCall", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Voice/Summaries": { "servers": [ { "url": "https://insights.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { - "className": "conference_participant", "defaultOutputProperties": [ - "participant_sid", - "conference_sid", + "account_sid", "call_sid", - "account_sid" + "create_time", + "start_time", + "end_time", + "duration", + "connect_duration", + "call_type", + "call_state" ], - "parent": "/Conferences", - "pathType": "instance" - } - }, - "/v1/Video/Rooms": { - "description": "TODO: Resource-level docs", + "pathType": "list", + "className": "call_summaries" + }, "get": { - "description": "Get a list of Programmable Video Rooms.", - "operationId": "ListVideoRoomSummary", + "description": "", "parameters": [ { - "description": "Type of room. Can be `go`, `peer_to_peer`, `group`, or `group_small`.", + "name": "From", "in": "query", - "name": "RoomType", + "description": "", "schema": { - "items": { - "enum": [ - "go", - "peer_to_peer", - "group", - "group_small" - ], - "type": "string" - }, - "type": "array" + "type": "string" } }, { - "description": "Codecs used by participants in the room. Can be `VP8`, `H264`, or `VP9`.", + "name": "To", "in": "query", - "name": "Codec", + "description": "", "schema": { - "items": { - "enum": [ - "VP8", - "H264", - "VP9" - ], - "type": "string" - }, - "type": "array" + "type": "string" } }, { - "description": "Room friendly name.", + "name": "FromCarrier", "in": "query", - "name": "RoomName", + "description": "", "schema": { "type": "string" } }, { - "description": "Only read rooms that started on or after this ISO 8601 timestamp.", + "name": "ToCarrier", "in": "query", - "name": "CreatedAfter", + "description": "", "schema": { - "format": "date-time", "type": "string" } }, { - "description": "Only read rooms that started before this ISO 8601 timestamp.", + "name": "FromCountryCode", "in": "query", - "name": "CreatedBefore", + "description": "", "schema": { - "format": "date-time", "type": "string" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", + "name": "ToCountryCode", "in": "query", - "name": "PageSize", + "description": "", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" + "type": "string" } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { + }, + { + "name": "Branded", + "in": "query", + "description": "", + "schema": { + "type": "boolean" + } + }, + { + "name": "VerifiedCaller", + "in": "query", + "description": "", + "schema": { + "type": "boolean" + } + }, + { + "name": "HasTag", + "in": "query", + "description": "", + "schema": { + "type": "boolean" + } + }, + { + "name": "StartTime", + "in": "query", + "description": "", + "schema": { + "type": "string" + } + }, + { + "name": "EndTime", + "in": "query", + "description": "", + "schema": { + "type": "string" + } + }, + { + "name": "CallType", + "in": "query", + "description": "", + "schema": { + "type": "string" + } + }, + { + "name": "CallState", + "in": "query", + "description": "", + "schema": { + "type": "string" + } + }, + { + "name": "Direction", + "in": "query", + "description": "", + "schema": { + "type": "string" + } + }, + { + "name": "ProcessingState", + "in": "query", + "description": "", + "schema": { + "type": "string", + "enum": [ + "completed", + "started", + "partial", + "all" + ] + } + }, + { + "name": "SortBy", + "in": "query", + "description": "", + "schema": { + "type": "string", + "enum": [ + "start_time", + "end_time" + ] + } + }, + { + "name": "Subaccount", + "in": "query", + "description": "", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + } + }, + { + "name": "AbnormalSession", + "in": "query", + "description": "", + "schema": { + "type": "boolean" + } + }, + { + "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 + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "ListCallSummariesResponse", + "properties": { + "call_summaries": { + "type": "array", + "items": { + "$ref": "#/components/schemas/insights.v1.call_summaries" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1776,25 +1758,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "rooms": { - "items": { - "$ref": "#/components/schemas/insights.v1.video_room_summary" - }, - "type": "array" + } } - }, - "title": "ListVideoRoomSummaryResponse", - "type": "object" + } } } }, @@ -1806,37 +1782,40 @@ "accountSid_authToken": [] } ], + "operationId": "ListCallSummaries", "x-maturity": [ - "Beta" + "GA" ] - }, + } + }, + "/v1/Conferences/{ConferenceSid}": { "servers": [ { "url": "https://insights.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ - "room_sid", - "create_time" + "conference_sid", + "account_sid" ], - "pathType": "list" - } - }, - "/v1/Video/Rooms/{RoomSid}": { - "description": "TODO: Resource-level docs", + "pathType": "instance" + }, "get": { - "description": "Get Video Log Analyzer data for a Room.", - "operationId": "FetchVideoRoomSummary", + "description": "Fetch a specific Conference.", "parameters": [ { - "description": "The SID of the Room resource.", + "name": "ConferenceSid", "in": "path", - "name": "RoomSid", - "required": true, + "description": "The unique SID identifier of the Conference.", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CF[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1844,7 +1823,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/insights.v1.video_room_summary" + "$ref": "#/components/schemas/insights.v1.conference" } } }, @@ -1856,145 +1835,121 @@ "accountSid_authToken": [] } ], + "operationId": "FetchConference", "x-maturity": [ - "Beta" + "GA" ] - }, + } + }, + "/v1/Conferences": { "servers": [ { "url": "https://insights.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ - "room_sid", - "create_time" + "conference_sid", + "account_sid" ], - "pathType": "instance" - } - }, - "/v1/Video/Rooms/{RoomSid}/Participants": { - "description": "TODO: Resource-level docs", + "pathType": "list" + }, "get": { - "description": "Get a list of room participants.", - "operationId": "ListVideoParticipantSummary", + "description": "Retrieve a list of Conferences.", "parameters": [ { - "description": "The SID of the Room resource.", - "in": "path", - "name": "RoomSid", - "required": true, + "name": "ConferenceSid", + "in": "query", + "description": "The SID of the conference.", "schema": { "type": "string" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", + "name": "FriendlyName", "in": "query", - "name": "PageSize", + "description": "Custom label for the conference resource, up to 64 characters.", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" + "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", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "participants": { - "items": { - "$ref": "#/components/schemas/insights.v1.video_room_summary.video_participant_summary" - }, - "type": "array" - } - }, - "title": "ListVideoParticipantSummaryResponse", - "type": "object" - } - } - }, - "description": "OK" - } - }, - "security": [ + }, { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "Beta" - ] - }, - "servers": [ - { - "url": "https://insights.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "participant_sid" - ], - "parent": "/Video/Rooms", - "pathType": "list" - } - }, - "/v1/Video/Rooms/{RoomSid}/Participants/{ParticipantSid}": { - "description": "TODO: Resource-level docs", - "get": { - "description": "Get Video Log Analyzer data for a Room Participant.", - "operationId": "FetchVideoParticipantSummary", - "parameters": [ + "name": "Status", + "in": "query", + "description": "Conference status.", + "schema": { + "type": "string" + } + }, { - "description": "The SID of the Room resource.", - "in": "path", - "name": "RoomSid", - "required": true, + "name": "CreatedAfter", + "in": "query", + "description": "Conferences created after the provided timestamp specified in ISO 8601 format", "schema": { "type": "string" } }, { - "description": "The SID of the Participant resource.", - "in": "path", - "name": "ParticipantSid", - "required": true, + "name": "CreatedBefore", + "in": "query", + "description": "Conferences created before the provided timestamp specified in ISO 8601 format.", "schema": { "type": "string" } + }, + { + "name": "MixerRegion", + "in": "query", + "description": "Twilio region where the conference media was mixed.", + "schema": { + "type": "string" + } + }, + { + "name": "Tags", + "in": "query", + "description": "Tags applied by Twilio for common potential configuration, quality, or performance issues.", + "schema": { + "type": "string" + } + }, + { + "name": "Subaccount", + "in": "query", + "description": "Account SID for the subaccount whose resources you wish to retrieve.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + } + }, + { + "name": "DetectedIssues", + "in": "query", + "description": "Potential configuration, behavior, or performance issues detected during the conference.", + "schema": { + "type": "string" + } + }, + { + "name": "EndReason", + "in": "query", + "description": "Conference end reason; e.g. last participant left, modified by API, etc.", + "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 + } } ], "responses": { @@ -2002,7 +1957,46 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/insights.v1.video_room_summary.video_participant_summary" + "type": "object", + "title": "ListConferenceResponse", + "properties": { + "conferences": { + "type": "array", + "items": { + "$ref": "#/components/schemas/insights.v1.conference" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -2014,98 +2008,80 @@ "accountSid_authToken": [] } ], + "operationId": "ListConference", "x-maturity": [ - "Beta" + "GA" ] - }, + } + }, + "/v1/Conferences/{ConferenceSid}/Participants/{ParticipantSid}": { "servers": [ { "url": "https://insights.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ - "participant_sid" + "participant_sid", + "conference_sid", + "call_sid", + "account_sid" ], - "parent": "/Video/Rooms", - "pathType": "instance" - } - }, - "/v1/Voice/Settings": { - "description": "TODO: Resource-level docs", + "pathType": "instance", + "parent": "/Conferences", + "className": "conference_participant" + }, "get": { - "description": "", - "operationId": "FetchAccountSettings", + "description": "Fetch a specific Conference Participant Summary.", "parameters": [ { - "description": "", - "in": "query", - "name": "SubaccountSid", + "name": "ConferenceSid", + "in": "path", + "description": "The unique SID identifier of the Conference.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^CF[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "ParticipantSid", + "in": "path", + "description": "The unique SID identifier of the Participant.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", + "maxLength": 34, + "pattern": "^CP[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Events", + "in": "query", + "description": "Conference events generated by application or participant activity; e.g. `hold`, `mute`, etc.", + "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/insights.v1.account_settings" - } - } - }, - "description": "OK" - } - }, - "security": [ + }, { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "", - "operationId": "UpdateAccountSettings", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "AdvancedFeatures": { - "description": "", - "type": "boolean" - }, - "SubaccountSid": { - "description": "", - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "VoiceTrace": { - "description": "", - "type": "boolean" - } - }, - "title": "UpdateAccountSettingsRequest", - "type": "object" - } + "name": "Metrics", + "in": "query", + "description": "Object. Contains participant call quality metrics.", + "schema": { + "type": "string" } } - }, + ], "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/insights.v1.account_settings" + "$ref": "#/components/schemas/insights.v1.conference.conference_participant" } } }, @@ -2117,194 +2093,333 @@ "accountSid_authToken": [] } ], + "operationId": "FetchConferenceParticipant", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Conferences/{ConferenceSid}/Participants": { "servers": [ { "url": "https://insights.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ - "advanced_features", - "voice_trace" + "participant_sid", + "conference_sid", + "call_sid", + "account_sid" ], - "pathType": "instance" - } - }, - "/v1/Voice/Summaries": { - "description": "TODO: Resource-level docs", + "pathType": "list", + "parent": "/Conferences", + "className": "conference_participant" + }, "get": { - "description": "", - "operationId": "ListCallSummaries", + "description": "List Conference Participants.", "parameters": [ { - "description": "", - "in": "query", - "name": "From", - "schema": { - "type": "string" - } - }, - { - "description": "", - "in": "query", - "name": "To", - "schema": { - "type": "string" - } - }, - { - "description": "", - "in": "query", - "name": "FromCarrier", + "name": "ConferenceSid", + "in": "path", + "description": "The unique SID identifier of the Conference.", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CF[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", + "name": "ParticipantSid", "in": "query", - "name": "ToCarrier", + "description": "The unique SID identifier of the Participant.", "schema": { "type": "string" } }, { - "description": "", + "name": "Label", "in": "query", - "name": "FromCountryCode", + "description": "User-specified label for a participant.", "schema": { "type": "string" } }, { - "description": "", + "name": "Events", "in": "query", - "name": "ToCountryCode", + "description": "Conference events generated by application or participant activity; e.g. `hold`, `mute`, etc.", "schema": { "type": "string" } }, { - "description": "", - "in": "query", - "name": "Branded", - "schema": { - "type": "boolean" - } - }, - { - "description": "", - "in": "query", - "name": "VerifiedCaller", - "schema": { - "type": "boolean" - } - }, - { - "description": "", + "name": "PageSize", "in": "query", - "name": "HasTag", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "type": "boolean" + "type": "integer", + "minimum": 1, + "maximum": 1000 } - }, + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "ListConferenceParticipantResponse", + "properties": { + "participants": { + "type": "array", + "items": { + "$ref": "#/components/schemas/insights.v1.conference.conference_participant" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } + } + } + }, + "description": "OK" + } + }, + "security": [ { - "description": "", - "in": "query", - "name": "StartTime", - "schema": { - "type": "string" - } - }, + "accountSid_authToken": [] + } + ], + "operationId": "ListConferenceParticipant", + "x-maturity": [ + "GA" + ] + } + }, + "/v1/Voice/{CallSid}/Events": { + "servers": [ + { + "url": "https://insights.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "timestamp", + "call_sid", + "account_sid", + "edge", + "name" + ], + "pathType": "list", + "parent": "/Voice/{Sid}" + }, + "get": { + "description": "", + "parameters": [ { + "name": "CallSid", + "in": "path", "description": "", - "in": "query", - "name": "EndTime", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", + "name": "Edge", "in": "query", - "name": "CallType", - "schema": { - "type": "string" - } - }, - { "description": "", - "in": "query", - "name": "CallState", "schema": { - "type": "string" + "type": "string", + "enum": [ + "unknown_edge", + "carrier_edge", + "sip_edge", + "sdk_edge", + "client_edge" + ] } }, { - "description": "", + "name": "PageSize", "in": "query", - "name": "Direction", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "type": "string" + "type": "integer", + "minimum": 1, + "maximum": 1000 } - }, + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "ListEventResponse", + "properties": { + "events": { + "type": "array", + "items": { + "$ref": "#/components/schemas/insights.v1.call.event" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } + } + } + }, + "description": "OK" + } + }, + "security": [ { - "description": "", - "in": "query", - "name": "ProcessingState", - "schema": { - "enum": [ - "completed", - "started", - "partial", - "all" - ], - "type": "string" - } - }, + "accountSid_authToken": [] + } + ], + "operationId": "ListEvent", + "x-maturity": [ + "Preview" + ] + } + }, + "/v1/Voice/{CallSid}/Metrics": { + "servers": [ + { + "url": "https://insights.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "timestamp", + "call_sid", + "account_sid", + "edge", + "direction" + ], + "pathType": "list", + "parent": "/Voice/{Sid}" + }, + "get": { + "description": "", + "parameters": [ { + "name": "CallSid", + "in": "path", "description": "", - "in": "query", - "name": "SortBy", "schema": { - "enum": [ - "start_time", - "end_time" - ], - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", + "name": "Edge", "in": "query", - "name": "Subaccount", + "description": "", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "type": "string", + "enum": [ + "unknown_edge", + "carrier_edge", + "sip_edge", + "sdk_edge", + "client_edge" + ] } }, { - "description": "", + "name": "Direction", "in": "query", - "name": "AbnormalSession", + "description": "", "schema": { - "type": "boolean" + "type": "string", + "enum": [ + "unknown", + "inbound", + "outbound", + "both" + ] } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -2313,25 +2428,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListMetricResponse", "properties": { - "call_summaries": { + "metrics": { + "type": "array", "items": { - "$ref": "#/components/schemas/insights.v1.call_summaries" - }, - "type": "array" + "$ref": "#/components/schemas/insights.v1.call.metric" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -2340,19 +2455,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListCallSummariesResponse", - "type": "object" + } } } }, @@ -2364,148 +2479,64 @@ "accountSid_authToken": [] } ], + "operationId": "ListMetric", "x-maturity": [ - "GA" + "Preview" ] - }, + } + }, + "/v1/Voice/{CallSid}/Summary": { "servers": [ { "url": "https://insights.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { - "className": "call_summaries", "defaultOutputProperties": [ - "account_sid", - "call_sid", - "create_time", - "start_time", - "end_time", - "duration", - "connect_duration", "call_type", - "call_state" + "call_state", + "processing_state", + "duration" ], - "pathType": "list" - } - }, - "/v1/Voice/{CallSid}/Annotation": { - "description": "TODO: Resource-level docs", + "pathType": "instance", + "parent": "/Voice/{Sid}", + "className": "call_summary" + }, "get": { - "description": "Fetch a specific Annotation.", - "operationId": "FetchAnnotation", + "description": "", "parameters": [ { - "description": "The unique SID identifier of the Call.", - "in": "path", "name": "CallSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/insights.v1.call.annotation" - } - } + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$" }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "Beta" - ] - }, - "post": { - "description": "Create/Update the annotation for the call", - "operationId": "UpdateAnnotation", - "parameters": [ + "required": true + }, { - "description": "The unique string that Twilio created to identify this Call resource. It always starts with a CA.", - "in": "path", - "name": "CallSid", - "required": true, + "name": "ProcessingState", + "in": "query", + "description": "", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" + "type": "string", + "enum": [ + "complete", + "partial" + ] } } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "AnsweredBy": { - "description": "Which entity answered the call as determined by Answering Machine Detection. Use this to provide feedback on Answering Machine Detection accuracy. Possible enumerated values, one of: human, machine. human indicates the call was answered by a person. machine indicates the call was answered by an answering machine.", - "enum": [ - "unknown_answered_by", - "human", - "machine" - ], - "type": "string" - }, - "CallScore": { - "description": "Specify the call score. This is of type integer. Use a range of 1-5 to indicate the call experience score, with the following mapping as a reference for rating the call [5: Excellent, 4: Good, 3 : Fair, 2 : Poor, 1: Bad].", - "nullable": true, - "type": "integer" - }, - "Comment": { - "description": "Specify any comments pertaining to the call. This of type string with a max limit of 100 characters. Twilio does not treat this field as PII, so don\u2019t put any PII in here.", - "type": "string" - }, - "ConnectivityIssue": { - "description": "Specify if the call had any connectivity issues. Possible enumerated values, one : no_connectivity_issue, invalid_number, caller_id, dropped_call, number_reachability.", - "enum": [ - "unknown_connectivity_issue", - "no_connectivity_issue", - "invalid_number", - "caller_id", - "dropped_call", - "number_reachability" - ], - "type": "string" - }, - "Incident": { - "description": "Associate this call with an incident or support ticket. This is of type string with a max limit of 100 characters. Twilio does not treat this field as PII, so don\u2019t put any PII in here.", - "type": "string" - }, - "QualityIssues": { - "description": "Specify if the call had any subjective quality issues. Possible values, one or more of: no_quality_issue, low_volume, choppy_robotic, echo, dtmf, latency, owa, static_noise. Use comma separated values to indicate multiple quality issues for the same call", - "type": "string" - }, - "Spam": { - "description": "Specify if the call was a spam call. Use this to provide feedback on whether calls placed from your account were marked as spam, or if inbound calls received by your account were unwanted spam. Is of type Boolean: true, false. Use true if the call was a spam call.", - "type": "boolean" - } - }, - "title": "UpdateAnnotationRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/insights.v1.call.annotation" + "$ref": "#/components/schemas/insights.v1.call.summary" } } }, @@ -2517,113 +2548,54 @@ "accountSid_authToken": [] } ], + "operationId": "FetchSummary", "x-maturity": [ - "Beta" + "GA" ] - }, + } + }, + "/v1/Video/Rooms/{RoomSid}/Participants/{ParticipantSid}": { "servers": [ { "url": "https://insights.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ - "call_sid", - "account_sid" + "participant_sid" ], - "parent": "/Voice/{Sid}", - "pathType": "instance" - } - }, - "/v1/Voice/{CallSid}/Events": { - "description": "TODO: Resource-level docs", + "pathType": "instance", + "parent": "/Video/Rooms" + }, "get": { - "description": "", - "operationId": "ListEvent", + "description": "Get Video Log Analyzer data for a Room Participant.", "parameters": [ { - "description": "", + "name": "RoomSid", "in": "path", - "name": "CallSid", - "required": true, + "description": "The SID of the Room resource.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CA[0-9a-fA-F]{32}$", "type": "string" - } + }, + "required": true }, { - "description": "", - "in": "query", - "name": "Edge", + "name": "ParticipantSid", + "in": "path", + "description": "The SID of the Participant resource.", "schema": { - "enum": [ - "unknown_edge", - "carrier_edge", - "sip_edge", - "sdk_edge", - "client_edge" - ], "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" - } + }, + "required": true } ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "events": { - "items": { - "$ref": "#/components/schemas/insights.v1.call.event" - }, - "type": "array" - }, - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - } - }, - "title": "ListEventResponse", - "type": "object" + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/insights.v1.video_room_summary.video_participant_summary" } } }, @@ -2635,82 +2607,46 @@ "accountSid_authToken": [] } ], + "operationId": "FetchVideoParticipantSummary", "x-maturity": [ - "Preview" + "Beta" ] - }, + } + }, + "/v1/Video/Rooms/{RoomSid}/Participants": { "servers": [ { "url": "https://insights.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ - "timestamp", - "call_sid", - "account_sid", - "edge", - "name" + "participant_sid" ], - "parent": "/Voice/{Sid}", - "pathType": "list" - } - }, - "/v1/Voice/{CallSid}/Metrics": { - "description": "TODO: Resource-level docs", + "pathType": "list", + "parent": "/Video/Rooms" + }, "get": { - "description": "", - "operationId": "ListMetric", + "description": "Get a list of room participants.", "parameters": [ { - "description": "", + "name": "RoomSid", "in": "path", - "name": "CallSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "", - "in": "query", - "name": "Edge", + "description": "The SID of the Room resource.", "schema": { - "enum": [ - "unknown_edge", - "carrier_edge", - "sip_edge", - "sdk_edge", - "client_edge" - ], "type": "string" - } + }, + "required": true }, { - "description": "", + "name": "PageSize", "in": "query", - "name": "Direction", - "schema": { - "enum": [ - "unknown", - "inbound", - "outbound", - "both" - ], - "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, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -2719,19 +2655,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListVideoParticipantSummaryResponse", "properties": { + "participants": { + "type": "array", + "items": { + "$ref": "#/components/schemas/insights.v1.video_room_summary.video_participant_summary" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -2740,25 +2682,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "metrics": { - "items": { - "$ref": "#/components/schemas/insights.v1.call.metric" - }, - "type": "array" + } } - }, - "title": "ListMetricResponse", - "type": "object" + } } } }, @@ -2770,56 +2706,37 @@ "accountSid_authToken": [] } ], + "operationId": "ListVideoParticipantSummary", "x-maturity": [ - "Preview" + "Beta" ] - }, + } + }, + "/v1/Video/Rooms/{RoomSid}": { "servers": [ { "url": "https://insights.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ - "timestamp", - "call_sid", - "account_sid", - "edge", - "direction" + "room_sid", + "create_time" ], - "parent": "/Voice/{Sid}", - "pathType": "list" - } - }, - "/v1/Voice/{CallSid}/Summary": { - "description": "TODO: Resource-level docs", + "pathType": "instance" + }, "get": { - "description": "", - "operationId": "FetchSummary", + "description": "Get Video Log Analyzer data for a Room.", "parameters": [ { - "description": "", + "name": "RoomSid", "in": "path", - "name": "CallSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "", - "in": "query", - "name": "ProcessingState", + "description": "The SID of the Room resource.", "schema": { - "enum": [ - "complete", - "partial" - ], "type": "string" - } + }, + "required": true } ], "responses": { @@ -2827,7 +2744,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/insights.v1.call.summary" + "$ref": "#/components/schemas/insights.v1.video_room_summary" } } }, @@ -2839,44 +2756,97 @@ "accountSid_authToken": [] } ], + "operationId": "FetchVideoRoomSummary", "x-maturity": [ - "GA" + "Beta" ] - }, + } + }, + "/v1/Video/Rooms": { "servers": [ { "url": "https://insights.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { - "className": "call_summary", "defaultOutputProperties": [ - "call_type", - "call_state", - "processing_state", - "duration" + "room_sid", + "create_time" ], - "parent": "/Voice/{Sid}", - "pathType": "instance" - } - }, - "/v1/Voice/{Sid}": { - "description": "TODO: Resource-level docs", + "pathType": "list" + }, "get": { - "description": "", - "operationId": "FetchCall", + "description": "Get a list of Programmable Video Rooms.", "parameters": [ { - "description": "", - "in": "path", - "name": "Sid", - "required": true, + "name": "RoomType", + "in": "query", + "description": "Type of room. Can be `go`, `peer_to_peer`, `group`, or `group_small`.", + "schema": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "go", + "peer_to_peer", + "group", + "group_small" + ] + } + } + }, + { + "name": "Codec", + "in": "query", + "description": "Codecs used by participants in the room. Can be `VP8`, `H264`, or `VP9`.", + "schema": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "VP8", + "H264", + "VP9" + ] + } + } + }, + { + "name": "RoomName", + "in": "query", + "description": "Room friendly name.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CA[0-9a-fA-F]{32}$", "type": "string" } + }, + { + "name": "CreatedAfter", + "in": "query", + "description": "Only read rooms that started on or after this ISO 8601 timestamp.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "CreatedBefore", + "in": "query", + "description": "Only read rooms that started before this ISO 8601 timestamp.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "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 + } } ], "responses": { @@ -2884,7 +2854,46 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/insights.v1.call" + "type": "object", + "title": "ListVideoRoomSummaryResponse", + "properties": { + "rooms": { + "type": "array", + "items": { + "$ref": "#/components/schemas/insights.v1.video_room_summary" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -2896,19 +2905,10 @@ "accountSid_authToken": [] } ], + "operationId": "ListVideoRoomSummary", "x-maturity": [ - "GA" + "Beta" ] - }, - "servers": [ - { - "url": "https://insights.twilio.com" - } - ], - "x-twilio": { - "className": "call", - "defaultOutputProperties": [], - "pathType": "instance" } } }, @@ -2919,16 +2919,16 @@ ], "x-maturity": [ { - "description": "This product is Generally Available.", - "name": "GA" + "name": "GA", + "description": "This product is Generally Available." }, { - "description": "PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution.", - "name": "Beta" + "name": "Beta", + "description": "PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution." }, { - "description": "PLEASE NOTE that this is a Preview product that is subject to change. Use it with caution. If you currently do not have developer preview access, please contact help@twilio.com.", - "name": "Preview" + "name": "Preview", + "description": "PLEASE NOTE that this is a Preview product that is subject to change. Use it with caution. If you currently do not have developer preview access, please contact help@twilio.com." } ] } \ No newline at end of file diff --git a/spec/json/twilio_ip_messaging_v1.json b/spec/json/twilio_ip_messaging_v1.json index 1a48cc61..16f326b8 100644 --- a/spec/json/twilio_ip_messaging_v1.json +++ b/spec/json/twilio_ip_messaging_v1.json @@ -1,804 +1,717 @@ { "components": { "schemas": { - "ip_messaging.v1.credential": { + "ip_messaging.v1.service.channel": { + "type": "object", "properties": { - "account_sid": { + "sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$", + "nullable": true + }, + "account_sid": { + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "format": "date-time", - "nullable": true, - "type": "string" + "nullable": true }, - "date_updated": { - "format": "date-time", - "nullable": true, - "type": "string" + "service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", + "nullable": true }, "friendly_name": { - "nullable": true, - "type": "string" + "type": "string", + "nullable": true }, - "sandbox": { - "nullable": true, - "type": "string" + "unique_name": { + "type": "string", + "nullable": true }, - "sid": { - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" + "attributes": { + "type": "string", + "nullable": true }, "type": { + "type": "string", "enum": [ - "gcm", - "apn", - "fcm" + "public", + "private" ], - "nullable": true, - "type": "string" - }, - "url": { - "format": "uri", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "ip_messaging.v1.service": { - "properties": { - "account_sid": { - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "consumption_report_interval": { - "nullable": true, - "type": "integer" + "nullable": true }, "date_created": { + "type": "string", "format": "date-time", - "nullable": true, - "type": "string" + "nullable": true }, "date_updated": { + "type": "string", "format": "date-time", - "nullable": true, - "type": "string" - }, - "default_channel_creator_role_sid": { - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - }, - "default_channel_role_sid": { - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - }, - "default_service_role_sid": { - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - }, - "friendly_name": { - "nullable": true, - "type": "string" - }, - "limits": { "nullable": true }, - "links": { - "format": "uri-map", - "nullable": true, - "type": "object" - }, - "notifications": { + "created_by": { + "type": "string", "nullable": true }, - "post_webhook_url": { - "nullable": true, - "type": "string" - }, - "pre_webhook_url": { - "nullable": true, - "type": "string" - }, - "reachability_enabled": { - "nullable": true, - "type": "boolean" - }, - "read_status_enabled": { - "nullable": true, - "type": "boolean" - }, - "sid": { - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "members_count": { + "type": "integer", + "nullable": true }, - "typing_indicator_timeout": { - "nullable": true, - "type": "integer" + "messages_count": { + "type": "integer", + "nullable": true }, "url": { + "type": "string", "format": "uri", - "nullable": true, - "type": "string" - }, - "webhook_filters": { - "items": { - "type": "string" - }, - "nullable": true, - "type": "array" - }, - "webhook_method": { - "nullable": true, - "type": "string" + "nullable": true }, - "webhooks": { + "links": { + "type": "object", + "format": "uri-map", "nullable": true } - }, - "type": "object" + } }, - "ip_messaging.v1.service.channel": { + "ip_messaging.v1.credential": { + "type": "object", "properties": { - "account_sid": { + "sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$", + "nullable": true + }, + "account_sid": { + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true }, - "attributes": { - "nullable": true, - "type": "string" + "friendly_name": { + "type": "string", + "nullable": true }, - "created_by": { - "nullable": true, - "type": "string" + "type": { + "type": "string", + "enum": [ + "gcm", + "apn", + "fcm" + ], + "nullable": true + }, + "sandbox": { + "type": "string", + "nullable": true }, "date_created": { + "type": "string", "format": "date-time", - "nullable": true, - "type": "string" + "nullable": true }, "date_updated": { + "type": "string", "format": "date-time", - "nullable": true, - "type": "string" - }, - "friendly_name": { - "nullable": true, - "type": "string" - }, - "links": { - "format": "uri-map", - "nullable": true, - "type": "object" - }, - "members_count": { - "nullable": true, - "type": "integer" - }, - "messages_count": { - "nullable": true, - "type": "integer" - }, - "service_sid": { - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - }, - "sid": { - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" - }, - "type": { - "enum": [ - "public", - "private" - ], - "nullable": true, - "type": "string" - }, - "unique_name": { - "nullable": true, - "type": "string" + "nullable": true }, "url": { + "type": "string", "format": "uri", - "nullable": true, - "type": "string" + "nullable": true } - }, - "type": "object" + } }, "ip_messaging.v1.service.channel.invite": { + "type": "object", "properties": { - "account_sid": { + "sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^IN[0-9a-fA-F]{32}$", + "nullable": true + }, + "account_sid": { + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true }, "channel_sid": { - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true }, - "created_by": { - "nullable": true, - "type": "string" + "service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", + "nullable": true + }, + "identity": { + "type": "string", + "nullable": true }, "date_created": { + "type": "string", "format": "date-time", - "nullable": true, - "type": "string" + "nullable": true }, "date_updated": { + "type": "string", "format": "date-time", - "nullable": true, - "type": "string" - }, - "identity": { - "nullable": true, - "type": "string" + "nullable": true }, "role_sid": { - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - }, - "service_sid": { "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "pattern": "^RL[0-9a-fA-F]{32}$", + "nullable": true }, - "sid": { - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^IN[0-9a-fA-F]{32}$", - "type": "string" + "created_by": { + "type": "string", + "nullable": true }, "url": { + "type": "string", "format": "uri", - "nullable": true, - "type": "string" + "nullable": true } - }, - "type": "object" + } }, "ip_messaging.v1.service.channel.member": { + "type": "object", "properties": { - "account_sid": { + "sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^MB[0-9a-fA-F]{32}$", + "nullable": true + }, + "account_sid": { + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true }, "channel_sid": { - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "format": "date-time", - "nullable": true, - "type": "string" + "nullable": true }, - "date_updated": { - "format": "date-time", - "nullable": true, - "type": "string" + "service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", + "nullable": true }, "identity": { - "nullable": true, - "type": "string" + "type": "string", + "nullable": true }, - "last_consumed_message_index": { - "nullable": true, - "type": "integer" + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true }, - "last_consumption_timestamp": { + "date_updated": { + "type": "string", "format": "date-time", - "nullable": true, - "type": "string" + "nullable": true }, "role_sid": { - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true }, - "service_sid": { - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "last_consumed_message_index": { + "type": "integer", + "nullable": true }, - "sid": { - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^MB[0-9a-fA-F]{32}$", - "type": "string" + "last_consumption_timestamp": { + "type": "string", + "format": "date-time", + "nullable": true }, "url": { + "type": "string", "format": "uri", - "nullable": true, - "type": "string" + "nullable": true } - }, - "type": "object" + } }, "ip_messaging.v1.service.channel.message": { + "type": "object", "properties": { - "account_sid": { - "maxLength": 34, + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IM[0-9a-fA-F]{32}$", + "nullable": true + }, + "account_sid": { + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true }, "attributes": { - "nullable": true, - "type": "string" + "type": "string", + "nullable": true }, - "body": { - "nullable": true, - "type": "string" + "service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", + "nullable": true }, - "channel_sid": { + "to": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$", + "nullable": true + }, + "channel_sid": { + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true }, "date_created": { + "type": "string", "format": "date-time", - "nullable": true, - "type": "string" + "nullable": true }, "date_updated": { + "type": "string", "format": "date-time", - "nullable": true, - "type": "string" - }, - "from": { - "nullable": true, - "type": "string" + "nullable": true }, - "index": { - "nullable": true, - "type": "integer" + "was_edited": { + "type": "boolean", + "nullable": true }, - "service_sid": { - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "from": { + "type": "string", + "nullable": true }, - "sid": { - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^IM[0-9a-fA-F]{32}$", - "type": "string" + "body": { + "type": "string", + "nullable": true }, - "to": { - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" + "index": { + "type": "integer", + "nullable": true }, "url": { + "type": "string", "format": "uri", - "nullable": true, - "type": "string" - }, - "was_edited": { - "nullable": true, - "type": "boolean" + "nullable": true } - }, - "type": "object" + } }, "ip_messaging.v1.service.role": { + "type": "object", "properties": { - "account_sid": { + "sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "nullable": true + }, + "account_sid": { + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "format": "date-time", - "nullable": true, - "type": "string" - }, - "date_updated": { - "format": "date-time", - "nullable": true, - "type": "string" - }, - "friendly_name": { - "nullable": true, - "type": "string" - }, - "permissions": { - "items": { - "type": "string" - }, - "nullable": true, - "type": "array" + "nullable": true }, "service_sid": { - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true }, - "sid": { - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "friendly_name": { + "type": "string", + "nullable": true }, "type": { + "type": "string", "enum": [ "channel", "deployment" ], - "nullable": true, - "type": "string" + "nullable": true + }, + "permissions": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true }, "url": { + "type": "string", "format": "uri", - "nullable": true, - "type": "string" + "nullable": true } - }, - "type": "object" + } }, - "ip_messaging.v1.service.user": { + "ip_messaging.v1.service": { + "type": "object", "properties": { - "account_sid": { + "sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", + "nullable": true + }, + "account_sid": { + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true }, - "attributes": { - "nullable": true, - "type": "string" + "friendly_name": { + "type": "string", + "nullable": true }, "date_created": { + "type": "string", "format": "date-time", - "nullable": true, - "type": "string" + "nullable": true }, "date_updated": { + "type": "string", "format": "date-time", - "nullable": true, - "type": "string" + "nullable": true }, - "friendly_name": { - "nullable": true, - "type": "string" + "default_service_role_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "nullable": true }, - "identity": { - "nullable": true, - "type": "string" + "default_channel_role_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "nullable": true }, - "is_notifiable": { - "nullable": true, - "type": "boolean" + "default_channel_creator_role_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "nullable": true }, - "is_online": { - "nullable": true, - "type": "boolean" + "read_status_enabled": { + "type": "boolean", + "nullable": true }, - "joined_channels_count": { - "nullable": true, - "type": "integer" + "reachability_enabled": { + "type": "boolean", + "nullable": true + }, + "typing_indicator_timeout": { + "type": "integer", + "nullable": true + }, + "consumption_report_interval": { + "type": "integer", + "nullable": true + }, + "limits": { + "nullable": true + }, + "webhooks": { + "nullable": true + }, + "pre_webhook_url": { + "type": "string", + "nullable": true + }, + "post_webhook_url": { + "type": "string", + "nullable": true + }, + "webhook_method": { + "type": "string", + "nullable": true + }, + "webhook_filters": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "notifications": { + "nullable": true + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true }, "links": { + "type": "object", "format": "uri-map", - "nullable": true, - "type": "object" - }, - "role_sid": { + "nullable": true + } + } + }, + "ip_messaging.v1.service.user": { + "type": "object", + "properties": { + "sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^US[0-9a-fA-F]{32}$", + "nullable": true + }, + "account_sid": { + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true }, "service_sid": { - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true }, - "sid": { - "maxLength": 34, + "attributes": { + "type": "string", + "nullable": true + }, + "friendly_name": { + "type": "string", + "nullable": true + }, + "role_sid": { + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^US[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "nullable": true + }, + "identity": { + "type": "string", + "nullable": true + }, + "is_online": { + "type": "boolean", + "nullable": true + }, + "is_notifiable": { + "type": "boolean", + "nullable": true + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "joined_channels_count": { + "type": "integer", + "nullable": true + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true }, "url": { + "type": "string", "format": "uri", - "nullable": true, - "type": "string" + "nullable": true } - }, - "type": "object" + } }, "ip_messaging.v1.service.user.user_channel": { + "type": "object", "properties": { "account_sid": { - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true }, - "channel_sid": { + "service_sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", + "nullable": true + }, + "channel_sid": { + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" - }, - "last_consumed_message_index": { - "nullable": true, - "type": "integer" - }, - "links": { - "format": "uri-map", - "nullable": true, - "type": "object" + "nullable": true }, "member_sid": { - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^MB[0-9a-fA-F]{32}$", - "type": "string" - }, - "service_sid": { "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "pattern": "^MB[0-9a-fA-F]{32}$", + "nullable": true }, "status": { + "type": "string", "enum": [ "joined", "invited", "not_participating" ], - "nullable": true, - "type": "string" + "nullable": true + }, + "last_consumed_message_index": { + "type": "integer", + "nullable": true }, "unread_messages_count": { - "nullable": true, - "type": "integer" + "type": "integer", + "nullable": true + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true } - }, - "type": "object" + } } }, "securitySchemes": { "accountSid_authToken": { - "scheme": "basic", - "type": "http" + "type": "http", + "scheme": "basic" } } }, "info": { + "title": "Twilio - Ip_messaging", + "description": "This is the public Twilio REST API.", + "termsOfService": "https://www.twilio.com/legal/tos", "contact": { - "email": "support@twilio.com", "name": "Twilio Support", - "url": "https://support.twilio.com" + "url": "https://support.twilio.com", + "email": "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 - Ip_messaging", "version": "1.30.0" }, "openapi": "3.0.1", "paths": { - "/v1/Credentials": { + "/v1/Services/{ServiceSid}/Channels/{Sid}": { + "servers": [ + { + "url": "https://ip-messaging.twilio.com" + } + ], "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "unique_name", + "friendly_name" + ], + "pathType": "instance", + "parent": "/Services" + }, "get": { "description": "", - "operationId": "ListCredential", "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", - "name": "PageSize", + "name": "ServiceSid", + "in": "path", + "description": "", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "credentials": { - "items": { - "$ref": "#/components/schemas/ip_messaging.v1.credential" - }, - "type": "array" - }, - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - } - }, - "title": "ListCredentialResponse", - "type": "object" - } - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" }, - "description": "OK" - } - }, - "security": [ + "required": true + }, { - "accountSid_authToken": [] + "name": "Sid", + "in": "path", + "description": "", + "schema": { + "type": "string" + }, + "required": true } ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "", - "operationId": "CreateCredential", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "ApiKey": { - "description": "", - "type": "string" - }, - "Certificate": { - "description": "", - "type": "string" - }, - "FriendlyName": { - "description": "", - "type": "string" - }, - "PrivateKey": { - "description": "", - "type": "string" - }, - "Sandbox": { - "description": "", - "type": "boolean" - }, - "Secret": { - "description": "", - "type": "string" - }, - "Type": { - "description": "", - "enum": [ - "gcm", - "apn", - "fcm" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "title": "CreateCredentialRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ip_messaging.v1.credential" + "$ref": "#/components/schemas/ip_messaging.v1.service.channel" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -806,40 +719,34 @@ "accountSid_authToken": [] } ], + "operationId": "FetchChannel", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://ip-messaging.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "type" - ], - "pathType": "list" - } - }, - "/v1/Credentials/{Sid}": { "delete": { "description": "", - "operationId": "DeleteCredential", "parameters": [ { - "description": "", + "name": "ServiceSid", "in": "path", - "name": "Sid", - "required": true, + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "", + "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -852,26 +759,34 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteChannel", "x-maturity": [ "GA" ] }, - "description": "TODO: Resource-level docs", - "get": { + "post": { "description": "", - "operationId": "FetchCredential", "parameters": [ { - "description": "", + "name": "ServiceSid", "in": "path", - "name": "Sid", - "required": true, + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "", + "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -879,7 +794,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ip_messaging.v1.credential" + "$ref": "#/components/schemas/ip_messaging.v1.service.channel" } } }, @@ -891,164 +806,78 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateChannel", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "", - "operationId": "UpdateCredential", - "parameters": [ - { - "description": "", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateChannelRequest", "properties": { - "ApiKey": { - "description": "", - "type": "string" - }, - "Certificate": { - "description": "", - "type": "string" - }, "FriendlyName": { - "description": "", - "type": "string" - }, - "PrivateKey": { - "description": "", - "type": "string" + "type": "string", + "description": "" }, - "Sandbox": { - "description": "", - "type": "boolean" + "UniqueName": { + "type": "string", + "description": "" }, - "Secret": { - "description": "", - "type": "string" + "Attributes": { + "type": "string", + "description": "" } - }, - "title": "UpdateCredentialRequest", - "type": "object" - } - } - } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ip_messaging.v1.credential" } } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] + } } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { + } + } + }, + "/v1/Services/{ServiceSid}/Channels": { + "servers": [ + { "url": "https://ip-messaging.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", - "friendly_name", - "type" + "unique_name", + "friendly_name" ], - "pathType": "instance" - } - }, - "/v1/Services": { - "description": "TODO: Resource-level docs", - "get": { + "pathType": "list", + "parent": "/Services" + }, + "post": { "description": "", - "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", + "name": "ServiceSid", + "in": "path", + "description": "", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "services": { - "items": { - "$ref": "#/components/schemas/ip_messaging.v1.service" - }, - "type": "array" - } - }, - "title": "ListServiceResponse", - "type": "object" + "$ref": "#/components/schemas/ip_messaging.v1.service.channel" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -1056,42 +885,133 @@ "accountSid_authToken": [] } ], + "operationId": "CreateChannel", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "", - "operationId": "CreateService", + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateChannelRequest", "properties": { "FriendlyName": { - "description": "", - "type": "string" + "type": "string", + "description": "" + }, + "UniqueName": { + "type": "string", + "description": "" + }, + "Attributes": { + "type": "string", + "description": "" + }, + "Type": { + "type": "string", + "enum": [ + "public", + "private" + ], + "description": "" } - }, - "required": [ - "FriendlyName" - ], - "title": "CreateServiceRequest", - "type": "object" + } } } } - }, + } + }, + "get": { + "description": "", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Type", + "in": "query", + "description": "", + "schema": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "public", + "private" + ] + } + } + }, + { + "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 + } + } + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ip_messaging.v1.service" + "type": "object", + "title": "ListChannelResponse", + "properties": { + "channels": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ip_messaging.v1.service.channel" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -1099,65 +1019,38 @@ "accountSid_authToken": [] } ], + "operationId": "ListChannel", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Credentials": { "servers": [ { "url": "https://ip-messaging.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name", - "date_created" + "type" ], "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Channels": { - "description": "TODO: Resource-level docs", + }, "get": { "description": "", - "operationId": "ListChannel", "parameters": [ { - "description": "", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "", + "name": "PageSize", "in": "query", - "name": "Type", - "schema": { - "items": { - "enum": [ - "public", - "private" - ], - "type": "string" - }, - "type": "array" - } - }, - { "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, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1166,25 +1059,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListCredentialResponse", "properties": { - "channels": { + "credentials": { + "type": "array", "items": { - "$ref": "#/components/schemas/ip_messaging.v1.service.channel" - }, - "type": "array" + "$ref": "#/components/schemas/ip_messaging.v1.credential" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1193,19 +1086,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListChannelResponse", - "type": "object" + } } } }, @@ -1217,65 +1110,19 @@ "accountSid_authToken": [] } ], + "operationId": "ListCredential", "x-maturity": [ "GA" ] }, "post": { "description": "", - "operationId": "CreateChannel", - "parameters": [ - { - "description": "", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Attributes": { - "description": "", - "type": "string" - }, - "FriendlyName": { - "description": "", - "type": "string" - }, - "Type": { - "description": "", - "enum": [ - "public", - "private" - ], - "type": "string" - }, - "UniqueName": { - "description": "", - "type": "string" - } - }, - "title": "CreateChannelRequest", - "type": "object" - } - } - } - }, "responses": { "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ip_messaging.v1.service.channel" + "$ref": "#/components/schemas/ip_messaging.v1.credential" } } }, @@ -1287,72 +1134,89 @@ "accountSid_authToken": [] } ], + "operationId": "CreateCredential", "x-maturity": [ "GA" - ] - }, - "servers": [ - { + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateCredentialRequest", + "properties": { + "Type": { + "type": "string", + "enum": [ + "gcm", + "apn", + "fcm" + ], + "description": "" + }, + "FriendlyName": { + "type": "string", + "description": "" + }, + "Certificate": { + "type": "string", + "description": "" + }, + "PrivateKey": { + "type": "string", + "description": "" + }, + "Sandbox": { + "type": "boolean", + "description": "" + }, + "ApiKey": { + "type": "string", + "description": "" + }, + "Secret": { + "type": "string", + "description": "" + } + }, + "required": [ + "Type" + ] + } + } + } + } + } + }, + "/v1/Credentials/{Sid}": { + "servers": [ + { "url": "https://ip-messaging.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", - "unique_name", - "friendly_name" + "friendly_name", + "type" ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Channels/{ChannelSid}/Invites": { - "description": "TODO: Resource-level docs", + "pathType": "instance" + }, "get": { "description": "", - "operationId": "ListInvite", "parameters": [ { - "description": "", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "", + "name": "Sid", "in": "path", - "name": "ChannelSid", - "required": true, - "schema": { - "type": "string" - } - }, - { "description": "", - "in": "query", - "name": "Identity", - "schema": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - { - "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" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1360,46 +1224,7 @@ "content": { "application/json": { "schema": { - "properties": { - "invites": { - "items": { - "$ref": "#/components/schemas/ip_messaging.v1.service.channel.invite" - }, - "type": "array" - }, - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - } - }, - "title": "ListInviteResponse", - "type": "object" + "$ref": "#/components/schemas/ip_messaging.v1.credential" } } }, @@ -1411,72 +1236,104 @@ "accountSid_authToken": [] } ], + "operationId": "FetchCredential", "x-maturity": [ "GA" ] }, "post": { "description": "", - "operationId": "CreateInvite", "parameters": [ { - "description": "", + "name": "Sid", "in": "path", - "name": "ServiceSid", - "required": true, + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ip_messaging.v1.credential" + } + } + }, + "description": "OK" + } + }, + "security": [ { - "description": "", - "in": "path", - "name": "ChannelSid", - "required": true, - "schema": { - "type": "string" - } + "accountSid_authToken": [] } ], + "operationId": "UpdateCredential", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateCredentialRequest", "properties": { - "Identity": { - "description": "", - "type": "string" + "FriendlyName": { + "type": "string", + "description": "" }, - "RoleSid": { - "description": "", - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "Certificate": { + "type": "string", + "description": "" + }, + "PrivateKey": { + "type": "string", + "description": "" + }, + "Sandbox": { + "type": "boolean", + "description": "" + }, + "ApiKey": { + "type": "string", + "description": "" + }, + "Secret": { + "type": "string", + "description": "" } - }, - "required": [ - "Identity" - ], - "title": "CreateInviteRequest", - "type": "object" + } } } } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ip_messaging.v1.service.channel.invite" - } - } + } + }, + "delete": { + "description": "", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$" }, - "description": "Created" + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -1484,67 +1341,75 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteCredential", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Services/{ServiceSid}/Channels/{ChannelSid}/Invites/{Sid}": { "servers": [ { "url": "https://ip-messaging.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", "identity", "date_created" ], - "parent": "/Services/{ServiceSid}/Channels", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Channels/{ChannelSid}/Invites/{Sid}": { - "delete": { + "pathType": "instance", + "parent": "/Services/{ServiceSid}/Channels" + }, + "get": { "description": "", - "operationId": "DeleteInvite", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IN[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IN[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ip_messaging.v1.service.channel.invite" + } + } + }, + "description": "OK" } }, "security": [ @@ -1552,59 +1417,51 @@ "accountSid_authToken": [] } ], + "operationId": "FetchInvite", "x-maturity": [ "GA" ] }, - "description": "TODO: Resource-level docs", - "get": { + "delete": { "description": "", - "operationId": "FetchInvite", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IN[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IN[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ip_messaging.v1.service.channel.invite" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -1612,71 +1469,144 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteInvite", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Services/{ServiceSid}/Channels/{ChannelSid}/Invites": { "servers": [ { "url": "https://ip-messaging.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", "identity", "date_created" ], - "parent": "/Services/{ServiceSid}/Channels", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/Channels/{ChannelSid}/Members": { - "description": "TODO: Resource-level docs", - "get": { + "pathType": "list", + "parent": "/Services/{ServiceSid}/Channels" + }, + "post": { "description": "", - "operationId": "ListMember", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "", "schema": { "type": "string" + }, + "required": true + } + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ip_messaging.v1.service.channel.invite" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateInvite", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateInviteRequest", + "properties": { + "Identity": { + "type": "string", + "description": "" + }, + "RoleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "description": "" + } + }, + "required": [ + "Identity" + ] + } } + } + } + }, + "get": { + "description": "", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { + "name": "ChannelSid", + "in": "path", "description": "", - "in": "query", + "schema": { + "type": "string" + }, + "required": true + }, + { "name": "Identity", + "in": "query", + "description": "", "schema": { + "type": "array", "items": { "type": "string" - }, - "type": "array" + } } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1685,25 +1615,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListInviteResponse", "properties": { - "members": { + "invites": { + "type": "array", "items": { - "$ref": "#/components/schemas/ip_messaging.v1.service.channel.member" - }, - "type": "array" + "$ref": "#/components/schemas/ip_messaging.v1.service.channel.invite" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1712,19 +1642,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListMemberResponse", - "type": "object" + } } } }, @@ -1736,64 +1666,67 @@ "accountSid_authToken": [] } ], + "operationId": "ListInvite", "x-maturity": [ "GA" ] + } + }, + "/v1/Services/{ServiceSid}/Channels/{ChannelSid}/Members/{Sid}": { + "servers": [ + { + "url": "https://ip-messaging.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "identity", + "date_created" + ], + "pathType": "instance", + "parent": "/Services/{ServiceSid}/Channels" }, - "post": { + "get": { "description": "", - "operationId": "CreateMember", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "", "schema": { "type": "string" - } + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^MB[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Identity": { - "description": "", - "type": "string" - }, - "RoleSid": { - "description": "", - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "required": [ - "Identity" - ], - "title": "CreateMemberRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { @@ -1801,7 +1734,7 @@ } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -1809,62 +1742,46 @@ "accountSid_authToken": [] } ], + "operationId": "FetchMember", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://ip-messaging.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "identity", - "date_created" - ], - "parent": "/Services/{ServiceSid}/Channels", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Channels/{ChannelSid}/Members/{Sid}": { "delete": { "description": "", - "operationId": "DeleteMember", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^MB[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^MB[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1877,47 +1794,46 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteMember", "x-maturity": [ "GA" ] }, - "description": "TODO: Resource-level docs", - "get": { + "post": { "description": "", - "operationId": "FetchMember", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^MB[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^MB[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1937,74 +1853,79 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateMember", "x-maturity": [ "GA" - ] + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateMemberRequest", + "properties": { + "RoleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "description": "" + }, + "LastConsumedMessageIndex": { + "type": "integer", + "nullable": true, + "description": "" + } + } + } + } + } + } + } + }, + "/v1/Services/{ServiceSid}/Channels/{ChannelSid}/Members": { + "servers": [ + { + "url": "https://ip-messaging.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "identity", + "date_created" + ], + "pathType": "list", + "parent": "/Services/{ServiceSid}/Channels" }, "post": { "description": "", - "operationId": "UpdateMember", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "ChannelSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "", "in": "path", - "name": "Sid", - "required": true, + "description": "", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^MB[0-9a-fA-F]{32}$", "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "LastConsumedMessageIndex": { - "description": "", - "nullable": true, - "type": "integer" - }, - "RoleSid": { - "description": "", - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "title": "UpdateMemberRequest", - "type": "object" - } - } - } - }, "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { @@ -2012,7 +1933,7 @@ } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -2020,75 +1941,80 @@ "accountSid_authToken": [] } ], + "operationId": "CreateMember", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://ip-messaging.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "identity", - "date_created" ], - "parent": "/Services/{ServiceSid}/Channels", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/Channels/{ChannelSid}/Messages": { - "description": "TODO: Resource-level docs", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateMemberRequest", + "properties": { + "Identity": { + "type": "string", + "description": "" + }, + "RoleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "description": "" + } + }, + "required": [ + "Identity" + ] + } + } + } + } + }, "get": { "description": "", - "operationId": "ListMessage", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CH[0-9a-fA-F]{32}$", "type": "string" - } + }, + "required": true }, { - "description": "", + "name": "Identity", "in": "query", - "name": "Order", + "description": "", "schema": { - "enum": [ - "asc", - "desc" - ], - "type": "string" + "type": "array", + "items": { + "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", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -2097,25 +2023,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListMemberResponse", "properties": { - "messages": { + "members": { + "type": "array", "items": { - "$ref": "#/components/schemas/ip_messaging.v1.service.channel.message" - }, - "type": "array" + "$ref": "#/components/schemas/ip_messaging.v1.service.channel.member" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -2124,19 +2050,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListMessageResponse", - "type": "object" + } } } }, @@ -2148,68 +2074,71 @@ "accountSid_authToken": [] } ], + "operationId": "ListMember", "x-maturity": [ "GA" ] + } + }, + "/v1/Services/{ServiceSid}/Channels/{ChannelSid}/Messages/{Sid}": { + "servers": [ + { + "url": "https://ip-messaging.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "from", + "to", + "date_created" + ], + "pathType": "instance", + "parent": "/Services/{ServiceSid}/Channels" }, - "post": { + "get": { "description": "", - "operationId": "CreateMessage", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IM[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Attributes": { - "description": "", - "type": "string" - }, - "Body": { - "description": "", - "type": "string" - }, - "From": { - "description": "", - "type": "string" - } - }, - "required": [ - "Body" - ], - "title": "CreateMessageRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { @@ -2217,7 +2146,7 @@ } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -2225,66 +2154,49 @@ "accountSid_authToken": [] } ], + "operationId": "FetchMessage", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://ip-messaging.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "from", - "to", - "date_created" - ], - "parent": "/Services/{ServiceSid}/Channels", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Channels/{ChannelSid}/Messages/{Sid}": { "delete": { "description": "", - "operationId": "DeleteMessage", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IM[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IM[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2297,50 +2209,49 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteMessage", "x-maturity": [ "GA" ] }, - "description": "TODO: Resource-level docs", - "get": { + "post": { "description": "", - "operationId": "FetchMessage", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IM[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IM[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2360,97 +2271,39 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateMessage", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "", - "operationId": "UpdateMessage", - "parameters": [ - { - "description": "", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "", - "in": "path", - "name": "ChannelSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IM[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateMessageRequest", "properties": { - "Attributes": { - "description": "", - "type": "string" - }, "Body": { - "description": "", - "type": "string" + "type": "string", + "description": "" + }, + "Attributes": { + "type": "string", + "description": "" } - }, - "title": "UpdateMessageRequest", - "type": "object" - } - } - } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ip_messaging.v1.service.channel.message" } } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] + } } - ], - "x-maturity": [ - "GA" - ] - }, + } + } + }, + "/v1/Services/{ServiceSid}/Channels/{ChannelSid}/Messages": { "servers": [ { "url": "https://ip-messaging.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", @@ -2458,88 +2311,47 @@ "to", "date_created" ], - "parent": "/Services/{ServiceSid}/Channels", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/Channels/{Sid}": { - "delete": { + "pathType": "list", + "parent": "/Services/{ServiceSid}/Channels" + }, + "post": { "description": "", - "operationId": "DeleteChannel", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "", "in": "path", - "name": "Sid", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "description": "TODO: Resource-level docs", - "get": { - "description": "", - "operationId": "FetchChannel", - "parameters": [ - { "description": "", - "in": "path", - "name": "ServiceSid", - "required": true, "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", + "name": "ChannelSid", "in": "path", - "name": "Sid", - "required": true, + "description": "", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ip_messaging.v1.service.channel" + "$ref": "#/components/schemas/ip_messaging.v1.service.channel.message" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -2547,122 +2359,85 @@ "accountSid_authToken": [] } ], + "operationId": "CreateMessage", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "", - "operationId": "UpdateChannel", - "parameters": [ - { - "description": "", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateMessageRequest", "properties": { - "Attributes": { - "description": "", - "type": "string" + "Body": { + "type": "string", + "description": "" }, - "FriendlyName": { - "description": "", - "type": "string" + "From": { + "type": "string", + "description": "" }, - "UniqueName": { - "description": "", - "type": "string" + "Attributes": { + "type": "string", + "description": "" } }, - "title": "UpdateChannelRequest", - "type": "object" + "required": [ + "Body" + ] } } } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ip_messaging.v1.service.channel" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://ip-messaging.twilio.com" } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "unique_name", - "friendly_name" - ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/Roles": { - "description": "TODO: Resource-level docs", + }, "get": { "description": "", - "operationId": "ListRole", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "ChannelSid", + "in": "path", + "description": "", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", + "name": "Order", "in": "query", + "description": "", + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ] + } + }, + { "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -2671,19 +2446,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListMessageResponse", "properties": { + "messages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ip_messaging.v1.service.channel.message" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -2692,25 +2473,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "roles": { - "items": { - "$ref": "#/components/schemas/ip_messaging.v1.service.role" - }, - "type": "array" + } } - }, - "title": "ListRoleResponse", - "type": "object" + } } } }, @@ -2722,65 +2497,58 @@ "accountSid_authToken": [] } ], + "operationId": "ListMessage", "x-maturity": [ "GA" ] + } + }, + "/v1/Services/{ServiceSid}/Roles/{Sid}": { + "servers": [ + { + "url": "https://ip-messaging.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "type" + ], + "pathType": "instance", + "parent": "/Services" }, - "post": { + "get": { "description": "", - "operationId": "CreateRole", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "FriendlyName": { - "description": "", - "type": "string" - }, - "Permission": { - "description": "", - "items": { - "type": "string" - }, - "type": "array" - }, - "Type": { - "description": "", - "enum": [ - "channel", - "deployment" - ], - "type": "string" - } - }, - "required": [ - "FriendlyName", - "Type", - "Permission" - ], - "title": "CreateRoleRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { @@ -2788,7 +2556,7 @@ } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -2796,53 +2564,37 @@ "accountSid_authToken": [] } ], + "operationId": "FetchRole", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://ip-messaging.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "type" - ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Roles/{Sid}": { "delete": { "description": "", - "operationId": "DeleteRole", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2855,38 +2607,37 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteRole", "x-maturity": [ "GA" ] }, - "description": "TODO: Resource-level docs", - "get": { + "post": { "description": "", - "operationId": "FetchRole", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2906,71 +2657,76 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateRole", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "", - "operationId": "UpdateRole", - "parameters": [ - { - "description": "", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateRoleRequest", "properties": { "Permission": { - "description": "", + "type": "array", "items": { "type": "string" }, - "type": "array" + "description": "" } }, "required": [ "Permission" - ], - "title": "UpdateRoleRequest", - "type": "object" + ] } } } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { + } + } + }, + "/v1/Services/{ServiceSid}/Roles": { + "servers": [ + { + "url": "https://ip-messaging.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "type" + ], + "pathType": "list", + "parent": "/Services" + }, + "post": { + "description": "", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/ip_messaging.v1.service.role" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -2978,51 +2734,70 @@ "accountSid_authToken": [] } ], + "operationId": "CreateRole", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://ip-messaging.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "type" ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/Users": { - "description": "TODO: Resource-level docs", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateRoleRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "" + }, + "Type": { + "type": "string", + "enum": [ + "channel", + "deployment" + ], + "description": "" + }, + "Permission": { + "type": "array", + "items": { + "type": "string" + }, + "description": "" + } + }, + "required": [ + "FriendlyName", + "Type", + "Permission" + ] + } + } + } + } + }, "get": { "description": "", - "operationId": "ListUser", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -3031,19 +2806,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListRoleResponse", "properties": { + "roles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ip_messaging.v1.service.role" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -3052,25 +2833,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "users": { - "items": { - "$ref": "#/components/schemas/ip_messaging.v1.service.user" - }, - "type": "array" + } } - }, - "title": "ListUserResponse", - "type": "object" + } } } }, @@ -3082,71 +2857,53 @@ "accountSid_authToken": [] } ], + "operationId": "ListRole", "x-maturity": [ "GA" ] + } + }, + "/v1/Services/{Sid}": { + "servers": [ + { + "url": "https://ip-messaging.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "date_created" + ], + "pathType": "instance" }, - "post": { + "get": { "description": "", - "operationId": "CreateUser", "parameters": [ { - "description": "", + "name": "Sid", "in": "path", - "name": "ServiceSid", - "required": true, + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Attributes": { - "description": "", - "type": "string" - }, - "FriendlyName": { - "description": "", - "type": "string" - }, - "Identity": { - "description": "", - "type": "string" - }, - "RoleSid": { - "description": "", - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "required": [ - "Identity" - ], - "title": "CreateUserRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ip_messaging.v1.service.user" + "$ref": "#/components/schemas/ip_messaging.v1.service" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -3154,50 +2911,25 @@ "accountSid_authToken": [] } ], + "operationId": "FetchService", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://ip-messaging.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "date_created" - ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Users/{Sid}": { "delete": { "description": "", - "operationId": "DeleteUser", "parameters": [ { - "description": "", + "name": "Sid", "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { "description": "", - "in": "path", - "name": "Sid", - "required": true, "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -3210,35 +2942,25 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteService", "x-maturity": [ "GA" ] }, - "description": "TODO: Resource-level docs", - "get": { + "post": { "description": "", - "operationId": "FetchUser", "parameters": [ { - "description": "", + "name": "Sid", "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { "description": "", - "in": "path", - "name": "Sid", - "required": true, "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -3246,7 +2968,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ip_messaging.v1.service.user" + "$ref": "#/components/schemas/ip_messaging.v1.service" } } }, @@ -3258,405 +2980,128 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateService", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "", - "operationId": "UpdateUser", - "parameters": [ - { - "description": "", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateServiceRequest", "properties": { - "Attributes": { - "description": "", - "type": "string" - }, "FriendlyName": { - "description": "", - "type": "string" + "type": "string", + "description": "" }, - "RoleSid": { - "description": "", - "maxLength": 34, + "DefaultServiceRoleSid": { + "type": "string", "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "title": "UpdateUserRequest", - "type": "object" - } - } - } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ip_messaging.v1.service.user" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://ip-messaging.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "date_created" - ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/Users/{UserSid}/Channels": { - "description": "TODO: Resource-level docs", - "get": { - "description": "", - "operationId": "ListUserChannel", - "parameters": [ - { - "description": "", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "", - "in": "path", - "name": "UserSid", - "required": true, - "schema": { - "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" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "channels": { - "items": { - "$ref": "#/components/schemas/ip_messaging.v1.service.user.user_channel" - }, - "type": "array" - }, - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - } - }, - "title": "ListUserChannelResponse", - "type": "object" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://ip-messaging.twilio.com" - } - ], - "x-twilio": { - "className": "user_channel", - "defaultOutputProperties": [ - "channel_sid", - "status" - ], - "parent": "/Services/{ServiceSid}/Users", - "pathType": "list" - } - }, - "/v1/Services/{Sid}": { - "delete": { - "description": "", - "operationId": "DeleteService", - "parameters": [ - { - "description": "", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "description": "TODO: Resource-level docs", - "get": { - "description": "", - "operationId": "FetchService", - "parameters": [ - { - "description": "", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ip_messaging.v1.service" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "", - "operationId": "UpdateService", - "parameters": [ - { - "description": "", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "ConsumptionReportInterval": { - "description": "", - "type": "integer" - }, - "DefaultChannelCreatorRoleSid": { - "description": "", "maxLength": 34, - "minLength": 34, "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "description": "" }, "DefaultChannelRoleSid": { - "description": "", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "description": "" }, - "DefaultServiceRoleSid": { - "description": "", - "maxLength": 34, + "DefaultChannelCreatorRoleSid": { + "type": "string", "minLength": 34, + "maxLength": 34, "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "description": "" }, - "FriendlyName": { - "description": "", - "type": "string" + "ReadStatusEnabled": { + "type": "boolean", + "description": "" }, - "Limits.ChannelMembers": { - "description": "", - "type": "integer" + "ReachabilityEnabled": { + "type": "boolean", + "description": "" }, - "Limits.UserChannels": { - "description": "", - "type": "integer" + "TypingIndicatorTimeout": { + "type": "integer", + "description": "" }, - "Notifications.AddedToChannel.Enabled": { - "description": "", - "type": "boolean" - }, - "Notifications.AddedToChannel.Template": { - "description": "", - "type": "string" - }, - "Notifications.InvitedToChannel.Enabled": { - "description": "", - "type": "boolean" - }, - "Notifications.InvitedToChannel.Template": { - "description": "", - "type": "string" + "ConsumptionReportInterval": { + "type": "integer", + "description": "" }, "Notifications.NewMessage.Enabled": { - "description": "", - "type": "boolean" + "type": "boolean", + "description": "" }, "Notifications.NewMessage.Template": { - "description": "", - "type": "string" + "type": "string", + "description": "" + }, + "Notifications.AddedToChannel.Enabled": { + "type": "boolean", + "description": "" + }, + "Notifications.AddedToChannel.Template": { + "type": "string", + "description": "" }, "Notifications.RemovedFromChannel.Enabled": { - "description": "", - "type": "boolean" + "type": "boolean", + "description": "" }, "Notifications.RemovedFromChannel.Template": { - "description": "", - "type": "string" + "type": "string", + "description": "" }, - "PostWebhookUrl": { - "description": "", - "format": "uri", - "type": "string" + "Notifications.InvitedToChannel.Enabled": { + "type": "boolean", + "description": "" + }, + "Notifications.InvitedToChannel.Template": { + "type": "string", + "description": "" }, "PreWebhookUrl": { - "description": "", + "type": "string", "format": "uri", - "type": "string" - }, - "ReachabilityEnabled": { - "description": "", - "type": "boolean" + "description": "" }, - "ReadStatusEnabled": { - "description": "", - "type": "boolean" + "PostWebhookUrl": { + "type": "string", + "format": "uri", + "description": "" }, - "TypingIndicatorTimeout": { - "description": "", - "type": "integer" + "WebhookMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "" }, "WebhookFilters": { - "description": "", + "type": "array", "items": { "type": "string" }, - "type": "array" + "description": "" }, - "WebhookMethod": { - "description": "", + "Webhooks.OnMessageSend.Url": { + "type": "string", + "format": "uri", + "description": "" + }, + "Webhooks.OnMessageSend.Method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3665,11 +3110,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "" }, - "Webhooks.OnChannelAdd.Method": { - "description": "", + "Webhooks.OnMessageUpdate.Url": { + "type": "string", + "format": "uri", + "description": "" + }, + "Webhooks.OnMessageUpdate.Method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3678,16 +3128,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "" }, - "Webhooks.OnChannelAdd.Url": { - "description": "", + "Webhooks.OnMessageRemove.Url": { + "type": "string", "format": "uri", - "type": "string" + "description": "" }, - "Webhooks.OnChannelAdded.Method": { - "description": "", + "Webhooks.OnMessageRemove.Method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3696,16 +3146,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "" }, - "Webhooks.OnChannelAdded.Url": { - "description": "", + "Webhooks.OnChannelAdd.Url": { + "type": "string", "format": "uri", - "type": "string" + "description": "" }, - "Webhooks.OnChannelDestroy.Method": { - "description": "", + "Webhooks.OnChannelAdd.Method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3714,16 +3164,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "" }, "Webhooks.OnChannelDestroy.Url": { - "description": "", + "type": "string", "format": "uri", - "type": "string" + "description": "" }, - "Webhooks.OnChannelDestroyed.Method": { - "description": "", + "Webhooks.OnChannelDestroy.Method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3732,16 +3182,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "" }, - "Webhooks.OnChannelDestroyed.Url": { - "description": "", + "Webhooks.OnChannelUpdate.Url": { + "type": "string", "format": "uri", - "type": "string" + "description": "" }, "Webhooks.OnChannelUpdate.Method": { - "description": "", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3750,16 +3200,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "" }, - "Webhooks.OnChannelUpdate.Url": { - "description": "", + "Webhooks.OnMemberAdd.Url": { + "type": "string", "format": "uri", - "type": "string" + "description": "" }, - "Webhooks.OnChannelUpdated.Method": { - "description": "", + "Webhooks.OnMemberAdd.Method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3768,16 +3218,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "" }, - "Webhooks.OnChannelUpdated.Url": { - "description": "", + "Webhooks.OnMemberRemove.Url": { + "type": "string", "format": "uri", - "type": "string" + "description": "" }, - "Webhooks.OnMemberAdd.Method": { - "description": "", + "Webhooks.OnMemberRemove.Method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3786,16 +3236,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "" }, - "Webhooks.OnMemberAdd.Url": { - "description": "", + "Webhooks.OnMessageSent.Url": { + "type": "string", "format": "uri", - "type": "string" + "description": "" }, - "Webhooks.OnMemberAdded.Method": { - "description": "", + "Webhooks.OnMessageSent.Method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3804,16 +3254,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "" }, - "Webhooks.OnMemberAdded.Url": { - "description": "", + "Webhooks.OnMessageUpdated.Url": { + "type": "string", "format": "uri", - "type": "string" + "description": "" }, - "Webhooks.OnMemberRemove.Method": { - "description": "", + "Webhooks.OnMessageUpdated.Method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3822,16 +3272,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "" }, - "Webhooks.OnMemberRemove.Url": { - "description": "", + "Webhooks.OnMessageRemoved.Url": { + "type": "string", "format": "uri", - "type": "string" + "description": "" }, - "Webhooks.OnMemberRemoved.Method": { - "description": "", + "Webhooks.OnMessageRemoved.Method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3840,16 +3290,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "" }, - "Webhooks.OnMemberRemoved.Url": { - "description": "", + "Webhooks.OnChannelAdded.Url": { + "type": "string", "format": "uri", - "type": "string" + "description": "" }, - "Webhooks.OnMessageRemove.Method": { - "description": "", + "Webhooks.OnChannelAdded.Method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3858,16 +3308,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "" }, - "Webhooks.OnMessageRemove.Url": { - "description": "", + "Webhooks.OnChannelDestroyed.Url": { + "type": "string", "format": "uri", - "type": "string" + "description": "" }, - "Webhooks.OnMessageRemoved.Method": { - "description": "", + "Webhooks.OnChannelDestroyed.Method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3876,16 +3326,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "" }, - "Webhooks.OnMessageRemoved.Url": { - "description": "", + "Webhooks.OnChannelUpdated.Url": { + "type": "string", "format": "uri", - "type": "string" + "description": "" }, - "Webhooks.OnMessageSend.Method": { - "description": "", + "Webhooks.OnChannelUpdated.Method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3894,16 +3344,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "" }, - "Webhooks.OnMessageSend.Url": { - "description": "", + "Webhooks.OnMemberAdded.Url": { + "type": "string", "format": "uri", - "type": "string" + "description": "" }, - "Webhooks.OnMessageSent.Method": { - "description": "", + "Webhooks.OnMemberAdded.Method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -3912,63 +3362,512 @@ "PUT", "DELETE" ], + "description": "" + }, + "Webhooks.OnMemberRemoved.Url": { + "type": "string", + "format": "uri", + "description": "" + }, + "Webhooks.OnMemberRemoved.Method": { + "type": "string", "format": "http-method", - "type": "string" + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "" + }, + "Limits.ChannelMembers": { + "type": "integer", + "description": "" + }, + "Limits.UserChannels": { + "type": "integer", + "description": "" + } + } + } + } + } + } + } + }, + "/v1/Services": { + "servers": [ + { + "url": "https://ip-messaging.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "date_created" + ], + "pathType": "list" + }, + "post": { + "description": "", + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ip_messaging.v1.service" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateService", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateServiceRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "" + } + }, + "required": [ + "FriendlyName" + ] + } + } + } + } + }, + "get": { + "description": "", + "parameters": [ + { + "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 + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "ListServiceResponse", + "properties": { + "services": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ip_messaging.v1.service" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "ListService", + "x-maturity": [ + "GA" + ] + } + }, + "/v1/Services/{ServiceSid}/Users/{Sid}": { + "servers": [ + { + "url": "https://ip-messaging.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "date_created" + ], + "pathType": "instance", + "parent": "/Services" + }, + "get": { + "description": "", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "", + "schema": { + "type": "string" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ip_messaging.v1.service.user" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "FetchUser", + "x-maturity": [ + "GA" + ] + }, + "delete": { + "description": "", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "", + "schema": { + "type": "string" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteUser", + "x-maturity": [ + "GA" + ] + }, + "post": { + "description": "", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "", + "schema": { + "type": "string" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ip_messaging.v1.service.user" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "UpdateUser", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateUserRequest", + "properties": { + "RoleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "description": "" }, - "Webhooks.OnMessageSent.Url": { - "description": "", - "format": "uri", - "type": "string" + "Attributes": { + "type": "string", + "description": "" }, - "Webhooks.OnMessageUpdate.Method": { - "description": "", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" + "FriendlyName": { + "type": "string", + "description": "" + } + } + } + } + } + } + } + }, + "/v1/Services/{ServiceSid}/Users": { + "servers": [ + { + "url": "https://ip-messaging.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "date_created" + ], + "pathType": "list", + "parent": "/Services" + }, + "post": { + "description": "", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ip_messaging.v1.service.user" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateUser", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateUserRequest", + "properties": { + "Identity": { + "type": "string", + "description": "" }, - "Webhooks.OnMessageUpdate.Url": { - "description": "", - "format": "uri", - "type": "string" + "RoleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "description": "" }, - "Webhooks.OnMessageUpdated.Method": { - "description": "", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" + "Attributes": { + "type": "string", + "description": "" }, - "Webhooks.OnMessageUpdated.Url": { - "description": "", - "format": "uri", - "type": "string" + "FriendlyName": { + "type": "string", + "description": "" } }, - "title": "UpdateServiceRequest", - "type": "object" + "required": [ + "Identity" + ] } } } - }, + } + }, + "get": { + "description": "", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "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 + } + } + ], "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ip_messaging.v1.service" + "type": "object", + "title": "ListUserResponse", + "properties": { + "users": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ip_messaging.v1.service.user" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -3980,22 +3879,123 @@ "accountSid_authToken": [] } ], + "operationId": "ListUser", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Services/{ServiceSid}/Users/{UserSid}/Channels": { "servers": [ { "url": "https://ip-messaging.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ - "sid", - "friendly_name", - "date_created" + "channel_sid", + "status" ], - "pathType": "instance" + "pathType": "list", + "parent": "/Services/{ServiceSid}/Users", + "className": "user_channel" + }, + "get": { + "description": "", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "UserSid", + "in": "path", + "description": "", + "schema": { + "type": "string" + }, + "required": true + }, + { + "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 + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "ListUserChannelResponse", + "properties": { + "channels": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ip_messaging.v1.service.user.user_channel" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "ListUserChannel", + "x-maturity": [ + "GA" + ] } } }, @@ -4006,8 +4006,8 @@ ], "x-maturity": [ { - "description": "This product is Generally Available.", - "name": "GA" + "name": "GA", + "description": "This product is Generally Available." } ] } \ No newline at end of file diff --git a/spec/json/twilio_ip_messaging_v2.json b/spec/json/twilio_ip_messaging_v2.json index b3d2a4a1..78286ade 100644 --- a/spec/json/twilio_ip_messaging_v2.json +++ b/spec/json/twilio_ip_messaging_v2.json @@ -1,934 +1,986 @@ { "components": { "schemas": { - "ip_messaging.v2.credential": { + "ip_messaging.v2.service.binding": { + "type": "object", "properties": { - "account_sid": { + "sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^BS[0-9a-fA-F]{32}$", + "nullable": true + }, + "account_sid": { + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true + }, + "service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", + "nullable": true }, "date_created": { + "type": "string", "format": "date-time", - "nullable": true, - "type": "string" + "nullable": true }, "date_updated": { + "type": "string", "format": "date-time", - "nullable": true, - "type": "string" + "nullable": true }, - "friendly_name": { - "nullable": true, - "type": "string" + "endpoint": { + "type": "string", + "nullable": true }, - "sandbox": { - "nullable": true, - "type": "string" + "identity": { + "type": "string", + "nullable": true }, - "sid": { - "maxLength": 34, + "credential_sid": { + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true }, - "type": { + "binding_type": { + "type": "string", "enum": [ "gcm", "apn", "fcm" ], - "nullable": true, - "type": "string" + "nullable": true + }, + "message_types": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true }, "url": { + "type": "string", "format": "uri", - "nullable": true, - "type": "string" + "nullable": true + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true } - }, - "type": "object" + } }, - "ip_messaging.v2.service": { + "ip_messaging.v2.service.channel": { + "type": "object", "properties": { - "account_sid": { - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "consumption_report_interval": { - "nullable": true, - "type": "integer" - }, - "date_created": { - "format": "date-time", - "nullable": true, - "type": "string" - }, - "date_updated": { - "format": "date-time", - "nullable": true, - "type": "string" - }, - "default_channel_creator_role_sid": { "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "pattern": "^CH[0-9a-fA-F]{32}$", + "nullable": true }, - "default_channel_role_sid": { - "maxLength": 34, + "account_sid": { + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - }, - "default_service_role_sid": { "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true + }, + "service_sid": { + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", + "nullable": true }, "friendly_name": { - "nullable": true, - "type": "string" - }, - "limits": { + "type": "string", "nullable": true }, - "links": { - "format": "uri-map", - "nullable": true, - "type": "object" + "unique_name": { + "type": "string", + "nullable": true }, - "media": { + "attributes": { + "type": "string", "nullable": true }, - "notifications": { + "type": { + "type": "string", + "enum": [ + "public", + "private" + ], "nullable": true }, - "post_webhook_retry_count": { - "nullable": true, - "type": "integer" + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true }, - "post_webhook_url": { - "nullable": true, - "type": "string" + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true }, - "pre_webhook_retry_count": { - "nullable": true, - "type": "integer" + "created_by": { + "type": "string", + "nullable": true }, - "pre_webhook_url": { - "nullable": true, - "type": "string" + "members_count": { + "type": "integer", + "nullable": true }, - "reachability_enabled": { - "nullable": true, - "type": "boolean" + "messages_count": { + "type": "integer", + "nullable": true }, - "read_status_enabled": { - "nullable": true, - "type": "boolean" + "url": { + "type": "string", + "format": "uri", + "nullable": true }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true + } + } + }, + "ip_messaging.v2.service.channel.channel_webhook": { + "type": "object", + "properties": { "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WH[0-9a-fA-F]{32}$", + "nullable": true + }, + "account_sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true + }, + "service_sid": { + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true }, - "typing_indicator_timeout": { - "nullable": true, - "type": "integer" + "channel_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$", + "nullable": true + }, + "type": { + "type": "string", + "nullable": true }, "url": { + "type": "string", "format": "uri", - "nullable": true, - "type": "string" + "nullable": true }, - "webhook_filters": { - "items": { - "type": "string" - }, - "nullable": true, - "type": "array" + "configuration": { + "nullable": true }, - "webhook_method": { - "nullable": true, - "type": "string" + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true } - }, - "type": "object" + } }, - "ip_messaging.v2.service.binding": { + "ip_messaging.v2.credential": { + "type": "object", "properties": { - "account_sid": { + "sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$", + "nullable": true + }, + "account_sid": { + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true }, - "binding_type": { + "friendly_name": { + "type": "string", + "nullable": true + }, + "type": { + "type": "string", "enum": [ "gcm", "apn", "fcm" ], - "nullable": true, - "type": "string" + "nullable": true }, - "credential_sid": { - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" + "sandbox": { + "type": "string", + "nullable": true }, "date_created": { + "type": "string", "format": "date-time", - "nullable": true, - "type": "string" + "nullable": true }, "date_updated": { + "type": "string", "format": "date-time", - "nullable": true, - "type": "string" - }, - "endpoint": { - "nullable": true, - "type": "string" - }, - "identity": { - "nullable": true, - "type": "string" - }, - "links": { - "format": "uri-map", - "nullable": true, - "type": "object" - }, - "message_types": { - "items": { - "type": "string" - }, - "nullable": true, - "type": "array" - }, - "service_sid": { - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - }, - "sid": { - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^BS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true }, "url": { + "type": "string", "format": "uri", - "nullable": true, - "type": "string" + "nullable": true } - }, - "type": "object" + } }, - "ip_messaging.v2.service.channel": { + "ip_messaging.v2.service.channel.invite": { + "type": "object", "properties": { - "account_sid": { + "sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^IN[0-9a-fA-F]{32}$", + "nullable": true + }, + "account_sid": { + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true }, - "attributes": { - "nullable": true, - "type": "string" + "channel_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$", + "nullable": true }, - "created_by": { - "nullable": true, - "type": "string" + "service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", + "nullable": true + }, + "identity": { + "type": "string", + "nullable": true }, "date_created": { + "type": "string", "format": "date-time", - "nullable": true, - "type": "string" + "nullable": true }, "date_updated": { + "type": "string", "format": "date-time", - "nullable": true, - "type": "string" - }, - "friendly_name": { - "nullable": true, - "type": "string" - }, - "links": { - "format": "uri-map", - "nullable": true, - "type": "object" - }, - "members_count": { - "nullable": true, - "type": "integer" - }, - "messages_count": { - "nullable": true, - "type": "integer" + "nullable": true }, - "service_sid": { - "maxLength": 34, + "role_sid": { + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - }, - "sid": { "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" - }, - "type": { - "enum": [ - "public", - "private" - ], - "nullable": true, - "type": "string" + "pattern": "^RL[0-9a-fA-F]{32}$", + "nullable": true }, - "unique_name": { - "nullable": true, - "type": "string" + "created_by": { + "type": "string", + "nullable": true }, "url": { + "type": "string", "format": "uri", - "nullable": true, - "type": "string" + "nullable": true } - }, - "type": "object" + } }, - "ip_messaging.v2.service.channel.channel_webhook": { + "ip_messaging.v2.service.channel.member": { + "type": "object", "properties": { - "account_sid": { + "sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^MB[0-9a-fA-F]{32}$", + "nullable": true + }, + "account_sid": { + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true }, "channel_sid": { - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" - }, - "configuration": { "nullable": true }, - "date_created": { - "format": "date-time", - "nullable": true, - "type": "string" - }, - "date_updated": { - "format": "date-time", - "nullable": true, - "type": "string" - }, "service_sid": { - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - }, - "sid": { - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^WH[0-9a-fA-F]{32}$", - "type": "string" - }, - "type": { - "nullable": true, - "type": "string" - }, - "url": { - "format": "uri", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "ip_messaging.v2.service.channel.invite": { - "properties": { - "account_sid": { - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "channel_sid": { "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" + "pattern": "^IS[0-9a-fA-F]{32}$", + "nullable": true }, - "created_by": { - "nullable": true, - "type": "string" + "identity": { + "type": "string", + "nullable": true }, "date_created": { + "type": "string", "format": "date-time", - "nullable": true, - "type": "string" + "nullable": true }, "date_updated": { + "type": "string", "format": "date-time", - "nullable": true, - "type": "string" - }, - "identity": { - "nullable": true, - "type": "string" + "nullable": true }, "role_sid": { - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true }, - "service_sid": { - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "last_consumed_message_index": { + "type": "integer", + "nullable": true }, - "sid": { - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^IN[0-9a-fA-F]{32}$", - "type": "string" + "last_consumption_timestamp": { + "type": "string", + "format": "date-time", + "nullable": true }, "url": { + "type": "string", "format": "uri", - "nullable": true, - "type": "string" + "nullable": true + }, + "attributes": { + "type": "string", + "nullable": true } - }, - "type": "object" + } }, - "ip_messaging.v2.service.channel.member": { + "ip_messaging.v2.service.channel.message": { + "type": "object", "properties": { - "account_sid": { + "sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^IM[0-9a-fA-F]{32}$", + "nullable": true + }, + "account_sid": { + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true }, "attributes": { - "nullable": true, - "type": "string" - }, - "channel_sid": { - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "format": "date-time", - "nullable": true, - "type": "string" - }, - "date_updated": { - "format": "date-time", - "nullable": true, - "type": "string" - }, - "identity": { - "nullable": true, - "type": "string" - }, - "last_consumed_message_index": { - "nullable": true, - "type": "integer" - }, - "last_consumption_timestamp": { - "format": "date-time", - "nullable": true, - "type": "string" - }, - "role_sid": { - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "type": "string", + "nullable": true }, "service_sid": { - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true }, - "sid": { - "maxLength": 34, + "to": { + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^MB[0-9a-fA-F]{32}$", - "type": "string" - }, - "url": { - "format": "uri", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "ip_messaging.v2.service.channel.message": { - "properties": { - "account_sid": { "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "attributes": { - "nullable": true, - "type": "string" - }, - "body": { - "nullable": true, - "type": "string" + "pattern": "^CH[0-9a-fA-F]{32}$", + "nullable": true }, "channel_sid": { - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true }, "date_created": { + "type": "string", "format": "date-time", - "nullable": true, - "type": "string" + "nullable": true }, "date_updated": { + "type": "string", "format": "date-time", - "nullable": true, - "type": "string" - }, - "from": { - "nullable": true, - "type": "string" - }, - "index": { - "nullable": true, - "type": "integer" + "nullable": true }, "last_updated_by": { - "nullable": true, - "type": "string" + "type": "string", + "nullable": true }, - "media": { + "was_edited": { + "type": "boolean", "nullable": true }, - "service_sid": { - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "from": { + "type": "string", + "nullable": true }, - "sid": { - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^IM[0-9a-fA-F]{32}$", - "type": "string" + "body": { + "type": "string", + "nullable": true }, - "to": { - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" + "index": { + "type": "integer", + "nullable": true }, "type": { - "nullable": true, - "type": "string" + "type": "string", + "nullable": true + }, + "media": { + "nullable": true }, "url": { + "type": "string", "format": "uri", - "nullable": true, - "type": "string" - }, - "was_edited": { - "nullable": true, - "type": "boolean" + "nullable": true } - }, - "type": "object" + } }, "ip_messaging.v2.service.role": { + "type": "object", "properties": { - "account_sid": { + "sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "nullable": true + }, + "account_sid": { + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "format": "date-time", - "nullable": true, - "type": "string" - }, - "date_updated": { - "format": "date-time", - "nullable": true, - "type": "string" - }, - "friendly_name": { - "nullable": true, - "type": "string" - }, - "permissions": { - "items": { - "type": "string" - }, - "nullable": true, - "type": "array" + "nullable": true }, "service_sid": { - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true }, - "sid": { - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "friendly_name": { + "type": "string", + "nullable": true }, "type": { + "type": "string", "enum": [ "channel", "deployment" ], - "nullable": true, - "type": "string" + "nullable": true + }, + "permissions": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true }, "url": { + "type": "string", "format": "uri", - "nullable": true, - "type": "string" + "nullable": true } - }, - "type": "object" + } }, - "ip_messaging.v2.service.user": { + "ip_messaging.v2.service": { + "type": "object", "properties": { - "account_sid": { + "sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", + "nullable": true + }, + "account_sid": { + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true }, - "attributes": { - "nullable": true, - "type": "string" + "friendly_name": { + "type": "string", + "nullable": true }, "date_created": { + "type": "string", "format": "date-time", - "nullable": true, - "type": "string" + "nullable": true }, "date_updated": { + "type": "string", "format": "date-time", - "nullable": true, - "type": "string" + "nullable": true }, - "friendly_name": { - "nullable": true, - "type": "string" + "default_service_role_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "nullable": true }, - "identity": { - "nullable": true, - "type": "string" + "default_channel_role_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "nullable": true }, - "is_notifiable": { - "nullable": true, - "type": "boolean" + "default_channel_creator_role_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "nullable": true }, - "is_online": { - "nullable": true, - "type": "boolean" + "read_status_enabled": { + "type": "boolean", + "nullable": true }, - "joined_channels_count": { - "nullable": true, - "type": "integer" + "reachability_enabled": { + "type": "boolean", + "nullable": true + }, + "typing_indicator_timeout": { + "type": "integer", + "nullable": true + }, + "consumption_report_interval": { + "type": "integer", + "nullable": true + }, + "limits": { + "nullable": true + }, + "pre_webhook_url": { + "type": "string", + "nullable": true + }, + "post_webhook_url": { + "type": "string", + "nullable": true + }, + "webhook_method": { + "type": "string", + "nullable": true + }, + "webhook_filters": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "pre_webhook_retry_count": { + "type": "integer", + "nullable": true + }, + "post_webhook_retry_count": { + "type": "integer", + "nullable": true + }, + "notifications": { + "nullable": true + }, + "media": { + "nullable": true + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true }, "links": { + "type": "object", "format": "uri-map", - "nullable": true, - "type": "object" - }, - "role_sid": { + "nullable": true + } + } + }, + "ip_messaging.v2.service.user": { + "type": "object", + "properties": { + "sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^US[0-9a-fA-F]{32}$", + "nullable": true + }, + "account_sid": { + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true }, "service_sid": { - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true }, - "sid": { - "maxLength": 34, + "attributes": { + "type": "string", + "nullable": true + }, + "friendly_name": { + "type": "string", + "nullable": true + }, + "role_sid": { + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^US[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "nullable": true + }, + "identity": { + "type": "string", + "nullable": true + }, + "is_online": { + "type": "boolean", + "nullable": true + }, + "is_notifiable": { + "type": "boolean", + "nullable": true + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "joined_channels_count": { + "type": "integer", + "nullable": true + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true }, "url": { + "type": "string", "format": "uri", - "nullable": true, - "type": "string" + "nullable": true } - }, - "type": "object" + } }, "ip_messaging.v2.service.user.user_binding": { + "type": "object", "properties": { - "account_sid": { + "sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^BS[0-9a-fA-F]{32}$", + "nullable": true + }, + "account_sid": { + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "binding_type": { - "enum": [ - "gcm", - "apn", - "fcm" - ], - "nullable": true, - "type": "string" + "nullable": true }, - "credential_sid": { - "maxLength": 34, + "service_sid": { + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", + "nullable": true }, "date_created": { + "type": "string", "format": "date-time", - "nullable": true, - "type": "string" + "nullable": true }, "date_updated": { + "type": "string", "format": "date-time", - "nullable": true, - "type": "string" + "nullable": true }, "endpoint": { - "nullable": true, - "type": "string" + "type": "string", + "nullable": true }, "identity": { - "nullable": true, - "type": "string" + "type": "string", + "nullable": true + }, + "user_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^US[0-9a-fA-F]{32}$", + "nullable": true + }, + "credential_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$", + "nullable": true + }, + "binding_type": { + "type": "string", + "enum": [ + "gcm", + "apn", + "fcm" + ], + "nullable": true }, "message_types": { + "type": "array", "items": { "type": "string" }, - "nullable": true, - "type": "array" - }, - "service_sid": { - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - }, - "sid": { - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^BS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true }, "url": { + "type": "string", "format": "uri", - "nullable": true, - "type": "string" - }, - "user_sid": { - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^US[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true } - }, - "type": "object" + } }, "ip_messaging.v2.service.user.user_channel": { + "type": "object", "properties": { "account_sid": { - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true }, - "channel_sid": { + "service_sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", + "nullable": true + }, + "channel_sid": { + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CH[0-9a-fA-F]{32}$", - "type": "string" - }, - "last_consumed_message_index": { - "nullable": true, - "type": "integer" + "nullable": true }, - "links": { - "format": "uri-map", - "nullable": true, - "type": "object" + "user_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^US[0-9a-fA-F]{32}$", + "nullable": true }, "member_sid": { - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^MB[0-9a-fA-F]{32}$", - "type": "string" - }, - "notification_level": { - "enum": [ - "default", - "muted" - ], - "nullable": true, - "type": "string" - }, - "service_sid": { "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "pattern": "^MB[0-9a-fA-F]{32}$", + "nullable": true }, "status": { + "type": "string", "enum": [ "joined", "invited", "not_participating" ], - "nullable": true, - "type": "string" + "nullable": true + }, + "last_consumed_message_index": { + "type": "integer", + "nullable": true }, "unread_messages_count": { - "nullable": true, - "type": "integer" + "type": "integer", + "nullable": true + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true }, "url": { + "type": "string", "format": "uri", - "nullable": true, - "type": "string" + "nullable": true }, - "user_sid": { - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^US[0-9a-fA-F]{32}$", - "type": "string" + "notification_level": { + "type": "string", + "enum": [ + "default", + "muted" + ], + "nullable": true } - }, - "type": "object" + } } }, "securitySchemes": { "accountSid_authToken": { - "scheme": "basic", - "type": "http" + "type": "http", + "scheme": "basic" } } }, "info": { + "title": "Twilio - Ip_messaging", + "description": "This is the public Twilio REST API.", + "termsOfService": "https://www.twilio.com/legal/tos", "contact": { - "email": "support@twilio.com", "name": "Twilio Support", - "url": "https://support.twilio.com" + "url": "https://support.twilio.com", + "email": "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 - Ip_messaging", "version": "1.30.0" }, "openapi": "3.0.1", "paths": { - "/v2/Credentials": { - "description": "TODO: Resource-level docs", - "get": { + "/v2/Services/{ServiceSid}/Bindings": { + "servers": [ + { + "url": "https://ip-messaging.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "endpoint", + "identity" + ], + "pathType": "list", + "parent": "/Services" + }, + "get": { "description": "", - "operationId": "ListCredential", "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", + "name": "ServiceSid", + "in": "path", + "description": "", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "BindingType", + "in": "query", + "description": "", + "schema": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "gcm", + "apn", + "fcm" + ] + } + } + }, + { + "name": "Identity", "in": "query", + "description": "", + "schema": { + "type": "array", + "items": { + "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": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -937,25 +989,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListBindingResponse", "properties": { - "credentials": { + "bindings": { + "type": "array", "items": { - "$ref": "#/components/schemas/ip_messaging.v2.credential" - }, - "type": "array" + "$ref": "#/components/schemas/ip_messaging.v2.service.binding" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -964,19 +1016,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListCredentialResponse", - "type": "object" + } } } }, @@ -988,71 +1040,66 @@ "accountSid_authToken": [] } ], + "operationId": "ListBinding", "x-maturity": [ "GA" ] + } + }, + "/v2/Services/{ServiceSid}/Bindings/{Sid}": { + "servers": [ + { + "url": "https://ip-messaging.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "endpoint", + "identity" + ], + "pathType": "instance", + "parent": "/Services" }, - "post": { + "get": { "description": "", - "operationId": "CreateCredential", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "ApiKey": { - "description": "", - "type": "string" - }, - "Certificate": { - "description": "", - "type": "string" - }, - "FriendlyName": { - "description": "", - "type": "string" - }, - "PrivateKey": { - "description": "", - "type": "string" - }, - "Sandbox": { - "description": "", - "type": "boolean" - }, - "Secret": { - "description": "", - "type": "string" - }, - "Type": { - "description": "", - "enum": [ - "gcm", - "apn", - "fcm" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "title": "CreateCredentialRequest", - "type": "object" - } - } + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BS[0-9a-fA-F]{32}$" + }, + "required": true } - }, + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ip_messaging.v2.credential" + "$ref": "#/components/schemas/ip_messaging.v2.service.binding" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -1060,40 +1107,37 @@ "accountSid_authToken": [] } ], + "operationId": "FetchBinding", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://ip-messaging.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "type" - ], - "pathType": "list" - } - }, - "/v2/Credentials/{Sid}": { "delete": { "description": "", - "operationId": "DeleteCredential", "parameters": [ { - "description": "", + "name": "ServiceSid", "in": "path", - "name": "Sid", - "required": true, + "description": "", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BS[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1106,26 +1150,51 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteBinding", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/Services/{ServiceSid}/Channels/{Sid}": { + "servers": [ + { + "url": "https://ip-messaging.twilio.com" + } + ], "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "unique_name", + "friendly_name" + ], + "pathType": "instance", + "parent": "/Services" + }, "get": { "description": "", - "operationId": "FetchCredential", "parameters": [ { - "description": "", + "name": "ServiceSid", "in": "path", - "name": "Sid", - "required": true, + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "", + "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -1133,7 +1202,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ip_messaging.v2.credential" + "$ref": "#/components/schemas/ip_messaging.v2.service.channel" } } }, @@ -1145,73 +1214,51 @@ "accountSid_authToken": [] } ], + "operationId": "FetchChannel", "x-maturity": [ "GA" ] }, - "post": { + "delete": { "description": "", - "operationId": "UpdateCredential", "parameters": [ { - "description": "", + "name": "ServiceSid", "in": "path", - "name": "Sid", - "required": true, + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "", + "schema": { "type": "string" + }, + "required": true + }, + { + "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", + "schema": { + "type": "string", + "enum": [ + "true", + "false" + ] } } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "ApiKey": { - "description": "", - "type": "string" - }, - "Certificate": { - "description": "", - "type": "string" - }, - "FriendlyName": { - "description": "", - "type": "string" - }, - "PrivateKey": { - "description": "", - "type": "string" - }, - "Sandbox": { - "description": "", - "type": "boolean" - }, - "Secret": { - "description": "", - "type": "string" - } - }, - "title": "UpdateCredentialRequest", - "type": "object" - } - } - } - }, "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ip_messaging.v2.credential" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -1219,38 +1266,45 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteChannel", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://ip-messaging.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "type" - ], - "pathType": "instance" - } - }, - "/v2/Services": { - "description": "TODO: Resource-level docs", - "get": { + "post": { "description": "", - "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", + "name": "ServiceSid", + "in": "path", + "description": "", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", + "schema": { + "type": "string", + "enum": [ + "true", + "false" + ] } } ], @@ -1259,46 +1313,7 @@ "content": { "application/json": { "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "services": { - "items": { - "$ref": "#/components/schemas/ip_messaging.v2.service" - }, - "type": "array" - } - }, - "title": "ListServiceResponse", - "type": "object" + "$ref": "#/components/schemas/ip_messaging.v2.service.channel" } } }, @@ -1310,282 +1325,104 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateChannel", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "", - "operationId": "CreateService", + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateChannelRequest", "properties": { "FriendlyName": { - "description": "", - "type": "string" + "type": "string", + "description": "" + }, + "UniqueName": { + "type": "string", + "description": "" + }, + "Attributes": { + "type": "string", + "description": "" + }, + "DateCreated": { + "type": "string", + "format": "date-time", + "description": "" + }, + "DateUpdated": { + "type": "string", + "format": "date-time", + "description": "" + }, + "CreatedBy": { + "type": "string", + "description": "" } - }, - "required": [ - "FriendlyName" - ], - "title": "CreateServiceRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ip_messaging.v2.service" } } - }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://ip-messaging.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "date_created" - ], - "pathType": "list" - } - }, - "/v2/Services/{ServiceSid}/Bindings": { - "description": "TODO: Resource-level docs", - "get": { - "description": "", - "operationId": "ListBinding", - "parameters": [ - { - "description": "", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "", - "in": "query", - "name": "BindingType", - "schema": { - "items": { - "enum": [ - "gcm", - "apn", - "fcm" - ], - "type": "string" - }, - "type": "array" - } - }, - { - "description": "", - "in": "query", - "name": "Identity", - "schema": { - "items": { - "type": "string" - }, - "type": "array" } - }, - { - "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" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "bindings": { - "items": { - "$ref": "#/components/schemas/ip_messaging.v2.service.binding" - }, - "type": "array" - }, - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - } - }, - "title": "ListBindingResponse", - "type": "object" - } - } - }, - "description": "OK" } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://ip-messaging.twilio.com" } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "endpoint", - "identity" - ], - "parent": "/Services", - "pathType": "list" } }, - "/v2/Services/{ServiceSid}/Bindings/{Sid}": { - "delete": { - "description": "", - "operationId": "DeleteBinding", - "parameters": [ - { - "description": "", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^BS[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } + "/v2/Services/{ServiceSid}/Channels": { + "servers": [ + { + "url": "https://ip-messaging.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "unique_name", + "friendly_name" ], - "x-maturity": [ - "GA" - ] + "pathType": "list", + "parent": "/Services" }, - "description": "TODO: Resource-level docs", - "get": { + "post": { "description": "", - "operationId": "FetchBinding", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", - "name": "Sid", - "required": true, + "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^BS[0-9a-fA-F]{32}$", - "type": "string" + "type": "string", + "enum": [ + "true", + "false" + ] } } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ip_messaging.v2.service.binding" + "$ref": "#/components/schemas/ip_messaging.v2.service.channel" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -1593,66 +1430,95 @@ "accountSid_authToken": [] } ], + "operationId": "CreateChannel", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://ip-messaging.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "endpoint", - "identity" ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v2/Services/{ServiceSid}/Channels": { - "description": "TODO: Resource-level docs", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateChannelRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "" + }, + "UniqueName": { + "type": "string", + "description": "" + }, + "Attributes": { + "type": "string", + "description": "" + }, + "Type": { + "type": "string", + "enum": [ + "public", + "private" + ], + "description": "" + }, + "DateCreated": { + "type": "string", + "format": "date-time", + "description": "" + }, + "DateUpdated": { + "type": "string", + "format": "date-time", + "description": "" + }, + "CreatedBy": { + "type": "string", + "description": "" + } + } + } + } + } + } + }, "get": { "description": "", - "operationId": "ListChannel", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "query", "name": "Type", + "in": "query", + "description": "", "schema": { + "type": "array", "items": { + "type": "string", "enum": [ "public", "private" - ], - "type": "string" - }, - "type": "array" + ] + } } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1661,25 +1527,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListChannelResponse", "properties": { "channels": { + "type": "array", "items": { "$ref": "#/components/schemas/ip_messaging.v2.service.channel" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1688,119 +1554,23 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListChannelResponse", - "type": "object" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "", - "operationId": "CreateChannel", - "parameters": [ - { - "description": "", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", - "name": "X-Twilio-Webhook-Enabled", - "schema": { - "enum": [ - "true", - "false" - ], - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Attributes": { - "description": "", - "type": "string" - }, - "CreatedBy": { - "description": "", - "type": "string" - }, - "DateCreated": { - "description": "", - "format": "date-time", - "type": "string" - }, - "DateUpdated": { - "description": "", - "format": "date-time", - "type": "string" - }, - "FriendlyName": { - "description": "", - "type": "string" - }, - "Type": { - "description": "", - "enum": [ - "public", - "private" - ], - "type": "string" - }, - "UniqueName": { - "description": "", - "type": "string" } - }, - "title": "CreateChannelRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ip_messaging.v2.service.channel" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -1808,71 +1578,59 @@ "accountSid_authToken": [] } ], + "operationId": "ListChannel", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/Services/{ServiceSid}/Channels/{ChannelSid}/Webhooks": { "servers": [ { "url": "https://ip-messaging.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", - "unique_name", - "friendly_name" + "configuration" ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v2/Services/{ServiceSid}/Channels/{ChannelSid}/Invites": { - "description": "TODO: Resource-level docs", + "pathType": "list", + "parent": "/Services/{ServiceSid}/Channels" + }, "get": { "description": "", - "operationId": "ListInvite", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "", + "name": "PageSize", "in": "query", - "name": "Identity", - "schema": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - { "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, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1881,25 +1639,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListChannelWebhookResponse", "properties": { - "invites": { + "webhooks": { + "type": "array", "items": { - "$ref": "#/components/schemas/ip_messaging.v2.service.channel.invite" - }, - "type": "array" + "$ref": "#/components/schemas/ip_messaging.v2.service.channel.channel_webhook" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1908,19 +1666,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListInviteResponse", - "type": "object" + } } } }, @@ -1932,68 +1690,42 @@ "accountSid_authToken": [] } ], + "operationId": "ListChannelWebhook", "x-maturity": [ "GA" ] }, "post": { "description": "", - "operationId": "CreateInvite", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "", "schema": { "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Identity": { - "description": "", - "type": "string" - }, - "RoleSid": { - "description": "", - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "required": [ - "Identity" - ], - "title": "CreateInviteRequest", - "type": "object" - } - } - } - }, "responses": { "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ip_messaging.v2.service.channel.invite" + "$ref": "#/components/schemas/ip_messaging.v2.service.channel.channel_webhook" } } }, @@ -2005,67 +1737,135 @@ "accountSid_authToken": [] } ], + "operationId": "CreateChannelWebhook", "x-maturity": [ "GA" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateChannelWebhookRequest", + "properties": { + "Type": { + "type": "string", + "enum": [ + "webhook", + "trigger", + "studio" + ], + "description": "" + }, + "Configuration.Url": { + "type": "string", + "description": "" + }, + "Configuration.Method": { + "type": "string", + "enum": [ + "GET", + "POST" + ], + "description": "" + }, + "Configuration.Filters": { + "type": "array", + "items": { + "type": "string" + }, + "description": "" + }, + "Configuration.Triggers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "" + }, + "Configuration.FlowSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$", + "description": "" + }, + "Configuration.RetryCount": { + "type": "integer", + "description": "" + } + }, + "required": [ + "Type" + ] + } + } + } + } + } + }, + "/v2/Services/{ServiceSid}/Channels/{ChannelSid}/Webhooks/{Sid}": { "servers": [ { "url": "https://ip-messaging.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", - "identity", - "date_created" + "configuration" ], - "parent": "/Services/{ServiceSid}/Channels", - "pathType": "list" - } - }, - "/v2/Services/{ServiceSid}/Channels/{ChannelSid}/Invites/{Sid}": { - "delete": { + "pathType": "instance", + "parent": "/Services/{ServiceSid}/Channels" + }, + "get": { "description": "", - "operationId": "DeleteInvite", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IN[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WH[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ip_messaging.v2.service.channel.channel_webhook" + } + } + }, + "description": "OK" } }, "security": [ @@ -2073,47 +1873,46 @@ "accountSid_authToken": [] } ], + "operationId": "FetchChannelWebhook", "x-maturity": [ "GA" ] }, - "description": "TODO: Resource-level docs", - "get": { + "post": { "description": "", - "operationId": "FetchInvite", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IN[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WH[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2121,7 +1920,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ip_messaging.v2.service.channel.invite" + "$ref": "#/components/schemas/ip_messaging.v2.service.channel.channel_webhook" } } }, @@ -2133,71 +1932,139 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateChannelWebhook", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateChannelWebhookRequest", + "properties": { + "Configuration.Url": { + "type": "string", + "description": "" + }, + "Configuration.Method": { + "type": "string", + "enum": [ + "GET", + "POST" + ], + "description": "" + }, + "Configuration.Filters": { + "type": "array", + "items": { + "type": "string" + }, + "description": "" + }, + "Configuration.Triggers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "" + }, + "Configuration.FlowSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$", + "description": "" + }, + "Configuration.RetryCount": { + "type": "integer", + "description": "" + } + } + } + } + } + } + }, + "delete": { + "description": "", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "ChannelSid", + "in": "path", + "description": "", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WH[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteChannelWebhook", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/Credentials": { "servers": [ { "url": "https://ip-messaging.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", - "identity", - "date_created" + "friendly_name", + "type" ], - "parent": "/Services/{ServiceSid}/Channels", - "pathType": "instance" - } - }, - "/v2/Services/{ServiceSid}/Channels/{ChannelSid}/Members": { - "description": "TODO: Resource-level docs", + "pathType": "list" + }, "get": { "description": "", - "operationId": "ListMember", "parameters": [ { - "description": "", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "", - "in": "path", - "name": "ChannelSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "", + "name": "PageSize", "in": "query", - "name": "Identity", - "schema": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - { "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, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -2206,25 +2073,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListCredentialResponse", "properties": { - "members": { + "credentials": { + "type": "array", "items": { - "$ref": "#/components/schemas/ip_messaging.v2.service.channel.member" - }, - "type": "array" + "$ref": "#/components/schemas/ip_messaging.v2.credential" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -2233,19 +2100,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListMemberResponse", - "type": "object" + } } } }, @@ -2257,108 +2124,230 @@ "accountSid_authToken": [] } ], + "operationId": "ListCredential", "x-maturity": [ "GA" ] }, "post": { "description": "", - "operationId": "CreateMember", - "parameters": [ - { - "description": "", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "", - "in": "path", - "name": "ChannelSid", - "required": true, - "schema": { - "type": "string" - } - }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ip_messaging.v2.credential" + } + } + }, + "description": "Created" + } + }, + "security": [ { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", - "name": "X-Twilio-Webhook-Enabled", - "schema": { - "enum": [ - "true", - "false" - ], - "type": "string" - } + "accountSid_authToken": [] } ], + "operationId": "CreateCredential", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateCredentialRequest", "properties": { - "Attributes": { - "description": "", - "type": "string" + "Type": { + "type": "string", + "enum": [ + "gcm", + "apn", + "fcm" + ], + "description": "" }, - "DateCreated": { - "description": "", - "format": "date-time", - "type": "string" + "FriendlyName": { + "type": "string", + "description": "" }, - "DateUpdated": { - "description": "", - "format": "date-time", - "type": "string" + "Certificate": { + "type": "string", + "description": "" }, - "Identity": { - "description": "", - "type": "string" + "PrivateKey": { + "type": "string", + "description": "" }, - "LastConsumedMessageIndex": { - "description": "", - "nullable": true, - "type": "integer" + "Sandbox": { + "type": "boolean", + "description": "" }, - "LastConsumptionTimestamp": { - "description": "", - "format": "date-time", - "type": "string" + "ApiKey": { + "type": "string", + "description": "" }, - "RoleSid": { - "description": "", - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "Secret": { + "type": "string", + "description": "" } }, "required": [ - "Identity" - ], - "title": "CreateMemberRequest", - "type": "object" + "Type" + ] } } } + } + } + }, + "/v2/Credentials/{Sid}": { + "servers": [ + { + "url": "https://ip-messaging.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "type" + ], + "pathType": "instance" + }, + "get": { + "description": "", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ip_messaging.v2.credential" + } + } + }, + "description": "OK" + } }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "FetchCredential", + "x-maturity": [ + "GA" + ] + }, + "post": { + "description": "", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$" + }, + "required": true + } + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ip_messaging.v2.service.channel.member" + "$ref": "#/components/schemas/ip_messaging.v2.credential" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "UpdateCredential", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateCredentialRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "" + }, + "Certificate": { + "type": "string", + "description": "" + }, + "PrivateKey": { + "type": "string", + "description": "" + }, + "Sandbox": { + "type": "boolean", + "description": "" + }, + "ApiKey": { + "type": "string", + "description": "" + }, + "Secret": { + "type": "string", + "description": "" + } } } + } + } + } + }, + "delete": { + "description": "", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$" }, - "description": "Created" + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -2366,76 +2355,75 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteCredential", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/Services/{ServiceSid}/Channels/{ChannelSid}/Invites/{Sid}": { "servers": [ { "url": "https://ip-messaging.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", "identity", "date_created" ], - "parent": "/Services/{ServiceSid}/Channels", - "pathType": "list" - } - }, - "/v2/Services/{ServiceSid}/Channels/{ChannelSid}/Members/{Sid}": { - "delete": { + "pathType": "instance", + "parent": "/Services/{ServiceSid}/Channels" + }, + "get": { "description": "", - "operationId": "DeleteMember", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "ChannelSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "", "in": "path", - "name": "Sid", - "required": true, + "description": "", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", - "name": "X-Twilio-Webhook-Enabled", + "name": "Sid", + "in": "path", + "description": "", "schema": { - "enum": [ - "true", - "false" - ], - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IN[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ip_messaging.v2.service.channel.invite" + } + } + }, + "description": "OK" } }, "security": [ @@ -2443,56 +2431,51 @@ "accountSid_authToken": [] } ], + "operationId": "FetchInvite", "x-maturity": [ "GA" ] }, - "description": "TODO: Resource-level docs", - "get": { + "delete": { "description": "", - "operationId": "FetchMember", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IN[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ip_messaging.v2.service.channel.member" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -2500,110 +2483,63 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteInvite", "x-maturity": [ "GA" ] + } + }, + "/v2/Services/{ServiceSid}/Channels/{ChannelSid}/Invites": { + "servers": [ + { + "url": "https://ip-messaging.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "identity", + "date_created" + ], + "pathType": "list", + "parent": "/Services/{ServiceSid}/Channels" }, "post": { "description": "", - "operationId": "UpdateMember", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "ChannelSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "", "in": "path", - "name": "Sid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", - "name": "X-Twilio-Webhook-Enabled", + "description": "", "schema": { - "enum": [ - "true", - "false" - ], "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Attributes": { - "description": "", - "type": "string" - }, - "DateCreated": { - "description": "", - "format": "date-time", - "type": "string" - }, - "DateUpdated": { - "description": "", - "format": "date-time", - "type": "string" - }, - "LastConsumedMessageIndex": { - "description": "", - "nullable": true, - "type": "integer" - }, - "LastConsumptionTimestamp": { - "description": "", - "format": "date-time", - "type": "string" - }, - "RoleSid": { - "description": "", - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "title": "UpdateMemberRequest", - "type": "object" - } - } - } - }, "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ip_messaging.v2.service.channel.member" + "$ref": "#/components/schemas/ip_messaging.v2.service.channel.invite" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -2611,72 +2547,80 @@ "accountSid_authToken": [] } ], + "operationId": "CreateInvite", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://ip-messaging.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "identity", - "date_created" ], - "parent": "/Services/{ServiceSid}/Channels", - "pathType": "instance" - } - }, - "/v2/Services/{ServiceSid}/Channels/{ChannelSid}/Messages": { - "description": "TODO: Resource-level docs", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateInviteRequest", + "properties": { + "Identity": { + "type": "string", + "description": "" + }, + "RoleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "description": "" + } + }, + "required": [ + "Identity" + ] + } + } + } + } + }, "get": { "description": "", - "operationId": "ListMessage", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "", + "name": "Identity", "in": "query", - "name": "Order", - "schema": { - "enum": [ - "asc", - "desc" - ], - "type": "string" + "description": "", + "schema": { + "type": "array", + "items": { + "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", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -2685,25 +2629,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListInviteResponse", "properties": { - "messages": { + "invites": { + "type": "array", "items": { - "$ref": "#/components/schemas/ip_messaging.v2.service.channel.message" - }, - "type": "array" + "$ref": "#/components/schemas/ip_messaging.v2.service.channel.invite" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -2712,19 +2656,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListMessageResponse", - "type": "object" + } } } }, @@ -2736,103 +2680,72 @@ "accountSid_authToken": [] } ], + "operationId": "ListInvite", "x-maturity": [ "GA" ] + } + }, + "/v2/Services/{ServiceSid}/Channels/{ChannelSid}/Members/{Sid}": { + "servers": [ + { + "url": "https://ip-messaging.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "identity", + "date_created" + ], + "pathType": "instance", + "parent": "/Services/{ServiceSid}/Channels" }, - "post": { + "get": { "description": "", - "operationId": "CreateMessage", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", - "name": "X-Twilio-Webhook-Enabled", + "name": "Sid", + "in": "path", + "description": "", "schema": { - "enum": [ - "true", - "false" - ], "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Attributes": { - "description": "", - "type": "string" - }, - "Body": { - "description": "", - "type": "string" - }, - "DateCreated": { - "description": "", - "format": "date-time", - "type": "string" - }, - "DateUpdated": { - "description": "", - "format": "date-time", - "type": "string" - }, - "From": { - "description": "", - "type": "string" - }, - "LastUpdatedBy": { - "description": "", - "type": "string" - }, - "MediaSid": { - "description": "", - "maxLength": 34, - "minLength": 34, - "pattern": "^ME[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "title": "CreateMessageRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ip_messaging.v2.service.channel.message" + "$ref": "#/components/schemas/ip_messaging.v2.service.channel.member" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -2840,74 +2753,54 @@ "accountSid_authToken": [] } ], + "operationId": "FetchMember", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://ip-messaging.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "from", - "to", - "date_created" - ], - "parent": "/Services/{ServiceSid}/Channels", - "pathType": "list" - } - }, - "/v2/Services/{ServiceSid}/Channels/{ChannelSid}/Messages/{Sid}": { "delete": { "description": "", - "operationId": "DeleteMessage", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IM[0-9a-fA-F]{32}$", "type": "string" - } + }, + "required": true }, { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", "schema": { + "type": "string", "enum": [ "true", "false" - ], - "type": "string" + ] } } ], @@ -2921,46 +2814,54 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteMember", "x-maturity": [ "GA" ] }, - "description": "TODO: Resource-level docs", - "get": { + "post": { "description": "", - "operationId": "FetchMessage", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IM[0-9a-fA-F]{32}$", "type": "string" + }, + "required": true + }, + { + "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", + "schema": { + "type": "string", + "enum": [ + "true", + "false" + ] } } ], @@ -2969,7 +2870,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ip_messaging.v2.service.channel.message" + "$ref": "#/components/schemas/ip_messaging.v2.service.channel.member" } } }, @@ -2981,170 +2882,223 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateMember", "x-maturity": [ "GA" - ] + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateMemberRequest", + "properties": { + "RoleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "description": "" + }, + "LastConsumedMessageIndex": { + "type": "integer", + "nullable": true, + "description": "" + }, + "LastConsumptionTimestamp": { + "type": "string", + "format": "date-time", + "description": "" + }, + "DateCreated": { + "type": "string", + "format": "date-time", + "description": "" + }, + "DateUpdated": { + "type": "string", + "format": "date-time", + "description": "" + }, + "Attributes": { + "type": "string", + "description": "" + } + } + } + } + } + } + } + }, + "/v2/Services/{ServiceSid}/Channels/{ChannelSid}/Members": { + "servers": [ + { + "url": "https://ip-messaging.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "identity", + "date_created" + ], + "pathType": "list", + "parent": "/Services/{ServiceSid}/Channels" }, "post": { "description": "", - "operationId": "UpdateMessage", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "ChannelSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "", "in": "path", - "name": "Sid", - "required": true, + "description": "", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IM[0-9a-fA-F]{32}$", "type": "string" - } + }, + "required": true }, { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", "schema": { + "type": "string", "enum": [ "true", "false" - ], - "type": "string" + ] } } ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ip_messaging.v2.service.channel.member" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateMember", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateMemberRequest", "properties": { - "Attributes": { - "description": "", - "type": "string" + "Identity": { + "type": "string", + "description": "" }, - "Body": { - "description": "", - "type": "string" + "RoleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "description": "" + }, + "LastConsumedMessageIndex": { + "type": "integer", + "nullable": true, + "description": "" + }, + "LastConsumptionTimestamp": { + "type": "string", + "format": "date-time", + "description": "" }, "DateCreated": { - "description": "", + "type": "string", "format": "date-time", - "type": "string" + "description": "" }, "DateUpdated": { - "description": "", + "type": "string", "format": "date-time", - "type": "string" - }, - "From": { - "description": "", - "type": "string" + "description": "" }, - "LastUpdatedBy": { - "description": "", - "type": "string" + "Attributes": { + "type": "string", + "description": "" } }, - "title": "UpdateMessageRequest", - "type": "object" + "required": [ + "Identity" + ] } } } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ip_messaging.v2.service.channel.message" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://ip-messaging.twilio.com" } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "from", - "to", - "date_created" - ], - "parent": "/Services/{ServiceSid}/Channels", - "pathType": "instance" - } - }, - "/v2/Services/{ServiceSid}/Channels/{ChannelSid}/Webhooks": { - "description": "TODO: Resource-level docs", + }, "get": { "description": "", - "operationId": "ListChannelWebhook", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", + "name": "Identity", "in": "query", + "description": "", + "schema": { + "type": "array", + "items": { + "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": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -3153,19 +3107,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListMemberResponse", "properties": { + "members": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ip_messaging.v2.service.channel.member" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -3174,25 +3134,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "webhooks": { - "items": { - "$ref": "#/components/schemas/ip_messaging.v2.service.channel.channel_webhook" - }, - "type": "array" + } } - }, - "title": "ListChannelWebhookResponse", - "type": "object" + } } } }, @@ -3204,107 +3158,76 @@ "accountSid_authToken": [] } ], + "operationId": "ListMember", "x-maturity": [ "GA" ] + } + }, + "/v2/Services/{ServiceSid}/Channels/{ChannelSid}/Messages/{Sid}": { + "servers": [ + { + "url": "https://ip-messaging.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "from", + "to", + "date_created" + ], + "pathType": "instance", + "parent": "/Services/{ServiceSid}/Channels" }, - "post": { + "get": { "description": "", - "operationId": "CreateChannelWebhook", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "", "schema": { "type": "string" - } + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IM[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Configuration.Filters": { - "description": "", - "items": { - "type": "string" - }, - "type": "array" - }, - "Configuration.FlowSid": { - "description": "", - "maxLength": 34, - "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - }, - "Configuration.Method": { - "description": "", - "enum": [ - "GET", - "POST" - ], - "type": "string" - }, - "Configuration.RetryCount": { - "description": "", - "type": "integer" - }, - "Configuration.Triggers": { - "description": "", - "items": { - "type": "string" - }, - "type": "array" - }, - "Configuration.Url": { - "description": "", - "type": "string" - }, - "Type": { - "description": "", - "enum": [ - "webhook", - "trigger", - "studio" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "title": "CreateChannelWebhookRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ip_messaging.v2.service.channel.channel_webhook" + "$ref": "#/components/schemas/ip_messaging.v2.service.channel.message" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -3312,60 +3235,57 @@ "accountSid_authToken": [] } ], + "operationId": "FetchMessage", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://ip-messaging.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "configuration" - ], - "parent": "/Services/{ServiceSid}/Channels", - "pathType": "list" - } - }, - "/v2/Services/{ServiceSid}/Channels/{ChannelSid}/Webhooks/{Sid}": { "delete": { "description": "", - "operationId": "DeleteChannelWebhook", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WH[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^IM[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", + "schema": { + "type": "string", + "enum": [ + "true", + "false" + ] } } ], @@ -3379,46 +3299,57 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteMessage", "x-maturity": [ "GA" ] }, - "description": "TODO: Resource-level docs", - "get": { + "post": { "description": "", - "operationId": "FetchChannelWebhook", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WH[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^IM[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", + "schema": { + "type": "string", + "enum": [ + "true", + "false" + ] } } ], @@ -3427,7 +3358,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ip_messaging.v2.service.channel.channel_webhook" + "$ref": "#/components/schemas/ip_messaging.v2.service.channel.message" } } }, @@ -3439,103 +3370,263 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateMessage", "x-maturity": [ "GA" - ] + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateMessageRequest", + "properties": { + "Body": { + "type": "string", + "description": "" + }, + "Attributes": { + "type": "string", + "description": "" + }, + "DateCreated": { + "type": "string", + "format": "date-time", + "description": "" + }, + "DateUpdated": { + "type": "string", + "format": "date-time", + "description": "" + }, + "LastUpdatedBy": { + "type": "string", + "description": "" + }, + "From": { + "type": "string", + "description": "" + } + } + } + } + } + } + } + }, + "/v2/Services/{ServiceSid}/Channels/{ChannelSid}/Messages": { + "servers": [ + { + "url": "https://ip-messaging.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "from", + "to", + "date_created" + ], + "pathType": "list", + "parent": "/Services/{ServiceSid}/Channels" }, "post": { "description": "", - "operationId": "UpdateChannelWebhook", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "", - "in": "path", - "name": "Sid", - "required": true, + "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WH[0-9a-fA-F]{32}$", - "type": "string" + "type": "string", + "enum": [ + "true", + "false" + ] } } ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ip_messaging.v2.service.channel.message" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateMessage", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateMessageRequest", "properties": { - "Configuration.Filters": { - "description": "", - "items": { - "type": "string" - }, - "type": "array" + "From": { + "type": "string", + "description": "" }, - "Configuration.FlowSid": { - "description": "", - "maxLength": 34, - "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" + "Attributes": { + "type": "string", + "description": "" }, - "Configuration.Method": { - "description": "", - "enum": [ - "GET", - "POST" - ], - "type": "string" + "DateCreated": { + "type": "string", + "format": "date-time", + "description": "" }, - "Configuration.RetryCount": { - "description": "", - "type": "integer" + "DateUpdated": { + "type": "string", + "format": "date-time", + "description": "" }, - "Configuration.Triggers": { - "description": "", - "items": { - "type": "string" - }, - "type": "array" + "LastUpdatedBy": { + "type": "string", + "description": "" }, - "Configuration.Url": { - "description": "", - "type": "string" + "Body": { + "type": "string", + "description": "" + }, + "MediaSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^ME[0-9a-fA-F]{32}$", + "description": "" } - }, - "title": "UpdateChannelWebhookRequest", - "type": "object" + } } } } - }, + } + }, + "get": { + "description": "", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "ChannelSid", + "in": "path", + "description": "", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "Order", + "in": "query", + "description": "", + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ] + } + }, + { + "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 + } + } + ], "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ip_messaging.v2.service.channel.channel_webhook" + "type": "object", + "title": "ListMessageResponse", + "properties": { + "messages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ip_messaging.v2.service.channel.message" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -3547,66 +3638,66 @@ "accountSid_authToken": [] } ], + "operationId": "ListMessage", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/Services/{ServiceSid}/Roles/{Sid}": { "servers": [ { "url": "https://ip-messaging.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", - "configuration" + "friendly_name", + "type" ], - "parent": "/Services/{ServiceSid}/Channels", - "pathType": "instance" - } - }, - "/v2/Services/{ServiceSid}/Channels/{Sid}": { - "delete": { + "pathType": "instance", + "parent": "/Services" + }, + "get": { "description": "", - "operationId": "DeleteChannel", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "Sid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", - "name": "X-Twilio-Webhook-Enabled", + "in": "path", + "description": "", "schema": { - "enum": [ - "true", - "false" - ], - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ip_messaging.v2.service.role" + } + } + }, + "description": "OK" } }, "security": [ @@ -3614,47 +3705,42 @@ "accountSid_authToken": [] } ], + "operationId": "FetchRole", "x-maturity": [ "GA" ] }, - "description": "TODO: Resource-level docs", - "get": { + "delete": { "description": "", - "operationId": "FetchChannel", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ip_messaging.v2.service.channel" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -3662,96 +3748,126 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteRole", "x-maturity": [ "GA" ] }, "post": { "description": "", - "operationId": "UpdateChannel", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "", "schema": { - "type": "string" - } - }, + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ip_messaging.v2.service.role" + } + } + }, + "description": "OK" + } + }, + "security": [ { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", - "name": "X-Twilio-Webhook-Enabled", - "schema": { - "enum": [ - "true", - "false" - ], - "type": "string" - } + "accountSid_authToken": [] } ], + "operationId": "UpdateRole", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateRoleRequest", "properties": { - "Attributes": { - "description": "", - "type": "string" - }, - "CreatedBy": { - "description": "", - "type": "string" - }, - "DateCreated": { - "description": "", - "format": "date-time", - "type": "string" - }, - "DateUpdated": { - "description": "", - "format": "date-time", - "type": "string" - }, - "FriendlyName": { - "description": "", - "type": "string" - }, - "UniqueName": { - "description": "", - "type": "string" + "Permission": { + "type": "array", + "items": { + "type": "string" + }, + "description": "" } }, - "title": "UpdateChannelRequest", - "type": "object" + "required": [ + "Permission" + ] } } } - }, + } + } + }, + "/v2/Services/{ServiceSid}/Roles": { + "servers": [ + { + "url": "https://ip-messaging.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "type" + ], + "pathType": "list", + "parent": "/Services" + }, + "post": { + "description": "", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + } + ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ip_messaging.v2.service.channel" + "$ref": "#/components/schemas/ip_messaging.v2.service.role" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -3759,51 +3875,70 @@ "accountSid_authToken": [] } ], + "operationId": "CreateRole", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://ip-messaging.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "unique_name", - "friendly_name" ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v2/Services/{ServiceSid}/Roles": { - "description": "TODO: Resource-level docs", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateRoleRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "" + }, + "Type": { + "type": "string", + "enum": [ + "channel", + "deployment" + ], + "description": "" + }, + "Permission": { + "type": "array", + "items": { + "type": "string" + }, + "description": "" + } + }, + "required": [ + "FriendlyName", + "Type", + "Permission" + ] + } + } + } + } + }, "get": { "description": "", - "operationId": "ListRole", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -3812,19 +3947,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListRoleResponse", "properties": { + "roles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ip_messaging.v2.service.role" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -3833,25 +3974,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "roles": { - "items": { - "$ref": "#/components/schemas/ip_messaging.v2.service.role" - }, - "type": "array" + } } - }, - "title": "ListRoleResponse", - "type": "object" + } } } }, @@ -3863,73 +3998,53 @@ "accountSid_authToken": [] } ], + "operationId": "ListRole", "x-maturity": [ "GA" ] + } + }, + "/v2/Services/{Sid}": { + "servers": [ + { + "url": "https://ip-messaging.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "date_created" + ], + "pathType": "instance" }, - "post": { + "get": { "description": "", - "operationId": "CreateRole", "parameters": [ { - "description": "", + "name": "Sid", "in": "path", - "name": "ServiceSid", - "required": true, + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "FriendlyName": { - "description": "", - "type": "string" - }, - "Permission": { - "description": "", - "items": { - "type": "string" - }, - "type": "array" - }, - "Type": { - "description": "", - "enum": [ - "channel", - "deployment" - ], - "type": "string" - } - }, - "required": [ - "FriendlyName", - "Type", - "Permission" - ], - "title": "CreateRoleRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ip_messaging.v2.service.role" + "$ref": "#/components/schemas/ip_messaging.v2.service" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -3937,58 +4052,68 @@ "accountSid_authToken": [] } ], + "operationId": "FetchService", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://ip-messaging.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "type" - ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v2/Services/{ServiceSid}/Roles/{Sid}": { "delete": { "description": "", - "operationId": "DeleteRole", "parameters": [ { - "description": "", + "name": "Sid", "in": "path", - "name": "ServiceSid", - "required": true, + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteService", + "x-maturity": [ + "GA" + ] + }, + "post": { + "description": "", + "parameters": [ { - "description": "", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ip_messaging.v2.service" + } + } + }, + "description": "OK" } }, "security": [ @@ -3996,50 +4121,198 @@ "accountSid_authToken": [] } ], - "x-maturity": [ - "GA" - ] + "operationId": "UpdateService", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateServiceRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "" + }, + "DefaultServiceRoleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "description": "" + }, + "DefaultChannelRoleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "description": "" + }, + "DefaultChannelCreatorRoleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "description": "" + }, + "ReadStatusEnabled": { + "type": "boolean", + "description": "" + }, + "ReachabilityEnabled": { + "type": "boolean", + "description": "" + }, + "TypingIndicatorTimeout": { + "type": "integer", + "description": "" + }, + "ConsumptionReportInterval": { + "type": "integer", + "description": "" + }, + "Notifications.NewMessage.Enabled": { + "type": "boolean", + "description": "" + }, + "Notifications.NewMessage.Template": { + "type": "string", + "description": "" + }, + "Notifications.NewMessage.Sound": { + "type": "string", + "description": "" + }, + "Notifications.NewMessage.BadgeCountEnabled": { + "type": "boolean", + "description": "" + }, + "Notifications.AddedToChannel.Enabled": { + "type": "boolean", + "description": "" + }, + "Notifications.AddedToChannel.Template": { + "type": "string", + "description": "" + }, + "Notifications.AddedToChannel.Sound": { + "type": "string", + "description": "" + }, + "Notifications.RemovedFromChannel.Enabled": { + "type": "boolean", + "description": "" + }, + "Notifications.RemovedFromChannel.Template": { + "type": "string", + "description": "" + }, + "Notifications.RemovedFromChannel.Sound": { + "type": "string", + "description": "" + }, + "Notifications.InvitedToChannel.Enabled": { + "type": "boolean", + "description": "" + }, + "Notifications.InvitedToChannel.Template": { + "type": "string", + "description": "" + }, + "Notifications.InvitedToChannel.Sound": { + "type": "string", + "description": "" + }, + "PreWebhookUrl": { + "type": "string", + "format": "uri", + "description": "" + }, + "PostWebhookUrl": { + "type": "string", + "format": "uri", + "description": "" + }, + "WebhookMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "" + }, + "WebhookFilters": { + "type": "array", + "items": { + "type": "string" + }, + "description": "" + }, + "Limits.ChannelMembers": { + "type": "integer", + "description": "" + }, + "Limits.UserChannels": { + "type": "integer", + "description": "" + }, + "Media.CompatibilityMessage": { + "type": "string", + "description": "" + }, + "PreWebhookRetryCount": { + "type": "integer", + "description": "" + }, + "PostWebhookRetryCount": { + "type": "integer", + "description": "" + }, + "Notifications.LogEnabled": { + "type": "boolean", + "description": "" + } + } + } + } + } + } + } + }, + "/v2/Services": { + "servers": [ + { + "url": "https://ip-messaging.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "date_created" + ], + "pathType": "list" }, - "description": "TODO: Resource-level docs", - "get": { + "post": { "description": "", - "operationId": "FetchRole", - "parameters": [ - { - "description": "", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ip_messaging.v2.service.role" + "$ref": "#/components/schemas/ip_messaging.v2.service" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -4047,123 +4320,41 @@ "accountSid_authToken": [] } ], + "operationId": "CreateService", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "", - "operationId": "UpdateRole", - "parameters": [ - { - "description": "", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateServiceRequest", "properties": { - "Permission": { - "description": "", - "items": { - "type": "string" - }, - "type": "array" + "FriendlyName": { + "type": "string", + "description": "" } }, "required": [ - "Permission" - ], - "title": "UpdateRoleRequest", - "type": "object" + "FriendlyName" + ] } } } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ip_messaging.v2.service.role" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://ip-messaging.twilio.com" } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "type" - ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v2/Services/{ServiceSid}/Users": { - "description": "TODO: Resource-level docs", + }, "get": { "description": "", - "operationId": "ListUser", "parameters": [ { - "description": "", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[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", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -4172,19 +4363,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListServiceResponse", "properties": { + "services": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ip_messaging.v2.service" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -4193,25 +4390,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "users": { - "items": { - "$ref": "#/components/schemas/ip_messaging.v2.service.user" - }, - "type": "array" + } } - }, - "title": "ListUserResponse", - "type": "object" + } } } }, @@ -4223,75 +4414,56 @@ "accountSid_authToken": [] } ], + "operationId": "ListService", "x-maturity": [ "GA" ] + } + }, + "/v2/Services/{ServiceSid}/Users/{Sid}": { + "servers": [ + { + "url": "https://ip-messaging.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "identity", + "date_created" + ], + "pathType": "instance", + "parent": "/Services" }, - "post": { + "get": { "description": "", - "operationId": "CreateUser", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", - "name": "X-Twilio-Webhook-Enabled", + "name": "Sid", + "in": "path", + "description": "", "schema": { - "enum": [ - "true", - "false" - ], "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Attributes": { - "description": "", - "type": "string" - }, - "FriendlyName": { - "description": "", - "type": "string" - }, - "Identity": { - "description": "", - "type": "string" - }, - "RoleSid": { - "description": "", - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "required": [ - "Identity" - ], - "title": "CreateUserRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { @@ -4299,59 +4471,42 @@ } } }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] } ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://ip-messaging.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "identity", - "date_created" - ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v2/Services/{ServiceSid}/Users/{Sid}": { + "operationId": "FetchUser", + "x-maturity": [ + "GA" + ] + }, "delete": { "description": "", - "operationId": "DeleteUser", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -4364,34 +4519,45 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteUser", "x-maturity": [ "GA" ] }, - "description": "TODO: Resource-level docs", - "get": { + "post": { "description": "", - "operationId": "FetchUser", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "", "schema": { "type": "string" + }, + "required": true + }, + { + "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", + "schema": { + "type": "string", + "enum": [ + "true", + "false" + ] } } ], @@ -4412,81 +4578,211 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateUser", "x-maturity": [ "GA" - ] + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateUserRequest", + "properties": { + "RoleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RL[0-9a-fA-F]{32}$", + "description": "" + }, + "Attributes": { + "type": "string", + "description": "" + }, + "FriendlyName": { + "type": "string", + "description": "" + } + } + } + } + } + } + } + }, + "/v2/Services/{ServiceSid}/Users": { + "servers": [ + { + "url": "https://ip-messaging.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "identity", + "date_created" + ], + "pathType": "list", + "parent": "/Services" }, "post": { "description": "", - "operationId": "UpdateUser", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "", "in": "path", - "name": "Sid", - "required": true, + "description": "", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The X-Twilio-Webhook-Enabled HTTP request header", - "in": "header", "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", "schema": { + "type": "string", "enum": [ "true", "false" - ], - "type": "string" + ] } } ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ip_messaging.v2.service.user" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateUser", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateUserRequest", "properties": { - "Attributes": { - "description": "", - "type": "string" - }, - "FriendlyName": { - "description": "", - "type": "string" + "Identity": { + "type": "string", + "description": "" }, "RoleSid": { - "description": "", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" + "description": "" + }, + "Attributes": { + "type": "string", + "description": "" + }, + "FriendlyName": { + "type": "string", + "description": "" } }, - "title": "UpdateUserRequest", - "type": "object" + "required": [ + "Identity" + ] } } } - }, + } + }, + "get": { + "description": "", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "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 + } + } + ], "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ip_messaging.v2.service.user" + "type": "object", + "title": "ListUserResponse", + "properties": { + "users": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ip_messaging.v2.service.user" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -4498,77 +4794,78 @@ "accountSid_authToken": [] } ], + "operationId": "ListUser", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/Services/{ServiceSid}/Users/{UserSid}/Bindings": { "servers": [ { "url": "https://ip-messaging.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", - "friendly_name", + "endpoint", "identity", - "date_created" + "binding_type" ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v2/Services/{ServiceSid}/Users/{UserSid}/Bindings": { - "description": "TODO: Resource-level docs", + "pathType": "list", + "parent": "/Services/{ServiceSid}/Users", + "className": "user_binding" + }, "get": { "description": "", - "operationId": "ListUserBinding", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "UserSid", - "required": true, + "in": "path", + "description": "", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "", - "in": "query", "name": "BindingType", + "in": "query", + "description": "", "schema": { + "type": "array", "items": { + "type": "string", "enum": [ "gcm", "apn", "fcm" - ], - "type": "string" - }, - "type": "array" + ] + } } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -4577,25 +4874,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListUserBindingResponse", "properties": { "bindings": { + "type": "array", "items": { "$ref": "#/components/schemas/ip_messaging.v2.service.user.user_binding" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "first_page_url": { + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -4604,19 +4901,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListUserBindingResponse", - "type": "object" + } } } }, @@ -4628,69 +4925,77 @@ "accountSid_authToken": [] } ], + "operationId": "ListUserBinding", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/Services/{ServiceSid}/Users/{UserSid}/Bindings/{Sid}": { "servers": [ { "url": "https://ip-messaging.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { - "className": "user_binding", "defaultOutputProperties": [ "sid", "endpoint", "identity", "binding_type" ], + "pathType": "instance", "parent": "/Services/{ServiceSid}/Users", - "pathType": "list" - } - }, - "/v2/Services/{ServiceSid}/Users/{UserSid}/Bindings/{Sid}": { - "delete": { + "className": "user_binding" + }, + "get": { "description": "", - "operationId": "DeleteUserBinding", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "UserSid", - "required": true, + "in": "path", + "description": "", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BS[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ip_messaging.v2.service.user.user_binding" + } + } + }, + "description": "OK" } }, "security": [ @@ -4698,59 +5003,51 @@ "accountSid_authToken": [] } ], + "operationId": "FetchUserBinding", "x-maturity": [ "GA" ] }, - "description": "TODO: Resource-level docs", - "get": { + "delete": { "description": "", - "operationId": "FetchUserBinding", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "UserSid", - "required": true, + "in": "path", + "description": "", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BS[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ip_messaging.v2.service.user.user_binding" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -4758,62 +5055,60 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteUserBinding", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/Services/{ServiceSid}/Users/{UserSid}/Channels": { "servers": [ { "url": "https://ip-messaging.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { - "className": "user_binding", "defaultOutputProperties": [ - "sid", - "endpoint", - "identity", - "binding_type" + "channel_sid", + "status" ], + "pathType": "list", "parent": "/Services/{ServiceSid}/Users", - "pathType": "instance" - } - }, - "/v2/Services/{ServiceSid}/Users/{UserSid}/Channels": { - "description": "TODO: Resource-level docs", + "className": "user_channel" + }, "get": { "description": "", - "operationId": "ListUserChannel", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "UserSid", - "required": true, + "in": "path", + "description": "", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -4822,25 +5117,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListUserChannelResponse", "properties": { "channels": { + "type": "array", "items": { "$ref": "#/components/schemas/ip_messaging.v2.service.user.user_channel" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -4849,19 +5144,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListUserChannelResponse", - "type": "object" + } } } }, @@ -4873,197 +5168,62 @@ "accountSid_authToken": [] } ], + "operationId": "ListUserChannel", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/Services/{ServiceSid}/Users/{UserSid}/Channels/{ChannelSid}": { "servers": [ { "url": "https://ip-messaging.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { - "className": "user_channel", "defaultOutputProperties": [ "channel_sid", "status" ], + "pathType": "instance", "parent": "/Services/{ServiceSid}/Users", - "pathType": "list" - } - }, - "/v2/Services/{ServiceSid}/Users/{UserSid}/Channels/{ChannelSid}": { - "delete": { - "description": "", - "operationId": "DeleteUserChannel", - "parameters": [ - { - "description": "", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "", - "in": "path", - "name": "UserSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "", - "in": "path", - "name": "ChannelSid", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] + "className": "user_channel" }, - "description": "TODO: Resource-level docs", "get": { "description": "", - "operationId": "FetchUserChannel", "parameters": [ { - "description": "", - "in": "path", "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "", - "in": "path", - "name": "UserSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "", - "in": "path", - "name": "ChannelSid", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ip_messaging.v2.service.user.user_channel" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "", - "operationId": "UpdateUserChannel", - "parameters": [ - { - "description": "", "in": "path", - "name": "ServiceSid", - "required": true, + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "", - "in": "path", "name": "UserSid", - "required": true, + "in": "path", + "description": "", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "", - "in": "path", "name": "ChannelSid", - "required": true, + "in": "path", + "description": "", "schema": { "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "LastConsumedMessageIndex": { - "description": "", - "nullable": true, - "type": "integer" - }, - "LastConsumptionTimestamp": { - "description": "", - "format": "date-time", - "type": "string" - }, - "NotificationLevel": { - "description": "", - "enum": [ - "default", - "muted" - ], - "type": "string" - } - }, - "title": "UpdateUserChannelRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { @@ -5081,41 +5241,43 @@ "accountSid_authToken": [] } ], + "operationId": "FetchUserChannel", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://ip-messaging.twilio.com" - } - ], - "x-twilio": { - "className": "user_channel", - "defaultOutputProperties": [ - "channel_sid", - "status" - ], - "parent": "/Services/{ServiceSid}/Users", - "pathType": "instance" - } - }, - "/v2/Services/{Sid}": { "delete": { "description": "", - "operationId": "DeleteService", "parameters": [ { - "description": "", + "name": "ServiceSid", "in": "path", - "name": "Sid", - "required": true, + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "UserSid", + "in": "path", + "description": "", + "schema": { "type": "string" - } + }, + "required": true + }, + { + "name": "ChannelSid", + "in": "path", + "description": "", + "schema": { + "type": "string" + }, + "required": true } ], "responses": { @@ -5128,26 +5290,43 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteUserChannel", "x-maturity": [ "GA" ] }, - "description": "TODO: Resource-level docs", - "get": { + "post": { "description": "", - "operationId": "FetchService", "parameters": [ { - "description": "", + "name": "ServiceSid", "in": "path", - "name": "Sid", - "required": true, + "description": "", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "UserSid", + "in": "path", + "description": "", + "schema": { "type": "string" - } + }, + "required": true + }, + { + "name": "ChannelSid", + "in": "path", + "description": "", + "schema": { + "type": "string" + }, + "required": true } ], "responses": { @@ -5155,7 +5334,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ip_messaging.v2.service" + "$ref": "#/components/schemas/ip_messaging.v2.service.user.user_channel" } } }, @@ -5167,219 +5346,40 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateUserChannel", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "", - "operationId": "UpdateService", - "parameters": [ - { - "description": "", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateUserChannelRequest", "properties": { - "ConsumptionReportInterval": { - "description": "", - "type": "integer" - }, - "DefaultChannelCreatorRoleSid": { - "description": "", - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - }, - "DefaultChannelRoleSid": { - "description": "", - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - }, - "DefaultServiceRoleSid": { - "description": "", - "maxLength": 34, - "minLength": 34, - "pattern": "^RL[0-9a-fA-F]{32}$", - "type": "string" - }, - "FriendlyName": { - "description": "", - "type": "string" - }, - "Limits.ChannelMembers": { - "description": "", - "type": "integer" - }, - "Limits.UserChannels": { - "description": "", - "type": "integer" - }, - "Media.CompatibilityMessage": { - "description": "", - "type": "string" - }, - "Notifications.AddedToChannel.Enabled": { - "description": "", - "type": "boolean" - }, - "Notifications.AddedToChannel.Sound": { - "description": "", - "type": "string" - }, - "Notifications.AddedToChannel.Template": { - "description": "", - "type": "string" - }, - "Notifications.InvitedToChannel.Enabled": { - "description": "", - "type": "boolean" - }, - "Notifications.InvitedToChannel.Sound": { - "description": "", - "type": "string" - }, - "Notifications.InvitedToChannel.Template": { - "description": "", - "type": "string" - }, - "Notifications.LogEnabled": { - "description": "", - "type": "boolean" - }, - "Notifications.NewMessage.BadgeCountEnabled": { - "description": "", - "type": "boolean" - }, - "Notifications.NewMessage.Enabled": { - "description": "", - "type": "boolean" - }, - "Notifications.NewMessage.Sound": { - "description": "", - "type": "string" - }, - "Notifications.NewMessage.Template": { - "description": "", - "type": "string" - }, - "Notifications.RemovedFromChannel.Enabled": { - "description": "", - "type": "boolean" - }, - "Notifications.RemovedFromChannel.Sound": { - "description": "", - "type": "string" - }, - "Notifications.RemovedFromChannel.Template": { - "description": "", - "type": "string" - }, - "PostWebhookRetryCount": { - "description": "", - "type": "integer" - }, - "PostWebhookUrl": { - "description": "", - "format": "uri", - "type": "string" - }, - "PreWebhookRetryCount": { - "description": "", - "type": "integer" - }, - "PreWebhookUrl": { - "description": "", - "format": "uri", - "type": "string" - }, - "ReachabilityEnabled": { - "description": "", - "type": "boolean" - }, - "ReadStatusEnabled": { - "description": "", - "type": "boolean" - }, - "TypingIndicatorTimeout": { - "description": "", - "type": "integer" - }, - "WebhookFilters": { - "description": "", - "items": { - "type": "string" - }, - "type": "array" - }, - "WebhookMethod": { - "description": "", + "NotificationLevel": { + "type": "string", "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" + "default", + "muted" ], - "format": "http-method", - "type": "string" + "description": "" + }, + "LastConsumedMessageIndex": { + "type": "integer", + "nullable": true, + "description": "" + }, + "LastConsumptionTimestamp": { + "type": "string", + "format": "date-time", + "description": "" } - }, - "title": "UpdateServiceRequest", - "type": "object" - } - } - } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ip_messaging.v2.service" } } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] + } } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://ip-messaging.twilio.com" } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "date_created" - ], - "pathType": "instance" } } }, @@ -5390,8 +5390,8 @@ ], "x-maturity": [ { - "description": "This product is Generally Available.", - "name": "GA" + "name": "GA", + "description": "This product is Generally Available." } ] } \ No newline at end of file diff --git a/spec/json/twilio_lookups_v1.json b/spec/json/twilio_lookups_v1.json index 3c880285..43ca823d 100644 --- a/spec/json/twilio_lookups_v1.json +++ b/spec/json/twilio_lookups_v1.json @@ -2,122 +2,134 @@ "components": { "schemas": { "lookups.v1.phone_number": { + "type": "object", "properties": { - "add_ons": { - "description": "A JSON string with the results of the Add-ons you specified", - "nullable": true - }, "caller_name": { - "description": "The name of the phone number's owner", - "nullable": true - }, - "carrier": { - "description": "The telecom company that provides the phone number", - "nullable": true + "nullable": true, + "description": "The name of the phone number's owner" }, "country_code": { - "description": "The ISO country code for the phone number", + "type": "string", "nullable": true, - "type": "string" + "description": "The ISO country code for the phone number" + }, + "phone_number": { + "type": "string", + "format": "phone-number", + "nullable": true, + "description": "The phone number in E.164 format" }, "national_format": { - "description": "The phone number, in national format", + "type": "string", "nullable": true, - "type": "string" + "description": "The phone number, in national format" }, - "phone_number": { - "description": "The phone number in E.164 format", - "format": "phone-number", + "carrier": { + "nullable": true, + "description": "The telecom company that provides the phone number" + }, + "add_ons": { "nullable": true, - "type": "string" + "description": "A JSON string with the results of the Add-ons you specified" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" } - }, - "type": "object" + } } }, "securitySchemes": { "accountSid_authToken": { - "scheme": "basic", - "type": "http" + "type": "http", + "scheme": "basic" } } }, "info": { + "title": "Twilio - Lookups", + "description": "This is the public Twilio REST API.", + "termsOfService": "https://www.twilio.com/legal/tos", "contact": { - "email": "support@twilio.com", "name": "Twilio Support", - "url": "https://support.twilio.com" + "url": "https://support.twilio.com", + "email": "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 - Lookups", "version": "1.30.0" }, "openapi": "3.0.1", "paths": { "/v1/PhoneNumbers/{PhoneNumber}": { + "servers": [ + { + "url": "https://lookups.twilio.com" + } + ], "description": "Detailed information on phone numbers", + "x-twilio": { + "defaultOutputProperties": [ + "caller_name", + "country_code", + "carrier" + ], + "pathType": "instance" + }, "get": { "description": "", - "operationId": "FetchPhoneNumber", "parameters": [ { - "description": "The phone number to lookup in [E.164](https://www.twilio.com/docs/glossary/what-e164) format, which consists of a + followed by the country code and subscriber number.", - "in": "path", "name": "PhoneNumber", - "required": true, + "in": "path", + "description": "The phone number to lookup in [E.164](https://www.twilio.com/docs/glossary/what-e164) format, which consists of a + followed by the country code and subscriber number.", "schema": { - "format": "phone-number", - "type": "string" - } + "type": "string", + "format": "phone-number" + }, + "required": true }, { - "description": "The [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) of the phone number to fetch. This is used to specify the country when the phone number is provided in a national format.", - "in": "query", "name": "CountryCode", + "in": "query", + "description": "The [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) of the phone number to fetch. This is used to specify the country when the phone number is provided in a national format.", "schema": { "type": "string" } }, { - "description": "The type of information to return. Can be: `carrier` or `caller-name`. The default is null. Carrier information costs $0.005 per phone number looked up. Caller Name information is currently available only in the US and costs $0.01 per phone number looked up. To retrieve both types on information, specify this parameter twice; once with `carrier` and once with `caller-name` as the value.", - "in": "query", "name": "Type", + "in": "query", + "description": "The type of information to return. Can be: `carrier` or `caller-name`. The default is null. Carrier information costs $0.005 per phone number looked up. Caller Name information is currently available only in the US and costs $0.01 per phone number looked up. To retrieve both types on information, specify this parameter twice; once with `carrier` and once with `caller-name` as the value.", "schema": { + "type": "array", "items": { "type": "string" - }, - "type": "array" + } } }, { - "description": "The `unique_name` of an Add-on you would like to invoke. Can be the `unique_name` of an Add-on that is installed on your account. You can specify multiple instances of this parameter to invoke multiple Add-ons. For more information about Add-ons, see the [Add-ons documentation](https://www.twilio.com/docs/add-ons).", - "in": "query", "name": "AddOns", + "in": "query", + "description": "The `unique_name` of an Add-on you would like to invoke. Can be the `unique_name` of an Add-on that is installed on your account. You can specify multiple instances of this parameter to invoke multiple Add-ons. For more information about Add-ons, see the [Add-ons documentation](https://www.twilio.com/docs/add-ons).", "schema": { + "type": "array", "items": { "type": "string" - }, - "type": "array" + } } }, { - "description": "Data specific to the add-on you would like to invoke. The content and format of this value depends on the add-on.", - "in": "query", "name": "AddOnsData", + "in": "query", + "description": "Data specific to the add-on you would like to invoke. The content and format of this value depends on the add-on.", "schema": { - "format": "prefixed-collapsible-map-AddOns", - "type": "object" + "type": "object", + "format": "prefixed-collapsible-map-AddOns" } } ], @@ -138,22 +150,10 @@ "accountSid_authToken": [] } ], + "operationId": "FetchPhoneNumber", "x-maturity": [ "GA" ] - }, - "servers": [ - { - "url": "https://lookups.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "caller_name", - "country_code", - "carrier" - ], - "pathType": "instance" } } }, @@ -164,8 +164,8 @@ ], "x-maturity": [ { - "description": "This product is Generally Available.", - "name": "GA" + "name": "GA", + "description": "This product is Generally Available." } ] } \ No newline at end of file diff --git a/spec/json/twilio_lookups_v2.json b/spec/json/twilio_lookups_v2.json index 4866e58b..c1a38f40 100644 --- a/spec/json/twilio_lookups_v2.json +++ b/spec/json/twilio_lookups_v2.json @@ -2,66 +2,38 @@ "components": { "schemas": { "lookups.v2.phone_number": { + "type": "object", "properties": { - "call_forwarding": { - "description": "An object that contains call forwarding status information", - "nullable": true - }, - "caller_name": { - "description": "An object that contains caller name information", - "nullable": true - }, "calling_country_code": { - "description": "International dialing prefix", + "type": "string", "nullable": true, - "type": "string" + "description": "International dialing prefix" }, "country_code": { - "description": "Phone number's ISO country code", - "nullable": true, - "type": "string" - }, - "enhanced_line_type": { - "description": "An object that contains line type information", - "nullable": true - }, - "line_type_intelligence": { - "description": "An object that contains line type information", - "nullable": true - }, - "live_activity": { - "description": "An object that contains live activity information", - "nullable": true - }, - "national_format": { - "description": "Phone number in national format", + "type": "string", "nullable": true, - "type": "string" + "description": "Phone number's ISO country code" }, "phone_number": { - "description": "Phone number in E.164 format", + "type": "string", "format": "phone-number", "nullable": true, - "type": "string" + "description": "Phone number in E.164 format" }, - "sim_swap": { - "description": "An object that contains SIM swap information", - "nullable": true - }, - "url": { - "description": "The absolute URL of the resource", - "format": "uri", + "national_format": { + "type": "string", "nullable": true, - "type": "string" + "description": "Phone number in national format" }, "valid": { - "description": "Boolean which indicates if the phone number is valid", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Boolean which indicates if the phone number is valid" }, "validation_errors": { - "description": "Contains reasons why a phone number is invalid", + "type": "array", "items": { + "type": "string", "enum": [ "TOO_SHORT", "TOO_LONG", @@ -69,67 +41,106 @@ "INVALID_COUNTRY_CODE", "INVALID_LENGTH", "NOT_A_NUMBER" - ], - "type": "string" + ] }, "nullable": true, - "type": "array" + "description": "Contains reasons why a phone number is invalid" + }, + "caller_name": { + "nullable": true, + "description": "An object that contains caller name information" + }, + "sim_swap": { + "nullable": true, + "description": "An object that contains SIM swap information" + }, + "call_forwarding": { + "nullable": true, + "description": "An object that contains call forwarding status information" + }, + "live_activity": { + "nullable": true, + "description": "An object that contains live activity information" + }, + "line_type_intelligence": { + "nullable": true, + "description": "An object that contains line type information" + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The absolute URL of the resource" } - }, - "type": "object" + } } }, "securitySchemes": { "accountSid_authToken": { - "scheme": "basic", - "type": "http" + "type": "http", + "scheme": "basic" } } }, "info": { + "title": "Twilio - Lookups", + "description": "This is the public Twilio REST API.", + "termsOfService": "https://www.twilio.com/legal/tos", "contact": { - "email": "support@twilio.com", "name": "Twilio Support", - "url": "https://support.twilio.com" + "url": "https://support.twilio.com", + "email": "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 - Lookups", "version": "1.30.0" }, "openapi": "3.0.1", "paths": { "/v2/PhoneNumbers/{PhoneNumber}": { + "servers": [ + { + "url": "https://lookups.twilio.com" + } + ], "description": "Query information on a phone number so that you can make a trusted interaction with your user", + "x-twilio": { + "defaultOutputProperties": [ + "calling_country_code", + "phone_number", + "country_code", + "valid", + "validation_results", + "national_format" + ], + "pathType": "instance" + }, "get": { "description": "", - "operationId": "FetchPhoneNumber", "parameters": [ { - "description": "The phone number to lookup in E.164 or national format. Default country code is +1 (North America).", - "in": "path", "name": "PhoneNumber", - "required": true, + "in": "path", + "description": "The phone number to lookup in E.164 or national format. Default country code is +1 (North America).", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "A comma-separated list of fields to return. Possible values are caller_name, sim_swap, call_forwarding, live_activity, enhanced_line_type or line_type_intelligence.", - "in": "query", "name": "Fields", + "in": "query", + "description": "A comma-separated list of fields to return. Possible values are caller_name, sim_swap, call_forwarding, live_activity, line_type_intelligence.", "schema": { "type": "string" } }, { - "description": "The [country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) used if the phone number provided is in national format.", - "in": "query", "name": "CountryCode", + "in": "query", + "description": "The [country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) used if the phone number provided is in national format.", "schema": { "type": "string" } @@ -152,25 +163,10 @@ "accountSid_authToken": [] } ], + "operationId": "FetchPhoneNumber", "x-maturity": [ "Beta" ] - }, - "servers": [ - { - "url": "https://lookups.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "calling_country_code", - "phone_number", - "country_code", - "valid", - "validation_results", - "national_format" - ], - "pathType": "instance" } } }, @@ -181,8 +177,8 @@ ], "x-maturity": [ { - "description": "PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution.", - "name": "Beta" + "name": "Beta", + "description": "PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution." } ] } \ No newline at end of file diff --git a/spec/json/twilio_media_v1.json b/spec/json/twilio_media_v1.json index f35d73e6..ce41cbcd 100644 --- a/spec/json/twilio_media_v1.json +++ b/spec/json/twilio_media_v1.json @@ -2,73 +2,76 @@ "components": { "schemas": { "media.v1.media_processor": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^ZX[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" - }, - "ended_reason": { - "description": "The reason why a MediaProcessor ended", - "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, "extension": { - "description": "The Media Extension name or URL", + "type": "string", "nullable": true, - "type": "string" + "description": "The Media Extension name or URL" }, "extension_context": { - "description": "The Media Extension context", - "nullable": true, - "type": "string" - }, - "max_duration": { - "description": "Maximum MediaProcessor duration in seconds", - "nullable": true, - "type": "integer" - }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "type": "string", "nullable": true, - "pattern": "^ZX[0-9a-fA-F]{32}$", - "type": "string" + "description": "The Media Extension context" }, "status": { - "description": "The status of the MediaProcessor", + "type": "string", "enum": [ "failed", "started", "ended" ], "nullable": true, - "type": "string" + "description": "The status of the MediaProcessor" + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The absolute URL of the resource" + }, + "ended_reason": { + "type": "string", + "nullable": true, + "description": "The reason why a MediaProcessor ended" }, "status_callback": { - "description": "The URL to which Twilio will send MediaProcessor event updates", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL to which Twilio will send MediaProcessor event updates" }, "status_callback_method": { - "description": "The HTTP method Twilio should use to call the `status_callback` URL", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -77,97 +80,95 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method Twilio should use to call the `status_callback` URL" }, - "url": { - "description": "The absolute URL of the resource", - "format": "uri", + "max_duration": { + "type": "integer", "nullable": true, - "type": "string" + "description": "Maximum MediaProcessor duration in seconds" } - }, - "type": "object" + } }, "media.v1.media_recording": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, "duration": { - "description": "The duration of the MediaRecording", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The duration of the MediaRecording" }, "format": { - "description": "The format of the MediaRecording", + "type": "string", "enum": [ "mp4", "webm" ], "nullable": true, - "type": "string" + "description": "The format of the MediaRecording" }, "links": { - "description": "The URLs of related resources", + "type": "object", "format": "uri-map", "nullable": true, - "type": "object" - }, - "media_size": { - "description": "The size of the recording media", - "nullable": true, - "type": "integer" + "description": "The URLs of related resources" }, "processor_sid": { - "description": "The SID of the MediaProcessor", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^ZX[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the MediaProcessor" }, "resolution": { - "description": "The dimensions of the video image in pixels", + "type": "string", "nullable": true, - "type": "string" + "description": "The dimensions of the video image in pixels" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "source_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^KV[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the resource that generated the original media" }, - "source_sid": { - "description": "The SID of the resource that generated the original media", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^KV[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" + }, + "media_size": { + "type": "integer", + "nullable": true, + "description": "The size of the recording media" }, "status": { - "description": "The status of the MediaRecording", + "type": "string", "enum": [ "processing", "completed", @@ -175,16 +176,17 @@ "failed" ], "nullable": true, - "type": "string" + "description": "The status of the MediaRecording" }, "status_callback": { - "description": "The URL to which Twilio will send MediaRecording event updates", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL to which Twilio will send MediaRecording event updates" }, "status_callback_method": { - "description": "The HTTP method Twilio should use to call the `status_callback` URL", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -193,73 +195,61 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method Twilio should use to call the `status_callback` URL" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" } - }, - "type": "object" + } }, "media.v1.player_streamer": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, - "ended_reason": { - "description": "The reason why a PlayerStreamer ended", - "enum": [ - "ended-via-api", - "max-duration-exceeded", - "stream-disconnected-by-source", - "unexpected-failure" - ], + "video": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Whether the PlayerStreamer is configured to stream video" }, "links": { - "description": "The URLs of related resources", + "type": "object", "format": "uri-map", "nullable": true, - "type": "object" - }, - "max_duration": { - "description": "Maximum PlayerStreamer duration in seconds", - "nullable": true, - "type": "integer" + "description": "The URLs of related resources" }, "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^VJ[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string that identifies the resource" }, "status": { - "description": "The status of the PlayerStreamer", + "type": "string", "enum": [ "created", "started", @@ -267,16 +257,23 @@ "failed" ], "nullable": true, - "type": "string" + "description": "The status of the PlayerStreamer" + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The absolute URL of the resource" }, "status_callback": { - "description": "The URL to which Twilio will send PlayerStreamer event updates", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL to which Twilio will send PlayerStreamer event updates" }, "status_callback_method": { - "description": "The HTTP method Twilio should use to call the `status_callback` URL", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -285,125 +282,214 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method Twilio should use to call the `status_callback` URL" }, - "url": { - "description": "The absolute URL of the resource", - "format": "uri", + "ended_reason": { + "type": "string", + "enum": [ + "ended-via-api", + "max-duration-exceeded", + "stream-disconnected-by-source", + "unexpected-failure" + ], "nullable": true, - "type": "string" + "description": "The reason why a PlayerStreamer ended" }, - "video": { - "description": "Whether the PlayerStreamer is configured to stream video", + "max_duration": { + "type": "integer", "nullable": true, - "type": "boolean" + "description": "Maximum PlayerStreamer duration in seconds" } - }, - "type": "object" + } }, "media.v1.player_streamer.player_streamer_playback_grant": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^VJ[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique string that identifies the PlayerStreamer associated with this PlaybackGrant." + }, + "url": { + "type": "string", + "format": "uri", "nullable": true, + "description": "The absolute URL of the resource" + }, + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, "grant": { - "description": "The grant that authorizes the player sdk to connect to the livestream", - "nullable": true - }, - "sid": { - "description": "The unique string that identifies the PlayerStreamer associated with this PlaybackGrant.", - "maxLength": 34, - "minLength": 34, "nullable": true, - "pattern": "^VJ[0-9a-fA-F]{32}$", - "type": "string" - }, - "url": { - "description": "The absolute URL of the resource", - "format": "uri", - "nullable": true, - "type": "string" + "description": "The grant that authorizes the player sdk to connect to the livestream" } - }, - "type": "object" + } } }, "securitySchemes": { "accountSid_authToken": { - "scheme": "basic", - "type": "http" + "type": "http", + "scheme": "basic" } } }, "info": { + "title": "Twilio - Media", + "description": "This is the public Twilio REST API.", + "termsOfService": "https://www.twilio.com/legal/tos", "contact": { - "email": "support@twilio.com", "name": "Twilio Support", - "url": "https://support.twilio.com" + "url": "https://support.twilio.com", + "email": "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 - Media", "version": "1.30.0" }, "openapi": "3.0.1", "paths": { "/v1/MediaProcessors": { + "servers": [ + { + "url": "https://media.twilio.com" + } + ], "description": "A MediaProcessor resource provides the ability to capture content from a web application with a Twilio Media Extension to create a livestream.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "status", + "extension", + "extension_context" + ], + "pathType": "list" + }, + "post": { + "description": "", + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/media.v1.media_processor" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateMediaProcessor", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateMediaProcessorRequest", + "properties": { + "Extension": { + "type": "string", + "description": "The [Media Extension](/docs/live/api/media-extensions-overview) name or URL. Ex: `video-composer-v2`" + }, + "ExtensionContext": { + "type": "string", + "description": "The context of the Media Extension, represented as a JSON dictionary. See the documentation for the specific [Media Extension](/docs/live/api/media-extensions-overview) you are using for more information about the context to send." + }, + "ExtensionEnvironment": { + "description": "User-defined environment variables for the Media Extension, represented as a JSON dictionary of key/value strings. See the documentation for the specific [Media Extension](/docs/live/api/media-extensions-overview) you are using for more information about whether you need to provide this." + }, + "StatusCallback": { + "type": "string", + "format": "uri", + "description": "The URL to which Twilio will send asynchronous webhook requests for every MediaProcessor event. See [Status Callbacks](/docs/live/status-callbacks) for details." + }, + "StatusCallbackMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method Twilio should use to call the `status_callback` URL. Can be `POST` or `GET` and the default is `POST`." + }, + "MaxDuration": { + "type": "integer", + "description": "The maximum time, in seconds, that the MediaProcessor can run before automatically ends. The default value is 300 seconds, and the maximum value is 90000 seconds. Once this maximum duration is reached, Twilio will end the MediaProcessor, regardless of whether media is still streaming." + } + }, + "required": [ + "Extension", + "ExtensionContext" + ] + } + } + } + } + }, "get": { "description": "Returns a list of MediaProcessors.", - "operationId": "ListMediaProcessor", "parameters": [ { - "description": "The sort order of the list by `date_created`. Can be: `asc` (ascending) or `desc` (descending) with `desc` as the default.", - "in": "query", "name": "Order", + "in": "query", + "description": "The sort order of the list by `date_created`. Can be: `asc` (ascending) or `desc` (descending) with `desc` as the default.", "schema": { + "type": "string", "enum": [ "asc", "desc" - ], - "type": "string" + ] } }, { - "description": "Status to filter by, with possible values `started`, `ended` or `failed`.", - "in": "query", "name": "Status", + "in": "query", + "description": "Status to filter by, with possible values `started`, `ended` or `failed`.", "schema": { + "type": "string", "enum": [ "failed", "started", "ended" - ], - "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", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -412,25 +498,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListMediaProcessorResponse", "properties": { "media_processors": { + "type": "array", "items": { "$ref": "#/components/schemas/media.v1.media_processor" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -439,19 +525,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListMediaProcessorResponse", - "type": "object" + } } } }, @@ -463,64 +549,46 @@ "accountSid_authToken": [] } ], + "operationId": "ListMediaProcessor", "x-maturity": [ "GA" ] + } + }, + "/v1/MediaProcessors/{Sid}": { + "servers": [ + { + "url": "https://media.twilio.com" + } + ], + "description": "A MediaProcessor resource provides the ability to capture content from a web application with a Twilio Media Extension to create a livestream.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "status", + "extension", + "extension_context" + ], + "pathType": "instance" }, - "post": { - "description": "", - "operationId": "CreateMediaProcessor", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Extension": { - "description": "The [Media Extension](/docs/live/api/media-extensions-overview) name or URL. Ex: `video-composer-v2`", - "type": "string" - }, - "ExtensionContext": { - "description": "The context of the Media Extension, represented as a JSON dictionary. See the documentation for the specific [Media Extension](/docs/live/api/media-extensions-overview) you are using for more information about the context to send.", - "type": "string" - }, - "ExtensionEnvironment": { - "description": "User-defined environment variables for the Media Extension, represented as a JSON dictionary of key/value strings. See the documentation for the specific [Media Extension](/docs/live/api/media-extensions-overview) you are using for more information about whether you need to provide this." - }, - "MaxDuration": { - "description": "The maximum time, in seconds, that the MediaProcessor can run before automatically ends. The default value is 300 seconds, and the maximum value is 90000 seconds. Once this maximum duration is reached, Twilio will end the MediaProcessor, regardless of whether media is still streaming.", - "type": "integer" - }, - "StatusCallback": { - "description": "The URL to which Twilio will send asynchronous webhook requests for every MediaProcessor event. See [Status Callbacks](/docs/live/status-callbacks) for details.", - "format": "uri", - "type": "string" - }, - "StatusCallbackMethod": { - "description": "The HTTP method Twilio should use to call the `status_callback` URL. Can be `POST` or `GET` and the default is `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - } - }, - "required": [ - "Extension", - "ExtensionContext" - ], - "title": "CreateMediaProcessorRequest", - "type": "object" - } - } + "get": { + "description": "Returns a single MediaProcessor resource identified by a SID.", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The SID of the MediaProcessor resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^ZX[0-9a-fA-F]{32}$" + }, + "required": true } - }, + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { @@ -528,7 +596,7 @@ } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -536,42 +604,25 @@ "accountSid_authToken": [] } ], + "operationId": "FetchMediaProcessor", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://media.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "status", - "extension", - "extension_context" - ], - "pathType": "list" - } - }, - "/v1/MediaProcessors/{Sid}": { - "description": "A MediaProcessor resource provides the ability to capture content from a web application with a Twilio Media Extension to create a livestream.", - "get": { - "description": "Returns a single MediaProcessor resource identified by a SID.", - "operationId": "FetchMediaProcessor", + "post": { + "description": "Updates a MediaProcessor resource identified by a SID.", "parameters": [ { - "description": "The SID of the MediaProcessor resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the MediaProcessor resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^ZX[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^ZX[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -591,55 +642,101 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateMediaProcessor", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "Updates a MediaProcessor resource identified by a SID.", - "operationId": "UpdateMediaProcessor", - "parameters": [ - { - "description": "The SID of the MediaProcessor resource to update.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^ZX[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateMediaProcessorRequest", "properties": { "Status": { - "description": "The status of the MediaProcessor. Can be `ended`.", + "type": "string", "enum": [ "ended" ], - "type": "string" + "description": "The status of the MediaProcessor. Can be `ended`." } }, "required": [ "Status" - ], - "title": "UpdateMediaProcessorRequest", - "type": "object" + ] } } } + } + } + }, + "/v1/MediaRecordings/{Sid}": { + "servers": [ + { + "url": "https://media.twilio.com" + } + ], + "description": "A MediaRecording resource exposes recording metadata and allows the deletion of a particular recording.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "status" + ], + "pathType": "instance" + }, + "delete": { + "description": "Deletes a MediaRecording resource identified by a SID.", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The SID of the MediaRecording resource to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^KV[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteMediaRecording", + "x-maturity": [ + "Preview" + ] + }, + "get": { + "description": "Returns a single MediaRecording resource identified by a SID.", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The SID of the MediaRecording resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^KV[0-9a-fA-F]{32}$" + }, + "required": true + } + ], "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/media.v1.media_processor" + "$ref": "#/components/schemas/media.v1.media_recording" } } }, @@ -651,87 +748,85 @@ "accountSid_authToken": [] } ], + "operationId": "FetchMediaRecording", "x-maturity": [ - "GA" + "Preview" ] - }, + } + }, + "/v1/MediaRecordings": { "servers": [ { "url": "https://media.twilio.com" } ], + "description": "A MediaRecording resource exposes recording metadata and allows the deletion of a particular recording.", "x-twilio": { "defaultOutputProperties": [ "sid", - "status", - "extension", - "extension_context" + "status" ], - "pathType": "instance" - } - }, - "/v1/MediaRecordings": { - "description": "A MediaRecording resource exposes recording metadata and allows the deletion of a particular recording.", + "pathType": "list" + }, "get": { "description": "Returns a list of MediaRecordings.", - "operationId": "ListMediaRecording", "parameters": [ { - "description": "The sort order of the list by `date_created`. Can be: `asc` (ascending) or `desc` (descending) with `desc` as the default.", - "in": "query", "name": "Order", + "in": "query", + "description": "The sort order of the list by `date_created`. Can be: `asc` (ascending) or `desc` (descending) with `desc` as the default.", "schema": { + "type": "string", "enum": [ "asc", "desc" - ], - "type": "string" + ] } }, { - "description": "Status to filter by, with possible values `processing`, `completed`, `deleted`, or `failed`.", - "in": "query", "name": "Status", + "in": "query", + "description": "Status to filter by, with possible values `processing`, `completed`, `deleted`, or `failed`.", "schema": { + "type": "string", "enum": [ "processing", "completed", "deleted", "failed" - ], - "type": "string" + ] } }, { - "description": "SID of a MediaProcessor to filter by.", - "in": "query", "name": "ProcessorSid", + "in": "query", + "description": "SID of a MediaProcessor to filter by.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^ZX[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^ZX[0-9a-fA-F]{32}$" } }, { - "description": "SID of a MediaRecording source to filter by.", - "in": "query", "name": "SourceSid", + "in": "query", + "description": "SID of a MediaRecording source to filter by.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -740,25 +835,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListMediaRecordingResponse", "properties": { "media_recordings": { + "type": "array", "items": { "$ref": "#/components/schemas/media.v1.media_recording" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -767,19 +862,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListMediaRecordingResponse", - "type": "object" + } } } }, @@ -791,44 +886,52 @@ "accountSid_authToken": [] } ], + "operationId": "ListMediaRecording", "x-maturity": [ "Preview" ] - }, + } + }, + "/v1/PlayerStreamers/{Sid}": { "servers": [ { "url": "https://media.twilio.com" } ], + "description": "A PlayerStreamer resource provides the ability to send a livestream to a JavaScript, iOS, or Android Player SDK.", "x-twilio": { "defaultOutputProperties": [ "sid", "status" ], - "pathType": "list" - } - }, - "/v1/MediaRecordings/{Sid}": { - "delete": { - "description": "Deletes a MediaRecording resource identified by a SID.", - "operationId": "DeleteMediaRecording", + "pathType": "instance" + }, + "get": { + "description": "Returns a single PlayerStreamer resource identified by a SID.", "parameters": [ { - "description": "The SID of the MediaRecording resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the PlayerStreamer resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^KV[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^VJ[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/media.v1.player_streamer" + } + } + }, + "description": "OK" } }, "security": [ @@ -836,26 +939,25 @@ "accountSid_authToken": [] } ], + "operationId": "FetchPlayerStreamer", "x-maturity": [ - "Preview" + "GA" ] }, - "description": "A MediaRecording resource exposes recording metadata and allows the deletion of a particular recording.", - "get": { - "description": "Returns a single MediaRecording resource identified by a SID.", - "operationId": "FetchMediaRecording", + "post": { + "description": "Updates a PlayerStreamer resource identified by a SID.", "parameters": [ { - "description": "The SID of the MediaRecording resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the PlayerStreamer resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^KV[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^VJ[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -863,7 +965,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/media.v1.media_recording" + "$ref": "#/components/schemas/media.v1.player_streamer" } } }, @@ -875,63 +977,147 @@ "accountSid_authToken": [] } ], + "operationId": "UpdatePlayerStreamer", "x-maturity": [ - "Preview" - ] - }, + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdatePlayerStreamerRequest", + "properties": { + "Status": { + "type": "string", + "enum": [ + "ended" + ], + "description": "The status the PlayerStreamer should be transitioned to. Can be: `ended`." + } + }, + "required": [ + "Status" + ] + } + } + } + } + } + }, + "/v1/PlayerStreamers": { "servers": [ { "url": "https://media.twilio.com" } ], + "description": "A PlayerStreamer resource provides the ability to send a livestream to a JavaScript, iOS, or Android Player SDK.", "x-twilio": { "defaultOutputProperties": [ "sid", "status" ], - "pathType": "instance" - } - }, - "/v1/PlayerStreamers": { - "description": "A PlayerStreamer resource provides the ability to send a livestream to a JavaScript, iOS, or Android Player SDK.", + "pathType": "list" + }, + "post": { + "description": "", + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/media.v1.player_streamer" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreatePlayerStreamer", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreatePlayerStreamerRequest", + "properties": { + "Video": { + "type": "boolean", + "description": "Specifies whether the PlayerStreamer is configured to stream video. Defaults to `true`." + }, + "StatusCallback": { + "type": "string", + "format": "uri", + "description": "The URL to which Twilio will send asynchronous webhook requests for every PlayerStreamer event. See [Status Callbacks](/docs/live/status-callbacks) for more details." + }, + "StatusCallbackMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method Twilio should use to call the `status_callback` URL. Can be `POST` or `GET` and the default is `POST`." + }, + "MaxDuration": { + "type": "integer", + "description": "The maximum time, in seconds, that the PlayerStreamer can run before automatically ends. The default value is 300 seconds, and the maximum value is 90000 seconds. Once this maximum duration is reached, Twilio will end the PlayerStreamer, regardless of whether media is still streaming." + } + } + } + } + } + } + }, "get": { "description": "Returns a list of PlayerStreamers.", - "operationId": "ListPlayerStreamer", "parameters": [ { - "description": "The sort order of the list by `date_created`. Can be: `asc` (ascending) or `desc` (descending) with `desc` as the default.", - "in": "query", "name": "Order", + "in": "query", + "description": "The sort order of the list by `date_created`. Can be: `asc` (ascending) or `desc` (descending) with `desc` as the default.", "schema": { + "type": "string", "enum": [ "asc", "desc" - ], - "type": "string" + ] } }, { - "description": "Status to filter by, with possible values `created`, `started`, `ended`, or `failed`.", - "in": "query", "name": "Status", + "in": "query", + "description": "Status to filter by, with possible values `created`, `started`, `ended`, or `failed`.", "schema": { + "type": "string", "enum": [ "created", "started", "ended", "failed" - ], - "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", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -940,19 +1126,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListPlayerStreamerResponse", "properties": { + "player_streamers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/media.v1.player_streamer" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -961,91 +1153,23 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "player_streamers": { - "items": { - "$ref": "#/components/schemas/media.v1.player_streamer" - }, - "type": "array" + } } - }, - "title": "ListPlayerStreamerResponse", - "type": "object" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "", - "operationId": "CreatePlayerStreamer", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "MaxDuration": { - "description": "The maximum time, in seconds, that the PlayerStreamer can run before automatically ends. The default value is 300 seconds, and the maximum value is 90000 seconds. Once this maximum duration is reached, Twilio will end the PlayerStreamer, regardless of whether media is still streaming.", - "type": "integer" - }, - "StatusCallback": { - "description": "The URL to which Twilio will send asynchronous webhook requests for every PlayerStreamer event. See [Status Callbacks](/docs/live/status-callbacks) for more details.", - "format": "uri", - "type": "string" - }, - "StatusCallbackMethod": { - "description": "The HTTP method Twilio should use to call the `status_callback` URL. Can be `POST` or `GET` and the default is `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "Video": { - "description": "Specifies whether the PlayerStreamer is configured to stream video. Defaults to `true`.", - "type": "boolean" } - }, - "title": "CreatePlayerStreamerRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/media.v1.player_streamer" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -1053,52 +1177,50 @@ "accountSid_authToken": [] } ], + "operationId": "ListPlayerStreamer", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/PlayerStreamers/{Sid}/PlaybackGrant": { "servers": [ { "url": "https://media.twilio.com" } ], + "description": "A PlaybackGrant resource allows developers to generate a grant to initialize the Twilio Live Player SDK and connect to a livestream.", "x-twilio": { - "defaultOutputProperties": [ - "sid", - "status" - ], - "pathType": "list" - } - }, - "/v1/PlayerStreamers/{Sid}": { - "description": "A PlayerStreamer resource provides the ability to send a livestream to a JavaScript, iOS, or Android Player SDK.", - "get": { - "description": "Returns a single PlayerStreamer resource identified by a SID.", - "operationId": "FetchPlayerStreamer", + "defaultOutputProperties": [], + "pathType": "instance", + "parent": "/PlayerStreamers" + }, + "post": { + "description": "", "parameters": [ { - "description": "The SID of the PlayerStreamer resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The unique string generated to identify the PlayerStreamer resource associated with this PlaybackGrant", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^VJ[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^VJ[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/media.v1.player_streamer" + "$ref": "#/components/schemas/media.v1.player_streamer.player_streamer_playback_grant" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -1106,100 +1228,45 @@ "accountSid_authToken": [] } ], + "operationId": "CreatePlayerStreamerPlaybackGrant", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "Updates a PlayerStreamer resource identified by a SID.", - "operationId": "UpdatePlayerStreamer", - "parameters": [ - { - "description": "The SID of the PlayerStreamer resource to update.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^VJ[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreatePlayerStreamerPlaybackGrantRequest", "properties": { - "Status": { - "description": "The status the PlayerStreamer should be transitioned to. Can be: `ended`.", - "enum": [ - "ended" - ], - "type": "string" + "Ttl": { + "type": "integer", + "description": "The time to live of the PlaybackGrant. Default value is 15 seconds. Maximum value is 60 seconds." + }, + "AccessControlAllowOrigin": { + "type": "string", + "description": "The full origin URL where the livestream can be streamed. If this is not provided, it can be streamed from any domain." } - }, - "required": [ - "Status" - ], - "title": "UpdatePlayerStreamerRequest", - "type": "object" - } - } - } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/media.v1.player_streamer" } } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] + } } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://media.twilio.com" } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "status" - ], - "pathType": "instance" - } - }, - "/v1/PlayerStreamers/{Sid}/PlaybackGrant": { - "description": "A PlaybackGrant resource allows developers to generate a grant to initialize the Twilio Live Player SDK and connect to a livestream.", + }, "get": { "description": "**This method is not enabled.** Returns a single PlaybackGrant resource identified by a SID.", - "operationId": "FetchPlayerStreamerPlaybackGrant", "parameters": [ { - "description": "The SID of the PlayerStreamer resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the PlayerStreamer resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^VJ[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^VJ[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1219,77 +1286,10 @@ "accountSid_authToken": [] } ], + "operationId": "FetchPlayerStreamerPlaybackGrant", "x-maturity": [ "GA" ] - }, - "post": { - "description": "", - "operationId": "CreatePlayerStreamerPlaybackGrant", - "parameters": [ - { - "description": "The unique string generated to identify the PlayerStreamer resource associated with this PlaybackGrant", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^VJ[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "AccessControlAllowOrigin": { - "description": "The full origin URL where the livestream can be streamed. If this is not provided, it can be streamed from any domain.", - "type": "string" - }, - "Ttl": { - "description": "The time to live of the PlaybackGrant. Default value is 15 seconds. Maximum value is 60 seconds.", - "type": "integer" - } - }, - "title": "CreatePlayerStreamerPlaybackGrantRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/media.v1.player_streamer.player_streamer_playback_grant" - } - } - }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://media.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [], - "parent": "/PlayerStreamers", - "pathType": "instance" } } }, @@ -1300,12 +1300,12 @@ ], "x-maturity": [ { - "description": "This product is Generally Available.", - "name": "GA" + "name": "GA", + "description": "This product is Generally Available." }, { - "description": "PLEASE NOTE that this is a Preview product that is subject to change. Use it with caution. If you currently do not have developer preview access, please contact help@twilio.com.", - "name": "Preview" + "name": "Preview", + "description": "PLEASE NOTE that this is a Preview product that is subject to change. Use it with caution. If you currently do not have developer preview access, please contact help@twilio.com." } ] } \ No newline at end of file diff --git a/spec/json/twilio_messaging_v1.json b/spec/json/twilio_messaging_v1.json index 6940eb7a..c96b1c2e 100644 --- a/spec/json/twilio_messaging_v1.json +++ b/spec/json/twilio_messaging_v1.json @@ -1,299 +1,441 @@ { "components": { "schemas": { - "messaging.v1.brand_registrations": { + "messaging.v1.service.alpha_sender": { + "type": "object", "properties": { - "a2p_profile_bundle_sid": { - "description": "A2P Messaging Profile Bundle BundleSid", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^AI[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, "account_sid": { - "description": "The SID of the Account that created the resource", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "service_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Service that the resource is associated with" }, - "brand_feedback": { - "description": "Brand feedback", + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was last updated" + }, + "alpha_sender": { + "type": "string", + "nullable": true, + "description": "The Alphanumeric Sender ID string" + }, + "capabilities": { + "type": "array", "items": { - "enum": [ - "TAX_ID", - "STOCK_SYMBOL", - "NONPROFIT", - "GOVERNMENT_ENTITY", - "OTHERS" - ], "type": "string" }, "nullable": true, - "type": "array" + "description": "An array of values that describe whether the number can receive calls or messages" }, - "brand_score": { - "description": "Brand score", + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The absolute URL of the AlphaSender resource" + } + } + }, + "messaging.v1.brand_registrations": { + "type": "object", + "properties": { + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BN[0-9a-fA-F]{32}$", "nullable": true, - "type": "integer" + "description": "A2P BrandRegistration Sid" }, - "brand_type": { - "description": "Type of brand. One of: \"STANDARD\", \"STARTER\".", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, "customer_profile_bundle_sid": { - "description": "A2P Messaging Profile Bundle BundleSid", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$", "nullable": true, + "description": "A2P Messaging Profile Bundle BundleSid" + }, + "a2p_profile_bundle_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "A2P Messaging Profile Bundle BundleSid" }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" - }, - "failure_reason": { - "description": "A reason why brand registration has failed", - "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, - "government_entity": { - "description": "Government Entity", + "brand_type": { + "type": "string", "nullable": true, - "type": "boolean" + "description": "Type of brand. One of: \"STANDARD\", \"STARTER\"." }, - "identity_status": { - "description": "Identity Status", + "status": { + "type": "string", "enum": [ - "SELF_DECLARED", - "UNVERIFIED", - "VERIFIED", - "VETTED_VERIFIED" + "PENDING", + "APPROVED", + "FAILED", + "IN_REVIEW", + "DELETED" ], "nullable": true, - "type": "string" + "description": "Brand Registration status." }, - "links": { - "format": "uri-map", + "tcr_id": { + "type": "string", "nullable": true, - "type": "object" + "description": "Campaign Registry (TCR) Brand ID" }, - "mock": { - "description": "A boolean that specifies whether brand should be a mock or not. If true, brand will be registered as a mock brand. Defaults to false if no value is provided.", + "failure_reason": { + "type": "string", "nullable": true, - "type": "boolean" + "description": "A reason why brand registration has failed" }, - "russell_3000": { - "description": "Russell 3000", + "url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "boolean" + "description": "The absolute URL of the Brand Registration" }, - "sid": { - "description": "A2P BrandRegistration Sid", - "maxLength": 34, - "minLength": 34, + "brand_score": { + "type": "integer", "nullable": true, - "pattern": "^BN[0-9a-fA-F]{32}$", - "type": "string" + "description": "Brand score" }, - "skip_automatic_sec_vet": { - "description": "Skip Automatic Secondary Vetting", + "brand_feedback": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "TAX_ID", + "STOCK_SYMBOL", + "NONPROFIT", + "GOVERNMENT_ENTITY", + "OTHERS" + ] + }, "nullable": true, - "type": "boolean" + "description": "Brand feedback" }, - "status": { - "description": "Brand Registration status.", + "identity_status": { + "type": "string", "enum": [ - "PENDING", - "APPROVED", - "FAILED", - "IN_REVIEW", - "DELETED" + "SELF_DECLARED", + "UNVERIFIED", + "VERIFIED", + "VETTED_VERIFIED" ], "nullable": true, - "type": "string" + "description": "Identity Status" + }, + "russell_3000": { + "type": "boolean", + "nullable": true, + "description": "Russell 3000" + }, + "government_entity": { + "type": "boolean", + "nullable": true, + "description": "Government Entity" }, "tax_exempt_status": { - "description": "Tax Exempt Status", + "type": "string", "nullable": true, - "type": "string" + "description": "Tax Exempt Status" }, - "tcr_id": { - "description": "Campaign Registry (TCR) Brand ID", + "skip_automatic_sec_vet": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Skip Automatic Secondary Vetting" }, - "url": { - "description": "The absolute URL of the Brand Registration", - "format": "uri", + "mock": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "A boolean that specifies whether brand should be a mock or not. If true, brand will be registered as a mock brand. Defaults to false if no value is provided." + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true } - }, - "type": "object" + } }, "messaging.v1.brand_registrations.brand_vetting": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the vetting", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the vetting" }, "brand_sid": { - "description": "A2P BrandRegistration Sid", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^BN[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "A2P BrandRegistration Sid" }, "brand_vetting_sid": { - "description": "SID for third-party vetting record", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^VT[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "SID for third-party vetting record" }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "date_updated": { + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, - "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", + "date_created": { + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, - "url": { - "description": "The absolute URL of the Brand Vetting", - "format": "uri", + "vetting_id": { + "type": "string", "nullable": true, - "type": "string" + "description": "The unique ID of the vetting" }, "vetting_class": { - "description": "The type of vetting", + "type": "string", "nullable": true, - "type": "string" + "description": "The type of vetting" }, - "vetting_id": { - "description": "The unique ID of the vetting", + "vetting_status": { + "type": "string", "nullable": true, - "type": "string" + "description": "Status of vetting attempt" }, "vetting_provider": { - "description": "Third-party provider that has conducted the vetting", + "type": "string", "enum": [ "campaign-verify" ], "nullable": true, - "type": "string" + "description": "Third-party provider that has conducted the vetting" }, - "vetting_status": { - "description": "Status of vetting attempt", + "url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Brand Vetting" } - }, - "type": "object" + } }, "messaging.v1.deactivation": { + "type": "object", "properties": { "redirect_to": { - "description": "Redirect url to the list of deactivated numbers.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "Redirect url to the list of deactivated numbers." } - }, - "type": "object" + } }, "messaging.v1.external_campaign": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^QE[0-9a-fA-F]{32}$", "nullable": true, + "description": "The unique string that identifies a US A2P Compliance resource" + }, + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "campaign_id": { - "description": "ID of the preregistered campaign.", + "type": "string", + "nullable": true, + "description": "ID of the preregistered campaign." + }, + "messaging_service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Messaging Service the resource is associated with" }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" - }, - "messaging_service_sid": { - "description": "The SID of the Messaging Service the resource is associated with", - "maxLength": 34, + "description": "The ISO 8601 date and time in GMT when the resource was created" + } + } + }, + "messaging.v1.service.phone_number": { + "type": "object", + "properties": { + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^PN[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "sid": { - "description": "The unique string that identifies a US A2P Compliance resource", + "account_sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "service_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^QE[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Service that the resource is associated with" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was last updated" + }, + "phone_number": { + "type": "string", + "format": "phone-number", + "nullable": true, + "description": "The phone number in E.164 format" + }, + "country_code": { + "type": "string", + "nullable": true, + "description": "The 2-character ISO Country Code of the number" + }, + "capabilities": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true, + "description": "An array of values that describe whether the number can receive calls or messages" + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The absolute URL of the PhoneNumber resource" } - }, - "type": "object" + } }, "messaging.v1.service": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$", "nullable": true, + "description": "The unique string that identifies the resource" + }, + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, - "area_code_geomatch": { - "description": "Whether to enable Area Code Geomatch on the Service Instance", + "friendly_name": { + "type": "string", "nullable": true, - "type": "boolean" + "description": "The string that you assigned to describe the resource" }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, - "fallback_method": { - "description": "The HTTP method we use to call fallback_url", + "inbound_request_url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The URL we call using inbound_method when a message is received by any phone number or short code in the Service. This field will be overridden if the `use_inbound_webhook_on_number` field is enabled." + }, + "inbound_method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -302,28 +444,18 @@ "PUT", "DELETE" ], - "format": "http-method", - "nullable": true, - "type": "string" - }, - "fallback_to_long_code": { - "description": "Whether to enable Fallback to Long Code for messages sent through the Service instance", "nullable": true, - "type": "boolean" + "description": "The HTTP method we use to call inbound_request_url" }, "fallback_url": { - "description": "The URL that we call using fallback_method if an error occurs while retrieving or executing the TwiML from the Inbound Request URL. This field will be overridden if the `use_inbound_webhook_on_number` field is enabled.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL that we call using fallback_method if an error occurs while retrieving or executing the TwiML from the Inbound Request URL. This field will be overridden if the `use_inbound_webhook_on_number` field is enabled." }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", - "nullable": true, - "type": "string" - }, - "inbound_method": { - "description": "The HTTP method we use to call inbound_request_url", + "fallback_method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -332,466 +464,349 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method we use to call fallback_url" }, - "inbound_request_url": { - "description": "The URL we call using inbound_method when a message is received by any phone number or short code in the Service. This field will be overridden if the `use_inbound_webhook_on_number` field is enabled.", + "status_callback": { + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL we call to pass status updates about message delivery" }, - "links": { - "description": "The absolute URLs of related resources", - "format": "uri-map", + "sticky_sender": { + "type": "boolean", "nullable": true, - "type": "object" + "description": "Whether to enable Sticky Sender on the Service instance" }, "mms_converter": { - "description": "Whether to enable the MMS Converter for messages sent through the Service instance", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Whether to enable the MMS Converter for messages sent through the Service instance" + }, + "smart_encoding": { + "type": "boolean", + "nullable": true, + "description": "Whether to enable Encoding for messages sent through the Service instance" }, "scan_message_content": { - "description": "Reserved", + "type": "string", "enum": [ "inherit", "enable", "disable" ], "nullable": true, - "type": "string" - }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" + "description": "Reserved" }, - "smart_encoding": { - "description": "Whether to enable Encoding for messages sent through the Service instance", + "fallback_to_long_code": { + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Whether to enable Fallback to Long Code for messages sent through the Service instance" }, - "status_callback": { - "description": "The URL we call to pass status updates about message delivery", - "format": "uri", + "area_code_geomatch": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Whether to enable Area Code Geomatch on the Service Instance" }, - "sticky_sender": { - "description": "Whether to enable Sticky Sender on the Service instance", + "synchronous_validation": { + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Reserved" }, - "synchronous_validation": { - "description": "Reserved", + "validity_period": { + "type": "integer", "nullable": true, - "type": "boolean" + "description": "How long, in seconds, messages sent from the Service are valid" }, "url": { - "description": "The absolute URL of the Service resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Service resource" }, - "us_app_to_person_registered": { - "description": "Whether US A2P campaign is registered for this Service.", + "links": { + "type": "object", + "format": "uri-map", "nullable": true, - "type": "boolean" + "description": "The absolute URLs of related resources" }, - "use_inbound_webhook_on_number": { - "description": "If enabled, the webhook url configured on the phone number will be used and will override the `inbound_request_url`/`fallback_url` url called when an inbound message is received.", + "usecase": { + "type": "string", "nullable": true, - "type": "boolean" + "description": "A string describing the scenario in which the Messaging Service will be used" }, - "usecase": { - "description": "A string describing the scenario in which the Messaging Service will be used", + "us_app_to_person_registered": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Whether US A2P campaign is registered for this Service." }, - "validity_period": { - "description": "How long, in seconds, messages sent from the Service are valid", + "use_inbound_webhook_on_number": { + "type": "boolean", "nullable": true, - "type": "integer" + "description": "If enabled, the webhook url configured on the phone number will be used and will override the `inbound_request_url`/`fallback_url` url called when an inbound message is received." } - }, - "type": "object" + } }, - "messaging.v1.service.alpha_sender": { + "messaging.v1.service.short_code": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "alpha_sender": { - "description": "The Alphanumeric Sender ID string", - "nullable": true, - "type": "string" - }, - "capabilities": { - "description": "An array of values that describe whether the number can receive calls or messages", - "items": { - "type": "string" - }, - "nullable": true, - "type": "array" - }, - "date_created": { - "description": "The 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 date and time in GMT when the resource was last updated", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "service_sid": { - "description": "The SID of the Service that the resource is associated with", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" - }, "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^SC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AI[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "url": { - "description": "The absolute URL of the AlphaSender resource", - "format": "uri", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "messaging.v1.service.phone_number": { - "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "capabilities": { - "description": "An array of values that describe whether the number can receive calls or messages", - "items": { - "type": "string" - }, "nullable": true, - "type": "array" + "description": "The SID of the Account that created the resource" }, - "country_code": { - "description": "The 2-character ISO Country Code of the number", + "service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Service that the resource is associated with" }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" - }, - "phone_number": { - "description": "The phone number in E.164 format", - "format": "phone-number", - "nullable": true, - "type": "string" - }, - "service_sid": { - "description": "The SID of the Service that the resource is associated with", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "short_code": { + "type": "string", "nullable": true, - "pattern": "^PN[0-9a-fA-F]{32}$", - "type": "string" + "description": "The E.164 format of the short code" }, - "url": { - "description": "The absolute URL of the PhoneNumber resource", - "format": "uri", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "messaging.v1.service.short_code": { - "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, - "minLength": 34, + "country_code": { + "type": "string", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The 2-character ISO Country Code of the number" }, "capabilities": { - "description": "An array of values that describe whether the number can receive calls or messages", + "type": "array", "items": { "type": "string" }, "nullable": true, - "type": "array" - }, - "country_code": { - "description": "The 2-character ISO Country Code of the number", - "nullable": true, - "type": "string" - }, - "date_created": { - "description": "The 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 date and time in GMT when the resource was last updated", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "service_sid": { - "description": "The SID of the Service that the resource is associated with", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" - }, - "short_code": { - "description": "The E.164 format of the short code", - "nullable": true, - "type": "string" - }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^SC[0-9a-fA-F]{32}$", - "type": "string" + "description": "An array of values that describe whether the number can receive calls or messages" }, "url": { - "description": "The absolute URL of the ShortCode resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the ShortCode resource" } - }, - "type": "object" + } }, "messaging.v1.service.us_app_to_person": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^QE[0-9a-fA-F]{32}$", "nullable": true, + "description": "The unique string that identifies a US A2P Compliance resource" + }, + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "brand_registration_sid": { - "description": "A2P Brand Registration SID", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^BN[0-9a-fA-F]{32}$", - "type": "string" - }, - "campaign_id": { - "description": "The Campaign Registry (TCR) Campaign ID.", "nullable": true, - "type": "string" + "description": "A2P Brand Registration SID" }, - "campaign_status": { - "description": "Campaign status", + "messaging_service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Messaging Service the resource is associated with" }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", - "format": "date-time", + "description": { + "type": "string", "nullable": true, - "type": "string" + "description": "A short description of what this SMS campaign does" }, - "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", - "format": "date-time", + "message_samples": { + "type": "array", + "items": { + "type": "string" + }, "nullable": true, - "type": "string" + "description": "Message samples" }, - "description": { - "description": "A short description of what this SMS campaign does", + "us_app_to_person_usecase": { + "type": "string", "nullable": true, - "type": "string" + "description": "A2P Campaign Use Case." }, "has_embedded_links": { - "description": "Indicate that this SMS campaign will send messages that contain links", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Indicate that this SMS campaign will send messages that contain links" }, "has_embedded_phone": { - "description": "Indicates that this SMS campaign will send messages that contain phone numbers", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Indicates that this SMS campaign will send messages that contain phone numbers" }, - "is_externally_registered": { - "description": "Indicates whether the campaign was registered externally or not", + "campaign_status": { + "type": "string", "nullable": true, - "type": "boolean" + "description": "Campaign status" }, - "message_samples": { - "description": "Message samples", - "items": { - "type": "string" - }, + "campaign_id": { + "type": "string", "nullable": true, - "type": "array" + "description": "The Campaign Registry (TCR) Campaign ID." }, - "messaging_service_sid": { - "description": "The SID of the Messaging Service the resource is associated with", - "maxLength": 34, - "minLength": 34, + "is_externally_registered": { + "type": "boolean", "nullable": true, - "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" + "description": "Indicates whether the campaign was registered externally or not" }, - "mock": { - "description": "A boolean that specifies whether campaign is a mock or not.", + "rate_limits": { "nullable": true, - "type": "boolean" + "description": "Rate limit and/or classification set by each carrier" }, - "rate_limits": { - "description": "Rate limit and/or classification set by each carrier", - "nullable": true + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was created" }, - "sid": { - "description": "The unique string that identifies a US A2P Compliance resource", - "maxLength": 34, - "minLength": 34, + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^QE[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, "url": { - "description": "The absolute URL of the US App to Person resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the US App to Person resource" }, - "us_app_to_person_usecase": { - "description": "A2P Campaign Use Case.", + "mock": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "A boolean that specifies whether campaign is a mock or not." } - }, - "type": "object" + } }, "messaging.v1.service.us_app_to_person_usecase": { + "type": "object", "properties": { "us_app_to_person_usecases": { - "description": "Human readable A2P Use Case details", + "type": "array", "items": {}, "nullable": true, - "type": "array" + "description": "Human readable A2P Use Case details" } - }, - "type": "object" + } }, "messaging.v1.usecase": { + "type": "object", "properties": { "usecases": { - "description": "Human readable Messaging Service Use Case details", + "type": "array", "items": {}, "nullable": true, - "type": "array" + "description": "Human readable Messaging Service Use Case details" } - }, - "type": "object" + } } }, "securitySchemes": { "accountSid_authToken": { - "scheme": "basic", - "type": "http" + "type": "http", + "scheme": "basic" } } }, "info": { + "title": "Twilio - Messaging", + "description": "This is the public Twilio REST API.", + "termsOfService": "https://www.twilio.com/legal/tos", "contact": { - "email": "support@twilio.com", "name": "Twilio Support", - "url": "https://support.twilio.com" + "url": "https://support.twilio.com", + "email": "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 - Messaging", "version": "1.30.0" }, "openapi": "3.0.1", "paths": { - "/v1/Deactivations": { - "description": "A Deactivation resource to retrieve a list of United States phone numbers that have been deactivated by mobile carriers on a specific date.", - "get": { - "description": "Fetch a list of all United States numbers that have been deactivated on a specific date.", - "operationId": "FetchDeactivation", + "/v1/Services/{ServiceSid}/AlphaSenders": { + "servers": [ + { + "url": "https://messaging.twilio.com" + } + ], + "description": "A Messaging Service resource to add, fetch or remove an Alpha Sender ID from a Messaging Service.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "alpha_sender" + ], + "pathType": "list", + "parent": "/Services" + }, + "post": { + "description": "", "parameters": [ { - "description": "The request will return a list of all United States Phone Numbers that were deactivated on the day specified by this parameter. This date should be specified in YYYY-MM-DD format.", - "in": "query", - "name": "Date", + "name": "ServiceSid", + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to create the resource under.", "schema": { - "format": "date", - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "307": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/messaging.v1.deactivation" + "$ref": "#/components/schemas/messaging.v1.service.alpha_sender" } } }, - "description": "Temporary Redirect" + "description": "Created" } }, "security": [ @@ -799,37 +814,53 @@ "accountSid_authToken": [] } ], + "operationId": "CreateAlphaSender", "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://messaging.twilio.com" - } - ], - "x-twilio": { - "className": "deactivations", - "defaultOutputProperties": [ - "redirect_to" + "Beta" ], - "pathType": "instance" - } - }, - "/v1/Services": { - "description": "A Messaging Service resource to create, fetch, update, delete or add/remove senders from Messaging Services.", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateAlphaSenderRequest", + "properties": { + "AlphaSender": { + "type": "string", + "description": "The Alphanumeric Sender ID string. Can be up to 11 characters long. Valid characters are A-Z, a-z, 0-9, space, and hyphen `-`. This value cannot contain only numbers." + } + }, + "required": [ + "AlphaSender" + ] + } + } + } + } + }, "get": { "description": "", - "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": "ServiceSid", + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to read the resources from.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$" + }, + "required": true + }, + { "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -838,19 +869,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListAlphaSenderResponse", "properties": { + "alpha_senders": { + "type": "array", + "items": { + "$ref": "#/components/schemas/messaging.v1.service.alpha_sender" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -859,25 +896,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "services": { - "items": { - "$ref": "#/components/schemas/messaging.v1.service" - }, - "type": "array" + } } - }, - "title": "ListServiceResponse", - "type": "object" + } } } }, @@ -889,128 +920,62 @@ "accountSid_authToken": [] } ], + "operationId": "ListAlphaSender", "x-maturity": [ "Beta" ] + } + }, + "/v1/Services/{ServiceSid}/AlphaSenders/{Sid}": { + "servers": [ + { + "url": "https://messaging.twilio.com" + } + ], + "description": "A Messaging Service resource to add, fetch or remove an Alpha Sender ID from a Messaging Service.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "alpha_sender" + ], + "pathType": "instance", + "parent": "/Services" }, - "post": { + "get": { "description": "", - "operationId": "CreateService", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "AreaCodeGeomatch": { - "description": "Whether to enable [Area Code Geomatch](https://www.twilio.com/docs/sms/services#area-code-geomatch) on the Service Instance.", - "type": "boolean" - }, - "FallbackMethod": { - "description": "The HTTP method we should use to call `fallback_url`. Can be: `GET` or `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "FallbackToLongCode": { - "description": "Whether to enable [Fallback to Long Code](https://www.twilio.com/docs/sms/services#fallback-to-long-code) for messages sent through the Service instance.", - "type": "boolean" - }, - "FallbackUrl": { - "description": "The URL that we call using `fallback_method` if an error occurs while retrieving or executing the TwiML from the Inbound Request URL. If the `use_inbound_webhook_on_number` field is enabled then the webhook url defined on the phone number will override the `fallback_url` defined for the Messaging Service.", - "format": "uri", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long.", - "type": "string" - }, - "InboundMethod": { - "description": "The HTTP method we should use to call `inbound_request_url`. Can be `GET` or `POST` and the default is `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "InboundRequestUrl": { - "description": "The URL we call using `inbound_method` when a message is received by any phone number or short code in the Service. When this property is `null`, receiving inbound messages is disabled. All messages sent to the Twilio phone number or short code will not be logged and received on the Account. If the `use_inbound_webhook_on_number` field is enabled then the webhook url defined on the phone number will override the `inbound_request_url` defined for the Messaging Service.", - "format": "uri", - "type": "string" - }, - "MmsConverter": { - "description": "Whether to enable the [MMS Converter](https://www.twilio.com/docs/sms/services#mms-converter) for messages sent through the Service instance.", - "type": "boolean" - }, - "ScanMessageContent": { - "description": "Reserved.", - "enum": [ - "inherit", - "enable", - "disable" - ], - "type": "string" - }, - "SmartEncoding": { - "description": "Whether to enable [Smart Encoding](https://www.twilio.com/docs/sms/services#smart-encoding) for messages sent through the Service instance.", - "type": "boolean" - }, - "StatusCallback": { - "description": "The URL we should call to [pass status updates](https://www.twilio.com/docs/sms/api/message-resource#message-status-values) about message delivery.", - "format": "uri", - "type": "string" - }, - "StickySender": { - "description": "Whether to enable [Sticky Sender](https://www.twilio.com/docs/sms/services#sticky-sender) on the Service instance.", - "type": "boolean" - }, - "SynchronousValidation": { - "description": "Reserved.", - "type": "boolean" - }, - "UseInboundWebhookOnNumber": { - "description": "A boolean value that indicates either the webhook url configured on the phone number will be used or `inbound_request_url`/`fallback_url` url will be called when a message is received from the phone number. If this field is enabled then the webhook url defined on the phone number will override the `inbound_request_url`/`fallback_url` defined for the Messaging Service.", - "type": "boolean" - }, - "Usecase": { - "description": "A string that describes the scenario in which the Messaging Service will be used. Examples: [notification, marketing, verification, poll ..].", - "type": "string" - }, - "ValidityPeriod": { - "description": "How long, in seconds, messages sent from the Service are valid. Can be an integer from `1` to `14,400`.", - "type": "integer" - } - }, - "required": [ - "FriendlyName" - ], - "title": "CreateServiceRequest", - "type": "object" - } - } + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to fetch the resource from.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the AlphaSender resource to fetch.", + "schema": { + "type": "string" + }, + "required": true } - }, + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/messaging.v1.service" + "$ref": "#/components/schemas/messaging.v1.service.alpha_sender" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -1018,66 +983,39 @@ "accountSid_authToken": [] } ], + "operationId": "FetchAlphaSender", "x-maturity": [ "Beta" ] }, - "servers": [ - { - "url": "https://messaging.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "date_created" - ], - "pathType": "list" - } - }, - "/v1/Services/PreregisteredUsa2p": { - "description": "Resource to associate preregistered campaign with Messaging Service.", - "post": { + "delete": { "description": "", - "operationId": "CreateExternalCampaign", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "CampaignId": { - "description": "ID of the preregistered campaign.", - "type": "string" - }, - "MessagingServiceSid": { - "description": "The SID of the [Messaging Service](https://www.twilio.com/docs/messaging/services/api) that the resource is associated with.", - "maxLength": 34, - "minLength": 34, - "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "required": [ - "CampaignId", - "MessagingServiceSid" - ], - "title": "CreateExternalCampaignRequest", - "type": "object" - } - } + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to delete the resource from.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the AlphaSender resource to delete.", + "schema": { + "type": "string" + }, + "required": true } - }, + ], "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/messaging.v1.external_campaign" - } - } - }, - "description": "Created" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -1085,35 +1023,48 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteAlphaSender", "x-maturity": [ "Beta" ] - }, + } + }, + "/v1/a2p/BrandRegistrations/{Sid}": { "servers": [ { "url": "https://messaging.twilio.com" } ], + "description": "A Messaging Service resource to add and fetch Brand Registrations.", "x-twilio": { - "className": "external_campaign", "defaultOutputProperties": [ - "campaign_id", - "messaging_service_sid" + "sid", + "date_created" ], - "pathType": "list" - } - }, - "/v1/Services/Usecases": { - "description": "Use Case resource. Fetch possible use cases for a Messaging Service.", + "pathType": "instance" + }, "get": { "description": "", - "operationId": "FetchUsecase", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The SID of the Brand Registration resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BN[0-9a-fA-F]{32}$" + }, + "required": true + } + ], "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/messaging.v1.usecase" + "$ref": "#/components/schemas/messaging.v1.brand_registrations" } } }, @@ -1125,48 +1076,75 @@ "accountSid_authToken": [] } ], + "operationId": "FetchBrandRegistrations", "x-maturity": [ "Beta" ] }, + "post": { + "description": "", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The SID of the Brand Registration resource to update.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BN[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "202": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/messaging.v1.brand_registrations" + } + } + }, + "description": "Accepted" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "UpdateBrandRegistrations", + "x-maturity": [ + "Beta" + ] + } + }, + "/v1/a2p/BrandRegistrations": { "servers": [ { "url": "https://messaging.twilio.com" } ], + "description": "A Messaging Service resource to add and fetch Brand Registrations.", "x-twilio": { "defaultOutputProperties": [ - "usecases" + "sid", + "date_created" ], "pathType": "list" - } - }, - "/v1/Services/{MessagingServiceSid}/Compliance/Usa2p": { - "description": "A service for (fetch/create/delete) A2P Campaign for a Messaging Service", + }, "get": { "description": "", - "operationId": "ListUsAppToPerson", "parameters": [ { - "description": "The SID of the [Messaging Service](https://www.twilio.com/docs/messaging/services/api) to fetch the resource from.", - "in": "path", - "name": "MessagingServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^MG[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", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1175,25 +1153,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListBrandRegistrationsResponse", "properties": { - "compliance": { + "data": { + "type": "array", "items": { - "$ref": "#/components/schemas/messaging.v1.service.us_app_to_person" - }, - "type": "array" + "$ref": "#/components/schemas/messaging.v1.brand_registrations" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1202,19 +1180,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListUsAppToPersonResponse", - "type": "object" + } } } }, @@ -1226,154 +1204,125 @@ "accountSid_authToken": [] } ], + "operationId": "ListBrandRegistrations", "x-maturity": [ "Beta" ] }, "post": { "description": "", - "operationId": "CreateUsAppToPerson", - "parameters": [ + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/messaging.v1.brand_registrations" + } + } + }, + "description": "Created" + } + }, + "security": [ { - "description": "The SID of the [Messaging Service](https://www.twilio.com/docs/messaging/services/api) to create the resources from.", - "in": "path", - "name": "MessagingServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" - } + "accountSid_authToken": [] } ], + "operationId": "CreateBrandRegistrations", + "x-maturity": [ + "Beta" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateBrandRegistrationsRequest", "properties": { - "BrandRegistrationSid": { - "description": "A2P Brand Registration SID", - "maxLength": 34, + "CustomerProfileBundleSid": { + "type": "string", "minLength": 34, - "pattern": "^BN[0-9a-fA-F]{32}$", - "type": "string" - }, - "Description": { - "description": "A short description of what this SMS campaign does.", - "type": "string" + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$", + "description": "Customer Profile Bundle Sid." }, - "HasEmbeddedLinks": { - "description": "Indicates that this SMS campaign will send messages that contain links.", - "type": "boolean" + "A2PProfileBundleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$", + "description": "A2P Messaging Profile Bundle Sid." }, - "HasEmbeddedPhone": { - "description": "Indicates that this SMS campaign will send messages that contain phone numbers.", - "type": "boolean" + "BrandType": { + "type": "string", + "description": "Type of brand being created. One of: \"STANDARD\", \"STARTER\". STARTER is for low volume, starter use cases. STANDARD is for all other use cases." }, - "MessageSamples": { - "description": "Message samples, at least 2 and up to 5 sample messages, <=1024 chars each.", - "items": { - "type": "string" - }, - "type": "array" + "Mock": { + "type": "boolean", + "description": "A boolean that specifies whether brand should be a mock or not. If true, brand will be registered as a mock brand. Defaults to false if no value is provided." }, - "UsAppToPersonUsecase": { - "description": "A2P Campaign Use Case. Examples: [ 2FA, EMERGENCY, MARKETING..]", - "type": "string" + "SkipAutomaticSecVet": { + "type": "boolean", + "description": "A flag to disable automatic secondary vetting for brands which it would otherwise be done." } }, "required": [ - "BrandRegistrationSid", - "Description", - "MessageSamples", - "UsAppToPersonUsecase", - "HasEmbeddedLinks", - "HasEmbeddedPhone" - ], - "title": "CreateUsAppToPersonRequest", - "type": "object" + "CustomerProfileBundleSid", + "A2PProfileBundleSid" + ] } } } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/messaging.v1.service.us_app_to_person" - } - } - }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "Beta" - ] - }, + } + } + }, + "/v1/a2p/BrandRegistrations/{BrandSid}/Vettings": { "servers": [ { "url": "https://messaging.twilio.com" } ], + "description": "A Messaging Service resource to add and get Brand Vettings.", "x-twilio": { - "className": "us_app_to_person", "defaultOutputProperties": [ - "brand_registration_sid", - "campaign_status", - "date_created" + "account_sid", + "brand_sid", + "brand_vetting_sid", + "date_created", + "date_updated", + "vetting_status", + "vetting_class" ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v1/Services/{MessagingServiceSid}/Compliance/Usa2p/Usecases": { - "description": "Messaging Service Use Case resource. Fetch possible use cases for service. The Use Cases API returns an empty list if there is an issue with the customer's A2P brand registration. This Brand cannot register any campaign use cases. Customers are requested to contact support with their A2P brand information.", - "get": { + "pathType": "list", + "parent": "/a2p/BrandRegistrations", + "className": "brand_vetting" + }, + "post": { "description": "", - "operationId": "FetchUsAppToPersonUsecase", "parameters": [ { - "description": "The SID of the [Messaging Service](https://www.twilio.com/docs/messaging/services/api) to fetch the resource from.", + "name": "BrandSid", "in": "path", - "name": "MessagingServiceSid", - "required": true, + "description": "The SID of the Brand Registration resource of the vettings to create .", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The unique string to identify the A2P brand.", - "in": "query", - "name": "BrandRegistrationSid", - "schema": { "maxLength": 34, - "minLength": 34, - "pattern": "^BN[0-9a-fA-F]{32}$", - "type": "string" - } + "pattern": "^BN[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/messaging.v1.service.us_app_to_person_usecase" + "$ref": "#/components/schemas/messaging.v1.brand_registrations.brand_vetting" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -1381,161 +1330,71 @@ "accountSid_authToken": [] } ], + "operationId": "CreateBrandVetting", "x-maturity": [ "Beta" - ] - }, - "servers": [ - { - "url": "https://messaging.twilio.com" - } - ], - "x-twilio": { - "className": "us_app_to_person_usecase", - "defaultOutputProperties": [ - "us_app_to_person_usecases" ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v1/Services/{MessagingServiceSid}/Compliance/Usa2p/{Sid}": { - "delete": { - "description": "", - "operationId": "DeleteUsAppToPerson", - "parameters": [ - { - "description": "The SID of the [Messaging Service](https://www.twilio.com/docs/messaging/services/api) to delete the resource from.", - "in": "path", - "name": "MessagingServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the US A2P Compliance resource to delete `QE2c6890da8086d771620e9b13fadeba0b`.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^QE[0-9a-fA-F]{32}$", - "type": "string" + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateBrandVettingRequest", + "properties": { + "VettingProvider": { + "type": "string", + "enum": [ + "campaign-verify" + ], + "description": "The third-party provider of the vettings to create ." + }, + "VettingId": { + "type": "string", + "description": "The unique ID of the vetting" + } + }, + "required": [ + "VettingProvider" + ] + } } } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "Beta" - ] + } }, - "description": "A service for (fetch/create/delete) A2P Campaign for a Messaging Service", "get": { "description": "", - "operationId": "FetchUsAppToPerson", "parameters": [ { - "description": "The SID of the [Messaging Service](https://www.twilio.com/docs/messaging/services/api) to fetch the resource from.", + "name": "BrandSid", "in": "path", - "name": "MessagingServiceSid", - "required": true, + "description": "The SID of the Brand Registration resource of the vettings to read .", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the US A2P Compliance resource to fetch `QE2c6890da8086d771620e9b13fadeba0b`.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { "maxLength": 34, - "minLength": 34, - "pattern": "^QE[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/messaging.v1.service.us_app_to_person" - } - } + "pattern": "^BN[0-9a-fA-F]{32}$" }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "Beta" - ] - }, - "servers": [ - { - "url": "https://messaging.twilio.com" - } - ], - "x-twilio": { - "className": "us_app_to_person", - "defaultOutputProperties": [ - "brand_registration_sid", - "campaign_status", - "date_created" - ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/AlphaSenders": { - "description": "A Messaging Service resource to add, fetch or remove an Alpha Sender ID from a Messaging Service.", - "get": { - "description": "", - "operationId": "ListAlphaSender", - "parameters": [ + "required": true + }, { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to read the resources from.", - "in": "path", - "name": "ServiceSid", - "required": true, + "name": "VettingProvider", + "in": "query", + "description": "The third-party provider of the vettings to read", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" + "type": "string", + "enum": [ + "campaign-verify" + ] } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1544,25 +1403,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListBrandVettingResponse", "properties": { - "alpha_senders": { + "data": { + "type": "array", "items": { - "$ref": "#/components/schemas/messaging.v1.service.alpha_sender" - }, - "type": "array" + "$ref": "#/components/schemas/messaging.v1.brand_registrations.brand_vetting" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1571,19 +1430,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListAlphaSenderResponse", - "type": "object" + } } } }, @@ -1595,56 +1454,71 @@ "accountSid_authToken": [] } ], + "operationId": "ListBrandVetting", "x-maturity": [ "Beta" ] + } + }, + "/v1/a2p/BrandRegistrations/{BrandSid}/Vettings/{BrandVettingSid}": { + "servers": [ + { + "url": "https://messaging.twilio.com" + } + ], + "description": "A Messaging Service resource to add and get Brand Vettings.", + "x-twilio": { + "defaultOutputProperties": [ + "account_sid", + "brand_sid", + "brand_vetting_sid", + "date_created", + "date_updated", + "vetting_status", + "vetting_class" + ], + "pathType": "instance", + "parent": "/a2p/BrandRegistrations", + "className": "brand_vetting" }, - "post": { + "get": { "description": "", - "operationId": "CreateAlphaSender", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to create the resource under.", + "name": "BrandSid", "in": "path", - "name": "ServiceSid", - "required": true, + "description": "The SID of the Brand Registration resource of the vettings to read .", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^BN[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "BrandVettingSid", + "in": "path", + "description": "The Twilio SID of the third-party vetting record.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^VT[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "AlphaSender": { - "description": "The Alphanumeric Sender ID string. Can be up to 11 characters long. Valid characters are A-Z, a-z, 0-9, space, and hyphen `-`. This value cannot contain only numbers.", - "type": "string" - } - }, - "required": [ - "AlphaSender" - ], - "title": "CreateAlphaSenderRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/messaging.v1.service.alpha_sender" + "$ref": "#/components/schemas/messaging.v1.brand_registrations.brand_vetting" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -1652,54 +1526,49 @@ "accountSid_authToken": [] } ], + "operationId": "FetchBrandVetting", "x-maturity": [ "Beta" ] - }, + } + }, + "/v1/Deactivations": { "servers": [ { "url": "https://messaging.twilio.com" } ], + "description": "A Deactivation resource to retrieve a list of United States phone numbers that have been deactivated by mobile carriers on a specific date.", "x-twilio": { "defaultOutputProperties": [ - "sid", - "alpha_sender" + "redirect_to" ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/AlphaSenders/{Sid}": { - "delete": { - "description": "", - "operationId": "DeleteAlphaSender", + "pathType": "instance", + "className": "deactivations" + }, + "get": { + "description": "Fetch a list of all United States numbers that have been deactivated on a specific date.", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to delete the resource from.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the AlphaSender resource to delete.", - "in": "path", - "name": "Sid", - "required": true, + "name": "Date", + "in": "query", + "description": "The request will return a list of all United States Phone Numbers that were deactivated on the day specified by this parameter. This date should be specified in YYYY-MM-DD format.", "schema": { - "type": "string" + "type": "string", + "format": "date" } } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "307": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/messaging.v1.deactivation" + } + } + }, + "description": "Temporary Redirect" } }, "security": [ @@ -1707,47 +1576,39 @@ "accountSid_authToken": [] } ], + "operationId": "FetchDeactivation", "x-maturity": [ - "Beta" + "GA" ] - }, - "description": "A Messaging Service resource to add, fetch or remove an Alpha Sender ID from a Messaging Service.", - "get": { - "description": "", - "operationId": "FetchAlphaSender", - "parameters": [ - { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to fetch the resource from.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the AlphaSender resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "type": "string" - } - } + } + }, + "/v1/Services/PreregisteredUsa2p": { + "servers": [ + { + "url": "https://messaging.twilio.com" + } + ], + "description": "Resource to associate preregistered campaign with Messaging Service.", + "x-twilio": { + "defaultOutputProperties": [ + "campaign_id", + "messaging_service_sid" ], + "pathType": "list", + "className": "external_campaign" + }, + "post": { + "description": "", "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/messaging.v1.service.alpha_sender" + "$ref": "#/components/schemas/messaging.v1.external_campaign" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -1755,102 +1616,81 @@ "accountSid_authToken": [] } ], + "operationId": "CreateExternalCampaign", "x-maturity": [ "Beta" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateExternalCampaignRequest", + "properties": { + "CampaignId": { + "type": "string", + "description": "ID of the preregistered campaign." + }, + "MessagingServiceSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$", + "description": "The SID of the [Messaging Service](https://www.twilio.com/docs/messaging/services/api) that the resource is associated with." + } + }, + "required": [ + "CampaignId", + "MessagingServiceSid" + ] + } + } + } + } + } + }, + "/v1/Services/{ServiceSid}/PhoneNumbers": { "servers": [ { "url": "https://messaging.twilio.com" } ], + "description": "A Messaging Service resource to add, fetch or remove phone numbers from a Messaging Service.", "x-twilio": { "defaultOutputProperties": [ "sid", - "alpha_sender" + "phone_number", + "country_code" ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/PhoneNumbers": { - "description": "A Messaging Service resource to add, fetch or remove phone numbers from a Messaging Service.", - "get": { + "pathType": "list", + "parent": "/Services" + }, + "post": { "description": "", - "operationId": "ListPhoneNumber", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to read the resources from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to create the resource under.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^MG[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" - } + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "phone_numbers": { - "items": { - "$ref": "#/components/schemas/messaging.v1.service.phone_number" - }, - "type": "array" - } - }, - "title": "ListPhoneNumberResponse", - "type": "object" + "$ref": "#/components/schemas/messaging.v1.service.phone_number" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -1858,59 +1698,108 @@ "accountSid_authToken": [] } ], + "operationId": "CreatePhoneNumber", "x-maturity": [ "Beta" - ] - }, - "post": { - "description": "", - "operationId": "CreatePhoneNumber", - "parameters": [ - { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to create the resource under.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreatePhoneNumberRequest", "properties": { "PhoneNumberSid": { - "description": "The SID of the Phone Number being added to the Service.", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, "pattern": "^PN[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Phone Number being added to the Service." } }, "required": [ "PhoneNumberSid" - ], - "title": "CreatePhoneNumberRequest", - "type": "object" + ] } } } - }, + } + }, + "get": { + "description": "", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to read the resources from.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "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 + } + } + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/messaging.v1.service.phone_number" + "type": "object", + "title": "ListPhoneNumberResponse", + "properties": { + "phone_numbers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/messaging.v1.service.phone_number" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -1918,50 +1807,51 @@ "accountSid_authToken": [] } ], + "operationId": "ListPhoneNumber", "x-maturity": [ "Beta" ] - }, + } + }, + "/v1/Services/{ServiceSid}/PhoneNumbers/{Sid}": { "servers": [ { "url": "https://messaging.twilio.com" } ], + "description": "A Messaging Service resource to add, fetch or remove phone numbers from a Messaging Service.", "x-twilio": { "defaultOutputProperties": [ "sid", "phone_number", "country_code" ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/PhoneNumbers/{Sid}": { + "pathType": "instance", + "parent": "/Services" + }, "delete": { "description": "", - "operationId": "DeletePhoneNumber", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to delete the resource from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to delete the resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the PhoneNumber resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the PhoneNumber resource to delete.", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -1974,35 +1864,34 @@ "accountSid_authToken": [] } ], + "operationId": "DeletePhoneNumber", "x-maturity": [ "Beta" ] }, - "description": "A Messaging Service resource to add, fetch or remove phone numbers from a Messaging Service.", "get": { "description": "", - "operationId": "FetchPhoneNumber", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to fetch the resource from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to fetch the resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the PhoneNumber resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the PhoneNumber resource to fetch.", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -2013,61 +1902,410 @@ "$ref": "#/components/schemas/messaging.v1.service.phone_number" } } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "FetchPhoneNumber", + "x-maturity": [ + "Beta" + ] + } + }, + "/v1/Services": { + "servers": [ + { + "url": "https://messaging.twilio.com" + } + ], + "description": "A Messaging Service resource to create, fetch, update, delete or add/remove senders from Messaging Services.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "date_created" + ], + "pathType": "list" + }, + "post": { + "description": "", + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/messaging.v1.service" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateService", + "x-maturity": [ + "Beta" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateServiceRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long." + }, + "InboundRequestUrl": { + "type": "string", + "format": "uri", + "description": "The URL we call using `inbound_method` when a message is received by any phone number or short code in the Service. When this property is `null`, receiving inbound messages is disabled. All messages sent to the Twilio phone number or short code will not be logged and received on the Account. If the `use_inbound_webhook_on_number` field is enabled then the webhook url defined on the phone number will override the `inbound_request_url` defined for the Messaging Service." + }, + "InboundMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method we should use to call `inbound_request_url`. Can be `GET` or `POST` and the default is `POST`." + }, + "FallbackUrl": { + "type": "string", + "format": "uri", + "description": "The URL that we call using `fallback_method` if an error occurs while retrieving or executing the TwiML from the Inbound Request URL. If the `use_inbound_webhook_on_number` field is enabled then the webhook url defined on the phone number will override the `fallback_url` defined for the Messaging Service." + }, + "FallbackMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method we should use to call `fallback_url`. Can be: `GET` or `POST`." + }, + "StatusCallback": { + "type": "string", + "format": "uri", + "description": "The URL we should call to [pass status updates](https://www.twilio.com/docs/sms/api/message-resource#message-status-values) about message delivery." + }, + "StickySender": { + "type": "boolean", + "description": "Whether to enable [Sticky Sender](https://www.twilio.com/docs/sms/services#sticky-sender) on the Service instance." + }, + "MmsConverter": { + "type": "boolean", + "description": "Whether to enable the [MMS Converter](https://www.twilio.com/docs/sms/services#mms-converter) for messages sent through the Service instance." + }, + "SmartEncoding": { + "type": "boolean", + "description": "Whether to enable [Smart Encoding](https://www.twilio.com/docs/sms/services#smart-encoding) for messages sent through the Service instance." + }, + "ScanMessageContent": { + "type": "string", + "enum": [ + "inherit", + "enable", + "disable" + ], + "description": "Reserved." + }, + "FallbackToLongCode": { + "type": "boolean", + "description": "Whether to enable [Fallback to Long Code](https://www.twilio.com/docs/sms/services#fallback-to-long-code) for messages sent through the Service instance." + }, + "AreaCodeGeomatch": { + "type": "boolean", + "description": "Whether to enable [Area Code Geomatch](https://www.twilio.com/docs/sms/services#area-code-geomatch) on the Service Instance." + }, + "ValidityPeriod": { + "type": "integer", + "description": "How long, in seconds, messages sent from the Service are valid. Can be an integer from `1` to `14,400`." + }, + "SynchronousValidation": { + "type": "boolean", + "description": "Reserved." + }, + "Usecase": { + "type": "string", + "description": "A string that describes the scenario in which the Messaging Service will be used. Examples: [notification, marketing, verification, poll ..]." + }, + "UseInboundWebhookOnNumber": { + "type": "boolean", + "description": "A boolean value that indicates either the webhook url configured on the phone number will be used or `inbound_request_url`/`fallback_url` url will be called when a message is received from the phone number. If this field is enabled then the webhook url defined on the phone number will override the `inbound_request_url`/`fallback_url` defined for the Messaging Service." + } + }, + "required": [ + "FriendlyName" + ] + } + } + } + } + }, + "get": { + "description": "", + "parameters": [ + { + "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 + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "ListServiceResponse", + "properties": { + "services": { + "type": "array", + "items": { + "$ref": "#/components/schemas/messaging.v1.service" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "ListService", + "x-maturity": [ + "Beta" + ] + } + }, + "/v1/Services/{Sid}": { + "servers": [ + { + "url": "https://messaging.twilio.com" + } + ], + "description": "A Messaging Service resource to create, fetch, update, delete or add/remove senders from Messaging Services.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "date_created" + ], + "pathType": "instance" + }, + "post": { + "description": "", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The SID of the Service resource to update.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/messaging.v1.service" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "UpdateService", + "x-maturity": [ + "Beta" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateServiceRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long." + }, + "InboundRequestUrl": { + "type": "string", + "format": "uri", + "description": "The URL we call using `inbound_method` when a message is received by any phone number or short code in the Service. When this property is `null`, receiving inbound messages is disabled. All messages sent to the Twilio phone number or short code will not be logged and received on the Account. If the `use_inbound_webhook_on_number` field is enabled then the webhook url defined on the phone number will override the `inbound_request_url` defined for the Messaging Service." + }, + "InboundMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method we should use to call `inbound_request_url`. Can be `GET` or `POST` and the default is `POST`." + }, + "FallbackUrl": { + "type": "string", + "format": "uri", + "description": "The URL that we call using `fallback_method` if an error occurs while retrieving or executing the TwiML from the Inbound Request URL. If the `use_inbound_webhook_on_number` field is enabled then the webhook url defined on the phone number will override the `fallback_url` defined for the Messaging Service." + }, + "FallbackMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method we should use to call `fallback_url`. Can be: `GET` or `POST`." + }, + "StatusCallback": { + "type": "string", + "format": "uri", + "description": "The URL we should call to [pass status updates](https://www.twilio.com/docs/sms/api/message-resource#message-status-values) about message delivery." + }, + "StickySender": { + "type": "boolean", + "description": "Whether to enable [Sticky Sender](https://www.twilio.com/docs/sms/services#sticky-sender) on the Service instance." + }, + "MmsConverter": { + "type": "boolean", + "description": "Whether to enable the [MMS Converter](https://www.twilio.com/docs/sms/services#mms-converter) for messages sent through the Service instance." + }, + "SmartEncoding": { + "type": "boolean", + "description": "Whether to enable [Smart Encoding](https://www.twilio.com/docs/sms/services#smart-encoding) for messages sent through the Service instance." + }, + "ScanMessageContent": { + "type": "string", + "enum": [ + "inherit", + "enable", + "disable" + ], + "description": "Reserved." + }, + "FallbackToLongCode": { + "type": "boolean", + "description": "Whether to enable [Fallback to Long Code](https://www.twilio.com/docs/sms/services#fallback-to-long-code) for messages sent through the Service instance." + }, + "AreaCodeGeomatch": { + "type": "boolean", + "description": "Whether to enable [Area Code Geomatch](https://www.twilio.com/docs/sms/services#area-code-geomatch) on the Service Instance." + }, + "ValidityPeriod": { + "type": "integer", + "description": "How long, in seconds, messages sent from the Service are valid. Can be an integer from `1` to `14,400`." + }, + "SynchronousValidation": { + "type": "boolean", + "description": "Reserved." + }, + "Usecase": { + "type": "string", + "description": "A string that describes the scenario in which the Messaging Service will be used. Examples: [notification, marketing, verification, poll ..]" + }, + "UseInboundWebhookOnNumber": { + "type": "boolean", + "description": "A boolean value that indicates either the webhook url configured on the phone number will be used or `inbound_request_url`/`fallback_url` url will be called when a message is received from the phone number. If this field is enabled then the webhook url defined on the phone number will override the `inbound_request_url`/`fallback_url` defined for the Messaging Service." + } + } + } + } } - ], - "x-maturity": [ - "Beta" - ] - }, - "servers": [ - { - "url": "https://messaging.twilio.com" } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "phone_number", - "country_code" - ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/ShortCodes": { - "description": "A Messaging Service resource to add, fetch or remove short code numbers from a Messaging Service.", + }, "get": { "description": "", - "operationId": "ListShortCode", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to read the resources from.", + "name": "Sid", "in": "path", - "name": "ServiceSid", - "required": true, + "description": "The SID of the Service resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^MG[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" - } + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2075,46 +2313,7 @@ "content": { "application/json": { "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "short_codes": { - "items": { - "$ref": "#/components/schemas/messaging.v1.service.short_code" - }, - "type": "array" - } - }, - "title": "ListShortCodeResponse", - "type": "object" + "$ref": "#/components/schemas/messaging.v1.service" } } }, @@ -2126,59 +2325,30 @@ "accountSid_authToken": [] } ], + "operationId": "FetchService", "x-maturity": [ "Beta" ] }, - "post": { + "delete": { "description": "", - "operationId": "CreateShortCode", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to create the resource under.", + "name": "Sid", "in": "path", - "name": "ServiceSid", - "required": true, + "description": "The SID of the Service resource to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "ShortCodeSid": { - "description": "The SID of the ShortCode resource being added to the Service.", - "maxLength": 34, - "minLength": 34, - "pattern": "^SC[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "required": [ - "ShortCodeSid" - ], - "title": "CreateShortCodeRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/messaging.v1.service.short_code" - } - } - }, - "description": "Created" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -2186,55 +2356,54 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteService", "x-maturity": [ "Beta" ] - }, + } + }, + "/v1/Services/{ServiceSid}/ShortCodes": { "servers": [ { "url": "https://messaging.twilio.com" } ], + "description": "A Messaging Service resource to add, fetch or remove short code numbers from a Messaging Service.", "x-twilio": { "defaultOutputProperties": [ "sid", "short_code", "country_code" ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/ShortCodes/{Sid}": { - "delete": { + "pathType": "list", + "parent": "/Services" + }, + "post": { "description": "", - "operationId": "DeleteShortCode", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to delete the resource from.", - "in": "path", "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the ShortCode resource to delete.", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to create the resource under.", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/messaging.v1.service.short_code" + } + } + }, + "description": "Created" } }, "security": [ @@ -2242,34 +2411,56 @@ "accountSid_authToken": [] } ], + "operationId": "CreateShortCode", "x-maturity": [ "Beta" - ] + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateShortCodeRequest", + "properties": { + "ShortCodeSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^SC[0-9a-fA-F]{32}$", + "description": "The SID of the ShortCode resource being added to the Service." + } + }, + "required": [ + "ShortCodeSid" + ] + } + } + } + } }, - "description": "A Messaging Service resource to add, fetch or remove short code numbers from a Messaging Service.", "get": { "description": "", - "operationId": "FetchShortCode", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to fetch the resource from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to read the resources from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the ShortCode resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, + "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": "string" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], @@ -2278,7 +2469,46 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/messaging.v1.service.short_code" + "type": "object", + "title": "ListShortCodeResponse", + "properties": { + "short_codes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/messaging.v1.service.short_code" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -2290,41 +2520,51 @@ "accountSid_authToken": [] } ], + "operationId": "ListShortCode", "x-maturity": [ "Beta" ] - }, + } + }, + "/v1/Services/{ServiceSid}/ShortCodes/{Sid}": { "servers": [ { "url": "https://messaging.twilio.com" } ], + "description": "A Messaging Service resource to add, fetch or remove short code numbers from a Messaging Service.", "x-twilio": { "defaultOutputProperties": [ "sid", "short_code", "country_code" ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v1/Services/{Sid}": { + "pathType": "instance", + "parent": "/Services" + }, "delete": { "description": "", - "operationId": "DeleteService", "parameters": [ { - "description": "The SID of the Service resource to delete.", + "name": "ServiceSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to delete the resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^MG[0-9a-fA-F]{32}$", + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the ShortCode resource to delete.", + "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -2337,174 +2577,42 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteShortCode", "x-maturity": [ "Beta" ] }, - "description": "A Messaging Service resource to create, fetch, update, delete or add/remove senders from Messaging Services.", "get": { "description": "", - "operationId": "FetchService", "parameters": [ { - "description": "The SID of the Service resource to fetch.", + "name": "ServiceSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to fetch the resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/messaging.v1.service" - } - } + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$" }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "Beta" - ] - }, - "post": { - "description": "", - "operationId": "UpdateService", - "parameters": [ + "required": true + }, { - "description": "The SID of the Service resource to update.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the ShortCode resource to fetch.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^MG[0-9a-fA-F]{32}$", "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "AreaCodeGeomatch": { - "description": "Whether to enable [Area Code Geomatch](https://www.twilio.com/docs/sms/services#area-code-geomatch) on the Service Instance.", - "type": "boolean" - }, - "FallbackMethod": { - "description": "The HTTP method we should use to call `fallback_url`. Can be: `GET` or `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "FallbackToLongCode": { - "description": "Whether to enable [Fallback to Long Code](https://www.twilio.com/docs/sms/services#fallback-to-long-code) for messages sent through the Service instance.", - "type": "boolean" - }, - "FallbackUrl": { - "description": "The URL that we call using `fallback_method` if an error occurs while retrieving or executing the TwiML from the Inbound Request URL. If the `use_inbound_webhook_on_number` field is enabled then the webhook url defined on the phone number will override the `fallback_url` defined for the Messaging Service.", - "format": "uri", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long.", - "type": "string" - }, - "InboundMethod": { - "description": "The HTTP method we should use to call `inbound_request_url`. Can be `GET` or `POST` and the default is `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "InboundRequestUrl": { - "description": "The URL we call using `inbound_method` when a message is received by any phone number or short code in the Service. When this property is `null`, receiving inbound messages is disabled. All messages sent to the Twilio phone number or short code will not be logged and received on the Account. If the `use_inbound_webhook_on_number` field is enabled then the webhook url defined on the phone number will override the `inbound_request_url` defined for the Messaging Service.", - "format": "uri", - "type": "string" - }, - "MmsConverter": { - "description": "Whether to enable the [MMS Converter](https://www.twilio.com/docs/sms/services#mms-converter) for messages sent through the Service instance.", - "type": "boolean" - }, - "ScanMessageContent": { - "description": "Reserved.", - "enum": [ - "inherit", - "enable", - "disable" - ], - "type": "string" - }, - "SmartEncoding": { - "description": "Whether to enable [Smart Encoding](https://www.twilio.com/docs/sms/services#smart-encoding) for messages sent through the Service instance.", - "type": "boolean" - }, - "StatusCallback": { - "description": "The URL we should call to [pass status updates](https://www.twilio.com/docs/sms/api/message-resource#message-status-values) about message delivery.", - "format": "uri", - "type": "string" - }, - "StickySender": { - "description": "Whether to enable [Sticky Sender](https://www.twilio.com/docs/sms/services#sticky-sender) on the Service instance.", - "type": "boolean" - }, - "SynchronousValidation": { - "description": "Reserved.", - "type": "boolean" - }, - "UseInboundWebhookOnNumber": { - "description": "A boolean value that indicates either the webhook url configured on the phone number will be used or `inbound_request_url`/`fallback_url` url will be called when a message is received from the phone number. If this field is enabled then the webhook url defined on the phone number will override the `inbound_request_url`/`fallback_url` defined for the Messaging Service.", - "type": "boolean" - }, - "Usecase": { - "description": "A string that describes the scenario in which the Messaging Service will be used. Examples: [notification, marketing, verification, poll ..]", - "type": "string" - }, - "ValidityPeriod": { - "description": "How long, in seconds, messages sent from the Service are valid. Can be an integer from `1` to `14,400`.", - "type": "integer" - } - }, - "title": "UpdateServiceRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/messaging.v1.service" + "$ref": "#/components/schemas/messaging.v1.service.short_code" } } }, @@ -2516,90 +2624,55 @@ "accountSid_authToken": [] } ], + "operationId": "FetchShortCode", "x-maturity": [ "Beta" ] - }, + } + }, + "/v1/Services/{MessagingServiceSid}/Compliance/Usa2p": { "servers": [ { "url": "https://messaging.twilio.com" } ], + "description": "A service for (fetch/create/delete) A2P Campaign for a Messaging Service", "x-twilio": { "defaultOutputProperties": [ - "sid", - "friendly_name", + "brand_registration_sid", + "campaign_status", "date_created" ], - "pathType": "instance" - } - }, - "/v1/a2p/BrandRegistrations": { - "description": "A Messaging Service resource to add and fetch Brand Registrations.", - "get": { + "pathType": "list", + "parent": "/Services", + "className": "us_app_to_person" + }, + "post": { "description": "", - "operationId": "ListBrandRegistrations", "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", - "name": "PageSize", + "name": "MessagingServiceSid", + "in": "path", + "description": "The SID of the [Messaging Service](https://www.twilio.com/docs/messaging/services/api) to create the resources from.", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/messaging.v1.brand_registrations" - }, - "type": "array" - }, - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - } - }, - "title": "ListBrandRegistrationsResponse", - "type": "object" + "$ref": "#/components/schemas/messaging.v1.service.us_app_to_person" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -2607,126 +2680,84 @@ "accountSid_authToken": [] } ], + "operationId": "CreateUsAppToPerson", "x-maturity": [ "Beta" - ] - }, - "post": { - "description": "", - "operationId": "CreateBrandRegistrations", + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateUsAppToPersonRequest", "properties": { - "A2PProfileBundleSid": { - "description": "A2P Messaging Profile Bundle Sid.", - "maxLength": 34, + "BrandRegistrationSid": { + "type": "string", "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^BN[0-9a-fA-F]{32}$", + "description": "A2P Brand Registration SID" }, - "BrandType": { - "description": "Type of brand being created. One of: \"STANDARD\", \"STARTER\". STARTER is for low volume, starter use cases. STANDARD is for all other use cases.", - "type": "string" + "Description": { + "type": "string", + "description": "A short description of what this SMS campaign does." }, - "CustomerProfileBundleSid": { - "description": "Customer Profile Bundle Sid.", - "maxLength": 34, - "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" + "MessageSamples": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Message samples, at least 2 and up to 5 sample messages, <=1024 chars each." }, - "Mock": { - "description": "A boolean that specifies whether brand should be a mock or not. If true, brand will be registered as a mock brand. Defaults to false if no value is provided.", - "type": "boolean" + "UsAppToPersonUsecase": { + "type": "string", + "description": "A2P Campaign Use Case. Examples: [ 2FA, EMERGENCY, MARKETING..]" }, - "SkipAutomaticSecVet": { - "description": "A flag to disable automatic secondary vetting for brands which it would otherwise be done.", - "type": "boolean" + "HasEmbeddedLinks": { + "type": "boolean", + "description": "Indicates that this SMS campaign will send messages that contain links." + }, + "HasEmbeddedPhone": { + "type": "boolean", + "description": "Indicates that this SMS campaign will send messages that contain phone numbers." } }, "required": [ - "CustomerProfileBundleSid", - "A2PProfileBundleSid" - ], - "title": "CreateBrandRegistrationsRequest", - "type": "object" + "BrandRegistrationSid", + "Description", + "MessageSamples", + "UsAppToPersonUsecase", + "HasEmbeddedLinks", + "HasEmbeddedPhone" + ] } } } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/messaging.v1.brand_registrations" - } - } - }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "Beta" - ] - }, - "servers": [ - { - "url": "https://messaging.twilio.com" } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "date_created" - ], - "pathType": "list" - } - }, - "/v1/a2p/BrandRegistrations/{BrandSid}/Vettings": { - "description": "A Messaging Service resource to add and get Brand Vettings.", + }, "get": { "description": "", - "operationId": "ListBrandVetting", "parameters": [ { - "description": "The SID of the Brand Registration resource of the vettings to read .", + "name": "MessagingServiceSid", "in": "path", - "name": "BrandSid", - "required": true, + "description": "The SID of the [Messaging Service](https://www.twilio.com/docs/messaging/services/api) to fetch the resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BN[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The third-party provider of the vettings to read", + "name": "PageSize", "in": "query", - "name": "VettingProvider", - "schema": { - "enum": [ - "campaign-verify" - ], - "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, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -2735,25 +2766,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListUsAppToPersonResponse", "properties": { - "data": { + "compliance": { + "type": "array", "items": { - "$ref": "#/components/schemas/messaging.v1.brand_registrations.brand_vetting" - }, - "type": "array" + "$ref": "#/components/schemas/messaging.v1.service.us_app_to_person" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -2762,19 +2793,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListBrandVettingResponse", - "type": "object" + } } } }, @@ -2786,63 +2817,60 @@ "accountSid_authToken": [] } ], + "operationId": "ListUsAppToPerson", "x-maturity": [ "Beta" ] + } + }, + "/v1/Services/{MessagingServiceSid}/Compliance/Usa2p/{Sid}": { + "servers": [ + { + "url": "https://messaging.twilio.com" + } + ], + "description": "A service for (fetch/create/delete) A2P Campaign for a Messaging Service", + "x-twilio": { + "defaultOutputProperties": [ + "brand_registration_sid", + "campaign_status", + "date_created" + ], + "pathType": "instance", + "parent": "/Services", + "className": "us_app_to_person" }, - "post": { + "delete": { "description": "", - "operationId": "CreateBrandVetting", "parameters": [ { - "description": "The SID of the Brand Registration resource of the vettings to create .", + "name": "MessagingServiceSid", "in": "path", - "name": "BrandSid", - "required": true, + "description": "The SID of the [Messaging Service](https://www.twilio.com/docs/messaging/services/api) to delete the resource from.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the US A2P Compliance resource to delete `QE2c6890da8086d771620e9b13fadeba0b`.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^BN[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^QE[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "VettingId": { - "description": "The unique ID of the vetting", - "type": "string" - }, - "VettingProvider": { - "description": "The third-party provider of the vettings to create .", - "enum": [ - "campaign-verify" - ], - "type": "string" - } - }, - "required": [ - "VettingProvider" - ], - "title": "CreateBrandVettingRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/messaging.v1.brand_registrations.brand_vetting" - } - } - }, - "description": "Created" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -2850,59 +2878,37 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteUsAppToPerson", "x-maturity": [ "Beta" ] }, - "servers": [ - { - "url": "https://messaging.twilio.com" - } - ], - "x-twilio": { - "className": "brand_vetting", - "defaultOutputProperties": [ - "account_sid", - "brand_sid", - "brand_vetting_sid", - "date_created", - "date_updated", - "vetting_status", - "vetting_class" - ], - "parent": "/a2p/BrandRegistrations", - "pathType": "list" - } - }, - "/v1/a2p/BrandRegistrations/{BrandSid}/Vettings/{BrandVettingSid}": { - "description": "A Messaging Service resource to add and get Brand Vettings.", "get": { "description": "", - "operationId": "FetchBrandVetting", "parameters": [ { - "description": "The SID of the Brand Registration resource of the vettings to read .", + "name": "MessagingServiceSid", "in": "path", - "name": "BrandSid", - "required": true, + "description": "The SID of the [Messaging Service](https://www.twilio.com/docs/messaging/services/api) to fetch the resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BN[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio SID of the third-party vetting record.", + "name": "Sid", "in": "path", - "name": "BrandVettingSid", - "required": true, + "description": "The SID of the US A2P Compliance resource to fetch `QE2c6890da8086d771620e9b13fadeba0b`.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^VT[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^QE[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2910,7 +2916,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/messaging.v1.brand_registrations.brand_vetting" + "$ref": "#/components/schemas/messaging.v1.service.us_app_to_person" } } }, @@ -2922,46 +2928,51 @@ "accountSid_authToken": [] } ], + "operationId": "FetchUsAppToPerson", "x-maturity": [ "Beta" ] - }, + } + }, + "/v1/Services/{MessagingServiceSid}/Compliance/Usa2p/Usecases": { "servers": [ { "url": "https://messaging.twilio.com" } ], + "description": "Messaging Service Use Case resource. Fetch possible use cases for service. The Use Cases API returns an empty list if there is an issue with the customer's A2P brand registration. This Brand cannot register any campaign use cases. Customers are requested to contact support with their A2P brand information.", "x-twilio": { - "className": "brand_vetting", "defaultOutputProperties": [ - "account_sid", - "brand_sid", - "brand_vetting_sid", - "date_created", - "date_updated", - "vetting_status", - "vetting_class" + "us_app_to_person_usecases" ], - "parent": "/a2p/BrandRegistrations", - "pathType": "instance" - } - }, - "/v1/a2p/BrandRegistrations/{Sid}": { - "description": "A Messaging Service resource to add and fetch Brand Registrations.", + "pathType": "list", + "parent": "/Services", + "className": "us_app_to_person_usecase" + }, "get": { "description": "", - "operationId": "FetchBrandRegistrations", "parameters": [ { - "description": "The SID of the Brand Registration resource to fetch.", + "name": "MessagingServiceSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Messaging Service](https://www.twilio.com/docs/messaging/services/api) to fetch the resource from.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "BrandRegistrationSid", + "in": "query", + "description": "The unique string to identify the A2P brand.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^BN[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^BN[0-9a-fA-F]{32}$" } } ], @@ -2970,7 +2981,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/messaging.v1.brand_registrations" + "$ref": "#/components/schemas/messaging.v1.service.us_app_to_person_usecase" } } }, @@ -2982,37 +2993,37 @@ "accountSid_authToken": [] } ], + "operationId": "FetchUsAppToPersonUsecase", "x-maturity": [ "Beta" ] + } + }, + "/v1/Services/Usecases": { + "servers": [ + { + "url": "https://messaging.twilio.com" + } + ], + "description": "Use Case resource. Fetch possible use cases for a Messaging Service.", + "x-twilio": { + "defaultOutputProperties": [ + "usecases" + ], + "pathType": "list" }, - "post": { + "get": { "description": "", - "operationId": "UpdateBrandRegistrations", - "parameters": [ - { - "description": "The SID of the Brand Registration resource to update.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^BN[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], "responses": { - "202": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/messaging.v1.brand_registrations" + "$ref": "#/components/schemas/messaging.v1.usecase" } } }, - "description": "Accepted" + "description": "OK" } }, "security": [ @@ -3020,21 +3031,10 @@ "accountSid_authToken": [] } ], + "operationId": "FetchUsecase", "x-maturity": [ "Beta" ] - }, - "servers": [ - { - "url": "https://messaging.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "date_created" - ], - "pathType": "instance" } } }, @@ -3045,12 +3045,12 @@ ], "x-maturity": [ { - "description": "This product is Generally Available.", - "name": "GA" + "name": "GA", + "description": "This product is Generally Available." }, { - "description": "PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution.", - "name": "Beta" + "name": "Beta", + "description": "PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution." } ] } \ No newline at end of file diff --git a/spec/json/twilio_monitor_v1.json b/spec/json/twilio_monitor_v1.json index d770c2ea..3dc3c803 100644 --- a/spec/json/twilio_monitor_v1.json +++ b/spec/json/twilio_monitor_v1.json @@ -2,60 +2,62 @@ "components": { "schemas": { "monitor.v1.alert": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "alert_text": { - "description": "The text of the alert", + "type": "string", "nullable": true, - "type": "string" + "description": "The text of the alert" }, "api_version": { - "description": "The API version used when the alert was generated", + "type": "string", "nullable": true, - "type": "string" + "description": "The API version used when the alert was generated" }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, "date_generated": { - "description": "The date and time when the alert was generated specified in ISO 8601 format", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The date and time when the alert was generated specified in ISO 8601 format" }, "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, "error_code": { - "description": "The error code for the condition that generated the alert", + "type": "string", "nullable": true, - "type": "string" + "description": "The error code for the condition that generated the alert" }, "log_level": { - "description": "The log level", + "type": "string", "nullable": true, - "type": "string" + "description": "The log level" }, "more_info": { - "description": "The URL of the page in our Error Dictionary with more information about the error condition", + "type": "string", "nullable": true, - "type": "string" + "description": "The URL of the page in our Error Dictionary with more information about the error condition" }, "request_method": { - "description": "The method used by the request that generated the alert", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -64,109 +66,104 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The method used by the request that generated the alert" }, "request_url": { - "description": "The URL of the request that generated the alert", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL of the request that generated the alert" }, "resource_sid": { - "description": "The SID of the resource for which the alert was generated", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", - "type": "string" - }, - "service_sid": { - "description": "The SID of the service or resource that generated the alert", "maxLength": 34, - "minLength": 34, - "nullable": true, "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the resource for which the alert was generated" }, "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^NO[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string that identifies the resource" }, "url": { - "description": "The absolute URL of the Alert resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Alert resource" + }, + "service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the service or resource that generated the alert" } - }, - "type": "object" + } }, "monitor.v1.alert-instance": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "alert_text": { - "description": "The text of the alert", + "type": "string", "nullable": true, - "type": "string" + "description": "The text of the alert" }, "api_version": { - "description": "The API version used when the alert was generated", + "type": "string", "nullable": true, - "type": "string" + "description": "The API version used when the alert was generated" }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, "date_generated": { - "description": "The date and time when the alert was generated specified in ISO 8601 format", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The date and time when the alert was generated specified in ISO 8601 format" }, "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, "error_code": { - "description": "The error code for the condition that generated the alert", + "type": "string", "nullable": true, - "type": "string" + "description": "The error code for the condition that generated the alert" }, "log_level": { - "description": "The log level", + "type": "string", "nullable": true, - "type": "string" + "description": "The log level" }, "more_info": { - "description": "The URL of the page in our Error Dictionary with more information about the error condition", + "type": "string", "nullable": true, - "type": "string" - }, - "request_headers": { - "description": "The request headers of the request that generated the alert", - "nullable": true, - "type": "string" + "description": "The URL of the page in our Error Dictionary with more information about the error condition" }, "request_method": { - "description": "The method used by the request that generated the alert", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -175,218 +172,289 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The method used by the request that generated the alert" }, "request_url": { - "description": "The URL of the request that generated the alert", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL of the request that generated the alert" }, "request_variables": { - "description": "The variables passed in the request that generated the alert", + "type": "string", "nullable": true, - "type": "string" + "description": "The variables passed in the request that generated the alert" }, "resource_sid": { - "description": "The SID of the resource for which the alert was generated", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the resource for which the alert was generated" }, "response_body": { - "description": "The response body of the request that generated the alert", + "type": "string", "nullable": true, - "type": "string" + "description": "The response body of the request that generated the alert" }, "response_headers": { - "description": "The response headers of the request that generated the alert", + "type": "string", "nullable": true, - "type": "string" - }, - "service_sid": { - "description": "The SID of the service or resource that generated the alert", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", - "type": "string" + "description": "The response headers of the request that generated the alert" }, "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^NO[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string that identifies the resource" }, "url": { - "description": "The absolute URL of the Alert resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Alert resource" + }, + "request_headers": { + "type": "string", + "nullable": true, + "description": "The request headers of the request that generated the alert" + }, + "service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the service or resource that generated the alert" } - }, - "type": "object" + } }, "monitor.v1.event": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "actor_sid": { - "description": "The SID of the actor that caused the event, if available", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^US[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the actor that caused the event, if available" }, "actor_type": { - "description": "The type of actor that caused the event", + "type": "string", "nullable": true, - "type": "string" + "description": "The type of actor that caused the event" }, "description": { - "description": "A description of the event", + "type": "string", "nullable": true, - "type": "string" + "description": "A description of the event" }, "event_data": { - "description": "A JSON string that represents an object with additional data about the event", - "nullable": true + "nullable": true, + "description": "A JSON string that represents an object with additional data about the event" }, "event_date": { - "description": "The ISO 8601 date and time in GMT when the event was recorded", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the event was recorded" }, "event_type": { - "description": "The event's type", - "nullable": true, - "type": "string" - }, - "links": { - "description": "The absolute URLs of related resources", - "format": "uri-map", + "type": "string", "nullable": true, - "type": "object" + "description": "The event's type" }, "resource_sid": { - "description": "The SID of the resource that was affected", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the resource that was affected" }, "resource_type": { - "description": "The type of resource that was affected", + "type": "string", "nullable": true, - "type": "string" + "description": "The type of resource that was affected" }, "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AE[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string that identifies the resource" }, "source": { - "description": "The originating system or interface that caused the event", + "type": "string", "nullable": true, - "type": "string" + "description": "The originating system or interface that caused the event" }, "source_ip_address": { - "description": "The IP address of the source", + "type": "string", "nullable": true, - "type": "string" + "description": "The IP address of the source" }, "url": { - "description": "The absolute URL of the resource that was affected", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource that was affected" + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "The absolute URLs of related resources" } - }, - "type": "object" + } } }, "securitySchemes": { "accountSid_authToken": { - "scheme": "basic", - "type": "http" + "type": "http", + "scheme": "basic" } } }, "info": { + "title": "Twilio - Monitor", + "description": "This is the public Twilio REST API.", + "termsOfService": "https://www.twilio.com/legal/tos", "contact": { - "email": "support@twilio.com", "name": "Twilio Support", - "url": "https://support.twilio.com" + "url": "https://support.twilio.com", + "email": "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 - Monitor", "version": "1.30.0" }, "openapi": "3.0.1", "paths": { + "/v1/Alerts/{Sid}": { + "servers": [ + { + "url": "https://monitor.twilio.com" + } + ], + "description": "Debugger alerts", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "error_code", + "log_level", + "alert_text" + ], + "pathType": "instance" + }, + "get": { + "description": "", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The SID of the Alert resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^NO[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/monitor.v1.alert-instance" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "FetchAlert", + "x-maturity": [ + "GA" + ] + } + }, "/v1/Alerts": { + "servers": [ + { + "url": "https://monitor.twilio.com" + } + ], "description": "Debugger alerts", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "error_code", + "log_level", + "alert_text" + ], + "pathType": "list" + }, "get": { "description": "", - "operationId": "ListAlert", "parameters": [ { - "description": "Only show alerts for this log-level. Can be: `error`, `warning`, `notice`, or `debug`.", - "in": "query", "name": "LogLevel", + "in": "query", + "description": "Only show alerts for this log-level. Can be: `error`, `warning`, `notice`, or `debug`.", "schema": { "type": "string" } }, { - "description": "Only include alerts that occurred on or after this date and time. Specify the date and time in GMT and format as `YYYY-MM-DD` or `YYYY-MM-DDThh:mm:ssZ`. Queries for alerts older than 30 days are not supported.", - "in": "query", "name": "StartDate", + "in": "query", + "description": "Only include alerts that occurred on or after this date and time. Specify the date and time in GMT and format as `YYYY-MM-DD` or `YYYY-MM-DDThh:mm:ssZ`. Queries for alerts older than 30 days are not supported.", "schema": { - "format": "date-time", - "type": "string" + "type": "string", + "format": "date-time" } }, { - "description": "Only include alerts that occurred on or before this date and time. Specify the date and time in GMT and format as `YYYY-MM-DD` or `YYYY-MM-DDThh:mm:ssZ`. Queries for alerts older than 30 days are not supported.", - "in": "query", "name": "EndDate", + "in": "query", + "description": "Only include alerts that occurred on or before this date and time. Specify the date and time in GMT and format as `YYYY-MM-DD` or `YYYY-MM-DDThh:mm:ssZ`. Queries for alerts older than 30 days are not supported.", "schema": { - "format": "date-time", - "type": "string" + "type": "string", + "format": "date-time" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -395,25 +463,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListAlertResponse", "properties": { "alerts": { + "type": "array", "items": { "$ref": "#/components/schemas/monitor.v1.alert" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -422,19 +490,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListAlertResponse", - "type": "object" + } } } }, @@ -446,42 +514,42 @@ "accountSid_authToken": [] } ], + "operationId": "ListAlert", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Events/{Sid}": { "servers": [ { "url": "https://monitor.twilio.com" } ], + "description": "Debugger events", "x-twilio": { "defaultOutputProperties": [ "sid", - "error_code", - "log_level", - "alert_text" + "event_type", + "event_type", + "description" ], - "pathType": "list" - } - }, - "/v1/Alerts/{Sid}": { - "description": "Debugger alerts", + "pathType": "instance" + }, "get": { "description": "", - "operationId": "FetchAlert", "parameters": [ { - "description": "The SID of the Alert resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Event resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^NO[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AE[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -489,7 +557,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/monitor.v1.alert-instance" + "$ref": "#/components/schemas/monitor.v1.event" } } }, @@ -501,95 +569,95 @@ "accountSid_authToken": [] } ], + "operationId": "FetchEvent", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Events": { "servers": [ { "url": "https://monitor.twilio.com" } ], + "description": "Debugger events", "x-twilio": { "defaultOutputProperties": [ "sid", - "error_code", - "log_level", - "alert_text" + "event_type", + "event_type", + "description" ], - "pathType": "instance" - } - }, - "/v1/Events": { - "description": "Debugger events", + "pathType": "list" + }, "get": { "description": "Returns a list of events in the account, sorted by event-date.", - "operationId": "ListEvent", "parameters": [ { - "description": "Only include events initiated by this Actor. Useful for auditing actions taken by specific users or API credentials.", - "in": "query", "name": "ActorSid", + "in": "query", + "description": "Only include events initiated by this Actor. Useful for auditing actions taken by specific users or API credentials.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^US[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^US[0-9a-fA-F]{32}$" } }, { - "description": "Only include events of this [Event Type](https://www.twilio.com/docs/usage/monitor-events#event-types).", - "in": "query", "name": "EventType", + "in": "query", + "description": "Only include events of this [Event Type](https://www.twilio.com/docs/usage/monitor-events#event-types).", "schema": { "type": "string" } }, { - "description": "Only include events that refer to this resource. Useful for discovering the history of a specific resource.", - "in": "query", "name": "ResourceSid", + "in": "query", + "description": "Only include events that refer to this resource. Useful for discovering the history of a specific resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$" } }, { - "description": "Only include events that originated from this IP address. Useful for tracking suspicious activity originating from the API or the Twilio Console.", - "in": "query", "name": "SourceIpAddress", + "in": "query", + "description": "Only include events that originated from this IP address. Useful for tracking suspicious activity originating from the API or the Twilio Console.", "schema": { "type": "string" } }, { - "description": "Only include events that occurred on or after this date. Specify the date in GMT and [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.", - "in": "query", "name": "StartDate", + "in": "query", + "description": "Only include events that occurred on or after this date. Specify the date in GMT and [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.", "schema": { - "format": "date-time", - "type": "string" + "type": "string", + "format": "date-time" } }, { - "description": "Only include events that occurred on or before this date. Specify the date in GMT and [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.", - "in": "query", "name": "EndDate", + "in": "query", + "description": "Only include events that occurred on or before this date. Specify the date in GMT and [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.", "schema": { - "format": "date-time", - "type": "string" + "type": "string", + "format": "date-time" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -598,25 +666,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListEventResponse", "properties": { "events": { + "type": "array", "items": { "$ref": "#/components/schemas/monitor.v1.event" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -625,74 +693,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListEventResponse", - "type": "object" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://monitor.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "event_type", - "event_type", - "description" - ], - "pathType": "list" - } - }, - "/v1/Events/{Sid}": { - "description": "Debugger events", - "get": { - "description": "", - "operationId": "FetchEvent", - "parameters": [ - { - "description": "The SID of the Event resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^AE[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/monitor.v1.event" + } } } }, @@ -704,23 +717,10 @@ "accountSid_authToken": [] } ], + "operationId": "ListEvent", "x-maturity": [ "GA" ] - }, - "servers": [ - { - "url": "https://monitor.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "event_type", - "event_type", - "description" - ], - "pathType": "instance" } } }, @@ -731,8 +731,8 @@ ], "x-maturity": [ { - "description": "This product is Generally Available.", - "name": "GA" + "name": "GA", + "description": "This product is Generally Available." } ] } \ No newline at end of file diff --git a/spec/json/twilio_notify_v1.json b/spec/json/twilio_notify_v1.json index 0b68a41f..ea2333a9 100644 --- a/spec/json/twilio_notify_v1.json +++ b/spec/json/twilio_notify_v1.json @@ -1,570 +1,488 @@ { "components": { "schemas": { - "notify.v1.credential": { + "notify.v1.service.binding": { + "type": "object", "properties": { + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BS[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique string that identifies the resource" + }, "account_sid": { - "description": "The SID of the Account that created the resource", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "service_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Service that the resource is associated with" + }, + "credential_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Credential resource to be used to send notifications to this Binding" }, "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", + "notification_protocol_version": { + "type": "string", "nullable": true, - "type": "string" + "description": "The protocol version to use to send the notification" }, - "sandbox": { - "description": "[APN only] Whether to send the credential to sandbox APNs", + "endpoint": { + "type": "string", + "nullable": true, + "description": "Deprecated" + }, + "identity": { + "type": "string", + "nullable": true, + "description": "The `identity` value that identifies the new resource's User" + }, + "binding_type": { + "type": "string", "nullable": true, - "type": "string" + "description": "The type of the Binding" }, + "address": { + "type": "string", + "nullable": true, + "description": "The channel-specific address" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true, + "description": "The list of tags associated with this Binding" + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The absolute URL of the Binding resource" + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "The URLs of related resources" + } + } + }, + "notify.v1.credential": { + "type": "object", + "properties": { "sid": { - "description": "The unique string that identifies the resource", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique string that identifies the resource" + }, + "account_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Account that created the resource" + }, + "friendly_name": { + "type": "string", + "nullable": true, + "description": "The string that you assigned to describe the resource" }, "type": { - "description": "The Credential type, one of `gcm`, `fcm`, or `apn`", + "type": "string", "enum": [ "gcm", "apn", "fcm" ], "nullable": true, - "type": "string" + "description": "The Credential type, one of `gcm`, `fcm`, or `apn`" + }, + "sandbox": { + "type": "string", + "nullable": true, + "description": "[APN only] Whether to send the credential to sandbox APNs" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The RFC 2822 date and time in GMT when the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, "url": { - "description": "The absolute URL of the Credential resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Credential resource" } - }, - "type": "object" + } }, - "notify.v1.service": { + "notify.v1.service.notification": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^NT[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "alexa_skill_id": { - "description": "Deprecated", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, - "apn_credential_sid": { - "description": "The SID of the Credential to use for APN Bindings", - "maxLength": 34, + "service_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Service that the resource is associated with" }, "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was created" }, - "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", - "format": "date-time", + "identities": { + "type": "array", + "items": { + "type": "string" + }, "nullable": true, - "type": "string" + "description": "The list of identity values of the Users to notify" }, - "default_alexa_notification_protocol_version": { - "description": "Deprecated", + "tags": { + "type": "array", + "items": { + "type": "string" + }, "nullable": true, - "type": "string" + "description": "The tags that select the Bindings to notify" }, - "default_apn_notification_protocol_version": { - "description": "The protocol version to use for sending APNS notifications", + "segments": { + "type": "array", + "items": { + "type": "string" + }, "nullable": true, - "type": "string" + "description": "The list of Segments to notify" }, - "default_fcm_notification_protocol_version": { - "description": "The protocol version to use for sending FCM notifications", + "priority": { + "type": "string", + "enum": [ + "high", + "low" + ], "nullable": true, - "type": "string" + "description": "The priority of the notification" }, - "default_gcm_notification_protocol_version": { - "description": "The protocol version to use for sending GCM notifications", + "ttl": { + "type": "integer", "nullable": true, - "type": "string" + "description": "How long, in seconds, the notification is valid" }, - "delivery_callback_enabled": { - "description": "Enable delivery callbacks", + "title": { + "type": "string", "nullable": true, - "type": "boolean" + "description": "The notification title" }, - "delivery_callback_url": { - "description": "Webhook URL", + "body": { + "type": "string", "nullable": true, - "type": "string" + "description": "The notification body text" }, - "facebook_messenger_page_id": { - "description": "Deprecated", + "sound": { + "type": "string", "nullable": true, - "type": "string" + "description": "The name of the sound to be played for the notification" }, - "fcm_credential_sid": { - "description": "The SID of the Credential to use for FCM Bindings", - "maxLength": 34, - "minLength": 34, + "action": { + "type": "string", "nullable": true, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" + "description": "The actions to display for the notification" }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", + "data": { "nullable": true, - "type": "string" + "description": "The custom key-value pairs of the notification's payload" }, - "gcm_credential_sid": { - "description": "The SID of the Credential to use for GCM Bindings", - "maxLength": 34, - "minLength": 34, + "apn": { "nullable": true, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" + "description": "The APNS-specific payload that overrides corresponding attributes in a generic payload for APNS Bindings" }, - "links": { - "description": "The URLs of the resources related to the service", - "format": "uri-map", + "gcm": { "nullable": true, - "type": "object" + "description": "The GCM-specific payload that overrides corresponding attributes in generic payload for GCM Bindings" }, - "log_enabled": { - "description": "Whether to log notifications", + "fcm": { "nullable": true, - "type": "boolean" + "description": "The FCM-specific payload that overrides corresponding attributes in generic payload for FCM Bindings" }, - "messaging_service_sid": { - "description": "The SID of the Messaging Service to use for SMS Bindings", - "maxLength": 34, - "minLength": 34, + "sms": { "nullable": true, - "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SMS-specific payload that overrides corresponding attributes in generic payload for SMS Bindings" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "facebook_messenger": { "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "description": "Deprecated" }, - "url": { - "description": "The absolute URL of the Service resource", - "format": "uri", + "alexa": { "nullable": true, - "type": "string" + "description": "Deprecated" } - }, - "type": "object" + } }, - "notify.v1.service.binding": { + "notify.v1.service": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "address": { - "description": "The channel-specific address", - "nullable": true, - "type": "string" + "description": "The unique string that identifies the resource" }, - "binding_type": { - "description": "The type of the Binding", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, - "credential_sid": { - "description": "The SID of the Credential resource to be used to send notifications to this Binding", - "maxLength": 34, - "minLength": 34, + "friendly_name": { + "type": "string", "nullable": true, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" + "description": "The string that you assigned to describe the resource" }, "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" - }, - "endpoint": { - "description": "Deprecated", - "nullable": true, - "type": "string" - }, - "identity": { - "description": "The `identity` value that identifies the new resource's User", - "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, - "links": { - "description": "The URLs of related resources", - "format": "uri-map", + "apn_credential_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$", "nullable": true, - "type": "object" + "description": "The SID of the Credential to use for APN Bindings" }, - "notification_protocol_version": { - "description": "The protocol version to use to send the notification", + "gcm_credential_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Credential to use for GCM Bindings" }, - "service_sid": { - "description": "The SID of the Service that the resource is associated with", - "maxLength": 34, + "fcm_credential_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Credential to use for FCM Bindings" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "messaging_service_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^BS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Messaging Service to use for SMS Bindings" }, - "tags": { - "description": "The list of tags associated with this Binding", - "items": { - "type": "string" - }, + "facebook_messenger_page_id": { + "type": "string", "nullable": true, - "type": "array" + "description": "Deprecated" }, - "url": { - "description": "The absolute URL of the Binding resource", - "format": "uri", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "notify.v1.service.notification": { - "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, - "minLength": 34, + "default_apn_notification_protocol_version": { + "type": "string", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The protocol version to use for sending APNS notifications" }, - "action": { - "description": "The actions to display for the notification", + "default_gcm_notification_protocol_version": { + "type": "string", "nullable": true, - "type": "string" - }, - "alexa": { - "description": "Deprecated", - "nullable": true - }, - "apn": { - "description": "The APNS-specific payload that overrides corresponding attributes in a generic payload for APNS Bindings", - "nullable": true + "description": "The protocol version to use for sending GCM notifications" }, - "body": { - "description": "The notification body text", + "default_fcm_notification_protocol_version": { + "type": "string", "nullable": true, - "type": "string" + "description": "The protocol version to use for sending FCM notifications" }, - "data": { - "description": "The custom key-value pairs of the notification's payload", - "nullable": true + "log_enabled": { + "type": "boolean", + "nullable": true, + "description": "Whether to log notifications" }, - "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", - "format": "date-time", + "url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Service resource" }, - "facebook_messenger": { - "description": "Deprecated", - "nullable": true + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "The URLs of the resources related to the service" }, - "fcm": { - "description": "The FCM-specific payload that overrides corresponding attributes in generic payload for FCM Bindings", - "nullable": true + "alexa_skill_id": { + "type": "string", + "nullable": true, + "description": "Deprecated" }, - "gcm": { - "description": "The GCM-specific payload that overrides corresponding attributes in generic payload for GCM Bindings", - "nullable": true + "default_alexa_notification_protocol_version": { + "type": "string", + "nullable": true, + "description": "Deprecated" }, - "identities": { - "description": "The list of identity values of the Users to notify", - "items": { - "type": "string" - }, + "delivery_callback_url": { + "type": "string", "nullable": true, - "type": "array" + "description": "Webhook URL" }, - "priority": { - "description": "The priority of the notification", - "enum": [ - "high", - "low" - ], - "nullable": true, - "type": "string" - }, - "segments": { - "description": "The list of Segments to notify", - "items": { - "type": "string" - }, - "nullable": true, - "type": "array" - }, - "service_sid": { - "description": "The SID of the Service that the resource is associated with", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^NT[0-9a-fA-F]{32}$", - "type": "string" - }, - "sms": { - "description": "The SMS-specific payload that overrides corresponding attributes in generic payload for SMS Bindings", - "nullable": true - }, - "sound": { - "description": "The name of the sound to be played for the notification", - "nullable": true, - "type": "string" - }, - "tags": { - "description": "The tags that select the Bindings to notify", - "items": { - "type": "string" - }, - "nullable": true, - "type": "array" - }, - "title": { - "description": "The notification title", - "nullable": true, - "type": "string" - }, - "ttl": { - "description": "How long, in seconds, the notification is valid", + "delivery_callback_enabled": { + "type": "boolean", "nullable": true, - "type": "integer" + "description": "Enable delivery callbacks" } - }, - "type": "object" + } } }, "securitySchemes": { "accountSid_authToken": { - "scheme": "basic", - "type": "http" + "type": "http", + "scheme": "basic" } } }, "info": { + "title": "Twilio - Notify", + "description": "This is the public Twilio REST API.", + "termsOfService": "https://www.twilio.com/legal/tos", "contact": { - "email": "support@twilio.com", "name": "Twilio Support", - "url": "https://support.twilio.com" + "url": "https://support.twilio.com", + "email": "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 - Notify", "version": "1.30.0" }, "openapi": "3.0.1", "paths": { - "/v1/Credentials": { + "/v1/Services/{ServiceSid}/Bindings/{Sid}": { + "servers": [ + { + "url": "https://notify.twilio.com" + } + ], "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "identity", + "endpoint", + "binding_type", + "address" + ], + "pathType": "instance", + "parent": "/Services" + }, "get": { "description": "", - "operationId": "ListCredential", "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", - "name": "PageSize", + "name": "ServiceSid", + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/notify/api/service-resource) to fetch the resource from.", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "credentials": { - "items": { - "$ref": "#/components/schemas/notify.v1.credential" - }, - "type": "array" - }, - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - } - }, - "title": "ListCredentialResponse", - "type": "object" - } - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" }, - "description": "OK" - } - }, - "security": [ + "required": true + }, { - "accountSid_authToken": [] + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Binding resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BS[0-9a-fA-F]{32}$" + }, + "required": true } ], - "x-maturity": [ - "Beta" - ] - }, - "post": { - "description": "", - "operationId": "CreateCredential", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "ApiKey": { - "description": "[GCM only] The `Server key` of your project from Firebase console under Settings / Cloud messaging.", - "type": "string" - }, - "Certificate": { - "description": "[APN only] The URL-encoded representation of the certificate. Strip everything outside of the headers, e.g. `-----BEGIN CERTIFICATE-----MIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV.....A==-----END CERTIFICATE-----`", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long.", - "type": "string" - }, - "PrivateKey": { - "description": "[APN only] The URL-encoded representation of the private key. Strip everything outside of the headers, e.g. `-----BEGIN RSA PRIVATE KEY-----MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fGgvCI1l9s+cmBY3WIz+cUDqmxiieR\\n.-----END RSA PRIVATE KEY-----`", - "type": "string" - }, - "Sandbox": { - "description": "[APN only] Whether to send the credential to sandbox APNs. Can be `true` to send to sandbox APNs or `false` to send to production.", - "type": "boolean" - }, - "Secret": { - "description": "[FCM only] The `Server key` of your project from Firebase console under Settings / Cloud messaging.", - "type": "string" - }, - "Type": { - "description": "The Credential type. Can be: `gcm`, `fcm`, or `apn`.", - "enum": [ - "gcm", - "apn", - "fcm" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "title": "CreateCredentialRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/notify.v1.credential" + "$ref": "#/components/schemas/notify.v1.service.binding" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -572,40 +490,37 @@ "accountSid_authToken": [] } ], + "operationId": "FetchBinding", "x-maturity": [ "Beta" ] }, - "servers": [ - { - "url": "https://notify.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "type" - ], - "pathType": "list" - } - }, - "/v1/Credentials/{Sid}": { "delete": { "description": "", - "operationId": "DeleteCredential", "parameters": [ { - "description": "The Twilio-provided string that uniquely identifies the Credential resource to delete.", + "name": "ServiceSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Service](https://www.twilio.com/docs/notify/api/service-resource) to delete the resource from.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Binding resource to delete.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BS[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -618,38 +533,56 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteBinding", "x-maturity": [ "Beta" ] - }, + } + }, + "/v1/Services/{ServiceSid}/Bindings": { + "servers": [ + { + "url": "https://notify.twilio.com" + } + ], "description": "TODO: Resource-level docs", - "get": { + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "identity", + "endpoint", + "binding_type", + "address" + ], + "pathType": "list", + "parent": "/Services" + }, + "post": { "description": "", - "operationId": "FetchCredential", "parameters": [ { - "description": "The Twilio-provided string that uniquely identifies the Credential resource to fetch.", + "name": "ServiceSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Service](https://www.twilio.com/docs/notify/api/service-resource) to create the resource under.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/notify.v1.credential" + "$ref": "#/components/schemas/notify.v1.service.binding" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -657,69 +590,181 @@ "accountSid_authToken": [] } ], + "operationId": "CreateBinding", "x-maturity": [ "Beta" - ] - }, - "post": { - "description": "", - "operationId": "UpdateCredential", - "parameters": [ - { - "description": "The Twilio-provided string that uniquely identifies the Credential resource to update.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateBindingRequest", "properties": { - "ApiKey": { - "description": "[GCM only] The `Server key` of your project from Firebase console under Settings / Cloud messaging.", - "type": "string" + "Identity": { + "type": "string", + "description": "The `identity` value that uniquely identifies the new resource's [User](https://www.twilio.com/docs/chat/rest/user-resource) within the [Service](https://www.twilio.com/docs/notify/api/service-resource). Up to 20 Bindings can be created for the same Identity in a given Service." }, - "Certificate": { - "description": "[APN only] The URL-encoded representation of the certificate. Strip everything outside of the headers, e.g. `-----BEGIN CERTIFICATE-----MIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV.....A==-----END CERTIFICATE-----`", - "type": "string" + "BindingType": { + "type": "string", + "enum": [ + "apn", + "gcm", + "sms", + "fcm", + "facebook-messenger", + "alexa" + ], + "description": "The transport technology to use for the Binding. Can be: `apn`, `fcm`, `gcm`, `sms`, or `facebook-messenger`." }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long.", - "type": "string" + "Address": { + "type": "string", + "description": "The channel-specific address. For APNS, the device token. For FCM and GCM, the registration token. For SMS, a phone number in E.164 format. For Facebook Messenger, the Messenger ID of the user or a phone number in E.164 format." }, - "PrivateKey": { - "description": "[APN only] The URL-encoded representation of the private key. Strip everything outside of the headers, e.g. `-----BEGIN RSA PRIVATE KEY-----MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fGgvCI1l9s+cmBY3WIz+cUDqmxiieR\\n.-----END RSA PRIVATE KEY-----`", - "type": "string" + "Tag": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A tag that can be used to select the Bindings to notify. Repeat this parameter to specify more than one tag, up to a total of 20 tags." }, - "Sandbox": { - "description": "[APN only] Whether to send the credential to sandbox APNs. Can be `true` to send to sandbox APNs or `false` to send to production.", - "type": "boolean" + "NotificationProtocolVersion": { + "type": "string", + "description": "The protocol version to use to send the notification. This defaults to the value of `default_xxxx_notification_protocol_version` for the protocol in the [Service](https://www.twilio.com/docs/notify/api/service-resource). The current version is `\"3\"` for `apn`, `fcm`, and `gcm` type Bindings. The parameter is not applicable to `sms` and `facebook-messenger` type Bindings as the data format is fixed." }, - "Secret": { - "description": "[FCM only] The `Server key` of your project from Firebase console under Settings / Cloud messaging.", - "type": "string" + "CredentialSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$", + "description": "The SID of the [Credential](https://www.twilio.com/docs/notify/api/credential-resource) resource to be used to send notifications to this Binding. If present, this overrides the Credential specified in the Service resource. Applies to only `apn`, `fcm`, and `gcm` type Bindings." + }, + "Endpoint": { + "type": "string", + "description": "Deprecated." } }, - "title": "UpdateCredentialRequest", - "type": "object" + "required": [ + "Identity", + "BindingType", + "Address" + ] } } } - }, + } + }, + "get": { + "description": "", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/notify/api/service-resource) to read the resource from.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "StartDate", + "in": "query", + "description": "Only include usage that has occurred on or after this date. Specify the date in GMT and format as `YYYY-MM-DD`.", + "schema": { + "type": "string", + "format": "date" + } + }, + { + "name": "EndDate", + "in": "query", + "description": "Only include usage that occurred on or before this date. Specify the date in GMT and format as `YYYY-MM-DD`.", + "schema": { + "type": "string", + "format": "date" + } + }, + { + "name": "Identity", + "in": "query", + "description": "The [User](https://www.twilio.com/docs/chat/rest/user-resource)'s `identity` value of the resources to read.", + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "Tag", + "in": "query", + "description": "Only list Bindings that have all of the specified Tags. The following implicit tags are available: `all`, `apn`, `fcm`, `gcm`, `sms`, `facebook-messenger`. Up to 5 tags are allowed.", + "schema": { + "type": "array", + "items": { + "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 + } + } + ], "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/notify.v1.credential" + "type": "object", + "title": "ListBindingResponse", + "properties": { + "bindings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/notify.v1.service.binding" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -731,46 +776,38 @@ "accountSid_authToken": [] } ], + "operationId": "ListBinding", "x-maturity": [ "Beta" ] - }, + } + }, + "/v1/Credentials": { "servers": [ { "url": "https://notify.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name", "type" ], - "pathType": "instance" - } - }, - "/v1/Services": { - "description": "TODO: Resource-level docs", + "pathType": "list" + }, "get": { "description": "", - "operationId": "ListService", "parameters": [ { - "description": "The string that identifies the Service resources to read.", + "name": "PageSize", "in": "query", - "name": "FriendlyName", - "schema": { - "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, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -779,19 +816,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListCredentialResponse", "properties": { + "credentials": { + "type": "array", + "items": { + "$ref": "#/components/schemas/notify.v1.credential" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -800,25 +843,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "services": { - "items": { - "$ref": "#/components/schemas/notify.v1.service" - }, - "type": "array" + } } - }, - "title": "ListServiceResponse", - "type": "object" + } } } }, @@ -830,99 +867,19 @@ "accountSid_authToken": [] } ], + "operationId": "ListCredential", "x-maturity": [ "Beta" ] }, "post": { "description": "", - "operationId": "CreateService", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "AlexaSkillId": { - "description": "Deprecated.", - "type": "string" - }, - "ApnCredentialSid": { - "description": "The SID of the [Credential](https://www.twilio.com/docs/notify/api/credential-resource) to use for APN Bindings.", - "maxLength": 34, - "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" - }, - "DefaultAlexaNotificationProtocolVersion": { - "description": "Deprecated.", - "type": "string" - }, - "DefaultApnNotificationProtocolVersion": { - "description": "The protocol version to use for sending APNS notifications. Can be overridden on a Binding by Binding basis when creating a [Binding](https://www.twilio.com/docs/notify/api/binding-resource) resource.", - "type": "string" - }, - "DefaultFcmNotificationProtocolVersion": { - "description": "The protocol version to use for sending FCM notifications. Can be overridden on a Binding by Binding basis when creating a [Binding](https://www.twilio.com/docs/notify/api/binding-resource) resource.", - "type": "string" - }, - "DefaultGcmNotificationProtocolVersion": { - "description": "The protocol version to use for sending GCM notifications. Can be overridden on a Binding by Binding basis when creating a [Binding](https://www.twilio.com/docs/notify/api/binding-resource) resource.", - "type": "string" - }, - "DeliveryCallbackEnabled": { - "description": "Callback configuration that enables delivery callbacks, default false", - "type": "boolean" - }, - "DeliveryCallbackUrl": { - "description": "URL to send delivery status callback.", - "type": "string" - }, - "FacebookMessengerPageId": { - "description": "Deprecated.", - "type": "string" - }, - "FcmCredentialSid": { - "description": "The SID of the [Credential](https://www.twilio.com/docs/notify/api/credential-resource) to use for FCM Bindings.", - "maxLength": 34, - "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long.", - "type": "string" - }, - "GcmCredentialSid": { - "description": "The SID of the [Credential](https://www.twilio.com/docs/notify/api/credential-resource) to use for GCM Bindings.", - "maxLength": 34, - "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" - }, - "LogEnabled": { - "description": "Whether to log notifications. Can be: `true` or `false` and the default is `true`.", - "type": "boolean" - }, - "MessagingServiceSid": { - "description": "The SID of the [Messaging Service](https://www.twilio.com/docs/sms/send-messages#messaging-services) to use for SMS Bindings. This parameter must be set in order to send SMS notifications.", - "maxLength": 34, - "minLength": 34, - "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "title": "CreateServiceRequest", - "type": "object" - } - } - } - }, "responses": { "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/notify.v1.service" + "$ref": "#/components/schemas/notify.v1.credential" } } }, @@ -934,91 +891,89 @@ "accountSid_authToken": [] } ], + "operationId": "CreateCredential", "x-maturity": [ "Beta" - ] - }, - "servers": [ - { - "url": "https://notify.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "date_created" ], - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Bindings": { - "description": "TODO: Resource-level docs", - "get": { - "description": "", - "operationId": "ListBinding", - "parameters": [ - { - "description": "The SID of the [Service](https://www.twilio.com/docs/notify/api/service-resource) to read the resource from.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "Only include usage that has occurred on or after this date. Specify the date in GMT and format as `YYYY-MM-DD`.", - "in": "query", - "name": "StartDate", - "schema": { - "format": "date", - "type": "string" - } - }, - { - "description": "Only include usage that occurred on or before this date. Specify the date in GMT and format as `YYYY-MM-DD`.", - "in": "query", - "name": "EndDate", - "schema": { - "format": "date", - "type": "string" - } - }, - { - "description": "The [User](https://www.twilio.com/docs/chat/rest/user-resource)'s `identity` value of the resources to read.", - "in": "query", - "name": "Identity", - "schema": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - { - "description": "Only list Bindings that have all of the specified Tags. The following implicit tags are available: `all`, `apn`, `fcm`, `gcm`, `sms`, `facebook-messenger`. Up to 5 tags are allowed.", - "in": "query", - "name": "Tag", - "schema": { - "items": { - "type": "string" - }, - "type": "array" + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateCredentialRequest", + "properties": { + "Type": { + "type": "string", + "enum": [ + "gcm", + "apn", + "fcm" + ], + "description": "The Credential type. Can be: `gcm`, `fcm`, or `apn`." + }, + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long." + }, + "Certificate": { + "type": "string", + "description": "[APN only] The URL-encoded representation of the certificate. Strip everything outside of the headers, e.g. `-----BEGIN CERTIFICATE-----MIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV.....A==-----END CERTIFICATE-----`" + }, + "PrivateKey": { + "type": "string", + "description": "[APN only] The URL-encoded representation of the private key. Strip everything outside of the headers, e.g. `-----BEGIN RSA PRIVATE KEY-----MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fGgvCI1l9s+cmBY3WIz+cUDqmxiieR\\n.-----END RSA PRIVATE KEY-----`" + }, + "Sandbox": { + "type": "boolean", + "description": "[APN only] Whether to send the credential to sandbox APNs. Can be `true` to send to sandbox APNs or `false` to send to production." + }, + "ApiKey": { + "type": "string", + "description": "[GCM only] The `Server key` of your project from Firebase console under Settings / Cloud messaging." + }, + "Secret": { + "type": "string", + "description": "[FCM only] The `Server key` of your project from Firebase console under Settings / Cloud messaging." + } + }, + "required": [ + "Type" + ] + } } - }, + } + } + } + }, + "/v1/Credentials/{Sid}": { + "servers": [ + { + "url": "https://notify.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "type" + ], + "pathType": "instance" + }, + "get": { + "description": "", + "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", - "name": "PageSize", + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Credential resource to fetch.", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1026,46 +981,7 @@ "content": { "application/json": { "schema": { - "properties": { - "bindings": { - "items": { - "$ref": "#/components/schemas/notify.v1.service.binding" - }, - "type": "array" - }, - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - } - }, - "title": "ListBindingResponse", - "type": "object" + "$ref": "#/components/schemas/notify.v1.credential" } } }, @@ -1077,96 +993,37 @@ "accountSid_authToken": [] } ], + "operationId": "FetchCredential", "x-maturity": [ "Beta" ] }, "post": { "description": "", - "operationId": "CreateBinding", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/notify/api/service-resource) to create the resource under.", + "name": "Sid", "in": "path", - "name": "ServiceSid", - "required": true, + "description": "The Twilio-provided string that uniquely identifies the Credential resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Address": { - "description": "The channel-specific address. For APNS, the device token. For FCM and GCM, the registration token. For SMS, a phone number in E.164 format. For Facebook Messenger, the Messenger ID of the user or a phone number in E.164 format.", - "type": "string" - }, - "BindingType": { - "description": "The transport technology to use for the Binding. Can be: `apn`, `fcm`, `gcm`, `sms`, or `facebook-messenger`.", - "enum": [ - "apn", - "gcm", - "sms", - "fcm", - "facebook-messenger", - "alexa" - ], - "type": "string" - }, - "CredentialSid": { - "description": "The SID of the [Credential](https://www.twilio.com/docs/notify/api/credential-resource) resource to be used to send notifications to this Binding. If present, this overrides the Credential specified in the Service resource. Applies to only `apn`, `fcm`, and `gcm` type Bindings.", - "maxLength": 34, - "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" - }, - "Endpoint": { - "description": "Deprecated.", - "type": "string" - }, - "Identity": { - "description": "The `identity` value that uniquely identifies the new resource's [User](https://www.twilio.com/docs/chat/rest/user-resource) within the [Service](https://www.twilio.com/docs/notify/api/service-resource). Up to 20 Bindings can be created for the same Identity in a given Service.", - "type": "string" - }, - "NotificationProtocolVersion": { - "description": "The protocol version to use to send the notification. This defaults to the value of `default_xxxx_notification_protocol_version` for the protocol in the [Service](https://www.twilio.com/docs/notify/api/service-resource). The current version is `\"3\"` for `apn`, `fcm`, and `gcm` type Bindings. The parameter is not applicable to `sms` and `facebook-messenger` type Bindings as the data format is fixed.", - "type": "string" - }, - "Tag": { - "description": "A tag that can be used to select the Bindings to notify. Repeat this parameter to specify more than one tag, up to a total of 20 tags.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Identity", - "BindingType", - "Address" - ], - "title": "CreateBindingRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/notify.v1.service.binding" + "$ref": "#/components/schemas/notify.v1.credential" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -1174,55 +1031,61 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateCredential", "x-maturity": [ "Beta" - ] - }, - "servers": [ - { - "url": "https://notify.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "identity", - "endpoint", - "binding_type", - "address" ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Bindings/{Sid}": { + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateCredentialRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long." + }, + "Certificate": { + "type": "string", + "description": "[APN only] The URL-encoded representation of the certificate. Strip everything outside of the headers, e.g. `-----BEGIN CERTIFICATE-----MIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV.....A==-----END CERTIFICATE-----`" + }, + "PrivateKey": { + "type": "string", + "description": "[APN only] The URL-encoded representation of the private key. Strip everything outside of the headers, e.g. `-----BEGIN RSA PRIVATE KEY-----MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fGgvCI1l9s+cmBY3WIz+cUDqmxiieR\\n.-----END RSA PRIVATE KEY-----`" + }, + "Sandbox": { + "type": "boolean", + "description": "[APN only] Whether to send the credential to sandbox APNs. Can be `true` to send to sandbox APNs or `false` to send to production." + }, + "ApiKey": { + "type": "string", + "description": "[GCM only] The `Server key` of your project from Firebase console under Settings / Cloud messaging." + }, + "Secret": { + "type": "string", + "description": "[FCM only] The `Server key` of your project from Firebase console under Settings / Cloud messaging." + } + } + } + } + } + } + }, "delete": { "description": "", - "operationId": "DeleteBinding", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/notify/api/service-resource) to delete the resource from.", + "name": "Sid", "in": "path", - "name": "ServiceSid", - "required": true, + "description": "The Twilio-provided string that uniquely identifies the Credential resource to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the Binding resource to delete.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { "maxLength": 34, - "minLength": 34, - "pattern": "^BS[0-9a-fA-F]{32}$", - "type": "string" - } + "pattern": "^CR[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1235,50 +1098,54 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteCredential", "x-maturity": [ "Beta" ] - }, + } + }, + "/v1/Services/{ServiceSid}/Notifications": { + "servers": [ + { + "url": "https://notify.twilio.com" + } + ], "description": "TODO: Resource-level docs", - "get": { + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "priority", + "title" + ], + "pathType": "list", + "parent": "/Services" + }, + "post": { "description": "", - "operationId": "FetchBinding", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/notify/api/service-resource) to fetch the resource from.", - "in": "path", "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the Binding resource to fetch.", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Service](https://www.twilio.com/docs/notify/api/service-resource) to create the resource under.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/notify.v1.service.binding" + "$ref": "#/components/schemas/notify.v1.service.notification" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -1286,71 +1153,56 @@ "accountSid_authToken": [] } ], + "operationId": "CreateNotification", "x-maturity": [ "Beta" - ] - }, - "servers": [ - { - "url": "https://notify.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "identity", - "endpoint", - "binding_type", - "address" - ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/Notifications": { - "description": "TODO: Resource-level docs", - "post": { - "description": "", - "operationId": "CreateNotification", - "parameters": [ - { - "description": "The SID of the [Service](https://www.twilio.com/docs/notify/api/service-resource) to create the resource under.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateNotificationRequest", "properties": { - "Action": { - "description": "The actions to display for the notification. For APNS, translates to the `aps.category` value. For GCM, translates to the `data.twi_action` value. For SMS, this parameter is not supported and is omitted from deliveries to those channels.", - "type": "string" + "Body": { + "type": "string", + "description": "The notification text. For FCM and GCM, translates to `data.twi_body`. For APNS, translates to `aps.alert.body`. For SMS, translates to `body`. SMS requires either this `body` value, or `media_urls` attribute defined in the `sms` parameter of the notification." }, - "Alexa": { - "description": "Deprecated." + "Priority": { + "type": "string", + "enum": [ + "high", + "low" + ], + "description": "The priority of the notification. Can be: `low` or `high` and the default is `high`. A value of `low` optimizes the client app's battery consumption; however, notifications may be delivered with unspecified delay. For FCM and GCM, `low` priority is the same as `Normal` priority. For APNS `low` priority is the same as `5`. A value of `high` sends the notification immediately, and can wake up a sleeping device. For FCM and GCM, `high` is the same as `High` priority. For APNS, `high` is a priority `10`. SMS does not support this property." }, - "Apn": { - "description": "The APNS-specific payload that overrides corresponding attributes in the generic payload for APNS Bindings. This property maps to the APNS `Payload` item, therefore the `aps` key must be used to change standard attributes. Adds custom key-value pairs to the root of the dictionary. See the [APNS documentation](https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CommunicatingwithAPNs.html) for more details. We reserve keys that start with `twi_` for future use. Custom keys that start with `twi_` are not allowed." + "Ttl": { + "type": "integer", + "description": "How long, in seconds, the notification is valid. Can be an integer between 0 and 2,419,200, which is 4 weeks, the default and the maximum supported time to live (TTL). Delivery should be attempted if the device is offline until the TTL elapses. Zero means that the notification delivery is attempted immediately, only once, and is not stored for future delivery. SMS does not support this property." }, - "Body": { - "description": "The notification text. For FCM and GCM, translates to `data.twi_body`. For APNS, translates to `aps.alert.body`. For SMS, translates to `body`. SMS requires either this `body` value, or `media_urls` attribute defined in the `sms` parameter of the notification.", - "type": "string" + "Title": { + "type": "string", + "description": "The notification title. For FCM and GCM, this translates to the `data.twi_title` value. For APNS, this translates to the `aps.alert.title` value. SMS does not support this property. This field is not visible on iOS phones and tablets but appears on Apple Watch and Android devices." + }, + "Sound": { + "type": "string", + "description": "The name of the sound to be played for the notification. For FCM and GCM, this Translates to `data.twi_sound`. For APNS, this translates to `aps.sound`. SMS does not support this property." + }, + "Action": { + "type": "string", + "description": "The actions to display for the notification. For APNS, translates to the `aps.category` value. For GCM, translates to the `data.twi_action` value. For SMS, this parameter is not supported and is omitted from deliveries to those channels." }, "Data": { "description": "The custom key-value pairs of the notification's payload. For FCM and GCM, this value translates to `data` in the FCM and GCM payloads. FCM and GCM [reserve certain keys](https://firebase.google.com/docs/cloud-messaging/http-server-ref) that cannot be used in those channels. For APNS, attributes of `data` are inserted into the APNS payload as custom properties outside of the `aps` dictionary. In all channels, we reserve keys that start with `twi_` for future use. Custom keys that start with `twi_` are not allowed and are rejected as 400 Bad request with no delivery attempted. For SMS, this parameter is not supported and is omitted from deliveries to those channels." }, - "DeliveryCallbackUrl": { - "description": "URL to send webhooks.", - "type": "string" + "Apn": { + "description": "The APNS-specific payload that overrides corresponding attributes in the generic payload for APNS Bindings. This property maps to the APNS `Payload` item, therefore the `aps` key must be used to change standard attributes. Adds custom key-value pairs to the root of the dictionary. See the [APNS documentation](https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CommunicatingwithAPNs.html) for more details. We reserve keys that start with `twi_` for future use. Custom keys that start with `twi_` are not allowed." + }, + "Gcm": { + "description": "The GCM-specific payload that overrides corresponding attributes in the generic payload for GCM Bindings. This property maps to the root JSON dictionary. See the [GCM documentation](https://firebase.google.com/docs/cloud-messaging/http-server-ref) for more details. Target parameters `to`, `registration_ids`, and `notification_key` are not allowed. We reserve keys that start with `twi_` for future use. Custom keys that start with `twi_` are not allowed. GCM also [reserves certain keys](https://firebase.google.com/docs/cloud-messaging/http-server-ref)." + }, + "Sms": { + "description": "The SMS-specific payload that overrides corresponding attributes in the generic payload for SMS Bindings. Each attribute in this value maps to the corresponding `form` parameter of the Twilio [Message](https://www.twilio.com/docs/sms/send-messages) resource. These parameters of the Message resource are supported in snake case format: `body`, `media_urls`, `status_callback`, and `max_price`. The `status_callback` parameter overrides the corresponding parameter in the messaging service, if configured. The `media_urls` property expects a JSON array." }, "FacebookMessenger": { "description": "Deprecated." @@ -1358,77 +1210,246 @@ "Fcm": { "description": "The FCM-specific payload that overrides corresponding attributes in the generic payload for FCM Bindings. This property maps to the root JSON dictionary. See the [FCM documentation](https://firebase.google.com/docs/cloud-messaging/http-server-ref#downstream) for more details. Target parameters `to`, `registration_ids`, `condition`, and `notification_key` are not allowed in this parameter. We reserve keys that start with `twi_` for future use. Custom keys that start with `twi_` are not allowed. FCM also [reserves certain keys](https://firebase.google.com/docs/cloud-messaging/http-server-ref), which cannot be used in that channel." }, - "Gcm": { - "description": "The GCM-specific payload that overrides corresponding attributes in the generic payload for GCM Bindings. This property maps to the root JSON dictionary. See the [GCM documentation](https://firebase.google.com/docs/cloud-messaging/http-server-ref) for more details. Target parameters `to`, `registration_ids`, and `notification_key` are not allowed. We reserve keys that start with `twi_` for future use. Custom keys that start with `twi_` are not allowed. GCM also [reserves certain keys](https://firebase.google.com/docs/cloud-messaging/http-server-ref)." + "Segment": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The Segment resource is deprecated. Use the `tag` parameter, instead." + }, + "Alexa": { + "description": "Deprecated." + }, + "ToBinding": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The destination address specified as a JSON string. Multiple `to_binding` parameters can be included but the total size of the request entity should not exceed 1MB. This is typically sufficient for 10,000 phone numbers." + }, + "DeliveryCallbackUrl": { + "type": "string", + "description": "URL to send webhooks." }, "Identity": { - "description": "The `identity` value that uniquely identifies the new resource's [User](https://www.twilio.com/docs/chat/rest/user-resource) within the [Service](https://www.twilio.com/docs/notify/api/service-resource). Delivery will be attempted only to Bindings with an Identity in this list. No more than 20 items are allowed in this list.", + "type": "array", "items": { "type": "string" }, - "type": "array" + "description": "The `identity` value that uniquely identifies the new resource's [User](https://www.twilio.com/docs/chat/rest/user-resource) within the [Service](https://www.twilio.com/docs/notify/api/service-resource). Delivery will be attempted only to Bindings with an Identity in this list. No more than 20 items are allowed in this list." + }, + "Tag": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A tag that selects the Bindings to notify. Repeat this parameter to specify more than one tag, up to a total of 5 tags. The implicit tag `all` is available to notify all Bindings in a Service instance. Similarly, the implicit tags `apn`, `fcm`, `gcm`, `sms` and `facebook-messenger` are available to notify all Bindings in a specific channel." + } + } + } + } + } + }, + "x-twilio": { + "conditional": [ + [ + "identity", + "tag" + ] + ] + } + } + }, + "/v1/Services": { + "servers": [ + { + "url": "https://notify.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "date_created" + ], + "pathType": "list" + }, + "post": { + "description": "", + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/notify.v1.service" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateService", + "x-maturity": [ + "Beta" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateServiceRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long." + }, + "ApnCredentialSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$", + "description": "The SID of the [Credential](https://www.twilio.com/docs/notify/api/credential-resource) to use for APN Bindings." + }, + "GcmCredentialSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$", + "description": "The SID of the [Credential](https://www.twilio.com/docs/notify/api/credential-resource) to use for GCM Bindings." + }, + "MessagingServiceSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$", + "description": "The SID of the [Messaging Service](https://www.twilio.com/docs/sms/send-messages#messaging-services) to use for SMS Bindings. This parameter must be set in order to send SMS notifications." + }, + "FacebookMessengerPageId": { + "type": "string", + "description": "Deprecated." + }, + "DefaultApnNotificationProtocolVersion": { + "type": "string", + "description": "The protocol version to use for sending APNS notifications. Can be overridden on a Binding by Binding basis when creating a [Binding](https://www.twilio.com/docs/notify/api/binding-resource) resource." }, - "Priority": { - "description": "The priority of the notification. Can be: `low` or `high` and the default is `high`. A value of `low` optimizes the client app's battery consumption; however, notifications may be delivered with unspecified delay. For FCM and GCM, `low` priority is the same as `Normal` priority. For APNS `low` priority is the same as `5`. A value of `high` sends the notification immediately, and can wake up a sleeping device. For FCM and GCM, `high` is the same as `High` priority. For APNS, `high` is a priority `10`. SMS does not support this property.", - "enum": [ - "high", - "low" - ], - "type": "string" + "DefaultGcmNotificationProtocolVersion": { + "type": "string", + "description": "The protocol version to use for sending GCM notifications. Can be overridden on a Binding by Binding basis when creating a [Binding](https://www.twilio.com/docs/notify/api/binding-resource) resource." }, - "Segment": { - "description": "The Segment resource is deprecated. Use the `tag` parameter, instead.", - "items": { - "type": "string" - }, - "type": "array" + "FcmCredentialSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$", + "description": "The SID of the [Credential](https://www.twilio.com/docs/notify/api/credential-resource) to use for FCM Bindings." }, - "Sms": { - "description": "The SMS-specific payload that overrides corresponding attributes in the generic payload for SMS Bindings. Each attribute in this value maps to the corresponding `form` parameter of the Twilio [Message](https://www.twilio.com/docs/sms/send-messages) resource. These parameters of the Message resource are supported in snake case format: `body`, `media_urls`, `status_callback`, and `max_price`. The `status_callback` parameter overrides the corresponding parameter in the messaging service, if configured. The `media_urls` property expects a JSON array." + "DefaultFcmNotificationProtocolVersion": { + "type": "string", + "description": "The protocol version to use for sending FCM notifications. Can be overridden on a Binding by Binding basis when creating a [Binding](https://www.twilio.com/docs/notify/api/binding-resource) resource." }, - "Sound": { - "description": "The name of the sound to be played for the notification. For FCM and GCM, this Translates to `data.twi_sound`. For APNS, this translates to `aps.sound`. SMS does not support this property.", - "type": "string" + "LogEnabled": { + "type": "boolean", + "description": "Whether to log notifications. Can be: `true` or `false` and the default is `true`." }, - "Tag": { - "description": "A tag that selects the Bindings to notify. Repeat this parameter to specify more than one tag, up to a total of 5 tags. The implicit tag `all` is available to notify all Bindings in a Service instance. Similarly, the implicit tags `apn`, `fcm`, `gcm`, `sms` and `facebook-messenger` are available to notify all Bindings in a specific channel.", - "items": { - "type": "string" - }, - "type": "array" + "AlexaSkillId": { + "type": "string", + "description": "Deprecated." }, - "Title": { - "description": "The notification title. For FCM and GCM, this translates to the `data.twi_title` value. For APNS, this translates to the `aps.alert.title` value. SMS does not support this property. This field is not visible on iOS phones and tablets but appears on Apple Watch and Android devices.", - "type": "string" + "DefaultAlexaNotificationProtocolVersion": { + "type": "string", + "description": "Deprecated." }, - "ToBinding": { - "description": "The destination address specified as a JSON string. Multiple `to_binding` parameters can be included but the total size of the request entity should not exceed 1MB. This is typically sufficient for 10,000 phone numbers.", - "items": { - "type": "string" - }, - "type": "array" + "DeliveryCallbackUrl": { + "type": "string", + "description": "URL to send delivery status callback." }, - "Ttl": { - "description": "How long, in seconds, the notification is valid. Can be an integer between 0 and 2,419,200, which is 4 weeks, the default and the maximum supported time to live (TTL). Delivery should be attempted if the device is offline until the TTL elapses. Zero means that the notification delivery is attempted immediately, only once, and is not stored for future delivery. SMS does not support this property.", - "type": "integer" + "DeliveryCallbackEnabled": { + "type": "boolean", + "description": "Callback configuration that enables delivery callbacks, default false" } - }, - "title": "CreateNotificationRequest", - "type": "object" + } } } } - }, + } + }, + "get": { + "description": "", + "parameters": [ + { + "name": "FriendlyName", + "in": "query", + "description": "The string that identifies the Service resources to read.", + "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 + } + } + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/notify.v1.service.notification" + "type": "object", + "title": "ListServiceResponse", + "properties": { + "services": { + "type": "array", + "items": { + "$ref": "#/components/schemas/notify.v1.service" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -1436,49 +1457,41 @@ "accountSid_authToken": [] } ], + "operationId": "ListService", "x-maturity": [ "Beta" - ], - "x-twilio": { - "conditional": [ - [ - "identity", - "tag" - ] - ] - } - }, + ] + } + }, + "/v1/Services/{Sid}": { "servers": [ { "url": "https://notify.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", - "priority", - "title" + "friendly_name", + "date_created" ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v1/Services/{Sid}": { + "pathType": "instance" + }, "delete": { "description": "", - "operationId": "DeleteService", "parameters": [ { - "description": "The Twilio-provided string that uniquely identifies the Service resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Service resource to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1491,26 +1504,25 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteService", "x-maturity": [ "Beta" ] }, - "description": "TODO: Resource-level docs", "get": { "description": "", - "operationId": "FetchService", "parameters": [ { - "description": "The Twilio-provided string that uniquely identifies the Service resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Service resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1530,140 +1542,128 @@ "accountSid_authToken": [] } ], + "operationId": "FetchService", "x-maturity": [ "Beta" ] }, "post": { "description": "", - "operationId": "UpdateService", "parameters": [ { - "description": "The Twilio-provided string that uniquely identifies the Service resource to update.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Service resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/notify.v1.service" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] } ], + "operationId": "UpdateService", + "x-maturity": [ + "Beta" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateServiceRequest", "properties": { - "AlexaSkillId": { - "description": "Deprecated.", - "type": "string" + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long." }, "ApnCredentialSid": { - "description": "The SID of the [Credential](https://www.twilio.com/docs/notify/api/credential-resource) to use for APN Bindings.", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$", + "description": "The SID of the [Credential](https://www.twilio.com/docs/notify/api/credential-resource) to use for APN Bindings." + }, + "GcmCredentialSid": { + "type": "string", "minLength": 34, + "maxLength": 34, "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the [Credential](https://www.twilio.com/docs/notify/api/credential-resource) to use for GCM Bindings." }, - "DefaultAlexaNotificationProtocolVersion": { - "description": "Deprecated.", - "type": "string" + "MessagingServiceSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$", + "description": "The SID of the [Messaging Service](https://www.twilio.com/docs/sms/send-messages#messaging-services) to use for SMS Bindings. This parameter must be set in order to send SMS notifications." }, - "DefaultApnNotificationProtocolVersion": { - "description": "The protocol version to use for sending APNS notifications. Can be overridden on a Binding by Binding basis when creating a [Binding](https://www.twilio.com/docs/notify/api/binding-resource) resource.", - "type": "string" + "FacebookMessengerPageId": { + "type": "string", + "description": "Deprecated." }, - "DefaultFcmNotificationProtocolVersion": { - "description": "The protocol version to use for sending FCM notifications. Can be overridden on a Binding by Binding basis when creating a [Binding](https://www.twilio.com/docs/notify/api/binding-resource) resource.", - "type": "string" + "DefaultApnNotificationProtocolVersion": { + "type": "string", + "description": "The protocol version to use for sending APNS notifications. Can be overridden on a Binding by Binding basis when creating a [Binding](https://www.twilio.com/docs/notify/api/binding-resource) resource." }, "DefaultGcmNotificationProtocolVersion": { - "description": "The protocol version to use for sending GCM notifications. Can be overridden on a Binding by Binding basis when creating a [Binding](https://www.twilio.com/docs/notify/api/binding-resource) resource.", - "type": "string" - }, - "DeliveryCallbackEnabled": { - "description": "Callback configuration that enables delivery callbacks, default false", - "type": "boolean" - }, - "DeliveryCallbackUrl": { - "description": "URL to send delivery status callback.", - "type": "string" - }, - "FacebookMessengerPageId": { - "description": "Deprecated.", - "type": "string" + "type": "string", + "description": "The protocol version to use for sending GCM notifications. Can be overridden on a Binding by Binding basis when creating a [Binding](https://www.twilio.com/docs/notify/api/binding-resource) resource." }, "FcmCredentialSid": { - "description": "The SID of the [Credential](https://www.twilio.com/docs/notify/api/credential-resource) to use for FCM Bindings.", - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long.", - "type": "string" - }, - "GcmCredentialSid": { - "description": "The SID of the [Credential](https://www.twilio.com/docs/notify/api/credential-resource) to use for GCM Bindings.", "maxLength": 34, - "minLength": 34, "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the [Credential](https://www.twilio.com/docs/notify/api/credential-resource) to use for FCM Bindings." + }, + "DefaultFcmNotificationProtocolVersion": { + "type": "string", + "description": "The protocol version to use for sending FCM notifications. Can be overridden on a Binding by Binding basis when creating a [Binding](https://www.twilio.com/docs/notify/api/binding-resource) resource." }, "LogEnabled": { - "description": "Whether to log notifications. Can be: `true` or `false` and the default is `true`.", - "type": "boolean" + "type": "boolean", + "description": "Whether to log notifications. Can be: `true` or `false` and the default is `true`." }, - "MessagingServiceSid": { - "description": "The SID of the [Messaging Service](https://www.twilio.com/docs/sms/send-messages#messaging-services) to use for SMS Bindings. This parameter must be set in order to send SMS notifications.", - "maxLength": 34, - "minLength": 34, - "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" + "AlexaSkillId": { + "type": "string", + "description": "Deprecated." + }, + "DefaultAlexaNotificationProtocolVersion": { + "type": "string", + "description": "Deprecated." + }, + "DeliveryCallbackUrl": { + "type": "string", + "description": "URL to send delivery status callback." + }, + "DeliveryCallbackEnabled": { + "type": "boolean", + "description": "Callback configuration that enables delivery callbacks, default false" } - }, - "title": "UpdateServiceRequest", - "type": "object" - } - } - } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/notify.v1.service" } } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] + } } - ], - "x-maturity": [ - "Beta" - ] - }, - "servers": [ - { - "url": "https://notify.twilio.com" } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "date_created" - ], - "pathType": "instance" } } }, @@ -1674,8 +1674,8 @@ ], "x-maturity": [ { - "description": "PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution.", - "name": "Beta" + "name": "Beta", + "description": "PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution." } ] } \ No newline at end of file diff --git a/spec/json/twilio_numbers_v2.json b/spec/json/twilio_numbers_v2.json index 9d1dd96f..b0c71c20 100644 --- a/spec/json/twilio_numbers_v2.json +++ b/spec/json/twilio_numbers_v2.json @@ -1,66 +1,40 @@ { "components": { "schemas": { - "numbers.v2.regulatory_compliance": { - "properties": {}, - "type": "object" - }, "numbers.v2.regulatory_compliance.bundle": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "description": "The 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 date and time in GMT when the resource was last updated", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "email": { - "description": "The email address", - "nullable": true, - "type": "string" - }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", - "nullable": true, - "type": "string" + "description": "The unique string that identifies the resource." }, - "links": { - "description": "The URLs of the Assigned Items of the Bundle resource", - "format": "uri-map", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "object" + "description": "The SID of the Account that created the resource" }, "regulation_sid": { - "description": "The unique string of a regulation.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^RN[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string of a regulation." }, - "sid": { - "description": "The unique string that identifies the resource.", - "maxLength": 34, - "minLength": 34, + "friendly_name": { + "type": "string", "nullable": true, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" + "description": "The string that you assigned to describe the resource" }, "status": { - "description": "The verification status of the Bundle resource", + "type": "string", "enum": [ "draft", "pending-review", @@ -70,79 +44,85 @@ "provisionally-approved" ], "nullable": true, - "type": "string" + "description": "The verification status of the Bundle resource" }, - "status_callback": { - "description": "The URL we call to inform your application of status changes.", - "format": "uri", + "valid_until": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource will be valid until." }, - "url": { - "description": "The absolute URL of the Bundle resource", - "format": "uri", + "email": { + "type": "string", "nullable": true, - "type": "string" + "description": "The email address" }, - "valid_until": { - "description": "The ISO 8601 date and time in GMT when the resource will be valid until.", - "format": "date-time", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "numbers.v2.regulatory_compliance.bundle.bundle_copy": { - "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, - "minLength": 34, + "status_callback": { + "type": "string", + "format": "uri", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The URL we call to inform your application of status changes." }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, - "email": { - "description": "The email address", + "url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Bundle resource" }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", + "links": { + "type": "object", + "format": "uri-map", "nullable": true, - "type": "string" - }, - "regulation_sid": { - "description": "The unique string of a regulation", - "maxLength": 34, + "description": "The URLs of the Assigned Items of the Bundle resource" + } + } + }, + "numbers.v2.regulatory_compliance.bundle.bundle_copy": { + "type": "object", + "properties": { + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^RN[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "sid": { - "description": "The unique string that identifies the resource", + "account_sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "regulation_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^RN[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string of a regulation" + }, + "friendly_name": { + "type": "string", + "nullable": true, + "description": "The string that you assigned to describe the resource" }, "status": { - "description": "The verification status of the Bundle resource", + "type": "string", "enum": [ "draft", "pending-review", @@ -152,400 +132,400 @@ "provisionally-approved" ], "nullable": true, - "type": "string" + "description": "The verification status of the Bundle resource" + }, + "valid_until": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource will be valid until" + }, + "email": { + "type": "string", + "nullable": true, + "description": "The email address" }, "status_callback": { - "description": "The URL we call to inform your application of status changes", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL we call to inform your application of status changes" }, - "valid_until": { - "description": "The ISO 8601 date and time in GMT when the resource will be valid until", + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was created" + }, + "date_updated": { + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" } - }, - "type": "object" + } }, - "numbers.v2.regulatory_compliance.bundle.evaluation": { + "numbers.v2.regulatory_compliance.end_user": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^IT[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "bundle_sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "account_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Account that created the resource" }, - "date_created": { - "format": "date-time", + "friendly_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the resource" }, - "regulation_sid": { - "description": "The unique string of a regulation", - "maxLength": 34, - "minLength": 34, + "type": { + "type": "string", + "enum": [ + "individual", + "business" + ], "nullable": true, - "pattern": "^RN[0-9a-fA-F]{32}$", - "type": "string" + "description": "The type of end user of the Bundle resource" }, - "results": { - "description": "The results of the Evaluation resource", - "items": {}, + "attributes": { "nullable": true, - "type": "array" + "description": "The set of parameters that compose the End Users resource" }, - "sid": { - "description": "The unique string that identifies the Evaluation resource", - "maxLength": 34, - "minLength": 34, + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^EL[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, - "status": { - "description": "The compliance status of the Evaluation resource", - "enum": [ - "compliant", - "noncompliant" - ], + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, "url": { + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the End User resource" } - }, - "type": "object" + } }, - "numbers.v2.regulatory_compliance.bundle.item_assignment": { + "numbers.v2.regulatory_compliance.end_user_type": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "bundle_sid": { - "description": "The unique string that identifies the Bundle resource.", "maxLength": 34, - "minLength": 34, + "pattern": "^OY[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the End-User Type resource" }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", - "format": "date-time", + "friendly_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "A human-readable description of the End-User Type resource" }, - "object_sid": { - "description": "The sid of an object bag", - "maxLength": 34, - "minLength": 34, + "machine_name": { + "type": "string", "nullable": true, - "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", - "type": "string" + "description": "A machine-readable description of the End-User Type resource" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "fields": { + "type": "array", + "items": {}, "nullable": true, - "pattern": "^BV[0-9a-fA-F]{32}$", - "type": "string" + "description": "The required information for creating an End-User." }, "url": { - "description": "The absolute URL of the Identity resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the End-User Type resource" } - }, - "type": "object" + } }, - "numbers.v2.regulatory_compliance.bundle.replace_items": { + "numbers.v2.regulatory_compliance.bundle.evaluation": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^EL[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "description": "The 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 date and time in GMT when the resource was last updated", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "email": { - "description": "The email address", - "nullable": true, - "type": "string" + "description": "The unique string that identifies the Evaluation resource" }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, "regulation_sid": { - "description": "The unique string of a regulation", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^RN[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string of a regulation" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "bundle_sid": { + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string that identifies the resource" }, "status": { - "description": "The verification status of the Bundle resource", + "type": "string", "enum": [ - "draft", - "pending-review", - "in-review", - "twilio-rejected", - "twilio-approved", - "provisionally-approved" + "compliant", + "noncompliant" ], "nullable": true, - "type": "string" + "description": "The compliance status of the Evaluation resource" }, - "status_callback": { - "description": "The URL we call to inform your application of status changes", - "format": "uri", + "results": { + "type": "array", + "items": {}, "nullable": true, - "type": "string" + "description": "The results of the Evaluation resource" }, - "valid_until": { - "description": "The ISO 8601 date and time in GMT when the resource will be valid until", + "date_created": { + "type": "string", "format": "date-time", - "nullable": true, - "type": "string" + "nullable": true + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true } - }, - "type": "object" + } }, - "numbers.v2.regulatory_compliance.end_user": { + "numbers.v2.regulatory_compliance.bundle.item_assignment": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", + "sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^BV[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique string that identifies the resource" + }, + "bundle_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$", "nullable": true, + "description": "The unique string that identifies the Bundle resource." + }, + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, - "attributes": { - "description": "The set of parameters that compose the End Users resource", - "nullable": true + "object_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The sid of an object bag" }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, - "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", - "format": "date-time", + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The absolute URL of the Identity resource" + } + } + }, + "numbers.v2.regulatory_compliance.regulation": { + "type": "object", + "properties": { + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RN[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique string that identifies the Regulation resource" }, "friendly_name": { - "description": "The string that you assigned to describe the resource", + "type": "string", "nullable": true, - "type": "string" + "description": "A human-readable description of the Regulation resource" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "iso_country": { + "type": "string", "nullable": true, - "pattern": "^IT[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO country code of the phone number's country" }, - "type": { - "description": "The type of end user of the Bundle resource", + "number_type": { + "type": "string", + "nullable": true, + "description": "The type of phone number restricted by the regulatory requirement" + }, + "end_user_type": { + "type": "string", "enum": [ "individual", "business" ], "nullable": true, - "type": "string" + "description": "The type of End User of the Regulation resource" + }, + "requirements": { + "nullable": true, + "description": "The sid of a regulation object that dictates requirements" }, "url": { - "description": "The absolute URL of the End User resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Regulation resource" } - }, - "type": "object" + } }, - "numbers.v2.regulatory_compliance.end_user_type": { + "numbers.v2.regulatory_compliance": { + "type": "object", + "properties": {} + }, + "numbers.v2.regulatory_compliance.bundle.replace_items": { + "type": "object", "properties": { - "fields": { - "description": "The required information for creating an End-User.", - "items": {}, - "nullable": true, - "type": "array" - }, - "friendly_name": { - "description": "A human-readable description of the End-User Type resource", + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique string that identifies the resource" }, - "machine_name": { - "description": "A machine-readable description of the End-User Type resource", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, - "sid": { - "description": "The unique string that identifies the End-User Type resource", - "maxLength": 34, + "regulation_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^RN[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^OY[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string of a regulation" }, - "url": { - "description": "The absolute URL of the End-User Type resource", - "format": "uri", + "friendly_name": { + "type": "string", "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "numbers.v2.regulatory_compliance.regulation": { - "properties": { - "end_user_type": { - "description": "The type of End User of the Regulation resource", + "description": "The string that you assigned to describe the resource" + }, + "status": { + "type": "string", "enum": [ - "individual", - "business" + "draft", + "pending-review", + "in-review", + "twilio-rejected", + "twilio-approved", + "provisionally-approved" ], "nullable": true, - "type": "string" + "description": "The verification status of the Bundle resource" }, - "friendly_name": { - "description": "A human-readable description of the Regulation resource", + "valid_until": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource will be valid until" }, - "iso_country": { - "description": "The ISO country code of the phone number's country", + "email": { + "type": "string", "nullable": true, - "type": "string" + "description": "The email address" }, - "number_type": { - "description": "The type of phone number restricted by the regulatory requirement", + "status_callback": { + "type": "string", + "format": "uri", "nullable": true, - "type": "string" + "description": "The URL we call to inform your application of status changes" }, - "requirements": { - "description": "The sid of a regulation object that dictates requirements", - "nullable": true - }, - "sid": { - "description": "The unique string that identifies the Regulation resource", - "maxLength": 34, - "minLength": 34, + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^RN[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, - "url": { - "description": "The absolute URL of the Regulation resource", - "format": "uri", + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" } - }, - "type": "object" + } }, "numbers.v2.regulatory_compliance.supporting_document": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^RD[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "attributes": { - "description": "The set of parameters that compose the Supporting Documents resource", - "nullable": true - }, - "date_created": { - "description": "The 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 date and time in GMT when the resource was last updated", - "format": "date-time", - "nullable": true, - "type": "string" + "description": "The unique string that identifies the resource" }, - "failure_reason": { - "description": "The failure reason of the Supporting Document Resource.", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, "friendly_name": { - "description": "The string that you assigned to describe the resource", + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the resource" }, "mime_type": { - "description": "The image type of the file", - "nullable": true, - "type": "string" - }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "type": "string", "nullable": true, - "pattern": "^RD[0-9a-fA-F]{32}$", - "type": "string" + "description": "The image type of the file" }, "status": { - "description": "The verification status of the Supporting Document resource", + "type": "string", "enum": [ "draft", "pending-review", @@ -555,105 +535,203 @@ "provisionally-approved" ], "nullable": true, - "type": "string" + "description": "The verification status of the Supporting Document resource" + }, + "failure_reason": { + "type": "string", + "nullable": true, + "description": "The failure reason of the Supporting Document Resource." }, "type": { - "description": "The type of the Supporting Document", + "type": "string", + "nullable": true, + "description": "The type of the Supporting Document" + }, + "attributes": { + "nullable": true, + "description": "The set of parameters that compose the Supporting Documents resource" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, "url": { - "description": "The absolute URL of the Supporting Document resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Supporting Document resource" } - }, - "type": "object" + } }, "numbers.v2.regulatory_compliance.supporting_document_type": { + "type": "object", "properties": { - "fields": { - "description": "The required information for creating a Supporting Document", - "items": {}, + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^OY[0-9a-fA-F]{32}$", "nullable": true, - "type": "array" + "description": "The unique string that identifies the Supporting Document Type resource" }, "friendly_name": { - "description": "A human-readable description of the Supporting Document Type resource", + "type": "string", "nullable": true, - "type": "string" + "description": "A human-readable description of the Supporting Document Type resource" }, "machine_name": { - "description": "The machine-readable description of the Supporting Document Type resource", + "type": "string", "nullable": true, - "type": "string" + "description": "The machine-readable description of the Supporting Document Type resource" }, - "sid": { - "description": "The unique string that identifies the Supporting Document Type resource", - "maxLength": 34, - "minLength": 34, + "fields": { + "type": "array", + "items": {}, "nullable": true, - "pattern": "^OY[0-9a-fA-F]{32}$", - "type": "string" + "description": "The required information for creating a Supporting Document" }, "url": { - "description": "The absolute URL of the Supporting Document Type resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Supporting Document Type resource" } - }, - "type": "object" + } } }, "securitySchemes": { "accountSid_authToken": { - "scheme": "basic", - "type": "http" + "type": "http", + "scheme": "basic" } } }, "info": { + "title": "Twilio - Numbers", + "description": "This is the public Twilio REST API.", + "termsOfService": "https://www.twilio.com/legal/tos", "contact": { - "email": "support@twilio.com", "name": "Twilio Support", - "url": "https://support.twilio.com" + "url": "https://support.twilio.com", + "email": "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 - Numbers", "version": "1.30.0" }, "openapi": "3.0.1", "paths": { - "/v2/RegulatoryCompliance": { - "description": "TODO: Resource-level docs", + "/v2/RegulatoryCompliance/Bundles": { "servers": [ { "url": "https://numbers.twilio.com" } ], - "x-twilio": { - "defaultOutputProperties": [], - "pathType": "list" - } - }, - "/v2/RegulatoryCompliance/Bundles": { "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "regulation_sid", + "friendly_name" + ], + "pathType": "list", + "parent": "/RegulatoryCompliance" + }, + "post": { + "description": "Create a new Bundle.", + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.bundle" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateBundle", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateBundleRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "The string that you assigned to describe the resource." + }, + "Email": { + "type": "string", + "description": "The email address that will receive updates when the Bundle resource changes status." + }, + "StatusCallback": { + "type": "string", + "format": "uri", + "description": "The URL we call to inform your application of status changes." + }, + "RegulationSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RN[0-9a-fA-F]{32}$", + "description": "The unique string of a regulation that is associated to the Bundle resource." + }, + "IsoCountry": { + "type": "string", + "description": "The [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) of the Bundle's phone number country ownership request." + }, + "EndUserType": { + "type": "string", + "enum": [ + "individual", + "business" + ], + "description": "The [type of End User](https://www.twilio.com/docs/phone-numbers/regulatory/api/end-user-types) of the Bundle resource." + }, + "NumberType": { + "type": "string", + "description": "The type of phone number of the Bundle's ownership request. Can be `local`, `mobile`, `national`, or `toll free`." + } + }, + "required": [ + "FriendlyName", + "Email" + ] + } + } + } + } + }, "get": { "description": "Retrieve a list of all Bundles for an account.", - "operationId": "ListBundle", "parameters": [ { - "description": "The verification status of the Bundle resource. Please refer to [Bundle Statuses](https://www.twilio.com/docs/phone-numbers/regulatory/api/bundles#bundle-statuses) for more details.", - "in": "query", "name": "Status", + "in": "query", + "description": "The verification status of the Bundle resource. Please refer to [Bundle Statuses](https://www.twilio.com/docs/phone-numbers/regulatory/api/bundles#bundle-statuses) for more details.", "schema": { + "type": "string", "enum": [ "draft", "pending-review", @@ -661,112 +739,111 @@ "twilio-rejected", "twilio-approved", "provisionally-approved" - ], - "type": "string" + ] } }, { - "description": "The string that you assigned to describe the resource. The column can contain 255 variable characters.", - "in": "query", "name": "FriendlyName", + "in": "query", + "description": "The string that you assigned to describe the resource. The column can contain 255 variable characters.", "schema": { "type": "string" } }, { - "description": "The unique string of a [Regulation resource](https://www.twilio.com/docs/phone-numbers/regulatory/api/regulations) that is associated to the Bundle resource.", - "in": "query", "name": "RegulationSid", + "in": "query", + "description": "The unique string of a [Regulation resource](https://www.twilio.com/docs/phone-numbers/regulatory/api/regulations) that is associated to the Bundle resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^RN[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^RN[0-9a-fA-F]{32}$" } }, { - "description": "The 2-digit [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) of the Bundle's phone number country ownership request.", - "in": "query", "name": "IsoCountry", + "in": "query", + "description": "The 2-digit [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) of the Bundle's phone number country ownership request.", "schema": { "type": "string" } }, { - "description": "The type of phone number of the Bundle's ownership request. Can be `local`, `mobile`, `national`, or `tollfree`.", - "in": "query", "name": "NumberType", + "in": "query", + "description": "The type of phone number of the Bundle's ownership request. Can be `local`, `mobile`, `national`, or `tollfree`.", "schema": { "type": "string" } }, { - "description": "Indicates that the Bundle is a valid Bundle until a specified expiration date.", - "in": "query", "name": "HasValidUntilDate", + "in": "query", + "description": "Indicates that the Bundle is a valid Bundle until a specified expiration date.", "schema": { "type": "boolean" } }, { - "description": "Can be `valid-until` or `date-updated`. Defaults to `date-created`.", - "in": "query", "name": "SortBy", + "in": "query", + "description": "Can be `valid-until` or `date-updated`. Defaults to `date-created`.", "schema": { + "type": "string", "enum": [ "valid-until", "date-updated" - ], - "type": "string" + ] } }, { - "description": "Default is `DESC`. Can be `ASC` or `DESC`.", - "in": "query", "name": "SortDirection", + "in": "query", + "description": "Default is `DESC`. Can be `ASC` or `DESC`.", "schema": { + "type": "string", "enum": [ "ASC", "DESC" - ], - "type": "string" + ] } }, { - "description": "Date to filter Bundles having their `valid_until_date` before or after the specified date. Can be `ValidUntilDate>=` or `ValidUntilDate<=`. Both can be used in conjunction as well. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) is the acceptable date format.", - "in": "query", "name": "ValidUntilDate", + "in": "query", + "description": "Date to filter Bundles having their `valid_until_date` before or after the specified date. Can be `ValidUntilDate>=` or `ValidUntilDate<=`. Both can be used in conjunction as well. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) is the acceptable date format.", "schema": { - "format": "date-time", - "type": "string" + "type": "string", + "format": "date-time" } }, { - "description": "Date to filter Bundles having their `valid_until_date` before or after the specified date. Can be `ValidUntilDate>=` or `ValidUntilDate<=`. Both can be used in conjunction as well. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) is the acceptable date format.", - "in": "query", "name": "ValidUntilDate<", + "in": "query", + "description": "Date to filter Bundles having their `valid_until_date` before or after the specified date. Can be `ValidUntilDate>=` or `ValidUntilDate<=`. Both can be used in conjunction as well. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) is the acceptable date format.", "schema": { - "format": "date-time", - "type": "string" + "type": "string", + "format": "date-time" } }, { - "description": "Date to filter Bundles having their `valid_until_date` before or after the specified date. Can be `ValidUntilDate>=` or `ValidUntilDate<=`. Both can be used in conjunction as well. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) is the acceptable date format.", - "in": "query", "name": "ValidUntilDate>", + "in": "query", + "description": "Date to filter Bundles having their `valid_until_date` before or after the specified date. Can be `ValidUntilDate>=` or `ValidUntilDate<=`. Both can be used in conjunction as well. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) is the acceptable date format.", "schema": { - "format": "date-time", - "type": "string" + "type": "string", + "format": "date-time" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -775,19 +852,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListBundleResponse", "properties": { + "results": { + "type": "array", + "items": { + "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.bundle" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -796,105 +879,23 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "results": { - "items": { - "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.bundle" - }, - "type": "array" + } } - }, - "title": "ListBundleResponse", - "type": "object" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "Create a new Bundle.", - "operationId": "CreateBundle", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Email": { - "description": "The email address that will receive updates when the Bundle resource changes status.", - "type": "string" - }, - "EndUserType": { - "description": "The [type of End User](https://www.twilio.com/docs/phone-numbers/regulatory/api/end-user-types) of the Bundle resource.", - "enum": [ - "individual", - "business" - ], - "type": "string" - }, - "FriendlyName": { - "description": "The string that you assigned to describe the resource.", - "type": "string" - }, - "IsoCountry": { - "description": "The [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) of the Bundle's phone number country ownership request.", - "type": "string" - }, - "NumberType": { - "description": "The type of phone number of the Bundle's ownership request. Can be `local`, `mobile`, `national`, or `toll free`.", - "type": "string" - }, - "RegulationSid": { - "description": "The unique string of a regulation that is associated to the Bundle resource.", - "maxLength": 34, - "minLength": 34, - "pattern": "^RN[0-9a-fA-F]{32}$", - "type": "string" - }, - "StatusCallback": { - "description": "The URL we call to inform your application of status changes.", - "format": "uri", - "type": "string" } - }, - "required": [ - "FriendlyName", - "Email" - ], - "title": "CreateBundleRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.bundle" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -902,52 +903,42 @@ "accountSid_authToken": [] } ], + "operationId": "ListBundle", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/RegulatoryCompliance/Bundles/{Sid}": { "servers": [ { "url": "https://numbers.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", "regulation_sid", "friendly_name" ], - "parent": "/RegulatoryCompliance", - "pathType": "list" - } - }, - "/v2/RegulatoryCompliance/Bundles/{BundleSid}/Copies": { - "description": "TODO: Resource-level docs", + "pathType": "instance", + "parent": "/RegulatoryCompliance" + }, "get": { - "description": "Retrieve a list of all Bundles Copies for a Bundle.", - "operationId": "ListBundleCopy", + "description": "Fetch a specific Bundle instance.", "parameters": [ { - "description": "The unique string that we created to identify the Bundle resource.", + "name": "Sid", "in": "path", - "name": "BundleSid", - "required": true, + "description": "The unique string that we created to identify the Bundle resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BU[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" - } + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -955,46 +946,7 @@ "content": { "application/json": { "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "results": { - "items": { - "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.bundle.bundle_copy" - }, - "type": "array" - } - }, - "title": "ListBundleCopyResponse", - "type": "object" + "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.bundle" } } }, @@ -1006,53 +958,37 @@ "accountSid_authToken": [] } ], + "operationId": "FetchBundle", "x-maturity": [ - "Beta" + "GA" ] }, "post": { - "description": "Creates a new copy of a Bundle. It will internally create copies of all the bundle items (identities and documents) of the original bundle", - "operationId": "CreateBundleCopy", + "description": "Updates a Bundle in an account.", "parameters": [ { - "description": "The unique string that identifies the Bundle to be copied.", + "name": "Sid", "in": "path", - "name": "BundleSid", - "required": true, + "description": "The unique string that we created to identify the Bundle resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "FriendlyName": { - "description": "The string that you assigned to describe the copied bundle.", - "type": "string" - } - }, - "title": "CreateBundleCopyRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.bundle.bundle_copy" + "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.bundle" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -1060,138 +996,67 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateBundle", "x-maturity": [ - "Beta" - ] - }, - "servers": [ - { - "url": "https://numbers.twilio.com" - } - ], - "x-twilio": { - "className": "bundle_copy", - "defaultOutputProperties": [], - "parent": "/RegulatoryCompliance/Bundles", - "pathType": "list" - } - }, - "/v2/RegulatoryCompliance/Bundles/{BundleSid}/Evaluations": { - "description": "TODO: Resource-level docs", - "get": { - "description": "Retrieve a list of Evaluations associated to the Bundle resource.", - "operationId": "ListEvaluation", - "parameters": [ - { - "description": "The unique string that identifies the Bundle resource.", - "in": "path", - "name": "BundleSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^BU[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" - } - } + "GA" ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "results": { - "items": { - "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.bundle.evaluation" - }, - "type": "array" - } + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateBundleRequest", + "properties": { + "Status": { + "type": "string", + "enum": [ + "draft", + "pending-review", + "in-review", + "twilio-rejected", + "twilio-approved", + "provisionally-approved" + ], + "description": "The verification status of the Bundle resource." }, - "title": "ListEvaluationResponse", - "type": "object" + "StatusCallback": { + "type": "string", + "format": "uri", + "description": "The URL we call to inform your application of status changes." + }, + "FriendlyName": { + "type": "string", + "description": "The string that you assigned to describe the resource." + }, + "Email": { + "type": "string", + "description": "The email address that will receive updates when the Bundle resource changes status." + } } } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] + } } - ], - "x-maturity": [ - "GA" - ] + } }, - "post": { - "description": "Creates an evaluation for a bundle", - "operationId": "CreateEvaluation", + "delete": { + "description": "Delete a specific Bundle.", "parameters": [ { - "description": "The unique string that identifies the Bundle resource.", + "name": "Sid", "in": "path", - "name": "BundleSid", - "required": true, + "description": "The unique string that we created to identify the Bundle resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.bundle.evaluation" - } - } - }, - "description": "Created" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -1199,64 +1064,51 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteBundle", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/RegulatoryCompliance/Bundles/{BundleSid}/Copies": { "servers": [ { "url": "https://numbers.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { - "defaultOutputProperties": [ - "sid" - ], + "defaultOutputProperties": [], + "pathType": "list", "parent": "/RegulatoryCompliance/Bundles", - "pathType": "list" - } - }, - "/v2/RegulatoryCompliance/Bundles/{BundleSid}/Evaluations/{Sid}": { - "description": "TODO: Resource-level docs", - "get": { - "description": "Fetch specific Evaluation Instance.", - "operationId": "FetchEvaluation", + "className": "bundle_copy" + }, + "post": { + "description": "Creates a new copy of a Bundle. It will internally create copies of all the bundle items (identities and documents) of the original bundle", "parameters": [ { - "description": "The unique string that we created to identify the Bundle resource.", - "in": "path", "name": "BundleSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The unique string that identifies the Evaluation resource.", "in": "path", - "name": "Sid", - "required": true, + "description": "The unique string that identifies the Bundle to be copied.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^EL[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.bundle.evaluation" + "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.bundle.bundle_copy" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -1264,49 +1116,50 @@ "accountSid_authToken": [] } ], + "operationId": "CreateBundleCopy", "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://numbers.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid" + "Beta" ], - "parent": "/RegulatoryCompliance/Bundles", - "pathType": "instance" - } - }, - "/v2/RegulatoryCompliance/Bundles/{BundleSid}/ItemAssignments": { - "description": "TODO: Resource-level docs", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateBundleCopyRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "The string that you assigned to describe the copied bundle." + } + } + } + } + } + } + }, "get": { - "description": "Retrieve a list of all Assigned Items for an account.", - "operationId": "ListItemAssignment", + "description": "Retrieve a list of all Bundles Copies for a Bundle.", "parameters": [ { - "description": "The unique string that we created to identify the Bundle resource.", - "in": "path", "name": "BundleSid", - "required": true, + "in": "path", + "description": "The unique string that we created to identify the Bundle resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1315,19 +1168,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListBundleCopyResponse", "properties": { + "results": { + "type": "array", + "items": { + "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.bundle.bundle_copy" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1336,25 +1195,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "results": { - "items": { - "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.bundle.item_assignment" - }, - "type": "array" + } } - }, - "title": "ListItemAssignmentResponse", - "type": "object" + } } } }, @@ -1366,59 +1219,145 @@ "accountSid_authToken": [] } ], + "operationId": "ListBundleCopy", "x-maturity": [ - "GA" + "Beta" ] + } + }, + "/v2/RegulatoryCompliance/EndUsers": { + "servers": [ + { + "url": "https://numbers.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name" + ], + "pathType": "list", + "parent": "/RegulatoryCompliance" }, "post": { - "description": "Create a new Assigned Item.", - "operationId": "CreateItemAssignment", - "parameters": [ + "description": "Create a new End User.", + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.end_user" + } + } + }, + "description": "Created" + } + }, + "security": [ { - "description": "The unique string that we created to identify the Bundle resource.", - "in": "path", - "name": "BundleSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - } + "accountSid_authToken": [] } ], + "operationId": "CreateEndUser", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateEndUserRequest", "properties": { - "ObjectSid": { - "description": "The SID of an object bag that holds information of the different items.", - "maxLength": 34, - "minLength": 34, - "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", - "type": "string" + "FriendlyName": { + "type": "string", + "description": "The string that you assigned to describe the resource." + }, + "Type": { + "type": "string", + "enum": [ + "individual", + "business" + ], + "description": "The type of end user of the Bundle resource - can be `individual` or `business`." + }, + "Attributes": { + "description": "The set of parameters that are the attributes of the End User resource which are derived End User Types." } }, "required": [ - "ObjectSid" - ], - "title": "CreateItemAssignmentRequest", - "type": "object" + "FriendlyName", + "Type" + ] } } } - }, + } + }, + "get": { + "description": "Retrieve a list of all End User for an account.", + "parameters": [ + { + "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 + } + } + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.bundle.item_assignment" + "type": "object", + "title": "ListEndUserResponse", + "properties": { + "results": { + "type": "array", + "items": { + "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.end_user" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -1426,56 +1365,53 @@ "accountSid_authToken": [] } ], + "operationId": "ListEndUser", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/RegulatoryCompliance/EndUsers/{Sid}": { "servers": [ { "url": "https://numbers.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ - "sid" + "sid", + "friendly_name" ], - "parent": "/RegulatoryCompliance/Bundles", - "pathType": "list" - } - }, - "/v2/RegulatoryCompliance/Bundles/{BundleSid}/ItemAssignments/{Sid}": { - "delete": { - "description": "Remove an Assignment Item Instance.", - "operationId": "DeleteItemAssignment", + "pathType": "instance", + "parent": "/RegulatoryCompliance" + }, + "get": { + "description": "Fetch specific End User Instance.", "parameters": [ { - "description": "The unique string that we created to identify the Bundle resource.", + "name": "Sid", "in": "path", - "name": "BundleSid", - "required": true, + "description": "The unique string created by Twilio to identify the End User resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The unique string that we created to identify the Identity resource.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { "maxLength": 34, - "minLength": 34, - "pattern": "^BV[0-9a-fA-F]{32}$", - "type": "string" - } + "pattern": "^IT[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.end_user" + } + } + }, + "description": "OK" } }, "security": [ @@ -1483,38 +1419,25 @@ "accountSid_authToken": [] } ], + "operationId": "FetchEndUser", "x-maturity": [ "GA" ] }, - "description": "TODO: Resource-level docs", - "get": { - "description": "Fetch specific Assigned Item Instance.", - "operationId": "FetchItemAssignment", + "post": { + "description": "Update an existing End User.", "parameters": [ { - "description": "The unique string that we created to identify the Bundle resource.", + "name": "Sid", "in": "path", - "name": "BundleSid", - "required": true, + "description": "The unique string created by Twilio to identify the End User resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The unique string that we created to identify the Identity resource.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { "maxLength": 34, - "minLength": 34, - "pattern": "^BV[0-9a-fA-F]{32}$", - "type": "string" - } + "pattern": "^IT[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1522,7 +1445,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.bundle.item_assignment" + "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.end_user" } } }, @@ -1534,74 +1457,140 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateEndUser", "x-maturity": [ "GA" - ] + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateEndUserRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "The string that you assigned to describe the resource." + }, + "Attributes": { + "description": "The set of parameters that are the attributes of the End User resource which are derived End User Types." + } + } + } + } + } + } }, + "delete": { + "description": "Delete a specific End User.", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The unique string created by Twilio to identify the End User resource.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IT[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteEndUser", + "x-maturity": [ + "GA" + ] + } + }, + "/v2/RegulatoryCompliance/EndUserTypes": { "servers": [ { "url": "https://numbers.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ - "sid" + "sid", + "friendly_name" ], - "parent": "/RegulatoryCompliance/Bundles", - "pathType": "instance" - } - }, - "/v2/RegulatoryCompliance/Bundles/{BundleSid}/ReplaceItems": { - "description": "TODO: Resource-level docs", - "post": { - "description": "Replaces all bundle items in the target bundle (specified in the path) with all the bundle items of the source bundle (specified by the from_bundle_sid body param)", - "operationId": "CreateReplaceItems", + "pathType": "list", + "parent": "/RegulatoryCompliance" + }, + "get": { + "description": "Retrieve a list of all End-User Types.", "parameters": [ { - "description": "The unique string that identifies the Bundle where the item assignments are going to be replaced.", - "in": "path", - "name": "BundleSid", - "required": true, + "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "FromBundleSid": { - "description": "The source bundle sid to copy the item assignments from.", - "maxLength": 34, - "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "ListEndUserTypeResponse", + "properties": { + "end_user_types": { + "type": "array", + "items": { + "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.end_user_type" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } } - }, - "required": [ - "FromBundleSid" - ], - "title": "CreateReplaceItemsRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.bundle.replace_items" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -1609,70 +1598,38 @@ "accountSid_authToken": [] } ], + "operationId": "ListEndUserType", "x-maturity": [ - "Beta" + "GA" ] - }, + } + }, + "/v2/RegulatoryCompliance/EndUserTypes/{Sid}": { "servers": [ { "url": "https://numbers.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { - "className": "replace_items", - "defaultOutputProperties": [], - "parent": "/RegulatoryCompliance/Bundles", - "pathType": "list" - } - }, - "/v2/RegulatoryCompliance/Bundles/{Sid}": { - "delete": { - "description": "Delete a specific Bundle.", - "operationId": "DeleteBundle", - "parameters": [ - { - "description": "The unique string that we created to identify the Bundle resource.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } + "defaultOutputProperties": [ + "sid", + "friendly_name" ], - "x-maturity": [ - "GA" - ] + "pathType": "instance", + "parent": "/RegulatoryCompliance" }, - "description": "TODO: Resource-level docs", "get": { - "description": "Fetch a specific Bundle instance.", - "operationId": "FetchBundle", + "description": "Fetch a specific End-User Type Instance.", "parameters": [ { - "description": "The unique string that we created to identify the Bundle resource.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The unique string that identifies the End-User Type resource.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", "type": "string" - } + }, + "required": true } ], "responses": { @@ -1680,7 +1637,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.bundle" + "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.end_user_type" } } }, @@ -1692,74 +1649,52 @@ "accountSid_authToken": [] } ], + "operationId": "FetchEndUserType", "x-maturity": [ "GA" ] + } + }, + "/v2/RegulatoryCompliance/Bundles/{BundleSid}/Evaluations": { + "servers": [ + { + "url": "https://numbers.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid" + ], + "pathType": "list", + "parent": "/RegulatoryCompliance/Bundles" }, "post": { - "description": "Updates a Bundle in an account.", - "operationId": "UpdateBundle", + "description": "Creates an evaluation for a bundle", "parameters": [ { - "description": "The unique string that we created to identify the Bundle resource.", + "name": "BundleSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The unique string that identifies the Bundle resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Email": { - "description": "The email address that will receive updates when the Bundle resource changes status.", - "type": "string" - }, - "FriendlyName": { - "description": "The string that you assigned to describe the resource.", - "type": "string" - }, - "Status": { - "description": "The verification status of the Bundle resource.", - "enum": [ - "draft", - "pending-review", - "in-review", - "twilio-rejected", - "twilio-approved", - "provisionally-approved" - ], - "type": "string" - }, - "StatusCallback": { - "description": "The URL we call to inform your application of status changes.", - "format": "uri", - "type": "string" - } - }, - "title": "UpdateBundleRequest", - "type": "object" - } - } - } - }, "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.bundle" + "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.bundle.evaluation" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -1767,39 +1702,34 @@ "accountSid_authToken": [] } ], + "operationId": "CreateEvaluation", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://numbers.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "regulation_sid", - "friendly_name" - ], - "parent": "/RegulatoryCompliance", - "pathType": "instance" - } - }, - "/v2/RegulatoryCompliance/EndUserTypes": { - "description": "TODO: Resource-level docs", "get": { - "description": "Retrieve a list of all End-User Types.", - "operationId": "ListEndUserType", + "description": "Retrieve a list of Evaluations associated to the Bundle resource.", "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", + "name": "BundleSid", + "in": "path", + "description": "The unique string that identifies the Bundle resource.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true + }, + { "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1808,25 +1738,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListEvaluationResponse", "properties": { - "end_user_types": { + "results": { + "type": "array", "items": { - "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.end_user_type" - }, - "type": "array" + "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.bundle.evaluation" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1835,19 +1765,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListEndUserTypeResponse", - "type": "object" + } } } }, @@ -1859,50 +1789,117 @@ "accountSid_authToken": [] } ], + "operationId": "ListEvaluation", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/RegulatoryCompliance/Bundles/{BundleSid}/Evaluations/{Sid}": { "servers": [ { "url": "https://numbers.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ - "sid", - "friendly_name" + "sid" ], - "parent": "/RegulatoryCompliance", - "pathType": "list" + "pathType": "instance", + "parent": "/RegulatoryCompliance/Bundles" + }, + "get": { + "description": "Fetch specific Evaluation Instance.", + "parameters": [ + { + "name": "BundleSid", + "in": "path", + "description": "The unique string that we created to identify the Bundle resource.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The unique string that identifies the Evaluation resource.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^EL[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.bundle.evaluation" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "FetchEvaluation", + "x-maturity": [ + "GA" + ] } }, - "/v2/RegulatoryCompliance/EndUserTypes/{Sid}": { + "/v2/RegulatoryCompliance/Bundles/{BundleSid}/ItemAssignments": { + "servers": [ + { + "url": "https://numbers.twilio.com" + } + ], "description": "TODO: Resource-level docs", - "get": { - "description": "Fetch a specific End-User Type Instance.", - "operationId": "FetchEndUserType", + "x-twilio": { + "defaultOutputProperties": [ + "sid" + ], + "pathType": "list", + "parent": "/RegulatoryCompliance/Bundles" + }, + "post": { + "description": "Create a new Assigned Item.", "parameters": [ { - "description": "The unique string that identifies the End-User Type resource.", + "name": "BundleSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The unique string that we created to identify the Bundle resource.", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.end_user_type" + "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.bundle.item_assignment" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -1910,38 +1907,56 @@ "accountSid_authToken": [] } ], + "operationId": "CreateItemAssignment", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://numbers.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name" ], - "parent": "/RegulatoryCompliance", - "pathType": "instance" - } - }, - "/v2/RegulatoryCompliance/EndUsers": { - "description": "TODO: Resource-level docs", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateItemAssignmentRequest", + "properties": { + "ObjectSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", + "description": "The SID of an object bag that holds information of the different items." + } + }, + "required": [ + "ObjectSid" + ] + } + } + } + } + }, "get": { - "description": "Retrieve a list of all End User for an account.", - "operationId": "ListEndUser", + "description": "Retrieve a list of all Assigned Items for an account.", "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", + "name": "BundleSid", + "in": "path", + "description": "The unique string that we created to identify the Bundle resource.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true + }, + { "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1950,19 +1965,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListItemAssignmentResponse", "properties": { + "results": { + "type": "array", + "items": { + "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.bundle.item_assignment" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1971,84 +1992,23 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "results": { - "items": { - "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.end_user" - }, - "type": "array" + } } - }, - "title": "ListEndUserResponse", - "type": "object" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "Create a new End User.", - "operationId": "CreateEndUser", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Attributes": { - "description": "The set of parameters that are the attributes of the End User resource which are derived End User Types." - }, - "FriendlyName": { - "description": "The string that you assigned to describe the resource.", - "type": "string" - }, - "Type": { - "description": "The type of end user of the Bundle resource - can be `individual` or `business`.", - "enum": [ - "individual", - "business" - ], - "type": "string" } - }, - "required": [ - "FriendlyName", - "Type" - ], - "title": "CreateEndUserRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.end_user" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -2056,72 +2016,52 @@ "accountSid_authToken": [] } ], + "operationId": "ListItemAssignment", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/RegulatoryCompliance/Bundles/{BundleSid}/ItemAssignments/{Sid}": { "servers": [ { "url": "https://numbers.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ - "sid", - "friendly_name" + "sid" ], - "parent": "/RegulatoryCompliance", - "pathType": "list" - } - }, - "/v2/RegulatoryCompliance/EndUsers/{Sid}": { - "delete": { - "description": "Delete a specific End User.", - "operationId": "DeleteEndUser", + "pathType": "instance", + "parent": "/RegulatoryCompliance/Bundles" + }, + "get": { + "description": "Fetch specific Assigned Item Instance.", "parameters": [ { - "description": "The unique string created by Twilio to identify the End User resource.", + "name": "BundleSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The unique string that we created to identify the Bundle resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IT[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "description": "TODO: Resource-level docs", - "get": { - "description": "Fetch specific End User Instance.", - "operationId": "FetchEndUser", - "parameters": [ + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true + }, { - "description": "The unique string created by Twilio to identify the End User resource.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The unique string that we created to identify the Identity resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IT[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BV[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2129,7 +2069,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.end_user" + "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.bundle.item_assignment" } } }, @@ -2141,56 +2081,42 @@ "accountSid_authToken": [] } ], + "operationId": "FetchItemAssignment", "x-maturity": [ "GA" ] }, - "post": { - "description": "Update an existing End User.", - "operationId": "UpdateEndUser", + "delete": { + "description": "Remove an Assignment Item Instance.", "parameters": [ { - "description": "The unique string created by Twilio to identify the End User resource.", + "name": "BundleSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The unique string that we created to identify the Bundle resource.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The unique string that we created to identify the Identity resource.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^IT[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BV[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Attributes": { - "description": "The set of parameters that are the attributes of the End User resource which are derived End User Types." - }, - "FriendlyName": { - "description": "The string that you assigned to describe the resource.", - "type": "string" - } - }, - "title": "UpdateEndUserRequest", - "type": "object" - } - } - } - }, "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.end_user" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -2198,66 +2124,66 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteItemAssignment", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/RegulatoryCompliance/Regulations": { "servers": [ { "url": "https://numbers.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name" ], - "parent": "/RegulatoryCompliance", - "pathType": "instance" - } - }, - "/v2/RegulatoryCompliance/Regulations": { - "description": "TODO: Resource-level docs", + "pathType": "list", + "parent": "/RegulatoryCompliance" + }, "get": { "description": "Retrieve a list of all Regulations.", - "operationId": "ListRegulation", "parameters": [ { - "description": "The type of End User the regulation requires - can be `individual` or `business`.", - "in": "query", "name": "EndUserType", + "in": "query", + "description": "The type of End User the regulation requires - can be `individual` or `business`.", "schema": { + "type": "string", "enum": [ "individual", "business" - ], - "type": "string" + ] } }, { - "description": "The ISO country code of the phone number's country.", - "in": "query", "name": "IsoCountry", + "in": "query", + "description": "The ISO country code of the phone number's country.", "schema": { "type": "string" } }, { - "description": "The type of phone number that the regulatory requiremnt is restricting.", - "in": "query", "name": "NumberType", + "in": "query", + "description": "The type of phone number that the regulatory requiremnt is restricting.", "schema": { "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", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -2266,19 +2192,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListRegulationResponse", "properties": { + "results": { + "type": "array", + "items": { + "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.regulation" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -2287,25 +2219,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "results": { - "items": { - "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.regulation" - }, - "type": "array" + } } - }, - "title": "ListRegulationResponse", - "type": "object" + } } } }, @@ -2317,41 +2243,41 @@ "accountSid_authToken": [] } ], + "operationId": "ListRegulation", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/RegulatoryCompliance/Regulations/{Sid}": { "servers": [ { "url": "https://numbers.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name" ], - "parent": "/RegulatoryCompliance", - "pathType": "list" - } - }, - "/v2/RegulatoryCompliance/Regulations/{Sid}": { - "description": "TODO: Resource-level docs", + "pathType": "instance", + "parent": "/RegulatoryCompliance" + }, "get": { "description": "Fetch specific Regulation Instance.", - "operationId": "FetchRegulation", "parameters": [ { - "description": "The unique string that identifies the Regulation resource.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The unique string that identifies the Regulation resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^RN[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^RN[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2371,90 +2297,63 @@ "accountSid_authToken": [] } ], + "operationId": "FetchRegulation", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/RegulatoryCompliance": { "servers": [ { "url": "https://numbers.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name" - ], - "parent": "/RegulatoryCompliance", - "pathType": "instance" + "defaultOutputProperties": [], + "pathType": "list" } }, - "/v2/RegulatoryCompliance/SupportingDocumentTypes": { + "/v2/RegulatoryCompliance/Bundles/{BundleSid}/ReplaceItems": { + "servers": [ + { + "url": "https://numbers.twilio.com" + } + ], "description": "TODO: Resource-level docs", - "get": { - "description": "Retrieve a list of all Supporting Document Types.", - "operationId": "ListSupportingDocumentType", + "x-twilio": { + "defaultOutputProperties": [], + "pathType": "list", + "parent": "/RegulatoryCompliance/Bundles", + "className": "replace_items" + }, + "post": { + "description": "Replaces all bundle items in the target bundle (specified in the path) with all the bundle items of the source bundle (specified by the from_bundle_sid body param)", "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", - "name": "PageSize", + "name": "BundleSid", + "in": "path", + "description": "The unique string that identifies the Bundle where the item assignments are going to be replaced.", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "supporting_document_types": { - "items": { - "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.supporting_document_type" - }, - "type": "array" - } - }, - "title": "ListSupportingDocumentTypeResponse", - "type": "object" + "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.bundle.replace_items" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -2462,37 +2361,111 @@ "accountSid_authToken": [] } ], + "operationId": "CreateReplaceItems", "x-maturity": [ - "GA" - ] - }, + "Beta" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateReplaceItemsRequest", + "properties": { + "FromBundleSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$", + "description": "The source bundle sid to copy the item assignments from." + } + }, + "required": [ + "FromBundleSid" + ] + } + } + } + } + } + }, + "/v2/RegulatoryCompliance/SupportingDocuments": { "servers": [ { "url": "https://numbers.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name" ], - "parent": "/RegulatoryCompliance", - "pathType": "list" - } - }, - "/v2/RegulatoryCompliance/SupportingDocumentTypes/{Sid}": { - "description": "TODO: Resource-level docs", + "pathType": "list", + "parent": "/RegulatoryCompliance" + }, + "post": { + "description": "Create a new Supporting Document.", + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.supporting_document" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateSupportingDocument", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateSupportingDocumentRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "The string that you assigned to describe the resource." + }, + "Type": { + "type": "string", + "description": "The type of the Supporting Document." + }, + "Attributes": { + "description": "The set of parameters that are the attributes of the Supporting Documents resource which are derived Supporting Document Types." + } + }, + "required": [ + "FriendlyName", + "Type" + ] + } + } + } + } + }, "get": { - "description": "Fetch a specific Supporting Document Type Instance.", - "operationId": "FetchSupportingDocumentType", + "description": "Retrieve a list of all Supporting Document for an account.", "parameters": [ { - "description": "The unique string that identifies the Supporting Document Type resource.", - "in": "path", - "name": "Sid", - "required": true, + "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": "string" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], @@ -2501,7 +2474,46 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.supporting_document_type" + "type": "object", + "title": "ListSupportingDocumentResponse", + "properties": { + "results": { + "type": "array", + "items": { + "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.supporting_document" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -2513,39 +2525,41 @@ "accountSid_authToken": [] } ], + "operationId": "ListSupportingDocument", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/RegulatoryCompliance/SupportingDocuments/{Sid}": { "servers": [ { "url": "https://numbers.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name" ], - "parent": "/RegulatoryCompliance", - "pathType": "instance" - } - }, - "/v2/RegulatoryCompliance/SupportingDocuments": { - "description": "TODO: Resource-level docs", + "pathType": "instance", + "parent": "/RegulatoryCompliance" + }, "get": { - "description": "Retrieve a list of all Supporting Document for an account.", - "operationId": "ListSupportingDocument", + "description": "Fetch specific Supporting Document Instance.", "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", - "name": "PageSize", + "name": "Sid", + "in": "path", + "description": "The unique string created by Twilio to identify the Supporting Document resource.", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RD[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2553,46 +2567,7 @@ "content": { "application/json": { "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "results": { - "items": { - "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.supporting_document" - }, - "type": "array" - } - }, - "title": "ListSupportingDocumentResponse", - "type": "object" + "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.supporting_document" } } }, @@ -2604,42 +2579,29 @@ "accountSid_authToken": [] } ], + "operationId": "FetchSupportingDocument", "x-maturity": [ "GA" ] }, "post": { - "description": "Create a new Supporting Document.", - "operationId": "CreateSupportingDocument", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Attributes": { - "description": "The set of parameters that are the attributes of the Supporting Documents resource which are derived Supporting Document Types." - }, - "FriendlyName": { - "description": "The string that you assigned to describe the resource.", - "type": "string" - }, - "Type": { - "description": "The type of the Supporting Document.", - "type": "string" - } - }, - "required": [ - "FriendlyName", - "Type" - ], - "title": "CreateSupportingDocumentRequest", - "type": "object" - } - } + "description": "Update an existing Supporting Document.", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The unique string created by Twilio to identify the Supporting Document resource.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RD[0-9a-fA-F]{32}$" + }, + "required": true } - }, + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { @@ -2647,7 +2609,7 @@ } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -2655,40 +2617,44 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateSupportingDocument", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://numbers.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name" ], - "parent": "/RegulatoryCompliance", - "pathType": "list" - } - }, - "/v2/RegulatoryCompliance/SupportingDocuments/{Sid}": { + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateSupportingDocumentRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "The string that you assigned to describe the resource." + }, + "Attributes": { + "description": "The set of parameters that are the attributes of the Supporting Document resource which are derived Supporting Document Types." + } + } + } + } + } + } + }, "delete": { "description": "Delete a specific Supporting Document.", - "operationId": "DeleteSupportingDocument", "parameters": [ { - "description": "The unique string created by Twilio to identify the Supporting Document resource.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The unique string created by Twilio to identify the Supporting Document resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^RD[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^RD[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2701,25 +2667,38 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteSupportingDocument", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/RegulatoryCompliance/SupportingDocumentTypes": { + "servers": [ + { + "url": "https://numbers.twilio.com" + } + ], "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name" + ], + "pathType": "list", + "parent": "/RegulatoryCompliance" + }, "get": { - "description": "Fetch specific Supporting Document Instance.", - "operationId": "FetchSupportingDocument", + "description": "Retrieve a list of all Supporting Document Types.", "parameters": [ { - "description": "The unique string created by Twilio to identify the Supporting Document resource.", - "in": "path", - "name": "Sid", - "required": true, + "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^RD[0-9a-fA-F]{32}$", - "type": "string" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], @@ -2728,7 +2707,46 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.supporting_document" + "type": "object", + "title": "ListSupportingDocumentTypeResponse", + "properties": { + "supporting_document_types": { + "type": "array", + "items": { + "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.supporting_document_type" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -2740,52 +2758,46 @@ "accountSid_authToken": [] } ], + "operationId": "ListSupportingDocumentType", "x-maturity": [ "GA" ] + } + }, + "/v2/RegulatoryCompliance/SupportingDocumentTypes/{Sid}": { + "servers": [ + { + "url": "https://numbers.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name" + ], + "pathType": "instance", + "parent": "/RegulatoryCompliance" }, - "post": { - "description": "Update an existing Supporting Document.", - "operationId": "UpdateSupportingDocument", + "get": { + "description": "Fetch a specific Supporting Document Type Instance.", "parameters": [ { - "description": "The unique string created by Twilio to identify the Supporting Document resource.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The unique string that identifies the Supporting Document Type resource.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^RD[0-9a-fA-F]{32}$", "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Attributes": { - "description": "The set of parameters that are the attributes of the Supporting Document resource which are derived Supporting Document Types." - }, - "FriendlyName": { - "description": "The string that you assigned to describe the resource.", - "type": "string" - } - }, - "title": "UpdateSupportingDocumentRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.supporting_document" + "$ref": "#/components/schemas/numbers.v2.regulatory_compliance.supporting_document_type" } } }, @@ -2797,22 +2809,10 @@ "accountSid_authToken": [] } ], + "operationId": "FetchSupportingDocumentType", "x-maturity": [ "GA" ] - }, - "servers": [ - { - "url": "https://numbers.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name" - ], - "parent": "/RegulatoryCompliance", - "pathType": "instance" } } }, @@ -2823,12 +2823,12 @@ ], "x-maturity": [ { - "description": "This product is Generally Available.", - "name": "GA" + "name": "GA", + "description": "This product is Generally Available." }, { - "description": "PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution.", - "name": "Beta" + "name": "Beta", + "description": "PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution." } ] } \ No newline at end of file diff --git a/spec/json/twilio_pricing_v1.json b/spec/json/twilio_pricing_v1.json index 17d6c478..64b1ea18 100644 --- a/spec/json/twilio_pricing_v1.json +++ b/spec/json/twilio_pricing_v1.json @@ -2,82 +2,64 @@ "components": { "schemas": { "pricing.v1.messaging": { + "type": "object", "properties": { - "links": { - "format": "uri-map", - "nullable": true, - "type": "object" - }, "name": { - "nullable": true, - "type": "string" + "type": "string", + "nullable": true }, "url": { + "type": "string", "format": "uri", - "nullable": true, - "type": "string" + "nullable": true + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true } - }, - "type": "object" + } }, "pricing.v1.messaging.messaging_country": { + "type": "object", "properties": { "country": { - "description": "The name of the country", + "type": "string", "nullable": true, - "type": "string" + "description": "The name of the country" }, "iso_country": { - "description": "The ISO country code", + "type": "string", "format": "iso-country-code", "nullable": true, - "type": "string" + "description": "The ISO country code" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" } - }, - "type": "object" + } }, "pricing.v1.messaging.messaging_country-instance": { + "type": "object", "properties": { "country": { - "description": "The name of the country", - "nullable": true, - "type": "string" - }, - "inbound_sms_prices": { - "description": "The list of InboundPrice records", - "items": { - "format": "inbound-sms-price", - "properties": { - "base_price": { - "type": "number" - }, - "current_price": { - "type": "number" - }, - "number_type": { - "type": "string" - } - }, - "type": "object" - }, + "type": "string", "nullable": true, - "type": "array" + "description": "The name of the country" }, "iso_country": { - "description": "The ISO country code", + "type": "string", "format": "iso-country-code", "nullable": true, - "type": "string" + "description": "The ISO country code" }, "outbound_sms_prices": { - "description": "The list of OutboundSMSPrice records", + "type": "array", "items": { + "type": "object", "format": "outbound-sms-price", "properties": { "carrier": { @@ -90,7 +72,9 @@ "type": "string" }, "prices": { + "type": "array", "items": { + "type": "object", "properties": { "base_price": { "type": "number" @@ -101,89 +85,107 @@ "number_type": { "type": "string" } - }, - "type": "object" - }, - "type": "array" + } + } } - }, - "type": "object" + } + }, + "nullable": true, + "description": "The list of OutboundSMSPrice records" + }, + "inbound_sms_prices": { + "type": "array", + "items": { + "type": "object", + "format": "inbound-sms-price", + "properties": { + "base_price": { + "type": "number" + }, + "current_price": { + "type": "number" + }, + "number_type": { + "type": "string" + } + } }, "nullable": true, - "type": "array" + "description": "The list of InboundPrice records" }, "price_unit": { - "description": "The currency in which prices are measured, in ISO 4127 format (e.g. usd, eur, jpy)", + "type": "string", "format": "currency", "nullable": true, - "type": "string" + "description": "The currency in which prices are measured, in ISO 4127 format (e.g. usd, eur, jpy)" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" } - }, - "type": "object" + } }, "pricing.v1.phone_number": { + "type": "object", "properties": { - "links": { - "format": "uri-map", - "nullable": true, - "type": "object" - }, "name": { - "nullable": true, - "type": "string" + "type": "string", + "nullable": true }, "url": { + "type": "string", "format": "uri", - "nullable": true, - "type": "string" + "nullable": true + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true } - }, - "type": "object" + } }, "pricing.v1.phone_number.phone_number_country": { + "type": "object", "properties": { "country": { - "description": "The name of the country", + "type": "string", "nullable": true, - "type": "string" + "description": "The name of the country" }, "iso_country": { - "description": "The ISO country code ", + "type": "string", "format": "iso-country-code", "nullable": true, - "type": "string" + "description": "The ISO country code " }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" } - }, - "type": "object" + } }, "pricing.v1.phone_number.phone_number_country-instance": { + "type": "object", "properties": { "country": { - "description": "The name of the country", + "type": "string", "nullable": true, - "type": "string" + "description": "The name of the country" }, "iso_country": { - "description": "The ISO country code ", + "type": "string", "format": "iso-country-code", "nullable": true, - "type": "string" + "description": "The ISO country code " }, "phone_number_prices": { - "description": "The list of PhoneNumberPrices records", + "type": "array", "items": { + "type": "object", "format": "phone-number-price", "properties": { "base_price": { @@ -195,105 +197,111 @@ "number_type": { "type": "string" } - }, - "type": "object" + } }, "nullable": true, - "type": "array" + "description": "The list of PhoneNumberPrices records" }, "price_unit": { - "description": "The currency in which prices are measured, in ISO 4127 format (e.g. usd, eur, jpy)", + "type": "string", "format": "currency", "nullable": true, - "type": "string" + "description": "The currency in which prices are measured, in ISO 4127 format (e.g. usd, eur, jpy)" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" } - }, - "type": "object" + } }, "pricing.v1.voice": { + "type": "object", "properties": { - "links": { - "format": "uri-map", - "nullable": true, - "type": "object" - }, "name": { - "nullable": true, - "type": "string" + "type": "string", + "nullable": true }, "url": { + "type": "string", "format": "uri", - "nullable": true, - "type": "string" + "nullable": true + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true } - }, - "type": "object" + } }, "pricing.v1.voice.voice_country": { + "type": "object", "properties": { "country": { - "description": "The name of the country", + "type": "string", "nullable": true, - "type": "string" + "description": "The name of the country" }, "iso_country": { - "description": "The ISO country code", + "type": "string", "format": "iso-country-code", "nullable": true, - "type": "string" + "description": "The ISO country code" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" } - }, - "type": "object" + } }, "pricing.v1.voice.voice_country-instance": { + "type": "object", "properties": { "country": { - "description": "The name of the country", + "type": "string", "nullable": true, - "type": "string" + "description": "The name of the country" }, - "inbound_call_prices": { - "description": "The list of InboundCallPrice records", + "iso_country": { + "type": "string", + "format": "iso-country-code", + "nullable": true, + "description": "The ISO country code" + }, + "outbound_prefix_prices": { + "type": "array", "items": { - "format": "inbound-call-price", + "type": "object", + "format": "outbound-prefix-price", "properties": { + "prefixes": { + "type": "array", + "items": { + "type": "string" + } + }, "base_price": { "type": "number" }, "current_price": { "type": "number" }, - "number_type": { + "friendly_name": { "type": "string" } - }, - "type": "object" + } }, "nullable": true, - "type": "array" - }, - "iso_country": { - "description": "The ISO country code", - "format": "iso-country-code", - "nullable": true, - "type": "string" + "description": "The list of OutboundPrefixPrice records" }, - "outbound_prefix_prices": { - "description": "The list of OutboundPrefixPrice records", + "inbound_call_prices": { + "type": "array", "items": { - "format": "outbound-prefix-price", + "type": "object", + "format": "inbound-call-price", "properties": { "base_price": { "type": "number" @@ -301,133 +309,125 @@ "current_price": { "type": "number" }, - "friendly_name": { + "number_type": { "type": "string" - }, - "prefixes": { - "items": { - "type": "string" - }, - "type": "array" } - }, - "type": "object" + } }, "nullable": true, - "type": "array" + "description": "The list of InboundCallPrice records" }, "price_unit": { - "description": "The currency in which prices are measured, in ISO 4127 format (e.g. usd, eur, jpy)", + "type": "string", "format": "currency", "nullable": true, - "type": "string" + "description": "The currency in which prices are measured, in ISO 4127 format (e.g. usd, eur, jpy)" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" } - }, - "type": "object" + } }, "pricing.v1.voice.voice_number": { + "type": "object", "properties": { + "number": { + "type": "string", + "format": "phone-number", + "nullable": true, + "description": "The phone number" + }, "country": { - "description": "The name of the country", + "type": "string", "nullable": true, - "type": "string" + "description": "The name of the country" }, - "inbound_call_price": { - "description": "The InboundCallPrice record", - "format": "inbound-call-price", + "iso_country": { + "type": "string", + "format": "iso-country-code", "nullable": true, + "description": "The ISO country code" + }, + "outbound_call_price": { + "type": "object", + "format": "outbound-call-price", "properties": { "base_price": { "type": "number" }, "current_price": { "type": "number" - }, - "number_type": { - "type": "string" } }, - "type": "object" - }, - "iso_country": { - "description": "The ISO country code", - "format": "iso-country-code", - "nullable": true, - "type": "string" - }, - "number": { - "description": "The phone number", - "format": "phone-number", "nullable": true, - "type": "string" + "description": "The OutboundCallPrice record" }, - "outbound_call_price": { - "description": "The OutboundCallPrice record", - "format": "outbound-call-price", - "nullable": true, + "inbound_call_price": { + "type": "object", + "format": "inbound-call-price", "properties": { "base_price": { "type": "number" }, "current_price": { "type": "number" + }, + "number_type": { + "type": "string" } }, - "type": "object" + "nullable": true, + "description": "The InboundCallPrice record" }, "price_unit": { - "description": "The currency in which prices are measured, in ISO 4127 format (e.g. usd, eur, jpy)", + "type": "string", "format": "currency", "nullable": true, - "type": "string" + "description": "The currency in which prices are measured, in ISO 4127 format (e.g. usd, eur, jpy)" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" } - }, - "type": "object" + } } }, "securitySchemes": { "accountSid_authToken": { - "scheme": "basic", - "type": "http" + "type": "http", + "scheme": "basic" } } }, "info": { + "title": "Twilio - Pricing", + "description": "This is the public Twilio REST API.", + "termsOfService": "https://www.twilio.com/legal/tos", "contact": { - "email": "support@twilio.com", "name": "Twilio Support", - "url": "https://support.twilio.com" + "url": "https://support.twilio.com", + "email": "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 - Pricing", "version": "1.30.0" }, "openapi": "3.0.1", "paths": { "/v1/Messaging": { - "description": "TODO: Resource-level docs", "servers": [ { "url": "https://pricing.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "name" @@ -436,19 +436,33 @@ } }, "/v1/Messaging/Countries": { + "servers": [ + { + "url": "https://pricing.twilio.com" + } + ], "description": "Messaging pricing by country", + "x-twilio": { + "defaultOutputProperties": [ + "country", + "outbound_sms_prices", + "inbound_sms_prices", + "price_unit" + ], + "pathType": "list", + "parent": "/Messaging" + }, "get": { "description": "", - "operationId": "ListMessagingCountry", "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -457,25 +471,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListMessagingCountryResponse", "properties": { "countries": { + "type": "array", "items": { "$ref": "#/components/schemas/pricing.v1.messaging.messaging_country" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -484,19 +498,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListMessagingCountryResponse", - "type": "object" + } } } }, @@ -508,15 +522,19 @@ "accountSid_authToken": [] } ], + "operationId": "ListMessagingCountry", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Messaging/Countries/{IsoCountry}": { "servers": [ { "url": "https://pricing.twilio.com" } ], + "description": "Messaging pricing by country", "x-twilio": { "defaultOutputProperties": [ "country", @@ -524,25 +542,21 @@ "inbound_sms_prices", "price_unit" ], - "parent": "/Messaging", - "pathType": "list" - } - }, - "/v1/Messaging/Countries/{IsoCountry}": { - "description": "Messaging pricing by country", + "pathType": "instance", + "parent": "/Messaging" + }, "get": { "description": "", - "operationId": "FetchMessagingCountry", "parameters": [ { - "description": "The [ISO country code](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) of the pricing information to fetch.", - "in": "path", "name": "IsoCountry", - "required": true, + "in": "path", + "description": "The [ISO country code](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) of the pricing information to fetch.", "schema": { - "format": "iso-country-code", - "type": "string" - } + "type": "string", + "format": "iso-country-code" + }, + "required": true } ], "responses": { @@ -562,54 +576,52 @@ "accountSid_authToken": [] } ], + "operationId": "FetchMessagingCountry", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/PhoneNumbers": { "servers": [ { "url": "https://pricing.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ - "country", - "outbound_sms_prices", - "inbound_sms_prices", - "price_unit" + "name" ], - "parent": "/Messaging", - "pathType": "instance" + "pathType": "list" } }, - "/v1/PhoneNumbers": { - "description": "TODO: Resource-level docs", + "/v1/PhoneNumbers/Countries": { "servers": [ { "url": "https://pricing.twilio.com" } ], + "description": "Phone number pricing by country", "x-twilio": { "defaultOutputProperties": [ - "name" + "country", + "price_unit" ], - "pathType": "list" - } - }, - "/v1/PhoneNumbers/Countries": { - "description": "Phone number pricing by country", + "pathType": "list", + "parent": "/PhoneNumbers" + }, "get": { "description": "", - "operationId": "ListPhoneNumberCountry", "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -618,25 +630,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListPhoneNumberCountryResponse", "properties": { "countries": { + "type": "array", "items": { "$ref": "#/components/schemas/pricing.v1.phone_number.phone_number_country" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -645,19 +657,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListPhoneNumberCountryResponse", - "type": "object" + } } } }, @@ -669,39 +681,39 @@ "accountSid_authToken": [] } ], + "operationId": "ListPhoneNumberCountry", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/PhoneNumbers/Countries/{IsoCountry}": { "servers": [ { "url": "https://pricing.twilio.com" } ], + "description": "Phone number pricing by country", "x-twilio": { "defaultOutputProperties": [ "country", "price_unit" ], - "parent": "/PhoneNumbers", - "pathType": "list" - } - }, - "/v1/PhoneNumbers/Countries/{IsoCountry}": { - "description": "Phone number pricing by country", + "pathType": "instance", + "parent": "/PhoneNumbers" + }, "get": { "description": "", - "operationId": "FetchPhoneNumberCountry", "parameters": [ { - "description": "The [ISO country code](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) of the pricing information to fetch.", - "in": "path", "name": "IsoCountry", - "required": true, + "in": "path", + "description": "The [ISO country code](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) of the pricing information to fetch.", "schema": { - "format": "iso-country-code", - "type": "string" - } + "type": "string", + "format": "iso-country-code" + }, + "required": true } ], "responses": { @@ -721,52 +733,52 @@ "accountSid_authToken": [] } ], + "operationId": "FetchPhoneNumberCountry", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Voice": { "servers": [ { "url": "https://pricing.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ - "country", - "price_unit" + "name" ], - "parent": "/PhoneNumbers", "pathType": "instance" } }, - "/v1/Voice": { - "description": "TODO: Resource-level docs", + "/v1/Voice/Countries": { "servers": [ { "url": "https://pricing.twilio.com" } ], + "description": "Voice pricing by country", "x-twilio": { "defaultOutputProperties": [ - "name" + "country", + "price_unit" ], - "pathType": "instance" - } - }, - "/v1/Voice/Countries": { - "description": "Voice pricing by country", + "pathType": "list", + "parent": "/Voice" + }, "get": { "description": "", - "operationId": "ListVoiceCountry", "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -775,25 +787,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListVoiceCountryResponse", "properties": { "countries": { + "type": "array", "items": { "$ref": "#/components/schemas/pricing.v1.voice.voice_country" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -802,19 +814,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListVoiceCountryResponse", - "type": "object" + } } } }, @@ -826,39 +838,39 @@ "accountSid_authToken": [] } ], + "operationId": "ListVoiceCountry", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Voice/Countries/{IsoCountry}": { "servers": [ { "url": "https://pricing.twilio.com" } ], + "description": "Voice pricing by country", "x-twilio": { "defaultOutputProperties": [ "country", "price_unit" ], - "parent": "/Voice", - "pathType": "list" - } - }, - "/v1/Voice/Countries/{IsoCountry}": { - "description": "Voice pricing by country", + "pathType": "instance", + "parent": "/Voice" + }, "get": { "description": "", - "operationId": "FetchVoiceCountry", "parameters": [ { - "description": "The [ISO country code](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) of the pricing information to fetch.", - "in": "path", "name": "IsoCountry", - "required": true, + "in": "path", + "description": "The [ISO country code](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) of the pricing information to fetch.", "schema": { - "format": "iso-country-code", - "type": "string" - } + "type": "string", + "format": "iso-country-code" + }, + "required": true } ], "responses": { @@ -878,39 +890,41 @@ "accountSid_authToken": [] } ], + "operationId": "FetchVoiceCountry", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Voice/Numbers/{Number}": { "servers": [ { "url": "https://pricing.twilio.com" } ], + "description": "Voice pricing for a specific phone number", "x-twilio": { "defaultOutputProperties": [ "country", + "outbound_call_price", + "inbound_call_price", "price_unit" ], - "parent": "/Voice", - "pathType": "instance" - } - }, - "/v1/Voice/Numbers/{Number}": { - "description": "Voice pricing for a specific phone number", + "pathType": "instance", + "parent": "/Voice" + }, "get": { "description": "", - "operationId": "FetchVoiceNumber", "parameters": [ { - "description": "The phone number to fetch.", - "in": "path", "name": "Number", - "required": true, + "in": "path", + "description": "The phone number to fetch.", "schema": { - "format": "phone-number", - "type": "string" - } + "type": "string", + "format": "phone-number" + }, + "required": true } ], "responses": { @@ -930,24 +944,10 @@ "accountSid_authToken": [] } ], + "operationId": "FetchVoiceNumber", "x-maturity": [ "GA" ] - }, - "servers": [ - { - "url": "https://pricing.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "country", - "outbound_call_price", - "inbound_call_price", - "price_unit" - ], - "parent": "/Voice", - "pathType": "instance" } } }, @@ -958,8 +958,8 @@ ], "x-maturity": [ { - "description": "This product is Generally Available.", - "name": "GA" + "name": "GA", + "description": "This product is Generally Available." } ] } \ No newline at end of file diff --git a/spec/json/twilio_pricing_v2.json b/spec/json/twilio_pricing_v2.json index a33aff61..a59ab6fe 100644 --- a/spec/json/twilio_pricing_v2.json +++ b/spec/json/twilio_pricing_v2.json @@ -2,70 +2,78 @@ "components": { "schemas": { "pricing.v2.trunking_country": { + "type": "object", "properties": { "country": { - "description": "The name of the country", + "type": "string", "nullable": true, - "type": "string" + "description": "The name of the country" }, "iso_country": { - "description": "The ISO country code", + "type": "string", "format": "iso-country-code", "nullable": true, - "type": "string" + "description": "The ISO country code" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" } - }, - "type": "object" + } }, "pricing.v2.trunking_country-instance": { + "type": "object", "properties": { "country": { - "description": "The name of the country", + "type": "string", "nullable": true, - "type": "string" + "description": "The name of the country" }, "iso_country": { - "description": "The ISO country code", + "type": "string", "format": "iso-country-code", "nullable": true, - "type": "string" + "description": "The ISO country code" }, - "originating_call_prices": { - "description": "The list of OriginatingCallPrice records", + "terminating_prefix_prices": { + "type": "array", "items": { - "format": "inbound-call-price", + "type": "object", + "format": "outbound-prefix-price-with-origin", "properties": { + "origination_prefixes": { + "type": "array", + "items": { + "type": "string" + } + }, + "destination_prefixes": { + "type": "array", + "items": { + "type": "string" + } + }, "base_price": { "type": "number" }, "current_price": { "type": "number" }, - "number_type": { + "friendly_name": { "type": "string" } - }, - "type": "object" + } }, "nullable": true, - "type": "array" + "description": "The list of TerminatingPrefixPrice records" }, - "price_unit": { - "description": "The currency in which prices are measured, in ISO 4127 format (e.g. usd, eur, jpy)", - "format": "currency", - "nullable": true, - "type": "string" - }, - "terminating_prefix_prices": { - "description": "The list of TerminatingPrefixPrice records", + "originating_call_prices": { + "type": "array", "items": { - "format": "outbound-prefix-price-with-origin", + "type": "object", + "format": "inbound-call-price", "properties": { "base_price": { "type": "number" @@ -73,59 +81,88 @@ "current_price": { "type": "number" }, - "destination_prefixes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "friendly_name": { + "number_type": { "type": "string" - }, - "origination_prefixes": { - "items": { - "type": "string" - }, - "type": "array" } - }, - "type": "object" + } }, "nullable": true, - "type": "array" + "description": "The list of OriginatingCallPrice records" + }, + "price_unit": { + "type": "string", + "format": "currency", + "nullable": true, + "description": "The currency in which prices are measured, in ISO 4127 format (e.g. usd, eur, jpy)" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" } - }, - "type": "object" + } }, "pricing.v2.trunking_number": { + "type": "object", "properties": { - "country": { - "description": "The name of the country", + "destination_number": { + "type": "string", + "format": "phone-number", "nullable": true, - "type": "string" + "description": "The destination phone number, in E.164 format" }, - "destination_number": { - "description": "The destination phone number, in E.164 format", + "origination_number": { + "type": "string", "format": "phone-number", "nullable": true, - "type": "string" + "description": "The origination phone number, in E.164 format" + }, + "country": { + "type": "string", + "nullable": true, + "description": "The name of the country" }, "iso_country": { - "description": "The ISO country code", + "type": "string", "format": "iso-country-code", "nullable": true, - "type": "string" + "description": "The ISO country code" + }, + "terminating_prefix_prices": { + "type": "array", + "items": { + "type": "object", + "format": "outbound-prefix-price-with-origin", + "properties": { + "origination_prefixes": { + "type": "array", + "items": { + "type": "string" + } + }, + "destination_prefixes": { + "type": "array", + "items": { + "type": "string" + } + }, + "base_price": { + "type": "number" + }, + "current_price": { + "type": "number" + }, + "friendly_name": { + "type": "string" + } + } + }, + "nullable": true }, "originating_call_price": { - "description": "The OriginatingCallPrice record", + "type": "object", "format": "inbound-call-price", - "nullable": true, "properties": { "base_price": { "type": "number" @@ -137,141 +174,118 @@ "type": "string" } }, - "type": "object" - }, - "origination_number": { - "description": "The origination phone number, in E.164 format", - "format": "phone-number", "nullable": true, - "type": "string" + "description": "The OriginatingCallPrice record" }, "price_unit": { - "description": "The currency in which prices are measured, in ISO 4127 format (e.g. usd, eur, jpy)", + "type": "string", "format": "currency", "nullable": true, - "type": "string" - }, - "terminating_prefix_prices": { - "items": { - "format": "outbound-prefix-price-with-origin", - "properties": { - "base_price": { - "type": "number" - }, - "current_price": { - "type": "number" - }, - "destination_prefixes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "friendly_name": { - "type": "string" - }, - "origination_prefixes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "nullable": true, - "type": "array" + "description": "The currency in which prices are measured, in ISO 4127 format (e.g. usd, eur, jpy)" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" } - }, - "type": "object" + } }, "pricing.v2.voice": { + "type": "object", "properties": { - "links": { - "description": "The URLs of the related Countries and Numbers resources", - "format": "uri-map", - "nullable": true, - "type": "object" - }, "name": { - "description": "The resource name", + "type": "string", "nullable": true, - "type": "string" + "description": "The resource name" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "The URLs of the related Countries and Numbers resources" } - }, - "type": "object" + } }, "pricing.v2.voice.voice_country": { + "type": "object", "properties": { "country": { - "description": "The name of the country", + "type": "string", "nullable": true, - "type": "string" + "description": "The name of the country" }, "iso_country": { - "description": "The ISO country code", + "type": "string", "format": "iso-country-code", "nullable": true, - "type": "string" + "description": "The ISO country code" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" } - }, - "type": "object" + } }, "pricing.v2.voice.voice_country-instance": { + "type": "object", "properties": { "country": { - "description": "The name of the country", + "type": "string", "nullable": true, - "type": "string" + "description": "The name of the country" }, - "inbound_call_prices": { - "description": "The list of InboundCallPrice records", + "iso_country": { + "type": "string", + "format": "iso-country-code", + "nullable": true, + "description": "The ISO country code" + }, + "outbound_prefix_prices": { + "type": "array", "items": { - "format": "inbound-call-price", + "type": "object", + "format": "outbound-prefix-price-with-origin", "properties": { + "origination_prefixes": { + "type": "array", + "items": { + "type": "string" + } + }, + "destination_prefixes": { + "type": "array", + "items": { + "type": "string" + } + }, "base_price": { "type": "number" }, "current_price": { "type": "number" }, - "number_type": { + "friendly_name": { "type": "string" } - }, - "type": "object" + } }, "nullable": true, - "type": "array" + "description": "The list of OutboundPrefixPriceWithOrigin records" }, - "iso_country": { - "description": "The ISO country code", - "format": "iso-country-code", - "nullable": true, - "type": "string" - }, - "outbound_prefix_prices": { - "description": "The list of OutboundPrefixPriceWithOrigin records", + "inbound_call_prices": { + "type": "array", "items": { - "format": "outbound-prefix-price-with-origin", + "type": "object", + "format": "inbound-call-price", "properties": { "base_price": { "type": "number" @@ -279,87 +293,58 @@ "current_price": { "type": "number" }, - "destination_prefixes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "friendly_name": { + "number_type": { "type": "string" - }, - "origination_prefixes": { - "items": { - "type": "string" - }, - "type": "array" } - }, - "type": "object" + } }, "nullable": true, - "type": "array" + "description": "The list of InboundCallPrice records" }, "price_unit": { - "description": "The currency in which prices are measured, in ISO 4127 format (e.g. usd, eur, jpy)", + "type": "string", "format": "currency", "nullable": true, - "type": "string" + "description": "The currency in which prices are measured, in ISO 4127 format (e.g. usd, eur, jpy)" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" } - }, - "type": "object" + } }, "pricing.v2.voice.voice_number": { + "type": "object", "properties": { - "country": { - "description": "The name of the country", + "destination_number": { + "type": "string", + "format": "phone-number", "nullable": true, - "type": "string" + "description": "The destination phone number, in E.164 format" }, - "destination_number": { - "description": "The destination phone number, in E.164 format", + "origination_number": { + "type": "string", "format": "phone-number", "nullable": true, - "type": "string" + "description": "The origination phone number, in E.164 format" }, - "inbound_call_price": { - "description": "The InboundCallPrice record", - "format": "inbound-call-price", + "country": { + "type": "string", "nullable": true, - "properties": { - "base_price": { - "type": "number" - }, - "current_price": { - "type": "number" - }, - "number_type": { - "type": "string" - } - }, - "type": "object" + "description": "The name of the country" }, "iso_country": { - "description": "The ISO country code", + "type": "string", "format": "iso-country-code", "nullable": true, - "type": "string" - }, - "origination_number": { - "description": "The origination phone number, in E.164 format", - "format": "phone-number", - "nullable": true, - "type": "string" + "description": "The ISO country code" }, "outbound_call_prices": { - "description": "The list of OutboundCallPriceWithOrigin records", + "type": "array", "items": { + "type": "object", "format": "outbound-call-price-with-origin", "properties": { "base_price": { @@ -369,71 +354,97 @@ "type": "number" }, "origination_prefixes": { + "type": "array", "items": { "type": "string" - }, - "type": "array" + } } + } + }, + "nullable": true, + "description": "The list of OutboundCallPriceWithOrigin records" + }, + "inbound_call_price": { + "type": "object", + "format": "inbound-call-price", + "properties": { + "base_price": { + "type": "number" + }, + "current_price": { + "type": "number" }, - "type": "object" + "number_type": { + "type": "string" + } }, "nullable": true, - "type": "array" + "description": "The InboundCallPrice record" }, "price_unit": { - "description": "The currency in which prices are measured, in ISO 4127 format (e.g. usd, eur, jpy)", + "type": "string", "format": "currency", "nullable": true, - "type": "string" + "description": "The currency in which prices are measured, in ISO 4127 format (e.g. usd, eur, jpy)" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" } - }, - "type": "object" + } } }, "securitySchemes": { "accountSid_authToken": { - "scheme": "basic", - "type": "http" + "type": "http", + "scheme": "basic" } } }, "info": { + "title": "Twilio - Pricing", + "description": "This is the public Twilio REST API.", + "termsOfService": "https://www.twilio.com/legal/tos", "contact": { - "email": "support@twilio.com", "name": "Twilio Support", - "url": "https://support.twilio.com" + "url": "https://support.twilio.com", + "email": "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 - Pricing", "version": "1.30.0" }, "openapi": "3.0.1", "paths": { "/v2/Trunking/Countries": { + "servers": [ + { + "url": "https://pricing.twilio.com" + } + ], "description": "Trunking pricing by country", + "x-twilio": { + "defaultOutputProperties": [ + "country", + "price_unit" + ], + "pathType": "list" + }, "get": { "description": "", - "operationId": "ListTrunkingCountry", "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -442,25 +453,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListTrunkingCountryResponse", "properties": { "countries": { + "type": "array", "items": { "$ref": "#/components/schemas/pricing.v2.trunking_country" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -469,19 +480,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListTrunkingCountryResponse", - "type": "object" + } } } }, @@ -493,38 +504,38 @@ "accountSid_authToken": [] } ], + "operationId": "ListTrunkingCountry", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/Trunking/Countries/{IsoCountry}": { "servers": [ { "url": "https://pricing.twilio.com" } ], + "description": "Trunking pricing by country", "x-twilio": { "defaultOutputProperties": [ "country", "price_unit" ], - "pathType": "list" - } - }, - "/v2/Trunking/Countries/{IsoCountry}": { - "description": "Trunking pricing by country", + "pathType": "instance" + }, "get": { "description": "Fetch a specific Country.", - "operationId": "FetchTrunkingCountry", "parameters": [ { - "description": "The [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) of the origin-based voice pricing information to fetch.", - "in": "path", "name": "IsoCountry", - "required": true, + "in": "path", + "description": "The [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) of the origin-based voice pricing information to fetch.", "schema": { - "format": "iso-country-code", - "type": "string" - } + "type": "string", + "format": "iso-country-code" + }, + "required": true } ], "responses": { @@ -544,46 +555,47 @@ "accountSid_authToken": [] } ], + "operationId": "FetchTrunkingCountry", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/Trunking/Numbers/{DestinationNumber}": { "servers": [ { "url": "https://pricing.twilio.com" } ], + "description": "Trunking pricing for a specific phone number", "x-twilio": { "defaultOutputProperties": [ "country", + "inbound_call_price", "price_unit" ], "pathType": "instance" - } - }, - "/v2/Trunking/Numbers/{DestinationNumber}": { - "description": "Trunking pricing for a specific phone number", + }, "get": { "description": "Fetch pricing information for a specific destination and, optionally, origination phone number.", - "operationId": "FetchTrunkingNumber", "parameters": [ { - "description": "The destination phone number, in [E.164](https://www.twilio.com/docs/glossary/what-e164) format, for which to fetch the origin-based voice pricing information. E.164 format consists of a + followed by the country code and subscriber number.", - "in": "path", "name": "DestinationNumber", - "required": true, + "in": "path", + "description": "The destination phone number, in [E.164](https://www.twilio.com/docs/glossary/what-e164) format, for which to fetch the origin-based voice pricing information. E.164 format consists of a + followed by the country code and subscriber number.", "schema": { - "format": "phone-number", - "type": "string" - } + "type": "string", + "format": "phone-number" + }, + "required": true }, { - "description": "The origination phone number, in [E.164](https://www.twilio.com/docs/glossary/what-e164) format, for which to fetch the origin-based voice pricing information. E.164 format consists of a + followed by the country code and subscriber number.", - "in": "query", "name": "OriginationNumber", + "in": "query", + "description": "The origination phone number, in [E.164](https://www.twilio.com/docs/glossary/what-e164) format, for which to fetch the origin-based voice pricing information. E.164 format consists of a + followed by the country code and subscriber number.", "schema": { - "format": "phone-number", - "type": "string" + "type": "string", + "format": "phone-number" } } ], @@ -604,52 +616,52 @@ "accountSid_authToken": [] } ], + "operationId": "FetchTrunkingNumber", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/Voice": { "servers": [ { "url": "https://pricing.twilio.com" } ], + "description": "Voice pricing", "x-twilio": { "defaultOutputProperties": [ - "country", - "inbound_call_price", - "price_unit" + "name" ], "pathType": "instance" } }, - "/v2/Voice": { - "description": "Voice pricing", + "/v2/Voice/Countries": { "servers": [ { "url": "https://pricing.twilio.com" } ], + "description": "Voice pricing by country", "x-twilio": { "defaultOutputProperties": [ - "name" + "country", + "price_unit" ], - "pathType": "instance" - } - }, - "/v2/Voice/Countries": { - "description": "Voice pricing by country", + "pathType": "list", + "parent": "/Voice" + }, "get": { "description": "", - "operationId": "ListVoiceCountry", "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -658,25 +670,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListVoiceCountryResponse", "properties": { "countries": { + "type": "array", "items": { "$ref": "#/components/schemas/pricing.v2.voice.voice_country" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -685,19 +697,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListVoiceCountryResponse", - "type": "object" + } } } }, @@ -709,39 +721,39 @@ "accountSid_authToken": [] } ], + "operationId": "ListVoiceCountry", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/Voice/Countries/{IsoCountry}": { "servers": [ { "url": "https://pricing.twilio.com" } ], + "description": "Voice pricing by country", "x-twilio": { "defaultOutputProperties": [ "country", "price_unit" ], - "parent": "/Voice", - "pathType": "list" - } - }, - "/v2/Voice/Countries/{IsoCountry}": { - "description": "Voice pricing by country", + "pathType": "instance", + "parent": "/Voice" + }, "get": { "description": "Fetch a specific Country.", - "operationId": "FetchVoiceCountry", "parameters": [ { - "description": "The [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) of the origin-based voice pricing information to fetch.", - "in": "path", "name": "IsoCountry", - "required": true, + "in": "path", + "description": "The [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) of the origin-based voice pricing information to fetch.", "schema": { - "format": "iso-country-code", - "type": "string" - } + "type": "string", + "format": "iso-country-code" + }, + "required": true } ], "responses": { @@ -761,47 +773,48 @@ "accountSid_authToken": [] } ], + "operationId": "FetchVoiceCountry", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/Voice/Numbers/{DestinationNumber}": { "servers": [ { "url": "https://pricing.twilio.com" } ], + "description": "Voice pricing for a specific phone number", "x-twilio": { "defaultOutputProperties": [ "country", + "inbound_call_price", "price_unit" ], - "parent": "/Voice", - "pathType": "instance" - } - }, - "/v2/Voice/Numbers/{DestinationNumber}": { - "description": "Voice pricing for a specific phone number", + "pathType": "instance", + "parent": "/Voice" + }, "get": { "description": "Fetch pricing information for a specific destination and, optionally, origination phone number.", - "operationId": "FetchVoiceNumber", "parameters": [ { - "description": "The destination phone number, in [E.164](https://www.twilio.com/docs/glossary/what-e164) format, for which to fetch the origin-based voice pricing information. E.164 format consists of a + followed by the country code and subscriber number.", - "in": "path", "name": "DestinationNumber", - "required": true, + "in": "path", + "description": "The destination phone number, in [E.164](https://www.twilio.com/docs/glossary/what-e164) format, for which to fetch the origin-based voice pricing information. E.164 format consists of a + followed by the country code and subscriber number.", "schema": { - "format": "phone-number", - "type": "string" - } + "type": "string", + "format": "phone-number" + }, + "required": true }, { - "description": "The origination phone number, in [E.164](https://www.twilio.com/docs/glossary/what-e164) format, for which to fetch the origin-based voice pricing information. E.164 format consists of a + followed by the country code and subscriber number.", - "in": "query", "name": "OriginationNumber", + "in": "query", + "description": "The origination phone number, in [E.164](https://www.twilio.com/docs/glossary/what-e164) format, for which to fetch the origin-based voice pricing information. E.164 format consists of a + followed by the country code and subscriber number.", "schema": { - "format": "phone-number", - "type": "string" + "type": "string", + "format": "phone-number" } } ], @@ -822,23 +835,10 @@ "accountSid_authToken": [] } ], + "operationId": "FetchVoiceNumber", "x-maturity": [ "GA" ] - }, - "servers": [ - { - "url": "https://pricing.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "country", - "inbound_call_price", - "price_unit" - ], - "parent": "/Voice", - "pathType": "instance" } } }, @@ -849,8 +849,8 @@ ], "x-maturity": [ { - "description": "This product is Generally Available.", - "name": "GA" + "name": "GA", + "description": "This product is Generally Available." } ] } \ No newline at end of file diff --git a/spec/json/twilio_proxy_v1.json b/spec/json/twilio_proxy_v1.json index 2e59b844..9de110dd 100644 --- a/spec/json/twilio_proxy_v1.json +++ b/spec/json/twilio_proxy_v1.json @@ -1,359 +1,74 @@ { "components": { "schemas": { - "proxy.v1.service": { + "proxy.v1.service.session.interaction": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "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", "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "description": "The 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 date and time in GMT when the resource was last updated", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "default_ttl": { - "description": "Default TTL for a Session, in seconds", - "nullable": true, - "type": "integer" - }, - "geo_match_level": { - "description": "Where a proxy number must be located relative to the participant identifier", - "enum": [ - "area-code", - "overlay", - "radius", - "country" - ], - "nullable": true, - "type": "string" - }, - "intercept_callback_url": { - "description": "The URL we call on each interaction", - "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": { - "description": "The preference for Proxy Number selection for the Service instance", - "enum": [ - "avoid-sticky", - "prefer-sticky" - ], - "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", - "format": "uri", + "pattern": "^KI[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique string that identifies the resource" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "session_sid": { + "type": "string", "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", - "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 that created the 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 date and time in GMT when the resource was created", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "date_updated": { - "description": "The 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.", - "nullable": true, - "type": "integer" - }, - "is_reserved": { - "description": "Reserve the phone number for manual assignment to participants only", - "nullable": true, - "type": "boolean" - }, - "iso_country": { - "description": "The ISO Country Code", - "nullable": true, - "type": "string" - }, - "phone_number": { - "description": "The phone number in E.164 format", - "format": "phone-number", + "pattern": "^KC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the resource's parent Session" }, "service_sid": { - "description": "The SID of the PhoneNumber resource's parent Service resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^KS[0-9a-fA-F]{32}$", - "type": "string" - }, - "sid": { - "description": "The unique string that identifies the resource", "maxLength": 34, - "minLength": 34, + "pattern": "^KS[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^PN[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the resource's parent Service" }, - "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 that created the resource", - "maxLength": 34, + "type": "string", "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 date and time in GMT when the resource was created", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "date_ended": { - "description": "The ISO 8601 date when the Session ended", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "date_expiry": { - "description": "The ISO 8601 date when the Session should expire", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "date_last_interaction": { - "description": "The ISO 8601 date when the Session last had an interaction", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "date_started": { - "description": "The ISO 8601 date when the Session started", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "date_updated": { - "description": "The 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": { - "description": "The Mode of the Session", - "enum": [ - "message-only", - "voice-only", - "voice-and-message" - ], - "nullable": true, - "type": "string" - }, - "service_sid": { - "description": "The SID of the resource's parent Service", "maxLength": 34, - "minLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^KS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Account that created the resource" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "data": { + "type": "string", "nullable": true, - "pattern": "^KC[0-9a-fA-F]{32}$", - "type": "string" + "description": "A JSON string that includes the message body of message interactions" }, - "status": { - "description": "The status of the Session", + "type": { + "type": "string", "enum": [ - "open", - "in-progress", - "closed", - "failed", + "message", + "voice", "unknown" ], "nullable": true, - "type": "string" - }, - "ttl": { - "description": "When the session will expire", - "nullable": true, - "type": "integer" - }, - "unique_name": { - "description": "An application-defined string that uniquely identifies the resource", - "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 that created the 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", - "nullable": true, - "type": "string" - }, - "date_created": { - "description": "The 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 date and time in GMT when the resource was last updated", - "format": "date-time", - "nullable": true, - "type": "string" + "description": "The Type of the Interaction" }, "inbound_participant_sid": { - "description": "The SID of the inbound Participant resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^KP[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the inbound Participant resource" }, "inbound_resource_sid": { - "description": "The SID of the inbound resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the inbound resource" }, "inbound_resource_status": { - "description": "The inbound resource status of the Interaction", + "type": "string", "enum": [ "accepted", "answered", @@ -378,37 +93,37 @@ "unknown" ], "nullable": true, - "type": "string" + "description": "The inbound resource status of the Interaction" }, "inbound_resource_type": { - "description": "The inbound resource type", + "type": "string", "nullable": true, - "type": "string" + "description": "The inbound resource type" }, "inbound_resource_url": { - "description": "The URL of the Twilio inbound resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL of the Twilio inbound resource" }, "outbound_participant_sid": { - "description": "The SID of the outbound Participant", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^KP[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the outbound Participant" }, "outbound_resource_sid": { - "description": "The SID of the outbound resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the outbound resource" }, "outbound_resource_status": { - "description": "The outbound resource status of the Interaction", + "type": "string", "enum": [ "accepted", "answered", @@ -433,197 +148,115 @@ "unknown" ], "nullable": true, - "type": "string" + "description": "The outbound resource status of the Interaction" }, "outbound_resource_type": { - "description": "The outbound resource type", + "type": "string", "nullable": true, - "type": "string" + "description": "The outbound resource type" }, "outbound_resource_url": { - "description": "The URL of the Twilio outbound resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL of the Twilio outbound resource" }, - "service_sid": { - "description": "The SID of the resource's parent Service", - "maxLength": 34, - "minLength": 34, + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^KS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO 8601 date and time in GMT when the Interaction was created" }, - "session_sid": { - "description": "The SID of the resource's parent Session", - "maxLength": 34, - "minLength": 34, + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^KC[0-9a-fA-F]{32}$", - "type": "string" - }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^KI[0-9a-fA-F]{32}$", - "type": "string" - }, - "type": { - "description": "The Type of the Interaction", - "enum": [ - "message", - "voice", - "unknown" - ], - "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, "url": { - "description": "The absolute URL of the Interaction resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Interaction resource" } - }, - "type": "object" + } }, - "proxy.v1.service.session.participant": { + "proxy.v1.service.session.participant.message_interaction": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "description": "The 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 date the Participant was removed", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "date_updated": { - "description": "The 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", - "nullable": true, - "type": "string" - }, - "identifier": { - "description": "The phone number or channel identifier of the Participant", - "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 of the participant's partner", - "nullable": true, - "type": "string" - }, - "proxy_identifier_sid": { - "description": "The SID of the Proxy Identifier assigned to the Participant", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^PN[0-9a-fA-F]{32}$", - "type": "string" - }, - "service_sid": { - "description": "The SID of the resource's parent Service", "maxLength": 34, - "minLength": 34, + "pattern": "^KI[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^KS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, "session_sid": { - "description": "The SID of the resource's parent Session", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^KC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the resource's parent Session" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "service_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^KS[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^KP[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the resource's parent Service" }, - "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 that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "data": { - "description": "A JSON string that includes the message body sent to the participant", + "type": "string", "nullable": true, - "type": "string" + "description": "A JSON string that includes the message body sent to the participant" }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", - "format": "date-time", + "type": { + "type": "string", + "enum": [ + "message", + "voice", + "unknown" + ], "nullable": true, - "type": "string" + "description": "The Type of Message Interaction" }, - "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", - "format": "date-time", + "participant_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^KP[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Participant resource" }, "inbound_participant_sid": { - "description": "Always empty for Message Interactions", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^KP[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "Always empty for Message Interactions" }, "inbound_resource_sid": { - "description": "Always empty for Message Interactions", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "Always empty for Message Interactions" }, "inbound_resource_status": { - "description": "Always empty for Message Interactions", + "type": "string", "enum": [ "accepted", "answered", @@ -648,37 +281,37 @@ "unknown" ], "nullable": true, - "type": "string" + "description": "Always empty for Message Interactions" }, "inbound_resource_type": { - "description": "Always empty for Message Interactions", + "type": "string", "nullable": true, - "type": "string" + "description": "Always empty for Message Interactions" }, "inbound_resource_url": { - "description": "Always empty for Message Interactions", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "Always empty for Message Interactions" }, "outbound_participant_sid": { - "description": "The SID of the outbound Participant resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^KP[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the outbound Participant resource" }, "outbound_resource_sid": { - "description": "The SID of the outbound Message resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the outbound Message resource" }, "outbound_resource_status": { - "description": "The outbound resource status", + "type": "string", "enum": [ "accepted", "answered", @@ -703,88 +336,188 @@ "unknown" ], "nullable": true, - "type": "string" + "description": "The outbound resource status" }, "outbound_resource_type": { - "description": "The outbound resource type", + "type": "string", "nullable": true, - "type": "string" + "description": "The outbound resource type" }, "outbound_resource_url": { - "description": "The URL of the Twilio message resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL of the Twilio message resource" }, - "participant_sid": { - "description": "The SID of the Participant resource", - "maxLength": 34, - "minLength": 34, + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^KP[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, - "service_sid": { - "description": "The SID of the resource's parent Service", - "maxLength": 34, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was last updated" + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The absolute URL of the MessageInteraction resource" + } + } + }, + "proxy.v1.service.session.participant": { + "type": "object", + "properties": { + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^KP[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^KS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, "session_sid": { - "description": "The SID of the resource's parent Session", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^KC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the resource's parent Session" + }, + "service_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^KS[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^KC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the resource's parent Service" }, - "sid": { - "description": "The unique string that identifies the resource", + "account_sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "friendly_name": { + "type": "string", + "nullable": true, + "description": "The string that you assigned to describe the participant" + }, + "identifier": { + "type": "string", + "nullable": true, + "description": "The phone number or channel identifier of the Participant" + }, + "proxy_identifier": { + "type": "string", + "nullable": true, + "description": "The phone number or short code of the participant's partner" + }, + "proxy_identifier_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^PN[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^KI[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Proxy Identifier assigned to the Participant" }, - "type": { - "description": "The Type of Message Interaction", - "enum": [ - "message", - "voice", - "unknown" - ], + "date_deleted": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date the Participant was removed" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, "url": { - "description": "The absolute URL of the MessageInteraction resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Participant resource" + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "The URLs to resources related the participant" } - }, - "type": "object" + } }, - "proxy.v1.service.short_code": { + "proxy.v1.service.phone_number": { + "type": "object", "properties": { + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^PN[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique string that identifies the resource" + }, "account_sid": { - "description": "The SID of the Account that created the resource", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "service_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^KS[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the PhoneNumber resource's parent Service resource" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was last updated" + }, + "phone_number": { + "type": "string", + "format": "phone-number", + "nullable": true, + "description": "The phone number in E.164 format" + }, + "friendly_name": { + "type": "string", + "nullable": true, + "description": "The string that you assigned to describe the resource" + }, + "iso_country": { + "type": "string", + "nullable": true, + "description": "The ISO Country Code" }, "capabilities": { - "description": "The capabilities of the short code", + "type": "object", "format": "phone-number-capabilities", - "nullable": true, "properties": { - "fax": { - "type": "boolean" - }, "mms": { "type": "boolean" }, @@ -793,507 +526,408 @@ }, "voice": { "type": "boolean" + }, + "fax": { + "type": "boolean" } }, - "type": "object" - }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", - "format": "date-time", "nullable": true, - "type": "string" + "description": "The capabilities of the phone number" }, - "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", - "format": "date-time", + "url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the PhoneNumber resource" }, "is_reserved": { - "description": "Whether the short code should be reserved for manual assignment to participants only", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Reserve the phone number for manual assignment to participants only" }, - "iso_country": { - "description": "The ISO Country Code", + "in_use": { + "type": "integer", "nullable": true, - "type": "string" - }, - "service_sid": { - "description": "The SID of the resource's parent Service", - "maxLength": 34, + "description": "The number of open session assigned to the number." + } + } + }, + "proxy.v1.service": { + "type": "object", + "properties": { + "sid": { + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^KS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string that identifies the resource" }, - "short_code": { - "description": "The short code's number", + "unique_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "An application-defined string that uniquely identifies the resource" }, - "sid": { - "description": "The unique string that identifies the resource", + "account_sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "chat_instance_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^SC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Chat Service Instance" }, - "url": { - "description": "The absolute URL of the ShortCode resource", + "callback_url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The URL we call when the interaction status changes" + }, + "default_ttl": { + "type": "integer", + "nullable": true, + "description": "Default TTL for a Session, in seconds" + }, + "number_selection_behavior": { + "type": "string", + "enum": [ + "avoid-sticky", + "prefer-sticky" + ], + "nullable": true, + "description": "The preference for Proxy Number selection for the Service instance" + }, + "geo_match_level": { + "type": "string", + "enum": [ + "area-code", + "overlay", + "radius", + "country" + ], + "nullable": true, + "description": "Where a proxy number must be located relative to the participant identifier" + }, + "intercept_callback_url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The URL we call on each interaction" + }, + "out_of_session_callback_url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The URL we call when an inbound call or SMS action occurs on a closed or non-existent Session" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was last updated" + }, + "url": { + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Service resource" + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "The URLs of resources related to the Service" } - }, - "type": "object" + } + }, + "proxy.v1.service.session": { + "type": "object", + "properties": { + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^KC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique string that identifies the resource" + }, + "service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^KS[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the resource's parent Service" + }, + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "date_started": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date when the Session started" + }, + "date_ended": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date when the Session ended" + }, + "date_last_interaction": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date when the Session last had an interaction" + }, + "date_expiry": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date when the Session should expire" + }, + "unique_name": { + "type": "string", + "nullable": true, + "description": "An application-defined string that uniquely identifies the resource" + }, + "status": { + "type": "string", + "enum": [ + "open", + "in-progress", + "closed", + "failed", + "unknown" + ], + "nullable": true, + "description": "The status of the Session" + }, + "closed_reason": { + "type": "string", + "nullable": true, + "description": "The reason the Session ended" + }, + "ttl": { + "type": "integer", + "nullable": true, + "description": "When the session will expire" + }, + "mode": { + "type": "string", + "enum": [ + "message-only", + "voice-only", + "voice-and-message" + ], + "nullable": true, + "description": "The Mode of the Session" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was last updated" + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The absolute URL of the Session resource" + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "The URLs of resources related to the Session" + } + } + }, + "proxy.v1.service.short_code": { + "type": "object", + "properties": { + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^SC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique string that identifies the resource" + }, + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^KS[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the resource's parent Service" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was last updated" + }, + "short_code": { + "type": "string", + "nullable": true, + "description": "The short code's number" + }, + "iso_country": { + "type": "string", + "nullable": true, + "description": "The ISO Country Code" + }, + "capabilities": { + "type": "object", + "format": "phone-number-capabilities", + "properties": { + "mms": { + "type": "boolean" + }, + "sms": { + "type": "boolean" + }, + "voice": { + "type": "boolean" + }, + "fax": { + "type": "boolean" + } + }, + "nullable": true, + "description": "The capabilities of the short code" + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The absolute URL of the ShortCode resource" + }, + "is_reserved": { + "type": "boolean", + "nullable": true, + "description": "Whether the short code should be reserved for manual assignment to participants only" + } + } } }, "securitySchemes": { "accountSid_authToken": { - "scheme": "basic", - "type": "http" + "type": "http", + "scheme": "basic" } } }, "info": { + "title": "Twilio - Proxy", + "description": "This is the public Twilio REST API.", + "termsOfService": "https://www.twilio.com/legal/tos", "contact": { - "email": "support@twilio.com", "name": "Twilio Support", - "url": "https://support.twilio.com" + "url": "https://support.twilio.com", + "email": "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.30.0" }, "openapi": "3.0.1", "paths": { - "/v1/Services": { + "/v1/Services/{ServiceSid}/Sessions/{SessionSid}/Interactions/{Sid}": { + "servers": [ + { + "url": "https://proxy.twilio.com" + } + ], "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "type", + "data" + ], + "pathType": "instance", + "parent": "/Services/{ServiceSid}/Sessions" + }, "get": { - "description": "Retrieve a list of all Services for Twilio Proxy. A maximum of 100 records will be returned per page.", - "operationId": "ListService", + "description": "Retrieve a list of Interactions for a given [Session](https://www.twilio.com/docs/proxy/api/session).", "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", - "name": "PageSize", + "name": "ServiceSid", + "in": "path", + "description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the resource to fetch.", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "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": { - "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.", - "enum": [ - "area-code", - "overlay", - "radius", - "country" - ], - "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": { - "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.", - "enum": [ - "avoid-sticky", - "prefer-sticky" - ], - "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, + "type": "string", "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" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "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" - } - } + "pattern": "^KS[0-9a-fA-F]{32}$" }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "Beta" - ] - }, - "servers": [ - { - "url": "https://proxy.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "phone_number" - ], - "parent": "/Services", - "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" - } + "required": true }, { - "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.", + "name": "SessionSid", "in": "path", - "name": "ServiceSid", - "required": true, + "description": "The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) of the resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^KS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^KC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the PhoneNumber resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Interaction resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^PN[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^KI[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1301,7 +935,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/proxy.v1.service.phone_number" + "$ref": "#/components/schemas/proxy.v1.service.session.interaction" } } }, @@ -1313,65 +947,54 @@ "accountSid_authToken": [] } ], + "operationId": "FetchInteraction", "x-maturity": [ "Beta" ] }, - "post": { - "description": "Update a specific Proxy Number.", - "operationId": "UpdatePhoneNumber", + "delete": { + "description": "Delete a specific Interaction.", "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, + "in": "path", + "description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the resource to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^KS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^KS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the PhoneNumber resource to update.", + "name": "SessionSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) of the resource to delete.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^KC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Interaction resource to delete.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^PN[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^KI[0-9a-fA-F]{32}$" + }, + "required": true } ], - "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" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -1379,51 +1002,63 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteInteraction", "x-maturity": [ "Beta" ] - }, + } + }, + "/v1/Services/{ServiceSid}/Sessions/{SessionSid}/Interactions": { "servers": [ { "url": "https://proxy.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", - "friendly_name", - "phone_number" + "type", + "data" ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/Sessions": { - "description": "TODO: Resource-level docs", + "pathType": "list", + "parent": "/Services/{ServiceSid}/Sessions" + }, "get": { - "description": "Retrieve a list of all Sessions for the Service. A maximum of 100 records will be returned per page.", - "operationId": "ListSession", + "description": "Retrieve a list of all Interactions for a Session. A maximum of 100 records will be returned per page.", "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, + "in": "path", + "description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) to read the resources from.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^KS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "SessionSid", + "in": "path", + "description": "The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) to read the resources from.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^KS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^KC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1432,19 +1067,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListInteractionResponse", "properties": { + "interactions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/proxy.v1.service.session.interaction" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1453,25 +1094,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "sessions": { - "items": { - "$ref": "#/components/schemas/proxy.v1.service.session" - }, - "type": "array" + } } - }, - "title": "ListSessionResponse", - "type": "object" + } } } }, @@ -1483,87 +1118,74 @@ "accountSid_authToken": [] } ], + "operationId": "ListInteraction", "x-maturity": [ "Beta" ] + } + }, + "/v1/Services/{ServiceSid}/Sessions/{SessionSid}/Participants/{ParticipantSid}/MessageInteractions": { + "servers": [ + { + "url": "https://proxy.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "type", + "data" + ], + "pathType": "list", + "parent": "/Services/{ServiceSid}/Sessions/{SessionSid}/Participants" }, "post": { - "description": "Create a new Session", - "operationId": "CreateSession", + "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.", "parameters": [ { + "name": "ServiceSid", + "in": "path", "description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) resource.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^KS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "SessionSid", "in": "path", - "name": "ServiceSid", - "required": true, + "description": "The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) resource.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^KC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "ParticipantSid", + "in": "path", + "description": "The SID of the [Participant](https://www.twilio.com/docs/proxy/api/participant) resource.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^KS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^KP[0-9a-fA-F]{32}$" + }, + "required": true } ], - "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" - }, - "FailOnParticipantConflict": { - "description": "[Experimental] For accounts with the ProxyAllowParticipantConflict account flag, setting to true enables per-request opt-in to allowing Proxy to reject a Session create (with Participants) request that could cause the same Identifier/ProxyIdentifier pair to be active in multiple Sessions. Depending on the context, this could be a 409 error (Twilio error code 80623) or a 400 error (Twilio error code 80604). If not provided, requests will be allowed to succeed and a Debugger notification (80802) will be emitted. Having multiple, active Participants with the same Identifier/ProxyIdentifier pair causes calls and messages from affected Participants to be routed incorrectly. Please note, the default behavior for accounts without the ProxyAllowParticipantConflict flag is to reject the request as described. This will eventually be the default for all accounts.", - "type": "boolean" - }, - "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`.", - "enum": [ - "message-only", - "voice-only", - "voice-and-message" - ], - "type": "string" - }, - "Participants": { - "description": "The Participant objects to include in the new session.", - "items": {}, - "type": "array" - }, - "Status": { - "description": "The initial status of the Session. Can be: `open`, `in-progress`, `closed`, `failed`, or `unknown`. The default is `open` on create.", - "enum": [ - "open", - "in-progress", - "closed", - "failed", - "unknown" - ], - "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" + "$ref": "#/components/schemas/proxy.v1.service.session.participant.message_interaction" } } }, @@ -1575,64 +1197,90 @@ "accountSid_authToken": [] } ], + "operationId": "CreateMessageInteraction", "x-maturity": [ "Beta" - ] - }, - "servers": [ - { - "url": "https://proxy.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "unique_name", - "date_started", - "date_ended" ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Sessions/{SessionSid}/Interactions": { - "description": "TODO: Resource-level docs", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateMessageInteractionRequest", + "properties": { + "Body": { + "type": "string", + "description": "The message to send to the participant" + }, + "MediaUrl": { + "type": "array", + "items": { + "type": "string", + "format": "uri" + }, + "description": "Reserved. Not currently supported." + } + } + } + } + } + }, + "x-twilio": { + "conditional": [ + [ + "body", + "media_url" + ] + ] + } + }, "get": { - "description": "Retrieve a list of all Interactions for a Session. A maximum of 100 records will be returned per page.", - "operationId": "ListInteraction", + "description": "", "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, + "in": "path", + "description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) to read the resources from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^KS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^KS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "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, + "in": "path", + "description": "The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) to read the resources from.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^KC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "ParticipantSid", + "in": "path", + "description": "The SID of the [Participant](https://www.twilio.com/docs/proxy/api/participant) to read the resources from.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^KC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^KP[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1641,25 +1289,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListMessageInteractionResponse", "properties": { "interactions": { + "type": "array", "items": { - "$ref": "#/components/schemas/proxy.v1.service.session.interaction" - }, - "type": "array" + "$ref": "#/components/schemas/proxy.v1.service.session.participant.message_interaction" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1668,19 +1316,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListInteractionResponse", - "type": "object" + } } } }, @@ -1692,70 +1340,90 @@ "accountSid_authToken": [] } ], + "operationId": "ListMessageInteraction", "x-maturity": [ "Beta" ] - }, + } + }, + "/v1/Services/{ServiceSid}/Sessions/{SessionSid}/Participants/{ParticipantSid}/MessageInteractions/{Sid}": { "servers": [ { "url": "https://proxy.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", "type", "data" ], - "parent": "/Services/{ServiceSid}/Sessions", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Sessions/{SessionSid}/Interactions/{Sid}": { - "delete": { - "description": "Delete a specific Interaction.", - "operationId": "DeleteInteraction", + "pathType": "instance", + "parent": "/Services/{ServiceSid}/Sessions/{SessionSid}/Participants" + }, + "get": { + "description": "", "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, + "in": "path", + "description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^KS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^KS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "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, + "in": "path", + "description": "The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) of the resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^KC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^KC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Interaction resource to delete.", + "name": "ParticipantSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Participant](https://www.twilio.com/docs/proxy/api/participant) resource.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^KP[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the MessageInteraction resource to fetch.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^KI[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^KI[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/proxy.v1.service.session.participant.message_interaction" + } + } + }, + "description": "OK" } }, "security": [ @@ -1763,50 +1431,67 @@ "accountSid_authToken": [] } ], + "operationId": "FetchMessageInteraction", "x-maturity": [ "Beta" ] - }, + } + }, + "/v1/Services/{ServiceSid}/Sessions/{SessionSid}/Participants/{Sid}": { + "servers": [ + { + "url": "https://proxy.twilio.com" + } + ], "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "identifier", + "proxy_identifier" + ], + "pathType": "instance", + "parent": "/Services/{ServiceSid}/Sessions" + }, "get": { - "description": "Retrieve a list of Interactions for a given [Session](https://www.twilio.com/docs/proxy/api/session).", - "operationId": "FetchInteraction", + "description": "Fetch a specific Participant.", "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, + "in": "path", + "description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^KS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^KS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "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, + "in": "path", + "description": "The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) of the resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^KC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^KC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Interaction resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Participant resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^KI[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^KP[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1814,7 +1499,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/proxy.v1.service.session.interaction" + "$ref": "#/components/schemas/proxy.v1.service.session.participant" } } }, @@ -1826,63 +1511,119 @@ "accountSid_authToken": [] } ], + "operationId": "FetchParticipant", "x-maturity": [ "Beta" ] }, + "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.", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the resource to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^KS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "SessionSid", + "in": "path", + "description": "The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) of the resource to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^KC[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Participant resource to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^KP[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteParticipant", + "x-maturity": [ + "Beta" + ] + } + }, + "/v1/Services/{ServiceSid}/Sessions/{SessionSid}/Participants": { "servers": [ { "url": "https://proxy.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", - "type", - "data" + "friendly_name", + "identifier", + "proxy_identifier" ], - "parent": "/Services/{ServiceSid}/Sessions", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/Sessions/{SessionSid}/Participants": { - "description": "TODO: Resource-level docs", + "pathType": "list", + "parent": "/Services/{ServiceSid}/Sessions" + }, "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, + "in": "path", + "description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^KS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^KS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "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, + "in": "path", + "description": "The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) of the resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^KC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^KC[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1891,19 +1632,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListParticipantResponse", "properties": { + "participants": { + "type": "array", + "items": { + "$ref": "#/components/schemas/proxy.v1.service.session.participant" + } + }, "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1912,25 +1659,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "participants": { - "items": { - "$ref": "#/components/schemas/proxy.v1.service.session.participant" - }, - "type": "array" + } } - }, - "title": "ListParticipantResponse", - "type": "object" + } } } }, @@ -1942,83 +1683,138 @@ "accountSid_authToken": [] } ], + "operationId": "ListParticipant", "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, + "in": "path", + "description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^KS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^KS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) resource.", - "in": "path", "name": "SessionSid", - "required": true, + "in": "path", + "description": "The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^KC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^KC[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/proxy.v1.service.session.participant" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] } ], + "operationId": "CreateParticipant", + "x-maturity": [ + "Beta" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateParticipantRequest", "properties": { - "FailOnParticipantConflict": { - "description": "[Experimental] For accounts with the ProxyAllowParticipantConflict account flag, setting to true enables per-request opt-in to allowing Proxy to reject a Participant create request that could cause the same Identifier/ProxyIdentifier pair to be active in multiple Sessions. Depending on the context, this could be a 409 error (Twilio error code 80623) or a 400 error (Twilio error code 80604). If not provided, requests will be allowed to succeed and a Debugger notification (80802) will be emitted. Having multiple, active Participants with the same Identifier/ProxyIdentifier pair causes calls and messages from affected Participants to be routed incorrectly. Please note, the default behavior for accounts without the ProxyAllowParticipantConflict flag is to reject the request as described. This will eventually be the default for all accounts.", - "type": "boolean" + "Identifier": { + "type": "string", + "description": "The phone number of the Participant." }, "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" + "type": "string", + "description": "The string that you assigned to describe the participant. This value must be 255 characters or fewer. **This value should not have PII.**" }, "ProxyIdentifier": { - "description": "The proxy phone number to use for the Participant. If not specified, Proxy will select a number from the pool.", - "type": "string" + "type": "string", + "description": "The proxy phone number to use for the Participant. If not specified, Proxy will select a number from the pool." }, "ProxyIdentifierSid": { - "description": "The SID of the Proxy Identifier to assign to the Participant.", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, "pattern": "^PN[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Proxy Identifier to assign to the Participant." + }, + "FailOnParticipantConflict": { + "type": "boolean", + "description": "[Experimental] For accounts with the ProxyAllowParticipantConflict account flag, setting to true enables per-request opt-in to allowing Proxy to reject a Participant create request that could cause the same Identifier/ProxyIdentifier pair to be active in multiple Sessions. Depending on the context, this could be a 409 error (Twilio error code 80623) or a 400 error (Twilio error code 80604). If not provided, requests will be allowed to succeed and a Debugger notification (80802) will be emitted. Having multiple, active Participants with the same Identifier/ProxyIdentifier pair causes calls and messages from affected Participants to be routed incorrectly. Please note, the default behavior for accounts without the ProxyAllowParticipantConflict flag is to reject the request as described. This will eventually be the default for all accounts." } }, "required": [ "Identifier" - ], - "title": "CreateParticipantRequest", - "type": "object" + ] } } } - }, + } + } + }, + "/v1/Services/{ServiceSid}/PhoneNumbers": { + "servers": [ + { + "url": "https://proxy.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "phone_number" + ], + "pathType": "list", + "parent": "/Services" + }, + "post": { + "description": "Add a Phone Number to a Service's Proxy Number Pool.", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID parent [Service](https://www.twilio.com/docs/proxy/api/service) resource of the new PhoneNumber resource.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^KS[0-9a-fA-F]{32}$" + }, + "required": true + } + ], "responses": { "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/proxy.v1.service.session.participant" + "$ref": "#/components/schemas/proxy.v1.service.phone_number" } } }, @@ -2030,76 +1826,62 @@ "accountSid_authToken": [] } ], + "operationId": "CreatePhoneNumber", "x-maturity": [ "Beta" - ] - }, - "servers": [ - { - "url": "https://proxy.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "identifier", - "proxy_identifier" ], - "parent": "/Services/{ServiceSid}/Sessions", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Sessions/{SessionSid}/Participants/{ParticipantSid}/MessageInteractions": { - "description": "TODO: Resource-level docs", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreatePhoneNumberRequest", + "properties": { + "Sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^PN[0-9a-fA-F]{32}$", + "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." + }, + "PhoneNumber": { + "type": "string", + "format": "phone-number", + "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." + }, + "IsReserved": { + "type": "boolean", + "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." + } + } + } + } + } + } + }, "get": { - "description": "", - "operationId": "ListMessageInteraction", + "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.", "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, + "description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the PhoneNumber resources to read.", "schema": { - "maxLength": 34, + "type": "string", "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" - } + "pattern": "^KS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -2108,25 +1890,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListPhoneNumberResponse", "properties": { - "interactions": { + "phone_numbers": { + "type": "array", "items": { - "$ref": "#/components/schemas/proxy.v1.service.session.participant.message_interaction" - }, - "type": "array" + "$ref": "#/components/schemas/proxy.v1.service.phone_number" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -2135,19 +1917,129 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListMessageInteractionResponse", - "type": "object" + } + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "ListPhoneNumber", + "x-maturity": [ + "Beta" + ] + } + }, + "/v1/Services/{ServiceSid}/PhoneNumbers/{Sid}": { + "servers": [ + { + "url": "https://proxy.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "phone_number" + ], + "pathType": "instance", + "parent": "/Services" + }, + "delete": { + "description": "Delete a specific Phone Number from a Service.", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the PhoneNumber resource to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^KS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the PhoneNumber resource to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^PN[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeletePhoneNumber", + "x-maturity": [ + "Beta" + ] + }, + "get": { + "description": "Fetch a specific Phone Number.", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the PhoneNumber resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^KS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the PhoneNumber resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^PN[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/proxy.v1.service.phone_number" } } }, @@ -2159,85 +2051,49 @@ "accountSid_authToken": [] } ], + "operationId": "FetchPhoneNumber", "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", + "description": "Update a specific Proxy Number.", "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, + "description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the PhoneNumber resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^KC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^KS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the [Participant](https://www.twilio.com/docs/proxy/api/participant) resource.", + "name": "Sid", "in": "path", - "name": "ParticipantSid", - "required": true, + "description": "The Twilio-provided string that uniquely identifies the PhoneNumber resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^KP[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^PN[0-9a-fA-F]{32}$" + }, + "required": true } ], - "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": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/proxy.v1.service.session.participant.message_interaction" + "$ref": "#/components/schemas/proxy.v1.service.phone_number" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -2245,85 +2101,234 @@ "accountSid_authToken": [] } ], + "operationId": "UpdatePhoneNumber", "x-maturity": [ "Beta" ], - "x-twilio": { - "conditional": [ - [ - "body", - "media_url" - ] - ] + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdatePhoneNumberRequest", + "properties": { + "IsReserved": { + "type": "boolean", + "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." + } + } + } + } + } } - }, + } + }, + "/v1/Services/{Sid}": { "servers": [ { "url": "https://proxy.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", - "type", - "data" + "unique_name", + "date_created" ], - "parent": "/Services/{ServiceSid}/Sessions/{SessionSid}/Participants", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Sessions/{SessionSid}/Participants/{ParticipantSid}/MessageInteractions/{Sid}": { - "description": "TODO: Resource-level docs", + "pathType": "instance" + }, "get": { - "description": "", - "operationId": "FetchMessageInteraction", + "description": "Fetch a specific Service.", "parameters": [ { - "description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the resource to fetch.", + "name": "Sid", "in": "path", - "name": "ServiceSid", - "required": true, + "description": "The Twilio-provided string that uniquely identifies the Service resource to fetch.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^KS[0-9a-fA-F]{32}$", "type": "string" - } - }, + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/proxy.v1.service" + } + } + }, + "description": "OK" + } + }, + "security": [ { - "description": "The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) of the resource to fetch.", + "accountSid_authToken": [] + } + ], + "operationId": "FetchService", + "x-maturity": [ + "Beta" + ] + }, + "delete": { + "description": "Delete a specific Service.", + "parameters": [ + { + "name": "Sid", "in": "path", - "name": "SessionSid", - "required": true, + "description": "The Twilio-provided string that uniquely identifies the Service resource to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^KC[0-9a-fA-F]{32}$", - "type": "string" - } - }, + "maxLength": 34, + "pattern": "^KS[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ { - "description": "The SID of the [Participant](https://www.twilio.com/docs/proxy/api/participant) resource.", + "accountSid_authToken": [] + } + ], + "operationId": "DeleteService", + "x-maturity": [ + "Beta" + ] + }, + "post": { + "description": "Update a specific Service.", + "parameters": [ + { + "name": "Sid", "in": "path", - "name": "ParticipantSid", - "required": true, + "description": "The Twilio-provided string that uniquely identifies the Service resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^KP[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^KS[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/proxy.v1.service" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "UpdateService", + "x-maturity": [ + "Beta" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateServiceRequest", + "properties": { + "UniqueName": { + "type": "string", + "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.**" + }, + "DefaultTtl": { + "type": "integer", + "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." + }, + "CallbackUrl": { + "type": "string", + "format": "uri", + "description": "The URL we should call when the interaction status changes." + }, + "GeoMatchLevel": { + "type": "string", + "enum": [ + "area-code", + "overlay", + "radius", + "country" + ], + "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." + }, + "NumberSelectionBehavior": { + "type": "string", + "enum": [ + "avoid-sticky", + "prefer-sticky" + ], + "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." + }, + "InterceptCallbackUrl": { + "type": "string", + "format": "uri", + "description": "The URL we call on each interaction. If we receive a 403 status, we block the interaction; otherwise the interaction continues." + }, + "OutOfSessionCallbackUrl": { + "type": "string", + "format": "uri", + "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." + }, + "ChatInstanceSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", + "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." + } + } + } } - }, + } + } + } + }, + "/v1/Services": { + "servers": [ + { + "url": "https://proxy.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "unique_name", + "date_created" + ], + "pathType": "list" + }, + "get": { + "description": "Retrieve a list of all Services for Twilio Proxy. A maximum of 100 records will be returned per page.", + "parameters": [ { - "description": "The Twilio-provided string that uniquely identifies the MessageInteraction resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, + "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^KI[0-9a-fA-F]{32}$", - "type": "string" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], @@ -2332,7 +2337,46 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/proxy.v1.service.session.participant.message_interaction" + "type": "object", + "title": "ListServiceResponse", + "properties": { + "services": { + "type": "array", + "items": { + "$ref": "#/components/schemas/proxy.v1.service" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -2344,70 +2388,23 @@ "accountSid_authToken": [] } ], + "operationId": "ListService", "x-maturity": [ "Beta" ] }, - "servers": [ - { - "url": "https://proxy.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "type", - "data" - ], - "parent": "/Services/{ServiceSid}/Sessions/{SessionSid}/Participants", - "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" - } - } - ], + "post": { + "description": "Create a new Service for Twilio Proxy", "responses": { - "204": { - "description": "The resource was deleted successfully." + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/proxy.v1.service" + } + } + }, + "description": "Created" } }, "security": [ @@ -2415,50 +2412,115 @@ "accountSid_authToken": [] } ], + "operationId": "CreateService", "x-maturity": [ "Beta" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateServiceRequest", + "properties": { + "UniqueName": { + "type": "string", + "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.**" + }, + "DefaultTtl": { + "type": "integer", + "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." + }, + "CallbackUrl": { + "type": "string", + "format": "uri", + "description": "The URL we should call when the interaction status changes." + }, + "GeoMatchLevel": { + "type": "string", + "enum": [ + "area-code", + "overlay", + "radius", + "country" + ], + "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." + }, + "NumberSelectionBehavior": { + "type": "string", + "enum": [ + "avoid-sticky", + "prefer-sticky" + ], + "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." + }, + "InterceptCallbackUrl": { + "type": "string", + "format": "uri", + "description": "The URL we call on each interaction. If we receive a 403 status, we block the interaction; otherwise the interaction continues." + }, + "OutOfSessionCallbackUrl": { + "type": "string", + "format": "uri", + "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." + }, + "ChatInstanceSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", + "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." + } + }, + "required": [ + "UniqueName" + ] + } + } + } + } + } + }, + "/v1/Services/{ServiceSid}/Sessions/{Sid}": { + "servers": [ + { + "url": "https://proxy.twilio.com" + } + ], "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "unique_name", + "date_started", + "date_ended" + ], + "pathType": "instance", + "parent": "/Services" + }, "get": { - "description": "Fetch a specific Participant.", - "operationId": "FetchParticipant", + "description": "Fetch a specific Session.", "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, + "description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^KC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^KS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Participant resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Session resource to fetch.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^KP[0-9a-fA-F]{32}$", "type": "string" - } + }, + "required": true } ], "responses": { @@ -2466,7 +2528,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/proxy.v1.service.session.participant" + "$ref": "#/components/schemas/proxy.v1.service.session" } } }, @@ -2478,54 +2540,37 @@ "accountSid_authToken": [] } ], + "operationId": "FetchSession", "x-maturity": [ "Beta" ] }, - "servers": [ - { - "url": "https://proxy.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "identifier", - "proxy_identifier" - ], - "parent": "/Services/{ServiceSid}/Sessions", - "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, + "in": "path", + "description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the resource to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^KS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^KS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Session resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Session resource to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^KC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^KC[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2538,35 +2583,37 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteSession", "x-maturity": [ "Beta" ] }, - "description": "TODO: Resource-level docs", - "get": { - "description": "Fetch a specific Session.", - "operationId": "FetchSession", + "post": { + "description": "Update a specific Session.", "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, + "in": "path", + "description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^KS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^KS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Session resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Session resource to update.", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^KC[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2586,55 +2633,28 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateSession", "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": { + "type": "object", + "title": "UpdateSessionRequest", "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.", + "type": "string", "format": "date-time", - "type": "string" + "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." }, - "FailOnParticipantConflict": { - "description": "[Experimental] For accounts with the ProxyAllowParticipantConflict account flag, setting to true enables per-request opt-in to allowing Proxy to return a 400 error (Twilio error code 80604) when a request to set a Session to in-progress would cause Participants with the same Identifier/ProxyIdentifier pair to be active in multiple Sessions. If not provided, requests will be allowed to succeed, and a Debugger notification (80801) will be emitted. Having multiple, active Participants with the same Identifier/ProxyIdentifier pair causes calls and messages from affected Participants to be routed incorrectly. Please note, the default behavior for accounts without the ProxyAllowParticipantConflict flag is to reject the request as described. This will eventually be the default for all accounts.", - "type": "boolean" + "Ttl": { + "type": "integer", + "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." }, "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", "enum": [ "open", "in-progress", @@ -2642,45 +2662,26 @@ "failed", "unknown" ], - "type": "string" + "description": "The new status of the resource. Can be: `in-progress` to re-open a session or `closed` to close a session." }, - "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" + "FailOnParticipantConflict": { + "type": "boolean", + "description": "[Experimental] For accounts with the ProxyAllowParticipantConflict account flag, setting to true enables per-request opt-in to allowing Proxy to return a 400 error (Twilio error code 80604) when a request to set a Session to in-progress would cause Participants with the same Identifier/ProxyIdentifier pair to be active in multiple Sessions. If not provided, requests will be allowed to succeed, and a Debugger notification (80801) will be emitted. Having multiple, active Participants with the same Identifier/ProxyIdentifier pair causes calls and messages from affected Participants to be routed incorrectly. Please note, the default behavior for accounts without the ProxyAllowParticipantConflict flag is to reject the request as described. This will eventually be the default for all accounts." } - }, - "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" - ] - }, + } + } + }, + "/v1/Services/{ServiceSid}/Sessions": { "servers": [ { "url": "https://proxy.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", @@ -2688,36 +2689,32 @@ "date_started", "date_ended" ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/ShortCodes": { - "description": "TODO: Resource-level docs", + "pathType": "list", + "parent": "/Services" + }, "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", + "description": "Retrieve a list of all Sessions for the Service. A maximum of 100 records will be returned per page.", "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, + "in": "path", + "description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the resource to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^KS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^KS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -2726,19 +2723,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListSessionResponse", "properties": { + "sessions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/proxy.v1.service.session" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -2747,25 +2750,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "short_codes": { - "items": { - "$ref": "#/components/schemas/proxy.v1.service.short_code" - }, - "type": "array" + } } - }, - "title": "ListShortCodeResponse", - "type": "object" + } } } }, @@ -2777,55 +2774,33 @@ "accountSid_authToken": [] } ], + "operationId": "ListSession", "x-maturity": [ "Beta" ] }, "post": { - "description": "Add a Short Code to the Proxy Number Pool for the Service.", - "operationId": "CreateShortCode", + "description": "Create a new Session", "parameters": [ { - "description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) resource.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^KS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^KS[0-9a-fA-F]{32}$" + }, + "required": true } ], - "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" + "$ref": "#/components/schemas/proxy.v1.service.session" } } }, @@ -2837,101 +2812,100 @@ "accountSid_authToken": [] } ], + "operationId": "CreateSession", "x-maturity": [ "Beta" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateSessionRequest", + "properties": { + "UniqueName": { + "type": "string", + "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.**" + }, + "DateExpiry": { + "type": "string", + "format": "date-time", + "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." + }, + "Ttl": { + "type": "integer", + "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." + }, + "Mode": { + "type": "string", + "enum": [ + "message-only", + "voice-only", + "voice-and-message" + ], + "description": "The Mode of the Session. Can be: `message-only`, `voice-only`, or `voice-and-message` and the default value is `voice-and-message`." + }, + "Status": { + "type": "string", + "enum": [ + "open", + "in-progress", + "closed", + "failed", + "unknown" + ], + "description": "The initial status of the Session. Can be: `open`, `in-progress`, `closed`, `failed`, or `unknown`. The default is `open` on create." + }, + "Participants": { + "type": "array", + "items": {}, + "description": "The Participant objects to include in the new session." + }, + "FailOnParticipantConflict": { + "type": "boolean", + "description": "[Experimental] For accounts with the ProxyAllowParticipantConflict account flag, setting to true enables per-request opt-in to allowing Proxy to reject a Session create (with Participants) request that could cause the same Identifier/ProxyIdentifier pair to be active in multiple Sessions. Depending on the context, this could be a 409 error (Twilio error code 80623) or a 400 error (Twilio error code 80604). If not provided, requests will be allowed to succeed and a Debugger notification (80802) will be emitted. Having multiple, active Participants with the same Identifier/ProxyIdentifier pair causes calls and messages from affected Participants to be routed incorrectly. Please note, the default behavior for accounts without the ProxyAllowParticipantConflict flag is to reject the request as described. This will eventually be the default for all accounts." + } + } + } + } + } + } + } + }, + "/v1/Services/{ServiceSid}/ShortCodes": { "servers": [ { "url": "https://proxy.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", "short_code", "iso_country" - ], - "parent": "/Services", - "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", + ], + "pathType": "list", + "parent": "/Services" + }, + "post": { + "description": "Add a Short Code to the Proxy Number Pool for the Service.", "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, + "description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^SC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^KS[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { @@ -2939,7 +2913,7 @@ } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -2947,61 +2921,104 @@ "accountSid_authToken": [] } ], + "operationId": "CreateShortCode", "x-maturity": [ "Beta" - ] + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateShortCodeRequest", + "properties": { + "Sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^SC[0-9a-fA-F]{32}$", + "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." + } + }, + "required": [ + "Sid" + ] + } + } + } + } }, - "post": { - "description": "Update a specific Short Code.", - "operationId": "UpdateShortCode", + "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.", "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, + "in": "path", + "description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) to read the resources from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^KS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^KS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the ShortCode resource to update.", - "in": "path", - "name": "Sid", - "required": true, + "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^SC[0-9a-fA-F]{32}$", - "type": "string" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], - "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" + "type": "object", + "title": "ListShortCodeResponse", + "properties": { + "short_codes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/proxy.v1.service.short_code" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -3013,41 +3030,54 @@ "accountSid_authToken": [] } ], + "operationId": "ListShortCode", "x-maturity": [ "Beta" ] - }, + } + }, + "/v1/Services/{ServiceSid}/ShortCodes/{Sid}": { "servers": [ { "url": "https://proxy.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", "short_code", "iso_country" ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v1/Services/{Sid}": { + "pathType": "instance", + "parent": "/Services" + }, "delete": { - "description": "Delete a specific Service.", - "operationId": "DeleteService", + "description": "Delete a specific Short Code from a Service.", "parameters": [ { - "description": "The Twilio-provided string that uniquely identifies the Service resource to delete.", + "name": "ServiceSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) resource to delete the ShortCode resource from.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^KS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the ShortCode resource to delete.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^KS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^SC[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -3060,23 +3090,37 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteShortCode", "x-maturity": [ "Beta" ] }, - "description": "TODO: Resource-level docs", "get": { - "description": "Fetch a specific Service.", - "operationId": "FetchService", + "description": "Fetch a specific Short Code.", "parameters": [ { - "description": "The Twilio-provided string that uniquely identifies the Service resource to fetch.", + "name": "ServiceSid", "in": "path", + "description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) to fetch the resource from.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^KS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the ShortCode resource to fetch.", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^SC[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -3084,7 +3128,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/proxy.v1.service" + "$ref": "#/components/schemas/proxy.v1.service.short_code" } } }, @@ -3096,93 +3140,45 @@ "accountSid_authToken": [] } ], + "operationId": "FetchShortCode", "x-maturity": [ "Beta" ] }, "post": { - "description": "Update a specific Service.", - "operationId": "UpdateService", + "description": "Update a specific Short Code.", "parameters": [ { - "description": "The Twilio-provided string that uniquely identifies the Service resource to update.", + "name": "ServiceSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the resource to update.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^KS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the ShortCode resource to update.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^KS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^SC[0-9a-fA-F]{32}$" + }, + "required": true } ], - "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": { - "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.", - "enum": [ - "area-code", - "overlay", - "radius", - "country" - ], - "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": { - "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.", - "enum": [ - "avoid-sticky", - "prefer-sticky" - ], - "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" + "$ref": "#/components/schemas/proxy.v1.service.short_code" } } }, @@ -3194,22 +3190,26 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateShortCode", "x-maturity": [ "Beta" - ] - }, - "servers": [ - { - "url": "https://proxy.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "unique_name", - "date_created" ], - "pathType": "instance" + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateShortCodeRequest", + "properties": { + "IsReserved": { + "type": "boolean", + "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." + } + } + } + } + } + } } } }, @@ -3220,8 +3220,8 @@ ], "x-maturity": [ { - "description": "PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution.", - "name": "Beta" + "name": "Beta", + "description": "PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution." } ] } \ No newline at end of file diff --git a/spec/json/twilio_serverless_v1.json b/spec/json/twilio_serverless_v1.json index b5f5c463..d14db8d0 100644 --- a/spec/json/twilio_serverless_v1.json +++ b/spec/json/twilio_serverless_v1.json @@ -1,245 +1,185 @@ { "components": { "schemas": { - "serverless.v1.service": { + "serverless.v1.service.asset": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the Service resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^ZH[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the Service resource was created", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "date_updated": { - "description": "The ISO 8601 date and time in GMT when the Service resource was last updated", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "domain_base": { - "description": "The base domain name for this Service, which is a combination of the unique name and a randomly generated string", - "nullable": true, - "type": "string" - }, - "friendly_name": { - "description": "The string that you assigned to describe the Service resource", - "nullable": true, - "type": "string" - }, - "include_credentials": { - "description": "Whether to inject Account credentials into a function invocation context", - "nullable": true, - "type": "boolean" + "description": "The unique string that identifies the Asset resource" }, - "links": { - "description": "The URLs of the Service's nested resources", - "format": "uri-map", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "object" + "description": "The SID of the Account that created the Asset resource" }, - "sid": { - "description": "The unique string that identifies the Service resource", - "maxLength": 34, + "service_sid": { + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^ZS[0-9a-fA-F]{32}$", - "type": "string" - }, - "ui_editable": { - "description": "Whether the Service resource's properties and subresources can be edited via the UI", - "nullable": true, - "type": "boolean" - }, - "unique_name": { - "description": "A user-defined string that uniquely identifies the Service resource", "nullable": true, - "type": "string" + "description": "The SID of the Service that the Asset resource is associated with" }, - "url": { - "description": "The absolute URL of the Service resource", - "format": "uri", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "serverless.v1.service.asset": { - "properties": { - "account_sid": { - "description": "The SID of the Account that created the Asset resource", - "maxLength": 34, - "minLength": 34, + "friendly_name": { + "type": "string", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The string that you assigned to describe the Asset resource" }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the Asset resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the Asset resource was created" }, "date_updated": { - "description": "The ISO 8601 date and time in GMT when the Asset resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the Asset resource was last updated" }, - "friendly_name": { - "description": "The string that you assigned to describe the Asset resource", + "url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Asset resource" }, "links": { - "description": "The URLs of the Asset resource's nested resources", + "type": "object", "format": "uri-map", "nullable": true, - "type": "object" - }, - "service_sid": { - "description": "The SID of the Service that the Asset resource is associated with", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^ZS[0-9a-fA-F]{32}$", - "type": "string" - }, - "sid": { - "description": "The unique string that identifies the Asset resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^ZH[0-9a-fA-F]{32}$", - "type": "string" - }, - "url": { - "description": "The absolute URL of the Asset resource", - "format": "uri", - "nullable": true, - "type": "string" + "description": "The URLs of the Asset resource's nested resources" } - }, - "type": "object" + } }, "serverless.v1.service.asset.asset_version": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the Asset Version resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "asset_sid": { - "description": "The SID of the Asset resource that is the parent of the Asset Version", "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^ZH[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the Asset Version resource was created", - "format": "date-time", + "pattern": "^ZN[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique string that identifies the Asset Version resource" }, - "path": { - "description": "The URL-friendly string by which the Asset Version can be referenced", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the Asset Version resource" }, "service_sid": { - "description": "The SID of the Service that the Asset Version resource is associated with", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^ZS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Service that the Asset Version resource is associated with" }, - "sid": { - "description": "The unique string that identifies the Asset Version resource", - "maxLength": 34, + "asset_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^ZH[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^ZN[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Asset resource that is the parent of the Asset Version" }, - "url": { - "description": "The absolute URL of the Asset Version resource", - "format": "uri", + "path": { + "type": "string", "nullable": true, - "type": "string" + "description": "The URL-friendly string by which the Asset Version can be referenced" }, "visibility": { - "description": "The access control that determines how the Asset Version can be accessed", + "type": "string", "enum": [ "public", "private", "protected" ], "nullable": true, - "type": "string" + "description": "The access control that determines how the Asset Version can be accessed" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the Asset Version resource was created" + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The absolute URL of the Asset Version resource" } - }, - "type": "object" + } }, "serverless.v1.service.build": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the Build resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^ZB[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the Build resource" }, - "asset_versions": { - "description": "The list of Asset Version resource SIDs that are included in the Build", - "items": {}, + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "array" + "description": "The SID of the Account that created the Build resource" }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the Build resource was created", - "format": "date-time", + "service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^ZS[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Service that the Build resource is associated with" }, - "date_updated": { - "description": "The ISO 8601 date and time in GMT when the Build resource was last updated", - "format": "date-time", + "status": { + "type": "string", + "enum": [ + "building", + "completed", + "failed" + ], "nullable": true, - "type": "string" + "description": "The status of the Build" }, - "dependencies": { - "description": "A list of objects that describe the Dependencies included in the Build", + "asset_versions": { + "type": "array", "items": {}, "nullable": true, - "type": "array" + "description": "The list of Asset Version resource SIDs that are included in the Build" }, "function_versions": { - "description": "The list of Function Version resource SIDs that are included in the Build", + "type": "array", "items": {}, "nullable": true, - "type": "array" + "description": "The list of Function Version resource SIDs that are included in the Build" }, - "links": { - "format": "uri-map", + "dependencies": { + "type": "array", + "items": {}, "nullable": true, - "type": "object" + "description": "A list of objects that describe the Dependencies included in the Build" }, "runtime": { - "description": "The Runtime version that will be used to run the Build.", + "type": "string", "enum": [ "node8", "node10", @@ -247,601 +187,683 @@ "node14" ], "nullable": true, - "type": "string" - }, - "service_sid": { - "description": "The SID of the Service that the Build resource is associated with", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^ZS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The Runtime version that will be used to run the Build." }, - "sid": { - "description": "The unique string that identifies the Build resource", - "maxLength": 34, - "minLength": 34, + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^ZB[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO 8601 date and time in GMT when the Build resource was created" }, - "status": { - "description": "The status of the Build", - "enum": [ - "building", - "completed", - "failed" - ], + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the Build resource was last updated" }, "url": { - "description": "The absolute URL of the Build resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Build resource" + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true } - }, - "type": "object" + } }, "serverless.v1.service.build.build_status": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the Build resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^ZB[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the Build resource" }, - "service_sid": { - "description": "The SID of the Service that the Build resource is associated with", - "maxLength": 34, + "account_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^ZS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Account that created the Build resource" }, - "sid": { - "description": "The unique string that identifies the Build resource", - "maxLength": 34, + "service_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^ZS[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^ZB[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Service that the Build resource is associated with" }, "status": { - "description": "The status of the Build", + "type": "string", "enum": [ "building", "completed", "failed" ], "nullable": true, - "type": "string" + "description": "The status of the Build" }, "url": { - "description": "The absolute URL of the Build Status resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Build Status resource" } - }, - "type": "object" + } }, - "serverless.v1.service.environment": { + "serverless.v1.service.environment.deployment": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the Environment resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^ZD[0-9a-fA-F]{32}$", "nullable": true, + "description": "The unique string that identifies the Deployment resource" + }, + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the Deployment resource" }, - "build_sid": { - "description": "The SID of the build deployed in the environment", + "service_sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^ZS[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Service that the Deployment resource is associated with" + }, + "environment_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^ZE[0-9a-fA-F]{32}$", "nullable": true, + "description": "The SID of the Environment for the Deployment" + }, + "build_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^ZB[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Build for the deployment" }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the Environment resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the Deployment resource was created" }, "date_updated": { - "description": "The ISO 8601 date and time in GMT when the Environment resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the Deployment resource was last updated" }, - "domain_name": { - "description": "The domain name for all Functions and Assets deployed in the Environment", + "url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "string" - }, - "domain_suffix": { - "description": "A URL-friendly name that represents the environment", + "description": "The absolute URL of the Deployment resource" + } + } + }, + "serverless.v1.service.environment": { + "type": "object", + "properties": { + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^ZE[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique string that identifies the Environment resource" }, - "links": { - "description": "The URLs of the Environment resource's nested resources", - "format": "uri-map", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "object" + "description": "The SID of the Account that created the Environment resource" }, "service_sid": { - "description": "The SID of the Service that the Environment resource is associated with", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^ZS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Service that the Environment resource is associated with" }, - "sid": { - "description": "The unique string that identifies the Environment resource", - "maxLength": 34, + "build_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^ZB[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^ZE[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the build deployed in the environment" }, "unique_name": { - "description": "A user-defined string that uniquely identifies the Environment resource", + "type": "string", "nullable": true, - "type": "string" + "description": "A user-defined string that uniquely identifies the Environment resource" }, - "url": { - "description": "The absolute URL of the Environment resource", - "format": "uri", + "domain_suffix": { + "type": "string", "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "serverless.v1.service.environment.deployment": { - "properties": { - "account_sid": { - "description": "The SID of the Account that created the Deployment resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "A URL-friendly name that represents the environment" }, - "build_sid": { - "description": "The SID of the Build for the deployment", - "maxLength": 34, - "minLength": 34, + "domain_name": { + "type": "string", "nullable": true, - "pattern": "^ZB[0-9a-fA-F]{32}$", - "type": "string" + "description": "The domain name for all Functions and Assets deployed in the Environment" }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the Deployment resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the Environment resource was created" }, "date_updated": { - "description": "The ISO 8601 date and time in GMT when the Deployment resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the Environment resource was last updated" }, - "environment_sid": { - "description": "The SID of the Environment for the Deployment", + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The absolute URL of the Environment resource" + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "The URLs of the Environment resource's nested resources" + } + } + }, + "serverless.v1.service.function": { + "type": "object", + "properties": { + "sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^ZH[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique string that identifies the Function resource" + }, + "account_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^ZE[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Account that created the Function resource" }, "service_sid": { - "description": "The SID of the Service that the Deployment resource is associated with", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^ZS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Service that the Function resource is associated with" }, - "sid": { - "description": "The unique string that identifies the Deployment resource", - "maxLength": 34, - "minLength": 34, + "friendly_name": { + "type": "string", "nullable": true, - "pattern": "^ZD[0-9a-fA-F]{32}$", - "type": "string" + "description": "The string that you assigned to describe the Function resource" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the Function resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the Function resource was last updated" }, "url": { - "description": "The absolute URL of the Deployment resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Function resource" + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "The URLs of nested resources of the Function resource" } - }, - "type": "object" + } }, - "serverless.v1.service.environment.log": { + "serverless.v1.service.function.function_version": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the Log resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "build_sid": { - "description": "The SID of the build that corresponds to the log", "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^ZB[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the Log resource was created", - "format": "date-time", + "pattern": "^ZN[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique string that identifies the Function Version resource" }, - "deployment_sid": { - "description": "The SID of the deployment that corresponds to the log", - "maxLength": 34, + "account_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^ZD[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Account that created the Function Version resource" }, - "environment_sid": { - "description": "The SID of the environment in which the log occurred", - "maxLength": 34, + "service_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^ZS[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^ZE[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Service that the Function Version resource is associated with" }, "function_sid": { - "description": "The SID of the function whose invocation produced the log", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^ZH[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Function resource that is the parent of the Function Version resource" }, - "level": { - "description": "The log level", + "path": { + "type": "string", + "nullable": true, + "description": "The URL-friendly string by which the Function Version resource can be referenced" + }, + "visibility": { + "type": "string", "enum": [ - "info", - "warn", - "error" + "public", + "private", + "protected" ], "nullable": true, - "type": "string" + "description": "The access control that determines how the Function Version resource can be accessed" }, - "message": { - "description": "The log message", + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the Function Version resource was created" }, - "request_sid": { - "description": "The SID of the request associated with the log", + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The absolute URL of the Function Version resource" + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true + } + } + }, + "serverless.v1.service.function.function_version.function_version_content": { + "type": "object", + "properties": { + "sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^ZN[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique string that identifies the Function Version resource" + }, + "account_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^RQ[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Account that created the Function Version resource" }, "service_sid": { - "description": "The SID of the Service that the Log resource is associated with", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^ZS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Service that the Function Version resource is associated with" }, - "sid": { - "description": "The unique string that identifies the Log resource", - "maxLength": 34, + "function_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^ZH[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^NO[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Function that is the parent of the Function Version" + }, + "content": { + "type": "string", + "nullable": true, + "description": "The content of the Function Version resource" }, "url": { - "description": "The absolute URL of the Log resource", + "type": "string", "format": "uri", - "nullable": true, - "type": "string" + "nullable": true } - }, - "type": "object" + } }, - "serverless.v1.service.environment.variable": { + "serverless.v1.service.environment.log": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the Variable resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^NO[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the Log resource" }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the Variable resource was created", - "format": "date-time", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the Log resource" }, - "date_updated": { - "description": "The ISO 8601 date and time in GMT when the Variable resource was last updated", - "format": "date-time", + "service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^ZS[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Service that the Log resource is associated with" }, "environment_sid": { - "description": "The SID of the Environment in which the Variable exists", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^ZE[0-9a-fA-F]{32}$", - "type": "string" - }, - "key": { - "description": "A string by which the Variable resource can be referenced", "nullable": true, - "type": "string" + "description": "The SID of the environment in which the log occurred" }, - "service_sid": { - "description": "The SID of the Service that the Variable resource is associated with", + "build_sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^ZB[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the build that corresponds to the log" + }, + "deployment_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^ZD[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^ZS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the deployment that corresponds to the log" }, - "sid": { - "description": "The unique string that identifies the Variable resource", + "function_sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^ZH[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the function whose invocation produced the log" + }, + "request_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^RQ[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^ZV[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the request associated with the log" }, - "url": { - "description": "The absolute URL of the Variable resource", - "format": "uri", + "level": { + "type": "string", + "enum": [ + "info", + "warn", + "error" + ], "nullable": true, - "type": "string" + "description": "The log level" }, - "value": { - "description": "A string that contains the actual value of the Variable", + "message": { + "type": "string", + "nullable": true, + "description": "The log message" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the Log resource was created" + }, + "url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Log resource" } - }, - "type": "object" + } }, - "serverless.v1.service.function": { + "serverless.v1.service": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the Function resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^ZS[0-9a-fA-F]{32}$", "nullable": true, + "description": "The unique string that identifies the Service resource" + }, + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the Service resource" }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the Function resource was created", - "format": "date-time", + "friendly_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the Service resource" }, - "date_updated": { - "description": "The ISO 8601 date and time in GMT when the Function resource was last updated", - "format": "date-time", + "unique_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "A user-defined string that uniquely identifies the Service resource" }, - "friendly_name": { - "description": "The string that you assigned to describe the Function resource", + "include_credentials": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Whether to inject Account credentials into a function invocation context" }, - "links": { - "description": "The URLs of nested resources of the Function resource", - "format": "uri-map", + "ui_editable": { + "type": "boolean", "nullable": true, - "type": "object" + "description": "Whether the Service resource's properties and subresources can be edited via the UI" }, - "service_sid": { - "description": "The SID of the Service that the Function resource is associated with", - "maxLength": 34, - "minLength": 34, + "domain_base": { + "type": "string", "nullable": true, - "pattern": "^ZS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The base domain name for this Service, which is a combination of the unique name and a randomly generated string" }, - "sid": { - "description": "The unique string that identifies the Function resource", - "maxLength": 34, - "minLength": 34, + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^ZH[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO 8601 date and time in GMT when the Service resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the Service resource was last updated" }, "url": { - "description": "The absolute URL of the Function resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Service resource" + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "The URLs of the Service's nested resources" } - }, - "type": "object" + } }, - "serverless.v1.service.function.function_version": { + "serverless.v1.service.environment.variable": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the Function Version resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^ZV[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the Function Version resource was created", - "format": "date-time", - "nullable": true, - "type": "string" + "description": "The unique string that identifies the Variable resource" }, - "function_sid": { - "description": "The SID of the Function resource that is the parent of the Function Version resource", - "maxLength": 34, + "account_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^ZH[0-9a-fA-F]{32}$", - "type": "string" - }, - "links": { - "format": "uri-map", - "nullable": true, - "type": "object" - }, - "path": { - "description": "The URL-friendly string by which the Function Version resource can be referenced", - "nullable": true, - "type": "string" + "description": "The SID of the Account that created the Variable resource" }, "service_sid": { - "description": "The SID of the Service that the Function Version resource is associated with", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^ZS[0-9a-fA-F]{32}$", - "type": "string" - }, - "sid": { - "description": "The unique string that identifies the Function Version resource", "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^ZN[0-9a-fA-F]{32}$", - "type": "string" - }, - "url": { - "description": "The absolute URL of the Function Version resource", - "format": "uri", + "pattern": "^ZS[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Service that the Variable resource is associated with" }, - "visibility": { - "description": "The access control that determines how the Function Version resource can be accessed", - "enum": [ - "public", - "private", - "protected" - ], - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "serverless.v1.service.function.function_version.function_version_content": { - "properties": { - "account_sid": { - "description": "The SID of the Account that created the Function Version resource", - "maxLength": 34, + "environment_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^ZE[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Environment in which the Variable exists" }, - "content": { - "description": "The content of the Function Version resource", + "key": { + "type": "string", "nullable": true, - "type": "string" + "description": "A string by which the Variable resource can be referenced" }, - "function_sid": { - "description": "The SID of the Function that is the parent of the Function Version", - "maxLength": 34, - "minLength": 34, + "value": { + "type": "string", "nullable": true, - "pattern": "^ZH[0-9a-fA-F]{32}$", - "type": "string" + "description": "A string that contains the actual value of the Variable" }, - "service_sid": { - "description": "The SID of the Service that the Function Version resource is associated with", - "maxLength": 34, - "minLength": 34, + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^ZS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO 8601 date and time in GMT when the Variable resource was created" }, - "sid": { - "description": "The unique string that identifies the Function Version resource", - "maxLength": 34, - "minLength": 34, + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^ZN[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO 8601 date and time in GMT when the Variable resource was last updated" }, "url": { + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Variable resource" } - }, - "type": "object" + } } }, "securitySchemes": { "accountSid_authToken": { - "scheme": "basic", - "type": "http" + "type": "http", + "scheme": "basic" } } }, "info": { + "title": "Twilio - Serverless", + "description": "This is the public Twilio REST API.", + "termsOfService": "https://www.twilio.com/legal/tos", "contact": { - "email": "support@twilio.com", "name": "Twilio Support", - "url": "https://support.twilio.com" + "url": "https://support.twilio.com", + "email": "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 - Serverless", "version": "1.30.0" }, "openapi": "3.0.1", "paths": { - "/v1/Services": { - "description": "The top-level resource for a Serverless application, which serves as a container for the application environments.", + "/v1/Services/{ServiceSid}/Assets": { + "servers": [ + { + "url": "https://serverless.twilio.com" + } + ], + "description": "A wrapper that represents a static file and groups the different Versions of the static file.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "date_created" + ], + "pathType": "list", + "parent": "/Services" + }, "get": { - "description": "Retrieve a list of all Services.", - "operationId": "ListService", + "description": "Retrieve a list of all Assets.", "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", + "name": "ServiceSid", + "in": "path", + "description": "The SID of the Service to read the Asset resources from.", + "schema": { + "type": "string" + }, + "required": true + }, + { "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -850,19 +872,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListAssetResponse", "properties": { + "assets": { + "type": "array", + "items": { + "$ref": "#/components/schemas/serverless.v1.service.asset" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -871,25 +899,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "services": { - "items": { - "$ref": "#/components/schemas/serverless.v1.service" - }, - "type": "array" + } } - }, - "title": "ListServiceResponse", - "type": "object" + } } } }, @@ -901,51 +923,30 @@ "accountSid_authToken": [] } ], + "operationId": "ListAsset", "x-maturity": [ "Beta" ] }, "post": { - "description": "Create a new Service resource.", - "operationId": "CreateService", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "FriendlyName": { - "description": "A descriptive string that you create to describe the Service resource. It can be a maximum of 255 characters.", - "type": "string" - }, - "IncludeCredentials": { - "description": "Whether to inject Account credentials into a function invocation context. The default value is `true`.", - "type": "boolean" - }, - "UiEditable": { - "description": "Whether the Service's properties and subresources can be edited via the UI. The default value is `false`.", - "type": "boolean" - }, - "UniqueName": { - "description": "A user-defined string that uniquely identifies the Service resource. It can be used as an alternative to the `sid` in the URL path to address the Service resource. This value must be 50 characters or less in length and be unique.", - "type": "string" - } - }, - "required": [ - "UniqueName", - "FriendlyName" - ], - "title": "CreateServiceRequest", - "type": "object" - } - } + "description": "Create a new Asset resource.", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the Service to create the Asset resource under.", + "schema": { + "type": "string" + }, + "required": true } - }, + ], "responses": { "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/serverless.v1.service" + "$ref": "#/components/schemas/serverless.v1.service.asset" } } }, @@ -957,48 +958,70 @@ "accountSid_authToken": [] } ], + "operationId": "CreateAsset", "x-maturity": [ "Beta" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateAssetRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the Asset resource. It can be a maximum of 255 characters." + } + }, + "required": [ + "FriendlyName" + ] + } + } + } + } + } + }, + "/v1/Services/{ServiceSid}/Assets/{Sid}": { "servers": [ { "url": "https://serverless.twilio.com" } ], + "description": "A wrapper that represents a static file and groups the different Versions of the static file.", "x-twilio": { "defaultOutputProperties": [ "sid", - "unique_name", - "friendly_name" + "friendly_name", + "date_created" ], - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Assets": { - "description": "A wrapper that represents a static file and groups the different Versions of the static file.", + "pathType": "instance", + "parent": "/Services" + }, "get": { - "description": "Retrieve a list of all Assets.", - "operationId": "ListAsset", + "description": "Retrieve a specific Asset resource.", "parameters": [ { - "description": "The SID of the Service to read the Asset resources from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the Service to fetch the Asset resource from.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", - "name": "PageSize", + "name": "Sid", + "in": "path", + "description": "The SID that identifies the Asset resource to fetch.", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^ZH[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1006,46 +1029,7 @@ "content": { "application/json": { "schema": { - "properties": { - "assets": { - "items": { - "$ref": "#/components/schemas/serverless.v1.service.asset" - }, - "type": "array" - }, - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - } - }, - "title": "ListAssetResponse", - "type": "object" + "$ref": "#/components/schemas/serverless.v1.service.asset" } } }, @@ -1057,45 +1041,78 @@ "accountSid_authToken": [] } ], + "operationId": "FetchAsset", "x-maturity": [ "Beta" ] }, - "post": { - "description": "Create a new Asset resource.", - "operationId": "CreateAsset", + "delete": { + "description": "Delete an Asset resource.", "parameters": [ { - "description": "The SID of the Service to create the Asset resource under.", - "in": "path", "name": "ServiceSid", - "required": true, - "schema": { + "in": "path", + "description": "The SID of the Service to delete the Asset resource from.", + "schema": { "type": "string" - } + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID that identifies the Asset resource to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^ZH[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "FriendlyName": { - "description": "A descriptive string that you create to describe the Asset resource. It can be a maximum of 255 characters.", - "type": "string" - } - }, - "required": [ - "FriendlyName" - ], - "title": "CreateAssetRequest", - "type": "object" - } - } + "responses": { + "204": { + "description": "The resource was deleted successfully." } }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteAsset", + "x-maturity": [ + "Beta" + ] + }, + "post": { + "description": "Update a specific Asset resource.", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the Service to update the Asset resource from.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID that identifies the Asset resource to update.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^ZH[0-9a-fA-F]{32}$" + }, + "required": true + } + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { @@ -1103,7 +1120,7 @@ } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -1111,60 +1128,81 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateAsset", "x-maturity": [ "Beta" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateAssetRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the Asset resource. It can be a maximum of 255 characters." + } + }, + "required": [ + "FriendlyName" + ] + } + } + } + } + } + }, + "/v1/Services/{ServiceSid}/Assets/{AssetSid}/Versions": { "servers": [ { "url": "https://serverless.twilio.com" } ], + "description": "The content of an Asset.", "x-twilio": { "defaultOutputProperties": [ "sid", - "friendly_name", + "path", + "visibility", "date_created" ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Assets/{AssetSid}/Versions": { - "description": "The content of an Asset.", + "pathType": "list", + "parent": "/Services/{ServiceSid}/Assets", + "className": "asset_version" + }, "get": { "description": "Retrieve a list of all Asset Versions.", - "operationId": "ListAssetVersion", "parameters": [ { - "description": "The SID of the Service to read the Asset Version resource from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the Service to read the Asset Version resource from.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Asset resource that is the parent of the Asset Version resources to read.", - "in": "path", "name": "AssetSid", - "required": true, + "in": "path", + "description": "The SID of the Asset resource that is the parent of the Asset Version resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^ZH[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^ZH[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1173,25 +1211,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListAssetVersionResponse", "properties": { "asset_versions": { + "type": "array", "items": { "$ref": "#/components/schemas/serverless.v1.service.asset.asset_version" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1200,19 +1238,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListAssetVersionResponse", - "type": "object" + } } } }, @@ -1224,65 +1262,65 @@ "accountSid_authToken": [] } ], + "operationId": "ListAssetVersion", "x-maturity": [ "Beta" ] - }, + } + }, + "/v1/Services/{ServiceSid}/Assets/{AssetSid}/Versions/{Sid}": { "servers": [ { "url": "https://serverless.twilio.com" } ], + "description": "The content of an Asset.", "x-twilio": { - "className": "asset_version", "defaultOutputProperties": [ "sid", "path", "visibility", "date_created" ], + "pathType": "instance", "parent": "/Services/{ServiceSid}/Assets", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Assets/{AssetSid}/Versions/{Sid}": { - "description": "The content of an Asset.", + "className": "asset_version" + }, "get": { "description": "Retrieve a specific Asset Version.", - "operationId": "FetchAssetVersion", "parameters": [ { - "description": "The SID of the Service to fetch the Asset Version resource from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the Service to fetch the Asset Version resource from.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Asset resource that is the parent of the Asset Version resource to fetch.", - "in": "path", "name": "AssetSid", - "required": true, + "in": "path", + "description": "The SID of the Asset resource that is the parent of the Asset Version resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^ZH[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^ZH[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the Asset Version resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Asset Version resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^ZN[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^ZN[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1302,57 +1340,100 @@ "accountSid_authToken": [] } ], + "operationId": "FetchAssetVersion", "x-maturity": [ "Beta" ] - }, + } + }, + "/v1/Services/{ServiceSid}/Builds": { "servers": [ { "url": "https://serverless.twilio.com" } ], + "description": "A collection of Function Versions, Asset Versions, Dependencies, and a Runtime that form a deployable unit.", "x-twilio": { - "className": "asset_version", "defaultOutputProperties": [ "sid", - "path", - "visibility", + "status", "date_created" ], - "parent": "/Services/{ServiceSid}/Assets", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/Assets/{Sid}": { - "delete": { - "description": "Delete an Asset resource.", - "operationId": "DeleteAsset", + "pathType": "list", + "parent": "/Services" + }, + "get": { + "description": "Retrieve a list of all Builds.", "parameters": [ { - "description": "The SID of the Service to delete the Asset resource from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the Service to read the Build resources from.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID that identifies the Asset resource to delete.", - "in": "path", - "name": "Sid", - "required": true, + "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^ZH[0-9a-fA-F]{32}$", - "type": "string" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "ListBuildResponse", + "properties": { + "builds": { + "type": "array", + "items": { + "$ref": "#/components/schemas/serverless.v1.service.build" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } + } + } + }, + "description": "OK" } }, "security": [ @@ -1360,35 +1441,126 @@ "accountSid_authToken": [] } ], + "operationId": "ListBuild", "x-maturity": [ "Beta" ] }, - "description": "A wrapper that represents a static file and groups the different Versions of the static file.", - "get": { - "description": "Retrieve a specific Asset resource.", - "operationId": "FetchAsset", + "post": { + "description": "Create a new Build resource. At least one function version or asset version is required.", "parameters": [ { - "description": "The SID of the Service to fetch the Asset resource from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the Service to create the Build resource under.", "schema": { "type": "string" - } - }, - { - "description": "The SID that identifies the Asset resource to fetch.", - "in": "path", + }, + "required": true + } + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/serverless.v1.service.build" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateBuild", + "x-maturity": [ + "Beta" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateBuildRequest", + "properties": { + "AssetVersions": { + "type": "array", + "items": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^ZN[0-9a-fA-F]{32}$" + }, + "description": "The list of Asset Version resource SIDs to include in the Build." + }, + "FunctionVersions": { + "type": "array", + "items": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^ZN[0-9a-fA-F]{32}$" + }, + "description": "The list of the Function Version resource SIDs to include in the Build." + }, + "Dependencies": { + "type": "string", + "description": "A list of objects that describe the Dependencies included in the Build. Each object contains the `name` and `version` of the dependency." + }, + "Runtime": { + "type": "string", + "description": "The Runtime version that will be used to run the Build resource when it is deployed." + } + } + } + } + } + } + } + }, + "/v1/Services/{ServiceSid}/Builds/{Sid}": { + "servers": [ + { + "url": "https://serverless.twilio.com" + } + ], + "description": "A collection of Function Versions, Asset Versions, Dependencies, and a Runtime that form a deployable unit.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "status", + "date_created" + ], + "pathType": "instance", + "parent": "/Services" + }, + "get": { + "description": "Retrieve a specific Build resource.", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the Service to fetch the Build resource from.", + "schema": { + "type": "string" + }, + "required": true + }, + { "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Build resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^ZH[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^ZB[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1396,7 +1568,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/serverless.v1.service.asset" + "$ref": "#/components/schemas/serverless.v1.service.build" } } }, @@ -1408,61 +1580,99 @@ "accountSid_authToken": [] } ], + "operationId": "FetchBuild", "x-maturity": [ "Beta" ] }, - "post": { - "description": "Update a specific Asset resource.", - "operationId": "UpdateAsset", + "delete": { + "description": "Delete a Build resource.", "parameters": [ { - "description": "The SID of the Service to update the Asset resource from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the Service to delete the Build resource from.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID that identifies the Asset resource to update.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Build resource to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^ZH[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^ZB[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "FriendlyName": { - "description": "A descriptive string that you create to describe the Asset resource. It can be a maximum of 255 characters.", - "type": "string" - } - }, - "required": [ - "FriendlyName" - ], - "title": "UpdateAssetRequest", - "type": "object" - } - } + "responses": { + "204": { + "description": "The resource was deleted successfully." } }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteBuild", + "x-maturity": [ + "Beta" + ] + } + }, + "/v1/Services/{ServiceSid}/Builds/{Sid}/Status": { + "servers": [ + { + "url": "https://serverless.twilio.com" + } + ], + "description": "The status of a Build resource.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "status" + ], + "pathType": "instance", + "parent": "/Services/{ServiceSid}/Builds", + "className": "build_status" + }, + "get": { + "description": "Retrieve a specific Build resource.", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the Service to fetch the Build resource from.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the Build resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^ZB[0-9a-fA-F]{32}$" + }, + "required": true + } + ], "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/serverless.v1.service.asset" + "$ref": "#/components/schemas/serverless.v1.service.build.build_status" } } }, @@ -1474,48 +1684,60 @@ "accountSid_authToken": [] } ], + "operationId": "FetchBuildStatus", "x-maturity": [ "Beta" ] - }, + } + }, + "/v1/Services/{ServiceSid}/Environments/{EnvironmentSid}/Deployments": { "servers": [ { "url": "https://serverless.twilio.com" } ], + "description": "An association of a Build with an Environment so that the Build is published in the Environment.", "x-twilio": { "defaultOutputProperties": [ "sid", - "friendly_name", + "build_sid", "date_created" ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/Builds": { - "description": "A collection of Function Versions, Asset Versions, Dependencies, and a Runtime that form a deployable unit.", + "pathType": "list", + "parent": "/Services/{ServiceSid}/Environments" + }, "get": { - "description": "Retrieve a list of all Builds.", - "operationId": "ListBuild", + "description": "Retrieve a list of all Deployments.", "parameters": [ { - "description": "The SID of the Service to read the Build resources from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the Service to read the Deployment resources from.", "schema": { "type": "string" - } + }, + "required": true + }, + { + "name": "EnvironmentSid", + "in": "path", + "description": "The SID of the Environment used by the Deployment resources to read.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^ZE[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1524,25 +1746,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListDeploymentResponse", "properties": { - "builds": { + "deployments": { + "type": "array", "items": { - "$ref": "#/components/schemas/serverless.v1.service.build" - }, - "type": "array" + "$ref": "#/components/schemas/serverless.v1.service.environment.deployment" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1551,19 +1773,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListBuildResponse", - "type": "object" + } } } }, @@ -1575,70 +1797,42 @@ "accountSid_authToken": [] } ], + "operationId": "ListDeployment", "x-maturity": [ "Beta" ] }, "post": { - "description": "Create a new Build resource. At least one function version or asset version is required.", - "operationId": "CreateBuild", + "description": "Create a new Deployment.", "parameters": [ { - "description": "The SID of the Service to create the Build resource under.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the Service to create the Deployment resource under.", "schema": { "type": "string" - } + }, + "required": true + }, + { + "name": "EnvironmentSid", + "in": "path", + "description": "The SID of the Environment for the Deployment.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^ZE[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "AssetVersions": { - "description": "The list of Asset Version resource SIDs to include in the Build.", - "items": { - "maxLength": 34, - "minLength": 34, - "pattern": "^ZN[0-9a-fA-F]{32}$", - "type": "string" - }, - "type": "array" - }, - "Dependencies": { - "description": "A list of objects that describe the Dependencies included in the Build. Each object contains the `name` and `version` of the dependency.", - "type": "string" - }, - "FunctionVersions": { - "description": "The list of the Function Version resource SIDs to include in the Build.", - "items": { - "maxLength": 34, - "minLength": 34, - "pattern": "^ZN[0-9a-fA-F]{32}$", - "type": "string" - }, - "type": "array" - }, - "Runtime": { - "description": "The Runtime version that will be used to run the Build resource when it is deployed.", - "type": "string" - } - }, - "title": "CreateBuildRequest", - "type": "object" - } - } - } - }, "responses": { "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/serverless.v1.service.build" + "$ref": "#/components/schemas/serverless.v1.service.environment.deployment" } } }, @@ -1650,155 +1844,82 @@ "accountSid_authToken": [] } ], + "operationId": "CreateDeployment", "x-maturity": [ "Beta" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateDeploymentRequest", + "properties": { + "BuildSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^ZB[0-9a-fA-F]{32}$", + "description": "The SID of the Build for the Deployment." + } + } + } + } + } + } + } + }, + "/v1/Services/{ServiceSid}/Environments/{EnvironmentSid}/Deployments/{Sid}": { "servers": [ { "url": "https://serverless.twilio.com" } ], + "description": "An association of a Build with an Environment so that the Build is published in the Environment.", "x-twilio": { "defaultOutputProperties": [ "sid", - "status", + "build_sid", "date_created" ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Builds/{Sid}": { - "delete": { - "description": "Delete a Build resource.", - "operationId": "DeleteBuild", - "parameters": [ - { - "description": "The SID of the Service to delete the Build resource from.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the Build resource to delete.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^ZB[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "Beta" - ] + "pathType": "instance", + "parent": "/Services/{ServiceSid}/Environments" }, - "description": "A collection of Function Versions, Asset Versions, Dependencies, and a Runtime that form a deployable unit.", "get": { - "description": "Retrieve a specific Build resource.", - "operationId": "FetchBuild", + "description": "Retrieve a specific Deployment.", "parameters": [ { - "description": "The SID of the Service to fetch the Build resource from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the Service to fetch the Deployment resource from.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Build resource to fetch.", + "name": "EnvironmentSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the Environment used by the Deployment to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^ZB[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/serverless.v1.service.build" - } - } + "maxLength": 34, + "pattern": "^ZE[0-9a-fA-F]{32}$" }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "Beta" - ] - }, - "servers": [ - { - "url": "https://serverless.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "status", - "date_created" - ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/Builds/{Sid}/Status": { - "description": "The status of a Build resource.", - "get": { - "description": "Retrieve a specific Build resource.", - "operationId": "FetchBuildStatus", - "parameters": [ - { - "description": "The SID of the Service to fetch the Build resource from.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "type": "string" - } + "required": true }, { - "description": "The SID of the Build resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID that identifies the Deployment resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^ZB[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^ZD[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1806,7 +1927,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/serverless.v1.service.build.build_status" + "$ref": "#/components/schemas/serverless.v1.service.environment.deployment" } } }, @@ -1818,48 +1939,49 @@ "accountSid_authToken": [] } ], + "operationId": "FetchDeployment", "x-maturity": [ "Beta" ] - }, + } + }, + "/v1/Services/{ServiceSid}/Environments": { "servers": [ { "url": "https://serverless.twilio.com" } ], + "description": "Represents a deployed build of a given set of Functions and/or Assets at a specific URL.", "x-twilio": { - "className": "build_status", "defaultOutputProperties": [ "sid", - "status" + "unique_name", + "domain_name", + "build_sid" ], - "parent": "/Services/{ServiceSid}/Builds", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/Environments": { - "description": "Represents a deployed build of a given set of Functions and/or Assets at a specific URL.", + "pathType": "list", + "parent": "/Services" + }, "get": { "description": "Retrieve a list of all environments.", - "operationId": "ListEnvironment", "parameters": [ { - "description": "The SID of the Service to read the Environment resources from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the Service to read the Environment resources from.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1868,25 +1990,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListEnvironmentResponse", "properties": { "environments": { + "type": "array", "items": { "$ref": "#/components/schemas/serverless.v1.service.environment" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1895,19 +2017,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListEnvironmentResponse", - "type": "object" + } } } }, @@ -1919,47 +2041,24 @@ "accountSid_authToken": [] } ], + "operationId": "ListEnvironment", "x-maturity": [ "Beta" ] }, "post": { "description": "Create a new environment.", - "operationId": "CreateEnvironment", "parameters": [ { - "description": "The SID of the Service to create the Environment resource under.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the Service to create the Environment resource under.", "schema": { "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "DomainSuffix": { - "description": "A URL-friendly name that represents the environment and forms part of the domain name. It can be a maximum of 16 characters.", - "type": "string" - }, - "UniqueName": { - "description": "A user-defined string that uniquely identifies the Environment resource. It can be a maximum of 100 characters.", - "type": "string" - } - }, - "required": [ - "UniqueName" - ], - "title": "CreateEnvironmentRequest", - "type": "object" - } - } - } - }, "responses": { "201": { "content": { @@ -1977,15 +2076,42 @@ "accountSid_authToken": [] } ], + "operationId": "CreateEnvironment", "x-maturity": [ "Beta" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateEnvironmentRequest", + "properties": { + "UniqueName": { + "type": "string", + "description": "A user-defined string that uniquely identifies the Environment resource. It can be a maximum of 100 characters." + }, + "DomainSuffix": { + "type": "string", + "description": "A URL-friendly name that represents the environment and forms part of the domain name. It can be a maximum of 16 characters." + } + }, + "required": [ + "UniqueName" + ] + } + } + } + } + } + }, + "/v1/Services/{ServiceSid}/Environments/{Sid}": { "servers": [ { "url": "https://serverless.twilio.com" } ], + "description": "Represents a deployed build of a given set of Functions and/or Assets at a specific URL.", "x-twilio": { "defaultOutputProperties": [ "sid", @@ -1993,45 +2119,133 @@ "domain_name", "build_sid" ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Environments/{EnvironmentSid}/Deployments": { - "description": "An association of a Build with an Environment so that the Build is published in the Environment.", + "pathType": "instance", + "parent": "/Services" + }, "get": { - "description": "Retrieve a list of all Deployments.", - "operationId": "ListDeployment", + "description": "Retrieve a specific environment.", "parameters": [ { - "description": "The SID of the Service to read the Deployment resources from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the Service to fetch the Environment resource from.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Environment used by the Deployment resources to read.", + "name": "Sid", "in": "path", - "name": "EnvironmentSid", - "required": true, + "description": "The SID of the Environment resource to fetch.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^ZE[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/serverless.v1.service.environment" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "FetchEnvironment", + "x-maturity": [ + "Beta" + ] + }, + "delete": { + "description": "Delete a specific environment.", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the Service to delete the Environment resource from.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the Environment resource to delete.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^ZE[0-9a-fA-F]{32}$", + "maxLength": 34, + "pattern": "^ZE[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteEnvironment", + "x-maturity": [ + "Beta" + ] + } + }, + "/v1/Services/{ServiceSid}/Functions": { + "servers": [ + { + "url": "https://serverless.twilio.com" + } + ], + "description": "A wrapper that represents a Serverless JavaScript function and groups the different and groups the different Versions of this code.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "date_created" + ], + "pathType": "list", + "parent": "/Services" + }, + "get": { + "description": "Retrieve a list of all Functions.", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the Service to read the Function resources from.", + "schema": { "type": "string" - } + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -2040,25 +2254,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListFunctionResponse", "properties": { - "deployments": { + "functions": { + "type": "array", "items": { - "$ref": "#/components/schemas/serverless.v1.service.environment.deployment" - }, - "type": "array" + "$ref": "#/components/schemas/serverless.v1.service.function" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -2067,19 +2281,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListDeploymentResponse", - "type": "object" + } } } }, @@ -2091,61 +2305,30 @@ "accountSid_authToken": [] } ], + "operationId": "ListFunction", "x-maturity": [ "Beta" ] }, "post": { - "description": "Create a new Deployment.", - "operationId": "CreateDeployment", + "description": "Create a new Function resource.", "parameters": [ { - "description": "The SID of the Service to create the Deployment resource under.", - "in": "path", "name": "ServiceSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the Environment for the Deployment.", "in": "path", - "name": "EnvironmentSid", - "required": true, + "description": "The SID of the Service to create the Function resource under.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^ZE[0-9a-fA-F]{32}$", "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "BuildSid": { - "description": "The SID of the Build for the Deployment.", - "maxLength": 34, - "minLength": 34, - "pattern": "^ZB[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "title": "CreateDeploymentRequest", - "type": "object" - } - } - } - }, "responses": { "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/serverless.v1.service.environment.deployment" + "$ref": "#/components/schemas/serverless.v1.service.function" } } }, @@ -2157,63 +2340,70 @@ "accountSid_authToken": [] } ], + "operationId": "CreateFunction", "x-maturity": [ "Beta" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateFunctionRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the Function resource. It can be a maximum of 255 characters." + } + }, + "required": [ + "FriendlyName" + ] + } + } + } + } + } + }, + "/v1/Services/{ServiceSid}/Functions/{Sid}": { "servers": [ { "url": "https://serverless.twilio.com" } ], + "description": "A wrapper that represents a Serverless JavaScript function and groups the different and groups the different Versions of this code.", "x-twilio": { "defaultOutputProperties": [ "sid", - "build_sid", + "friendly_name", "date_created" ], - "parent": "/Services/{ServiceSid}/Environments", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Environments/{EnvironmentSid}/Deployments/{Sid}": { - "description": "An association of a Build with an Environment so that the Build is published in the Environment.", + "pathType": "instance", + "parent": "/Services" + }, "get": { - "description": "Retrieve a specific Deployment.", - "operationId": "FetchDeployment", + "description": "Retrieve a specific Function resource.", "parameters": [ { - "description": "The SID of the Service to fetch the Deployment resource from.", - "in": "path", "name": "ServiceSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the Environment used by the Deployment to fetch.", "in": "path", - "name": "EnvironmentSid", - "required": true, + "description": "The SID of the Service to fetch the Function resource from.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^ZE[0-9a-fA-F]{32}$", "type": "string" - } + }, + "required": true }, { - "description": "The SID that identifies the Deployment resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Function resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^ZD[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^ZH[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2221,7 +2411,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/serverless.v1.service.environment.deployment" + "$ref": "#/components/schemas/serverless.v1.service.function" } } }, @@ -2233,141 +2423,39 @@ "accountSid_authToken": [] } ], + "operationId": "FetchFunction", "x-maturity": [ "Beta" ] }, - "servers": [ - { - "url": "https://serverless.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "build_sid", - "date_created" - ], - "parent": "/Services/{ServiceSid}/Environments", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/Environments/{EnvironmentSid}/Logs": { - "description": "A record of an event that occurred related to a function invocation.", - "get": { - "description": "Retrieve a list of all logs.", - "operationId": "ListLog", + "delete": { + "description": "Delete a Function resource.", "parameters": [ { - "description": "The SID of the Service to read the Log resource from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the Service to delete the Function resource from.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the environment with the Log resources to read.", + "name": "Sid", "in": "path", - "name": "EnvironmentSid", - "required": true, + "description": "The SID of the Function resource to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^ZE[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the function whose invocation produced the Log resources to read.", - "in": "query", - "name": "FunctionSid", - "schema": { "maxLength": 34, - "minLength": 34, - "pattern": "^ZH[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The date/time (in GMT, ISO 8601) after which the Log resources must have been created. Defaults to 1 day prior to current date/time.", - "in": "query", - "name": "StartDate", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "description": "The date/time (in GMT, ISO 8601) before which the Log resources must have been created. Defaults to current date/time.", - "in": "query", - "name": "EndDate", - "schema": { - "format": "date-time", - "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" - } + "pattern": "^ZH[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "logs": { - "items": { - "$ref": "#/components/schemas/serverless.v1.service.environment.log" - }, - "type": "array" - }, - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - } - }, - "title": "ListLogResponse", - "type": "object" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -2375,59 +2463,34 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteFunction", "x-maturity": [ "Beta" ] }, - "servers": [ - { - "url": "https://serverless.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [], - "parent": "/Services/{ServiceSid}/Environments", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Environments/{EnvironmentSid}/Logs/{Sid}": { - "description": "A record of an event that occurred related to a function invocation.", - "get": { - "description": "Retrieve a specific log.", - "operationId": "FetchLog", + "post": { + "description": "Update a specific Function resource.", "parameters": [ { - "description": "The SID of the Service to fetch the Log resource from.", - "in": "path", "name": "ServiceSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the environment with the Log resource to fetch.", "in": "path", - "name": "EnvironmentSid", - "required": true, + "description": "The SID of the Service to update the Function resource from.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^ZE[0-9a-fA-F]{32}$", "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Log resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Function resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^NO[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^ZH[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2435,7 +2498,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/serverless.v1.service.environment.log" + "$ref": "#/components/schemas/serverless.v1.service.function" } } }, @@ -2447,56 +2510,81 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateFunction", "x-maturity": [ "Beta" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateFunctionRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the Function resource. It can be a maximum of 255 characters." + } + }, + "required": [ + "FriendlyName" + ] + } + } + } + } + } + }, + "/v1/Services/{ServiceSid}/Functions/{FunctionSid}/Versions": { "servers": [ { "url": "https://serverless.twilio.com" } ], + "description": "The content of a Function.", "x-twilio": { - "defaultOutputProperties": [], - "parent": "/Services/{ServiceSid}/Environments", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/Environments/{EnvironmentSid}/Variables": { - "description": "A key and value pair that is specific to an Environment.", + "defaultOutputProperties": [ + "sid", + "path", + "visibility", + "date_created" + ], + "pathType": "list", + "parent": "/Services/{ServiceSid}/Functions", + "className": "function_version" + }, "get": { - "description": "Retrieve a list of all Variables.", - "operationId": "ListVariable", + "description": "Retrieve a list of all Function Version resources.", "parameters": [ { - "description": "The SID of the Service to read the Variable resources from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the Service to read the Function Version resources from.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Environment with the Variable resources to read.", + "name": "FunctionSid", "in": "path", - "name": "EnvironmentSid", - "required": true, + "description": "The SID of the function that is the parent of the Function Version resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^ZE[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^ZH[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -2505,19 +2593,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListFunctionVersionResponse", "properties": { + "function_versions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/serverless.v1.service.function.function_version" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -2526,25 +2620,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "variables": { - "items": { - "$ref": "#/components/schemas/serverless.v1.service.environment.variable" - }, - "type": "array" + } } - }, - "title": "ListVariableResponse", - "type": "object" + } } } }, @@ -2556,70 +2644,77 @@ "accountSid_authToken": [] } ], + "operationId": "ListFunctionVersion", "x-maturity": [ "Beta" ] + } + }, + "/v1/Services/{ServiceSid}/Functions/{FunctionSid}/Versions/{Sid}": { + "servers": [ + { + "url": "https://serverless.twilio.com" + } + ], + "description": "The content of a Function.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "path", + "visibility", + "date_created" + ], + "pathType": "instance", + "parent": "/Services/{ServiceSid}/Functions", + "className": "function_version" }, - "post": { - "description": "Create a new Variable.", - "operationId": "CreateVariable", + "get": { + "description": "Retrieve a specific Function Version resource.", "parameters": [ { - "description": "The SID of the Service to create the Variable resource under.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the Service to fetch the Function Version resource from.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Environment in which the Variable resource exists.", + "name": "FunctionSid", "in": "path", - "name": "EnvironmentSid", - "required": true, + "description": "The SID of the function that is the parent of the Function Version resource to fetch.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^ZH[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the Function Version resource to fetch.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^ZE[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^ZN[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Key": { - "description": "A string by which the Variable resource can be referenced. It can be a maximum of 128 characters.", - "type": "string" - }, - "Value": { - "description": "A string that contains the actual value of the Variable. It can be a maximum of 450 bytes in size.", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "title": "CreateVariableRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/serverless.v1.service.environment.variable" + "$ref": "#/components/schemas/serverless.v1.service.function.function_version" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -2627,67 +2722,75 @@ "accountSid_authToken": [] } ], + "operationId": "FetchFunctionVersion", "x-maturity": [ "Beta" ] - }, + } + }, + "/v1/Services/{ServiceSid}/Functions/{FunctionSid}/Versions/{Sid}/Content": { "servers": [ { "url": "https://serverless.twilio.com" } ], + "description": "The code of a Function Version.", "x-twilio": { "defaultOutputProperties": [ "sid", - "key", - "date_created" + "content" ], - "parent": "/Services/{ServiceSid}/Environments", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Environments/{EnvironmentSid}/Variables/{Sid}": { - "delete": { - "description": "Delete a specific Variable.", - "operationId": "DeleteVariable", + "pathType": "instance", + "parent": "/Services/{ServiceSid}/Functions/{FunctionSid}/Versions", + "className": "function_version_content" + }, + "get": { + "description": "Retrieve a the content of a specific Function Version resource.", "parameters": [ { - "description": "The SID of the Service to delete the Variable resource from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the Service to fetch the Function Version content from.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Environment with the Variables to delete.", + "name": "FunctionSid", "in": "path", - "name": "EnvironmentSid", - "required": true, + "description": "The SID of the Function that is the parent of the Function Version content to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^ZE[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^ZH[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the Variable resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Function Version content to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^ZV[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^ZN[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/serverless.v1.service.function.function_version.function_version_content" + } + } + }, + "description": "OK" } }, "security": [ @@ -2695,46 +2798,85 @@ "accountSid_authToken": [] } ], + "operationId": "FetchFunctionVersionContent", "x-maturity": [ "Beta" ] + } + }, + "/v1/Services/{ServiceSid}/Environments/{EnvironmentSid}/Logs": { + "servers": [ + { + "url": "https://serverless.twilio.com" + } + ], + "description": "A record of an event that occurred related to a function invocation.", + "x-twilio": { + "defaultOutputProperties": [], + "pathType": "list", + "parent": "/Services/{ServiceSid}/Environments" }, - "description": "A key and value pair that is specific to an Environment.", "get": { - "description": "Retrieve a specific Variable.", - "operationId": "FetchVariable", + "description": "Retrieve a list of all logs.", "parameters": [ { - "description": "The SID of the Service to fetch the Variable resource from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the Service to read the Log resource from.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Environment with the Variable resource to fetch.", - "in": "path", "name": "EnvironmentSid", - "required": true, + "in": "path", + "description": "The SID of the environment with the Log resources to read.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^ZE[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "FunctionSid", + "in": "query", + "description": "The SID of the function whose invocation produced the Log resources to read.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^ZE[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^ZH[0-9a-fA-F]{32}$" } }, { - "description": "The SID of the Variable resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, + "name": "StartDate", + "in": "query", + "description": "The date/time (in GMT, ISO 8601) after which the Log resources must have been created. Defaults to 1 day prior to current date/time.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^ZV[0-9a-fA-F]{32}$", - "type": "string" + "type": "string", + "format": "date-time" + } + }, + { + "name": "EndDate", + "in": "query", + "description": "The date/time (in GMT, ISO 8601) before which the Log resources must have been created. Defaults to current date/time.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "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 } } ], @@ -2743,7 +2885,46 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/serverless.v1.service.environment.variable" + "type": "object", + "title": "ListLogResponse", + "properties": { + "logs": { + "type": "array", + "items": { + "$ref": "#/components/schemas/serverless.v1.service.environment.log" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -2755,74 +2936,67 @@ "accountSid_authToken": [] } ], + "operationId": "ListLog", "x-maturity": [ "Beta" ] + } + }, + "/v1/Services/{ServiceSid}/Environments/{EnvironmentSid}/Logs/{Sid}": { + "servers": [ + { + "url": "https://serverless.twilio.com" + } + ], + "description": "A record of an event that occurred related to a function invocation.", + "x-twilio": { + "defaultOutputProperties": [], + "pathType": "instance", + "parent": "/Services/{ServiceSid}/Environments" }, - "post": { - "description": "Update a specific Variable.", - "operationId": "UpdateVariable", + "get": { + "description": "Retrieve a specific log.", "parameters": [ { - "description": "The SID of the Service to update the Variable resource under.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the Service to fetch the Log resource from.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Environment with the Variable resource to update.", - "in": "path", "name": "EnvironmentSid", - "required": true, + "in": "path", + "description": "The SID of the environment with the Log resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^ZE[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^ZE[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the Variable resource to update.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Log resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^ZV[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^NO[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Key": { - "description": "A string by which the Variable resource can be referenced. It can be a maximum of 128 characters.", - "type": "string" - }, - "Value": { - "description": "A string that contains the actual value of the Variable. It can be a maximum of 450 bytes in size.", - "type": "string" - } - }, - "title": "UpdateVariableRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/serverless.v1.service.environment.variable" + "$ref": "#/components/schemas/serverless.v1.service.environment.log" } } }, @@ -2834,153 +3008,38 @@ "accountSid_authToken": [] } ], + "operationId": "FetchLog", "x-maturity": [ "Beta" ] - }, + } + }, + "/v1/Services": { "servers": [ { "url": "https://serverless.twilio.com" } ], + "description": "The top-level resource for a Serverless application, which serves as a container for the application environments.", "x-twilio": { "defaultOutputProperties": [ "sid", - "key", - "date_created" + "unique_name", + "friendly_name" ], - "parent": "/Services/{ServiceSid}/Environments", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/Environments/{Sid}": { - "delete": { - "description": "Delete a specific environment.", - "operationId": "DeleteEnvironment", + "pathType": "list" + }, + "get": { + "description": "Retrieve a list of all Services.", "parameters": [ { - "description": "The SID of the Service to delete the Environment resource from.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the Environment resource to delete.", - "in": "path", - "name": "Sid", - "required": true, + "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^ZE[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "Beta" - ] - }, - "description": "Represents a deployed build of a given set of Functions and/or Assets at a specific URL.", - "get": { - "description": "Retrieve a specific environment.", - "operationId": "FetchEnvironment", - "parameters": [ - { - "description": "The SID of the Service to fetch the Environment resource from.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the Environment resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^ZE[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/serverless.v1.service.environment" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "Beta" - ] - }, - "servers": [ - { - "url": "https://serverless.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "unique_name", - "domain_name", - "build_sid" - ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/Functions": { - "description": "A wrapper that represents a Serverless JavaScript function and groups the different and groups the different Versions of this code.", - "get": { - "description": "Retrieve a list of all Functions.", - "operationId": "ListFunction", - "parameters": [ - { - "description": "The SID of the Service to read the Function resources from.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "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" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], @@ -2989,25 +3048,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListServiceResponse", "properties": { - "functions": { + "services": { + "type": "array", "items": { - "$ref": "#/components/schemas/serverless.v1.service.function" - }, - "type": "array" + "$ref": "#/components/schemas/serverless.v1.service" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -3016,19 +3075,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListFunctionResponse", - "type": "object" + } } } }, @@ -3040,49 +3099,19 @@ "accountSid_authToken": [] } ], + "operationId": "ListService", "x-maturity": [ "Beta" ] }, "post": { - "description": "Create a new Function resource.", - "operationId": "CreateFunction", - "parameters": [ - { - "description": "The SID of the Service to create the Function resource under.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "FriendlyName": { - "description": "A descriptive string that you create to describe the Function resource. It can be a maximum of 255 characters.", - "type": "string" - } - }, - "required": [ - "FriendlyName" - ], - "title": "CreateFunctionRequest", - "type": "object" - } - } - } - }, + "description": "Create a new Service resource.", "responses": { "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/serverless.v1.service.function" + "$ref": "#/components/schemas/serverless.v1.service" } } }, @@ -3094,61 +3123,70 @@ "accountSid_authToken": [] } ], + "operationId": "CreateService", "x-maturity": [ "Beta" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateServiceRequest", + "properties": { + "UniqueName": { + "type": "string", + "description": "A user-defined string that uniquely identifies the Service resource. It can be used as an alternative to the `sid` in the URL path to address the Service resource. This value must be 50 characters or less in length and be unique." + }, + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the Service resource. It can be a maximum of 255 characters." + }, + "IncludeCredentials": { + "type": "boolean", + "description": "Whether to inject Account credentials into a function invocation context. The default value is `true`." + }, + "UiEditable": { + "type": "boolean", + "description": "Whether the Service's properties and subresources can be edited via the UI. The default value is `false`." + } + }, + "required": [ + "UniqueName", + "FriendlyName" + ] + } + } + } + } + } + }, + "/v1/Services/{Sid}": { "servers": [ { "url": "https://serverless.twilio.com" } ], + "description": "The top-level resource for a Serverless application, which serves as a container for the application environments.", "x-twilio": { "defaultOutputProperties": [ "sid", - "friendly_name", - "date_created" + "unique_name", + "friendly_name" ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Functions/{FunctionSid}/Versions": { - "description": "The content of a Function.", + "pathType": "instance" + }, "get": { - "description": "Retrieve a list of all Function Version resources.", - "operationId": "ListFunctionVersion", + "description": "Retrieve a specific Service resource.", "parameters": [ { - "description": "The SID of the Service to read the Function Version resources from.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the function that is the parent of the Function Version resources to read.", + "name": "Sid", "in": "path", - "name": "FunctionSid", - "required": true, + "description": "The `sid` or `unique_name` of the Service resource to fetch.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^ZH[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" - } + }, + "required": true } ], "responses": { @@ -3156,46 +3194,7 @@ "content": { "application/json": { "schema": { - "properties": { - "function_versions": { - "items": { - "$ref": "#/components/schemas/serverless.v1.service.function.function_version" - }, - "type": "array" - }, - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - } - }, - "title": "ListFunctionVersionResponse", - "type": "object" + "$ref": "#/components/schemas/serverless.v1.service" } } }, @@ -3207,77 +3206,27 @@ "accountSid_authToken": [] } ], + "operationId": "FetchService", "x-maturity": [ "Beta" ] }, - "servers": [ - { - "url": "https://serverless.twilio.com" - } - ], - "x-twilio": { - "className": "function_version", - "defaultOutputProperties": [ - "sid", - "path", - "visibility", - "date_created" - ], - "parent": "/Services/{ServiceSid}/Functions", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Functions/{FunctionSid}/Versions/{Sid}": { - "description": "The content of a Function.", - "get": { - "description": "Retrieve a specific Function Version resource.", - "operationId": "FetchFunctionVersion", + "delete": { + "description": "Delete a Service resource.", "parameters": [ { - "description": "The SID of the Service to fetch the Function Version resource from.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the function that is the parent of the Function Version resource to fetch.", - "in": "path", - "name": "FunctionSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^ZH[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the Function Version resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The `sid` or `unique_name` of the Service resource to delete.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^ZN[0-9a-fA-F]{32}$", "type": "string" - } + }, + "required": true } ], "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/serverless.v1.service.function.function_version" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -3285,65 +3234,22 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteService", "x-maturity": [ "Beta" ] }, - "servers": [ - { - "url": "https://serverless.twilio.com" - } - ], - "x-twilio": { - "className": "function_version", - "defaultOutputProperties": [ - "sid", - "path", - "visibility", - "date_created" - ], - "parent": "/Services/{ServiceSid}/Functions", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/Functions/{FunctionSid}/Versions/{Sid}/Content": { - "description": "The code of a Function Version.", - "get": { - "description": "Retrieve a the content of a specific Function Version resource.", - "operationId": "FetchFunctionVersionContent", + "post": { + "description": "Update a specific Service resource.", "parameters": [ { - "description": "The SID of the Service to fetch the Function Version content from.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the Function that is the parent of the Function Version content to fetch.", - "in": "path", - "name": "FunctionSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^ZH[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the Function Version content to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The `sid` or `unique_name` of the Service resource to update.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^ZN[0-9a-fA-F]{32}$", "type": "string" - } + }, + "required": true } ], "responses": { @@ -3351,7 +3257,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/serverless.v1.service.function.function_version.function_version_content" + "$ref": "#/components/schemas/serverless.v1.service" } } }, @@ -3363,55 +3269,136 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateService", "x-maturity": [ "Beta" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateServiceRequest", + "properties": { + "IncludeCredentials": { + "type": "boolean", + "description": "Whether to inject Account credentials into a function invocation context." + }, + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the Service resource. It can be a maximum of 255 characters." + }, + "UiEditable": { + "type": "boolean", + "description": "Whether the Service resource's properties and subresources can be edited via the UI. The default value is `false`." + } + } + } + } + } + } + } + }, + "/v1/Services/{ServiceSid}/Environments/{EnvironmentSid}/Variables": { "servers": [ { "url": "https://serverless.twilio.com" } ], + "description": "A key and value pair that is specific to an Environment.", "x-twilio": { - "className": "function_version_content", "defaultOutputProperties": [ "sid", - "content" + "key", + "date_created" ], - "parent": "/Services/{ServiceSid}/Functions/{FunctionSid}/Versions", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/Functions/{Sid}": { - "delete": { - "description": "Delete a Function resource.", - "operationId": "DeleteFunction", + "pathType": "list", + "parent": "/Services/{ServiceSid}/Environments" + }, + "get": { + "description": "Retrieve a list of all Variables.", "parameters": [ { - "description": "The SID of the Service to delete the Function resource from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the Service to read the Variable resources from.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Function resource to delete.", + "name": "EnvironmentSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the Environment with the Variable resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^ZH[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^ZE[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "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 } } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "ListVariableResponse", + "properties": { + "variables": { + "type": "array", + "items": { + "$ref": "#/components/schemas/serverless.v1.service.environment.variable" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } + } + } + }, + "description": "OK" } }, "security": [ @@ -3419,47 +3406,46 @@ "accountSid_authToken": [] } ], + "operationId": "ListVariable", "x-maturity": [ "Beta" ] }, - "description": "A wrapper that represents a Serverless JavaScript function and groups the different and groups the different Versions of this code.", - "get": { - "description": "Retrieve a specific Function resource.", - "operationId": "FetchFunction", + "post": { + "description": "Create a new Variable.", "parameters": [ { - "description": "The SID of the Service to fetch the Function resource from.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the Service to create the Variable resource under.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Function resource to fetch.", + "name": "EnvironmentSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the Environment in which the Variable resource exists.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^ZH[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^ZE[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/serverless.v1.service.function" + "$ref": "#/components/schemas/serverless.v1.service.environment.variable" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -3467,109 +3453,99 @@ "accountSid_authToken": [] } ], + "operationId": "CreateVariable", "x-maturity": [ "Beta" - ] - }, - "post": { - "description": "Update a specific Function resource.", - "operationId": "UpdateFunction", - "parameters": [ - { - "description": "The SID of the Service to update the Function resource from.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the Function resource to update.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^ZH[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateVariableRequest", "properties": { - "FriendlyName": { - "description": "A descriptive string that you create to describe the Function resource. It can be a maximum of 255 characters.", - "type": "string" + "Key": { + "type": "string", + "description": "A string by which the Variable resource can be referenced. It can be a maximum of 128 characters." + }, + "Value": { + "type": "string", + "description": "A string that contains the actual value of the Variable. It can be a maximum of 450 bytes in size." } }, "required": [ - "FriendlyName" - ], - "title": "UpdateFunctionRequest", - "type": "object" + "Key", + "Value" + ] } } } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/serverless.v1.service.function" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "Beta" - ] - }, + } + } + }, + "/v1/Services/{ServiceSid}/Environments/{EnvironmentSid}/Variables/{Sid}": { "servers": [ { "url": "https://serverless.twilio.com" } ], + "description": "A key and value pair that is specific to an Environment.", "x-twilio": { "defaultOutputProperties": [ "sid", - "friendly_name", + "key", "date_created" ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v1/Services/{Sid}": { - "delete": { - "description": "Delete a Service resource.", - "operationId": "DeleteService", + "pathType": "instance", + "parent": "/Services/{ServiceSid}/Environments" + }, + "get": { + "description": "Retrieve a specific Variable.", "parameters": [ { - "description": "The `sid` or `unique_name` of the Service resource to delete.", + "name": "ServiceSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the Service to fetch the Variable resource from.", "schema": { "type": "string" - } + }, + "required": true + }, + { + "name": "EnvironmentSid", + "in": "path", + "description": "The SID of the Environment with the Variable resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^ZE[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the Variable resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^ZV[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/serverless.v1.service.environment.variable" + } + } + }, + "description": "OK" } }, "security": [ @@ -3577,23 +3553,46 @@ "accountSid_authToken": [] } ], + "operationId": "FetchVariable", "x-maturity": [ "Beta" ] }, - "description": "The top-level resource for a Serverless application, which serves as a container for the application environments.", - "get": { - "description": "Retrieve a specific Service resource.", - "operationId": "FetchService", + "post": { + "description": "Update a specific Variable.", "parameters": [ { - "description": "The `sid` or `unique_name` of the Service resource to fetch.", + "name": "ServiceSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the Service to update the Variable resource under.", "schema": { "type": "string" - } + }, + "required": true + }, + { + "name": "EnvironmentSid", + "in": "path", + "description": "The SID of the Environment with the Variable resource to update.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^ZE[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the Variable resource to update.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^ZV[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -3601,7 +3600,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/serverless.v1.service" + "$ref": "#/components/schemas/serverless.v1.service.environment.variable" } } }, @@ -3613,58 +3612,71 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateVariable", "x-maturity": [ "Beta" - ] - }, - "post": { - "description": "Update a specific Service resource.", - "operationId": "UpdateService", - "parameters": [ - { - "description": "The `sid` or `unique_name` of the Service resource to update.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateVariableRequest", "properties": { - "FriendlyName": { - "description": "A descriptive string that you create to describe the Service resource. It can be a maximum of 255 characters.", - "type": "string" - }, - "IncludeCredentials": { - "description": "Whether to inject Account credentials into a function invocation context.", - "type": "boolean" + "Key": { + "type": "string", + "description": "A string by which the Variable resource can be referenced. It can be a maximum of 128 characters." }, - "UiEditable": { - "description": "Whether the Service resource's properties and subresources can be edited via the UI. The default value is `false`.", - "type": "boolean" + "Value": { + "type": "string", + "description": "A string that contains the actual value of the Variable. It can be a maximum of 450 bytes in size." } - }, - "title": "UpdateServiceRequest", - "type": "object" + } } } } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/serverless.v1.service" - } - } + } + }, + "delete": { + "description": "Delete a specific Variable.", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the Service to delete the Variable resource from.", + "schema": { + "type": "string" }, - "description": "OK" + "required": true + }, + { + "name": "EnvironmentSid", + "in": "path", + "description": "The SID of the Environment with the Variables to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^ZE[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the Variable resource to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^ZV[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -3672,22 +3684,10 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteVariable", "x-maturity": [ "Beta" ] - }, - "servers": [ - { - "url": "https://serverless.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "unique_name", - "friendly_name" - ], - "pathType": "instance" } } }, @@ -3698,8 +3698,8 @@ ], "x-maturity": [ { - "description": "PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution.", - "name": "Beta" + "name": "Beta", + "description": "PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution." } ] } \ No newline at end of file diff --git a/spec/json/twilio_studio_v1.json b/spec/json/twilio_studio_v1.json index fa8ca4ee..f9f0a46a 100644 --- a/spec/json/twilio_studio_v1.json +++ b/spec/json/twilio_studio_v1.json @@ -1,703 +1,625 @@ { "components": { "schemas": { - "studio.v1.flow": { + "studio.v1.flow.engagement": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^FN[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", - "format": "date-time", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, - "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", - "format": "date-time", + "flow_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Flow" }, - "friendly_name": { - "description": "The string that you assigned to describe the Flow", + "contact_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^FC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Contact" }, - "links": { - "description": "Nested resource URLs", - "format": "uri-map", + "contact_channel_address": { + "type": "string", "nullable": true, - "type": "object" + "description": "The phone number, SIP address or Client identifier that triggered this Engagement" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "context": { "nullable": true, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" + "description": "The current state of the execution flow" }, "status": { - "description": "The status of the Flow", + "type": "string", "enum": [ - "draft", - "published" + "active", + "ended" ], "nullable": true, - "type": "string" + "description": "The status of the Engagement" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the Engagement was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the Engagement was last updated" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" }, - "version": { - "description": "The latest version number of the Flow's definition", + "links": { + "type": "object", + "format": "uri-map", "nullable": true, - "type": "integer" + "description": "The URLs of the Engagement's nested resources" } - }, - "type": "object" + } }, - "studio.v1.flow.engagement": { + "studio.v1.flow.engagement.engagement_context": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "Account SID" }, - "contact_channel_address": { - "description": "The phone number, SIP address or Client identifier that triggered this Engagement", + "context": { "nullable": true, - "type": "string" + "description": "Flow state" }, - "contact_sid": { - "description": "The SID of the Contact", - "maxLength": 34, + "engagement_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^FN[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^FC[0-9a-fA-F]{32}$", - "type": "string" + "description": "Engagement SID" }, - "context": { - "description": "The current state of the execution flow", - "nullable": true + "flow_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$", + "nullable": true, + "description": "Flow SID" }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the Engagement was created", - "format": "date-time", + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The URL of the resource" + } + } + }, + "studio.v1.flow.execution": { + "type": "object", + "properties": { + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^FN[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique string that identifies the resource" }, - "date_updated": { - "description": "The ISO 8601 date and time in GMT when the Engagement was last updated", - "format": "date-time", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, "flow_sid": { - "description": "The SID of the Flow", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Flow" + }, + "contact_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^FC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Contact" }, - "links": { - "description": "The URLs of the Engagement's nested resources", - "format": "uri-map", + "contact_channel_address": { + "type": "string", "nullable": true, - "type": "object" + "description": "The phone number, SIP address or Client identifier that triggered the Execution" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "context": { "nullable": true, - "pattern": "^FN[0-9a-fA-F]{32}$", - "type": "string" + "description": "The current state of the flow" }, "status": { - "description": "The status of the Engagement", + "type": "string", "enum": [ "active", "ended" ], "nullable": true, - "type": "string" + "description": "The status of the Execution" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "Nested resource URLs" } - }, - "type": "object" + } }, - "studio.v1.flow.engagement.engagement_context": { + "studio.v1.flow.execution.execution_context": { + "type": "object", "properties": { "account_sid": { - "description": "Account SID", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "context": { - "description": "Flow state", - "nullable": true - }, - "engagement_sid": { - "description": "Engagement SID", - "maxLength": 34, - "minLength": 34, "nullable": true, - "pattern": "^FN[0-9a-fA-F]{32}$", - "type": "string" + "description": "The current state of the flow" }, "flow_sid": { - "description": "Flow SID", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Flow" + }, + "execution_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^FN[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Execution" }, "url": { - "description": "The URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" } - }, - "type": "object" + } }, - "studio.v1.flow.engagement.step": { + "studio.v1.flow.execution.execution_step": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^FT[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "context": { - "description": "The current state of the flow", - "nullable": true - }, - "date_created": { - "description": "The 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 date and time in GMT when the resource was last updated", - "format": "date-time", - "nullable": true, - "type": "string" + "description": "The unique string that identifies the resource" }, - "engagement_sid": { - "description": "The SID of the Engagement", - "maxLength": 34, + "account_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^FN[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Account that created the resource" }, "flow_sid": { - "description": "The SID of the Flow", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Flow" }, - "links": { - "description": "The URLs of related resources", - "format": "uri-map", + "execution_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^FN[0-9a-fA-F]{32}$", "nullable": true, - "type": "object" + "description": "The SID of the Execution" }, "name": { - "description": "The event that caused the Flow to transition to the Step", + "type": "string", "nullable": true, - "type": "string" + "description": "The event that caused the Flow to transition to the Step" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "context": { "nullable": true, - "pattern": "^FT[0-9a-fA-F]{32}$", - "type": "string" + "description": "The current state of the flow" }, "transitioned_from": { - "description": "The Widget that preceded the Widget for the Step", + "type": "string", "nullable": true, - "type": "string" + "description": "The Widget that preceded the Widget for the Step" }, "transitioned_to": { - "description": "The Widget that will follow the Widget for the Step", + "type": "string", + "nullable": true, + "description": "The Widget that will follow the Widget for the Step" + }, + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "The URLs of related resources" } - }, - "type": "object" + } }, - "studio.v1.flow.engagement.step.step_context": { + "studio.v1.flow.execution.execution_step.execution_step_context": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "context": { - "description": "The current state of the flow", - "nullable": true + "nullable": true, + "description": "The current state of the flow" }, - "engagement_sid": { - "description": "The SID of the Engagement", - "maxLength": 34, + "execution_sid": { + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^FN[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Execution" }, "flow_sid": { - "description": "The SID of the Flow", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Flow" }, "step_sid": { - "description": "Step SID", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^FT[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "Step SID" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" } - }, - "type": "object" + } }, - "studio.v1.flow.execution": { + "studio.v1.flow": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$", "nullable": true, + "description": "The unique string that identifies the resource" + }, + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, - "contact_channel_address": { - "description": "The phone number, SIP address or Client identifier that triggered the Execution", + "friendly_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the Flow" }, - "contact_sid": { - "description": "The SID of the Contact", - "maxLength": 34, - "minLength": 34, + "status": { + "type": "string", + "enum": [ + "draft", + "published" + ], "nullable": true, - "pattern": "^FC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The status of the Flow" }, - "context": { - "description": "The current state of the flow", - "nullable": true + "version": { + "type": "integer", + "nullable": true, + "description": "The latest version number of the Flow's definition" }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, - "flow_sid": { - "description": "The SID of the Flow", - "maxLength": 34, - "minLength": 34, + "url": { + "type": "string", + "format": "uri", "nullable": true, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" + "description": "The absolute URL of the resource" }, "links": { - "description": "Nested resource URLs", + "type": "object", "format": "uri-map", "nullable": true, - "type": "object" - }, + "description": "Nested resource URLs" + } + } + }, + "studio.v1.flow.engagement.step": { + "type": "object", + "properties": { "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^FT[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^FN[0-9a-fA-F]{32}$", - "type": "string" - }, - "status": { - "description": "The status of the Execution", - "enum": [ - "active", - "ended" - ], - "nullable": true, - "type": "string" + "description": "The unique string that identifies the resource" }, - "url": { - "description": "The absolute URL of the resource", - "format": "uri", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "studio.v1.flow.execution.execution_context": { - "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "context": { - "description": "The current state of the flow", - "nullable": true - }, - "execution_sid": { - "description": "The SID of the Execution", "maxLength": 34, - "minLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^FN[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Account that created the resource" }, "flow_sid": { - "description": "The SID of the Flow", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - }, - "url": { - "description": "The absolute URL of the resource", - "format": "uri", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "studio.v1.flow.execution.execution_step": { - "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "context": { - "description": "The current state of the flow", - "nullable": true - }, - "date_created": { - "description": "The 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 date and time in GMT when the resource was last updated", - "format": "date-time", + "pattern": "^FW[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Flow" }, - "execution_sid": { - "description": "The SID of the Execution", - "maxLength": 34, + "engagement_sid": { + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^FN[0-9a-fA-F]{32}$", - "type": "string" - }, - "flow_sid": { - "description": "The SID of the Flow", "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - }, - "links": { - "description": "The URLs of related resources", - "format": "uri-map", + "pattern": "^FN[0-9a-fA-F]{32}$", "nullable": true, - "type": "object" + "description": "The SID of the Engagement" }, "name": { - "description": "The event that caused the Flow to transition to the Step", + "type": "string", "nullable": true, - "type": "string" + "description": "The event that caused the Flow to transition to the Step" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "context": { "nullable": true, - "pattern": "^FT[0-9a-fA-F]{32}$", - "type": "string" + "description": "The current state of the flow" }, "transitioned_from": { - "description": "The Widget that preceded the Widget for the Step", + "type": "string", "nullable": true, - "type": "string" + "description": "The Widget that preceded the Widget for the Step" }, "transitioned_to": { - "description": "The Widget that will follow the Widget for the Step", + "type": "string", + "nullable": true, + "description": "The Widget that will follow the Widget for the Step" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "The URLs of related resources" } - }, - "type": "object" + } }, - "studio.v1.flow.execution.execution_step.execution_step_context": { + "studio.v1.flow.engagement.step.step_context": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "context": { - "description": "The current state of the flow", - "nullable": true + "nullable": true, + "description": "The current state of the flow" }, - "execution_sid": { - "description": "The SID of the Execution", - "maxLength": 34, + "engagement_sid": { + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^FN[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Engagement" }, "flow_sid": { - "description": "The SID of the Flow", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Flow" }, "step_sid": { - "description": "Step SID", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^FT[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "Step SID" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" } - }, - "type": "object" + } } }, "securitySchemes": { "accountSid_authToken": { - "scheme": "basic", - "type": "http" + "type": "http", + "scheme": "basic" } } }, "info": { + "title": "Twilio - Studio", + "description": "This is the public Twilio REST API.", + "termsOfService": "https://www.twilio.com/legal/tos", "contact": { - "email": "support@twilio.com", "name": "Twilio Support", - "url": "https://support.twilio.com" + "url": "https://support.twilio.com", + "email": "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 - Studio", "version": "1.30.0" }, "openapi": "3.0.1", "paths": { - "/v1/Flows": { - "description": "Studio flows", - "get": { - "description": "Retrieve a list of all Flows.", - "operationId": "ListFlow", - "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" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "flows": { - "items": { - "$ref": "#/components/schemas/studio.v1.flow" - }, - "type": "array" - }, - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - } - }, - "title": "ListFlowResponse", - "type": "object" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, + "/v1/Flows/{FlowSid}/Engagements": { "servers": [ { "url": "https://studio.twilio.com" } ], + "description": "[DEPRECATED] Excecutions of Studio flows", "x-twilio": { "defaultOutputProperties": [ "sid", - "friendly_name", + "contact_sid", "status", - "version" + "date_created" ], - "pathType": "list" - } - }, - "/v1/Flows/{FlowSid}/Engagements": { - "description": "[DEPRECATED] Excecutions of Studio flows", + "pathType": "list", + "parent": "/Flows" + }, "get": { "description": "Retrieve a list of all Engagements for the Flow.", - "operationId": "ListEngagement", "parameters": [ { - "description": "The SID of the Flow to read Engagements from.", - "in": "path", "name": "FlowSid", - "required": true, + "in": "path", + "description": "The SID of the Flow to read Engagements from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -706,25 +628,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListEngagementResponse", "properties": { "engagements": { + "type": "array", "items": { "$ref": "#/components/schemas/studio.v1.flow.engagement" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -733,19 +655,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListEngagementResponse", - "type": "object" + } } } }, @@ -757,56 +679,27 @@ "accountSid_authToken": [] } ], + "operationId": "ListEngagement", "x-maturity": [ "GA" ] }, "post": { "description": "Triggers a new Engagement for the Flow", - "operationId": "CreateEngagement", "parameters": [ { - "description": "The SID of the Flow.", - "in": "path", "name": "FlowSid", - "required": true, + "in": "path", + "description": "The SID of the Flow.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "From": { - "description": "The Twilio phone number to send messages or initiate calls from during the Flow Engagement. Available as variable `{{flow.channel.address}}`", - "format": "phone-number", - "type": "string" - }, - "Parameters": { - "description": "A JSON string we will add to your flow's context and that you can access as variables inside your flow. For example, if you pass in `Parameters={'name':'Zeke'}` then inside a widget you can reference the variable `{{flow.data.name}}` which will return the string 'Zeke'. Note: the JSON value must explicitly be passed as a string, not as a hash object. Depending on your particular HTTP library, you may need to add quotes or URL encode your JSON string." - }, - "To": { - "description": "The Contact phone number to start a Studio Flow Engagement, available as variable `{{contact.channel.address}}`.", - "format": "phone-number", - "type": "string" - } - }, - "required": [ - "To", - "From" - ], - "title": "CreateEngagementRequest", - "type": "object" - } - } - } - }, "responses": { "201": { "content": { @@ -824,15 +717,48 @@ "accountSid_authToken": [] } ], + "operationId": "CreateEngagement", "x-maturity": [ "GA" - ] - }, - "servers": [ + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateEngagementRequest", + "properties": { + "To": { + "type": "string", + "format": "phone-number", + "description": "The Contact phone number to start a Studio Flow Engagement, available as variable `{{contact.channel.address}}`." + }, + "From": { + "type": "string", + "format": "phone-number", + "description": "The Twilio phone number to send messages or initiate calls from during the Flow Engagement. Available as variable `{{flow.channel.address}}`" + }, + "Parameters": { + "description": "A JSON string we will add to your flow's context and that you can access as variables inside your flow. For example, if you pass in `Parameters={'name':'Zeke'}` then inside a widget you can reference the variable `{{flow.data.name}}` which will return the string 'Zeke'. Note: the JSON value must explicitly be passed as a string, not as a hash object. Depending on your particular HTTP library, you may need to add quotes or URL encode your JSON string." + } + }, + "required": [ + "To", + "From" + ] + } + } + } + } + } + }, + "/v1/Flows/{FlowSid}/Engagements/{Sid}": { + "servers": [ { "url": "https://studio.twilio.com" } ], + "description": "[DEPRECATED] Excecutions of Studio flows", "x-twilio": { "defaultOutputProperties": [ "sid", @@ -840,39 +766,35 @@ "status", "date_created" ], - "parent": "/Flows", - "pathType": "list" - } - }, - "/v1/Flows/{FlowSid}/Engagements/{EngagementSid}/Context": { - "description": "[DEPRECATED] JSON context for engagements", + "pathType": "instance", + "parent": "/Flows" + }, "get": { - "description": "Retrieve the most recent context for an Engagement.", - "operationId": "FetchEngagementContext", + "description": "Retrieve an Engagement", "parameters": [ { - "description": "The SID of the Flow.", - "in": "path", "name": "FlowSid", - "required": true, + "in": "path", + "description": "The SID of the Flow.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the Engagement.", + "name": "Sid", "in": "path", - "name": "EngagementSid", - "required": true, + "description": "The SID of the Engagement resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FN[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FN[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -880,7 +802,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/studio.v1.flow.engagement.engagement_context" + "$ref": "#/components/schemas/studio.v1.flow.engagement" } } }, @@ -892,62 +814,179 @@ "accountSid_authToken": [] } ], + "operationId": "FetchEngagement", "x-maturity": [ "GA" ] }, + "delete": { + "description": "Delete this Engagement and all Steps relating to it.", + "parameters": [ + { + "name": "FlowSid", + "in": "path", + "description": "The SID of the Flow to delete Engagements from.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the Engagement resource to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^FN[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteEngagement", + "x-maturity": [ + "GA" + ] + } + }, + "/v1/Flows/{FlowSid}/Engagements/{EngagementSid}/Context": { "servers": [ { "url": "https://studio.twilio.com" } ], + "description": "[DEPRECATED] JSON context for engagements", "x-twilio": { - "className": "engagement_context", "defaultOutputProperties": [ "context" ], + "pathType": "instance", "parent": "/Flows/{FlowSid}/Engagements", - "pathType": "instance" - } - }, - "/v1/Flows/{FlowSid}/Engagements/{EngagementSid}/Steps": { - "description": "Steps within a Studio flow", + "className": "engagement_context" + }, "get": { - "description": "Retrieve a list of all Steps for an Engagement.", - "operationId": "ListStep", + "description": "Retrieve the most recent context for an Engagement.", "parameters": [ { - "description": "The SID of the Flow with the Step to read.", - "in": "path", "name": "FlowSid", - "required": true, + "in": "path", + "description": "The SID of the Flow.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the Engagement with the Step to read.", - "in": "path", "name": "EngagementSid", - "required": true, + "in": "path", + "description": "The SID of the Engagement.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^FN[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/studio.v1.flow.engagement.engagement_context" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "FetchEngagementContext", + "x-maturity": [ + "GA" + ] + } + }, + "/v1/Flows/{FlowSid}/Executions": { + "servers": [ + { + "url": "https://studio.twilio.com" + } + ], + "description": "Executions of Studio flows", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "contact_sid", + "status", + "date_created" + ], + "pathType": "list", + "parent": "/Flows" + }, + "get": { + "description": "Retrieve a list of all Executions for the Flow.", + "parameters": [ + { + "name": "FlowSid", + "in": "path", + "description": "The SID of the Flow with the Execution resources to read.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^FN[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "DateCreatedFrom", + "in": "query", + "description": "Only show Execution resources starting on or after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time, given as `YYYY-MM-DDThh:mm:ss-hh:mm`.", + "schema": { + "type": "string", + "format": "date-time" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", + "name": "DateCreatedTo", "in": "query", + "description": "Only show Execution resources starting before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time, given as `YYYY-MM-DDThh:mm:ss-hh:mm`.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -956,19 +995,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListExecutionResponse", "properties": { + "executions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/studio.v1.flow.execution" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -977,25 +1022,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "steps": { - "items": { - "$ref": "#/components/schemas/studio.v1.flow.engagement.step" - }, - "type": "array" + } } - }, - "title": "ListStepResponse", - "type": "object" + } } } }, @@ -1007,79 +1046,37 @@ "accountSid_authToken": [] } ], + "operationId": "ListExecution", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://studio.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "name", - "transitioned_from", - "transitioned_to" - ], - "parent": "/Flows/{FlowSid}/Engagements", - "pathType": "list" - } - }, - "/v1/Flows/{FlowSid}/Engagements/{EngagementSid}/Steps/{Sid}": { - "description": "Steps within a Studio flow", - "get": { - "description": "Retrieve a Step.", - "operationId": "FetchStep", + "post": { + "description": "Triggers a new Execution for the Flow", "parameters": [ { - "description": "The SID of the Flow with the Step to fetch.", - "in": "path", "name": "FlowSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the Engagement with the Step to fetch.", "in": "path", - "name": "EngagementSid", - "required": true, + "description": "The SID of the Excecution's Flow.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FN[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the Step resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { "maxLength": 34, - "minLength": 34, - "pattern": "^FT[0-9a-fA-F]{32}$", - "type": "string" - } + "pattern": "^FW[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/studio.v1.flow.engagement.step" + "$ref": "#/components/schemas/studio.v1.flow.execution" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -1087,67 +1084,84 @@ "accountSid_authToken": [] } ], + "operationId": "CreateExecution", "x-maturity": [ "GA" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateExecutionRequest", + "properties": { + "To": { + "type": "string", + "format": "phone-number", + "description": "The Contact phone number to start a Studio Flow Execution, available as variable `{{contact.channel.address}}`." + }, + "From": { + "type": "string", + "format": "phone-number", + "description": "The Twilio phone number to send messages or initiate calls from during the Flow's Execution. Available as variable `{{flow.channel.address}}`. For SMS, this can also be a Messaging Service SID." + }, + "Parameters": { + "description": "JSON data that will be added to the Flow's context and that can be accessed as variables inside your Flow. For example, if you pass in `Parameters={\"name\":\"Zeke\"}`, a widget in your Flow can reference the variable `{{flow.data.name}}`, which returns \"Zeke\". Note: the JSON value must explicitly be passed as a string, not as a hash object. Depending on your particular HTTP library, you may need to add quotes or URL encode the JSON string." + } + }, + "required": [ + "To", + "From" + ] + } + } + } + } + } + }, + "/v1/Flows/{FlowSid}/Executions/{Sid}": { "servers": [ { "url": "https://studio.twilio.com" } ], + "description": "Executions of Studio flows", "x-twilio": { "defaultOutputProperties": [ "sid", - "name", - "transitioned_from", - "transitioned_to" + "contact_sid", + "status", + "date_created" ], - "parent": "/Flows/{FlowSid}/Engagements", - "pathType": "instance" - } - }, - "/v1/Flows/{FlowSid}/Engagements/{EngagementSid}/Steps/{StepSid}/Context": { - "description": "JSON context for individual steps", - "get": { - "description": "Retrieve the context for an Engagement Step.", - "operationId": "FetchStepContext", - "parameters": [ - { - "description": "The SID of the Flow with the Step to fetch.", - "in": "path", - "name": "FlowSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - } - }, + "pathType": "instance", + "parent": "/Flows" + }, + "get": { + "description": "Retrieve an Execution", + "parameters": [ { - "description": "The SID of the Engagement with the Step to fetch.", + "name": "FlowSid", "in": "path", - "name": "EngagementSid", - "required": true, + "description": "The SID of the Flow with the Execution resource to fetch", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FN[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the Step to fetch", + "name": "Sid", "in": "path", - "name": "StepSid", - "required": true, + "description": "The SID of the Execution resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FT[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FN[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1155,7 +1169,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/studio.v1.flow.engagement.step.step_context" + "$ref": "#/components/schemas/studio.v1.flow.execution" } } }, @@ -1167,52 +1181,37 @@ "accountSid_authToken": [] } ], + "operationId": "FetchExecution", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://studio.twilio.com" - } - ], - "x-twilio": { - "className": "step_context", - "defaultOutputProperties": [ - "context" - ], - "parent": "/Flows/{FlowSid}/Engagements/{EngagementSid}/Steps", - "pathType": "instance" - } - }, - "/v1/Flows/{FlowSid}/Engagements/{Sid}": { "delete": { - "description": "Delete this Engagement and all Steps relating to it.", - "operationId": "DeleteEngagement", + "description": "Delete the Execution and all Steps relating to it.", "parameters": [ { - "description": "The SID of the Flow to delete Engagements from.", - "in": "path", "name": "FlowSid", - "required": true, + "in": "path", + "description": "The SID of the Flow with the Execution resources to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the Engagement resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Execution resource to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FN[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FN[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1225,38 +1224,126 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteExecution", "x-maturity": [ "GA" ] }, - "description": "[DEPRECATED] Excecutions of Studio flows", - "get": { - "description": "Retrieve an Engagement", - "operationId": "FetchEngagement", + "post": { + "description": "Update the status of an Execution to `ended`.", "parameters": [ { - "description": "The SID of the Flow.", - "in": "path", "name": "FlowSid", - "required": true, + "in": "path", + "description": "The SID of the Flow with the Execution resources to update.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the Execution resource to update.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^FN[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/studio.v1.flow.execution" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "UpdateExecution", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateExecutionRequest", + "properties": { + "Status": { + "type": "string", + "enum": [ + "active", + "ended" + ], + "description": "The status of the Execution. Can only be `ended`." + } + }, + "required": [ + "Status" + ] + } } - }, + } + } + } + }, + "/v1/Flows/{FlowSid}/Executions/{ExecutionSid}/Context": { + "servers": [ + { + "url": "https://studio.twilio.com" + } + ], + "description": "JSON context for executions", + "x-twilio": { + "defaultOutputProperties": [ + "context" + ], + "pathType": "instance", + "parent": "/Flows/{FlowSid}/Executions", + "className": "execution_context" + }, + "get": { + "description": "Retrieve the most recent context for an Execution.", + "parameters": [ { - "description": "The SID of the Engagement resource to fetch.", + "name": "FlowSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the Flow with the Execution context to fetch.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "ExecutionSid", + "in": "path", + "description": "The SID of the Execution context to fetch.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^FN[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FN[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1264,7 +1351,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/studio.v1.flow.engagement" + "$ref": "#/components/schemas/studio.v1.flow.execution.execution_context" } } }, @@ -1276,70 +1363,64 @@ "accountSid_authToken": [] } ], + "operationId": "FetchExecutionContext", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Flows/{FlowSid}/Executions/{ExecutionSid}/Steps": { "servers": [ { "url": "https://studio.twilio.com" } ], + "description": "Individual steps within an execution", "x-twilio": { "defaultOutputProperties": [ "sid", - "contact_sid", - "status", + "name", "date_created" ], - "parent": "/Flows", - "pathType": "instance" - } - }, - "/v1/Flows/{FlowSid}/Executions": { - "description": "Executions of Studio flows", + "pathType": "list", + "parent": "/Flows/{FlowSid}/Executions", + "className": "execution_step" + }, "get": { - "description": "Retrieve a list of all Executions for the Flow.", - "operationId": "ListExecution", + "description": "Retrieve a list of all Steps for an Execution.", "parameters": [ { - "description": "The SID of the Flow with the Execution resources to read.", - "in": "path", "name": "FlowSid", - "required": true, + "in": "path", + "description": "The SID of the Flow with the Steps to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "Only show Execution resources starting on or after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time, given as `YYYY-MM-DDThh:mm:ss-hh:mm`.", - "in": "query", - "name": "DateCreatedFrom", + "name": "ExecutionSid", + "in": "path", + "description": "The SID of the Execution with the Steps to read.", "schema": { - "format": "date-time", - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^FN[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "Only show Execution resources starting before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time, given as `YYYY-MM-DDThh:mm:ss-hh:mm`.", + "name": "PageSize", "in": "query", - "name": "DateCreatedTo", - "schema": { - "format": "date-time", - "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, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1348,25 +1429,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListExecutionStepResponse", "properties": { - "executions": { + "steps": { + "type": "array", "items": { - "$ref": "#/components/schemas/studio.v1.flow.execution" - }, - "type": "array" + "$ref": "#/components/schemas/studio.v1.flow.execution.execution_step" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1375,90 +1456,23 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListExecutionResponse", - "type": "object" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "Triggers a new Execution for the Flow", - "operationId": "CreateExecution", - "parameters": [ - { - "description": "The SID of the Excecution's Flow.", - "in": "path", - "name": "FlowSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "From": { - "description": "The Twilio phone number to send messages or initiate calls from during the Flow's Execution. Available as variable `{{flow.channel.address}}`. For SMS, this can also be a Messaging Service SID.", - "format": "phone-number", - "type": "string" - }, - "Parameters": { - "description": "JSON data that will be added to the Flow's context and that can be accessed as variables inside your Flow. For example, if you pass in `Parameters={\"name\":\"Zeke\"}`, a widget in your Flow can reference the variable `{{flow.data.name}}`, which returns \"Zeke\". Note: the JSON value must explicitly be passed as a string, not as a hash object. Depending on your particular HTTP library, you may need to add quotes or URL encode the JSON string." - }, - "To": { - "description": "The Contact phone number to start a Studio Flow Execution, available as variable `{{contact.channel.address}}`.", - "format": "phone-number", - "type": "string" } - }, - "required": [ - "To", - "From" - ], - "title": "CreateExecutionRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/studio.v1.flow.execution" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -1466,55 +1480,67 @@ "accountSid_authToken": [] } ], + "operationId": "ListExecutionStep", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Flows/{FlowSid}/Executions/{ExecutionSid}/Steps/{Sid}": { "servers": [ { "url": "https://studio.twilio.com" } ], + "description": "Individual steps within an execution", "x-twilio": { "defaultOutputProperties": [ "sid", - "contact_sid", - "status", + "name", "date_created" ], - "parent": "/Flows", - "pathType": "list" - } - }, - "/v1/Flows/{FlowSid}/Executions/{ExecutionSid}/Context": { - "description": "JSON context for executions", + "pathType": "instance", + "parent": "/Flows/{FlowSid}/Executions", + "className": "execution_step" + }, "get": { - "description": "Retrieve the most recent context for an Execution.", - "operationId": "FetchExecutionContext", + "description": "Retrieve a Step.", "parameters": [ { - "description": "The SID of the Flow with the Execution context to fetch.", - "in": "path", "name": "FlowSid", - "required": true, + "in": "path", + "description": "The SID of the Flow with the Step to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the Execution context to fetch.", - "in": "path", "name": "ExecutionSid", - "required": true, + "in": "path", + "description": "The SID of the Execution resource with the Step to fetch.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^FN[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the ExecutionStep resource to fetch.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^FN[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FT[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1522,7 +1548,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/studio.v1.flow.execution.execution_context" + "$ref": "#/components/schemas/studio.v1.flow.execution.execution_step" } } }, @@ -1534,63 +1560,65 @@ "accountSid_authToken": [] } ], + "operationId": "FetchExecutionStep", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Flows/{FlowSid}/Executions/{ExecutionSid}/Steps/{StepSid}/Context": { "servers": [ { "url": "https://studio.twilio.com" } ], + "description": "JSON context for an individual step within an execution", "x-twilio": { - "className": "execution_context", "defaultOutputProperties": [ "context" ], - "parent": "/Flows/{FlowSid}/Executions", - "pathType": "instance" - } - }, - "/v1/Flows/{FlowSid}/Executions/{ExecutionSid}/Steps": { - "description": "Individual steps within an execution", + "pathType": "instance", + "parent": "/Flows/{FlowSid}/Executions/{ExecutionSid}/Steps", + "className": "execution_step_context" + }, "get": { - "description": "Retrieve a list of all Steps for an Execution.", - "operationId": "ListExecutionStep", + "description": "Retrieve the context for an Execution Step.", "parameters": [ { - "description": "The SID of the Flow with the Steps to read.", - "in": "path", "name": "FlowSid", - "required": true, + "in": "path", + "description": "The SID of the Flow with the Step to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the Execution with the Steps to read.", - "in": "path", "name": "ExecutionSid", - "required": true, + "in": "path", + "description": "The SID of the Execution resource with the Step to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FN[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FN[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", - "name": "PageSize", + "name": "StepSid", + "in": "path", + "description": "The SID of the Step to fetch.", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^FT[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1598,46 +1626,7 @@ "content": { "application/json": { "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "steps": { - "items": { - "$ref": "#/components/schemas/studio.v1.flow.execution.execution_step" - }, - "type": "array" - } - }, - "title": "ListExecutionStepResponse", - "type": "object" + "$ref": "#/components/schemas/studio.v1.flow.execution.execution_step.execution_step_context" } } }, @@ -1649,66 +1638,39 @@ "accountSid_authToken": [] } ], + "operationId": "FetchExecutionStepContext", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Flows": { "servers": [ { "url": "https://studio.twilio.com" } ], + "description": "Studio flows", "x-twilio": { - "className": "execution_step", "defaultOutputProperties": [ "sid", - "name", - "date_created" + "friendly_name", + "status", + "version" ], - "parent": "/Flows/{FlowSid}/Executions", "pathType": "list" - } - }, - "/v1/Flows/{FlowSid}/Executions/{ExecutionSid}/Steps/{Sid}": { - "description": "Individual steps within an execution", + }, "get": { - "description": "Retrieve a Step.", - "operationId": "FetchExecutionStep", + "description": "Retrieve a list of all Flows.", "parameters": [ { - "description": "The SID of the Flow with the Step to fetch.", - "in": "path", - "name": "FlowSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the Execution resource with the Step to fetch.", - "in": "path", - "name": "ExecutionSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^FN[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the ExecutionStep resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, + "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^FT[0-9a-fA-F]{32}$", - "type": "string" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], @@ -1717,7 +1679,46 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/studio.v1.flow.execution.execution_step" + "type": "object", + "title": "ListFlowResponse", + "properties": { + "flows": { + "type": "array", + "items": { + "$ref": "#/components/schemas/studio.v1.flow" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -1729,67 +1730,42 @@ "accountSid_authToken": [] } ], + "operationId": "ListFlow", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Flows/{Sid}": { "servers": [ { "url": "https://studio.twilio.com" } ], + "description": "Studio flows", "x-twilio": { - "className": "execution_step", "defaultOutputProperties": [ "sid", - "name", - "date_created" + "friendly_name", + "status", + "version" ], - "parent": "/Flows/{FlowSid}/Executions", "pathType": "instance" - } - }, - "/v1/Flows/{FlowSid}/Executions/{ExecutionSid}/Steps/{StepSid}/Context": { - "description": "JSON context for an individual step within an execution", + }, "get": { - "description": "Retrieve the context for an Execution Step.", - "operationId": "FetchExecutionStepContext", + "description": "Retrieve a specific Flow.", "parameters": [ { - "description": "The SID of the Flow with the Step to fetch.", - "in": "path", - "name": "FlowSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the Execution resource with the Step to fetch.", + "name": "Sid", "in": "path", - "name": "ExecutionSid", - "required": true, + "description": "The SID of the Flow resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FN[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the Step to fetch.", - "in": "path", - "name": "StepSid", - "required": true, - "schema": { "maxLength": 34, - "minLength": 34, - "pattern": "^FT[0-9a-fA-F]{32}$", - "type": "string" - } + "pattern": "^FW[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1797,7 +1773,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/studio.v1.flow.execution.execution_step.execution_step_context" + "$ref": "#/components/schemas/studio.v1.flow" } } }, @@ -1809,52 +1785,25 @@ "accountSid_authToken": [] } ], + "operationId": "FetchFlow", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://studio.twilio.com" - } - ], - "x-twilio": { - "className": "execution_step_context", - "defaultOutputProperties": [ - "context" - ], - "parent": "/Flows/{FlowSid}/Executions/{ExecutionSid}/Steps", - "pathType": "instance" - } - }, - "/v1/Flows/{FlowSid}/Executions/{Sid}": { "delete": { - "description": "Delete the Execution and all Steps relating to it.", - "operationId": "DeleteExecution", + "description": "Delete a specific Flow.", "parameters": [ { - "description": "The SID of the Flow with the Execution resources to delete.", + "name": "Sid", "in": "path", - "name": "FlowSid", - "required": true, + "description": "The SID of the Flow resource to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the Execution resource to delete.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { "maxLength": 34, - "minLength": 34, - "pattern": "^FN[0-9a-fA-F]{32}$", - "type": "string" - } + "pattern": "^FW[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1867,37 +1816,64 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteFlow", "x-maturity": [ "GA" ] + } + }, + "/v1/Flows/{FlowSid}/Engagements/{EngagementSid}/Steps": { + "servers": [ + { + "url": "https://studio.twilio.com" + } + ], + "description": "Steps within a Studio flow", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "name", + "transitioned_from", + "transitioned_to" + ], + "pathType": "list", + "parent": "/Flows/{FlowSid}/Engagements" }, - "description": "Executions of Studio flows", "get": { - "description": "Retrieve an Execution", - "operationId": "FetchExecution", + "description": "Retrieve a list of all Steps for an Engagement.", "parameters": [ { - "description": "The SID of the Flow with the Execution resource to fetch", - "in": "path", "name": "FlowSid", - "required": true, + "in": "path", + "description": "The SID of the Flow with the Step to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the Execution resource to fetch.", + "name": "EngagementSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the Engagement with the Step to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FN[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^FN[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "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 } } ], @@ -1906,7 +1882,46 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/studio.v1.flow.execution" + "type": "object", + "title": "ListStepResponse", + "properties": { + "steps": { + "type": "array", + "items": { + "$ref": "#/components/schemas/studio.v1.flow.engagement.step" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -1918,68 +1933,75 @@ "accountSid_authToken": [] } ], + "operationId": "ListStep", "x-maturity": [ "GA" ] + } + }, + "/v1/Flows/{FlowSid}/Engagements/{EngagementSid}/Steps/{Sid}": { + "servers": [ + { + "url": "https://studio.twilio.com" + } + ], + "description": "Steps within a Studio flow", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "name", + "transitioned_from", + "transitioned_to" + ], + "pathType": "instance", + "parent": "/Flows/{FlowSid}/Engagements" }, - "post": { - "description": "Update the status of an Execution to `ended`.", - "operationId": "UpdateExecution", + "get": { + "description": "Retrieve a Step.", "parameters": [ { - "description": "The SID of the Flow with the Execution resources to update.", - "in": "path", "name": "FlowSid", - "required": true, + "in": "path", + "description": "The SID of the Flow with the Step to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the Execution resource to update.", + "name": "EngagementSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the Engagement with the Step to fetch.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^FN[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the Step resource to fetch.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^FN[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FT[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Status": { - "description": "The status of the Execution. Can only be `ended`.", - "enum": [ - "active", - "ended" - ], - "type": "string" - } - }, - "required": [ - "Status" - ], - "title": "UpdateExecutionRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/studio.v1.flow.execution" + "$ref": "#/components/schemas/studio.v1.flow.engagement.step" } } }, @@ -1991,74 +2013,65 @@ "accountSid_authToken": [] } ], + "operationId": "FetchStep", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Flows/{FlowSid}/Engagements/{EngagementSid}/Steps/{StepSid}/Context": { "servers": [ { "url": "https://studio.twilio.com" } ], + "description": "JSON context for individual steps", "x-twilio": { "defaultOutputProperties": [ - "sid", - "contact_sid", - "status", - "date_created" + "context" ], - "parent": "/Flows", - "pathType": "instance" - } - }, - "/v1/Flows/{Sid}": { - "delete": { - "description": "Delete a specific Flow.", - "operationId": "DeleteFlow", + "pathType": "instance", + "parent": "/Flows/{FlowSid}/Engagements/{EngagementSid}/Steps", + "className": "step_context" + }, + "get": { + "description": "Retrieve the context for an Engagement Step.", "parameters": [ { - "description": "The SID of the Flow resource to delete.", + "name": "FlowSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the Flow with the Step to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "description": "Studio flows", - "get": { - "description": "Retrieve a specific Flow.", - "operationId": "FetchFlow", - "parameters": [ + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$" + }, + "required": true + }, { - "description": "The SID of the Flow resource to fetch.", + "name": "EngagementSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the Engagement with the Step to fetch.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^FN[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "StepSid", + "in": "path", + "description": "The SID of the Step to fetch", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FT[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2066,7 +2079,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/studio.v1.flow" + "$ref": "#/components/schemas/studio.v1.flow.engagement.step.step_context" } } }, @@ -2078,23 +2091,10 @@ "accountSid_authToken": [] } ], + "operationId": "FetchStepContext", "x-maturity": [ "GA" ] - }, - "servers": [ - { - "url": "https://studio.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "status", - "version" - ], - "pathType": "instance" } } }, @@ -2105,8 +2105,8 @@ ], "x-maturity": [ { - "description": "This product is Generally Available.", - "name": "GA" + "name": "GA", + "description": "This product is Generally Available." } ] } \ No newline at end of file diff --git a/spec/json/twilio_studio_v2.json b/spec/json/twilio_studio_v2.json index 6e612f51..be318e8f 100644 --- a/spec/json/twilio_studio_v2.json +++ b/spec/json/twilio_studio_v2.json @@ -1,492 +1,535 @@ { "components": { "schemas": { - "studio.v2.flow": { + "studio.v2.flow.execution": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^FN[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "commit_message": { - "description": "Description of change made in the revision", - "nullable": true, - "type": "string" - }, - "date_created": { - "description": "The 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 date and time in GMT when the resource was last updated", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "definition": { - "description": "JSON representation of flow definition", - "nullable": true - }, - "errors": { - "description": "List of error in the flow definition", - "items": {}, - "nullable": true, - "type": "array" + "description": "The unique string that identifies the resource" }, - "friendly_name": { - "description": "The string that you assigned to describe the Flow", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, - "links": { - "description": "Nested resource URLs", - "format": "uri-map", + "flow_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$", "nullable": true, - "type": "object" + "description": "The SID of the Flow" }, - "revision": { - "description": "The latest revision number of the Flow's definition", + "contact_channel_address": { + "type": "string", "nullable": true, - "type": "integer" + "description": "The phone number, SIP address or Client identifier that triggered the Execution" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "context": { "nullable": true, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" + "description": "The current state of the flow" }, "status": { - "description": "The status of the Flow", + "type": "string", "enum": [ - "draft", - "published" + "active", + "ended" ], "nullable": true, - "type": "string" + "description": "The status of the Execution" }, - "url": { - "description": "The absolute URL of the resource", - "format": "uri", + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, - "valid": { - "description": "Boolean if the flow definition is valid", + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "boolean" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, - "warnings": { - "description": "List of warnings in the flow definition", - "items": {}, + "url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "array" + "description": "The absolute URL of the resource" }, - "webhook_url": { - "format": "uri", + "links": { + "type": "object", + "format": "uri-map", "nullable": true, - "type": "string" + "description": "Nested resource URLs" } - }, - "type": "object" + } }, - "studio.v2.flow.execution": { + "studio.v2.flow.execution.execution_context": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "contact_channel_address": { - "description": "The phone number, SIP address or Client identifier that triggered the Execution", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, "context": { - "description": "The current state of the flow", - "nullable": true - }, - "date_created": { - "description": "The 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 date and time in GMT when the resource was last updated", - "format": "date-time", "nullable": true, - "type": "string" + "description": "The current state of the flow" }, "flow_sid": { - "description": "The SID of the Flow", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - }, - "links": { - "description": "Nested resource URLs", - "format": "uri-map", "nullable": true, - "type": "object" + "description": "The SID of the Flow" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "execution_sid": { + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^FN[0-9a-fA-F]{32}$", - "type": "string" - }, - "status": { - "description": "The status of the Execution", - "enum": [ - "active", - "ended" - ], "nullable": true, - "type": "string" + "description": "The SID of the Execution" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" } - }, - "type": "object" + } }, - "studio.v2.flow.execution.execution_context": { + "studio.v2.flow.execution.execution_step": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "context": { - "description": "The current state of the flow", - "nullable": true - }, - "execution_sid": { - "description": "The SID of the Execution", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^FN[0-9a-fA-F]{32}$", - "type": "string" - }, - "flow_sid": { - "description": "The SID of the Flow", "maxLength": 34, - "minLength": 34, + "pattern": "^FT[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "url": { - "description": "The absolute URL of the resource", - "format": "uri", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "studio.v2.flow.execution.execution_step": { - "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "context": { - "description": "The current state of the flow", - "nullable": true - }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", - "format": "date-time", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, - "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", - "format": "date-time", + "flow_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Flow" }, "execution_sid": { - "description": "The SID of the Execution", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^FN[0-9a-fA-F]{32}$", - "type": "string" - }, - "flow_sid": { - "description": "The SID of the Flow", "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - }, - "links": { - "description": "The URLs of related resources", - "format": "uri-map", + "pattern": "^FN[0-9a-fA-F]{32}$", "nullable": true, - "type": "object" + "description": "The SID of the Execution" }, "name": { - "description": "The event that caused the Flow to transition to the Step", + "type": "string", "nullable": true, - "type": "string" + "description": "The event that caused the Flow to transition to the Step" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "context": { "nullable": true, - "pattern": "^FT[0-9a-fA-F]{32}$", - "type": "string" + "description": "The current state of the flow" }, "transitioned_from": { - "description": "The Widget that preceded the Widget for the Step", + "type": "string", "nullable": true, - "type": "string" + "description": "The Widget that preceded the Widget for the Step" }, "transitioned_to": { - "description": "The Widget that will follow the Widget for the Step", + "type": "string", "nullable": true, - "type": "string" + "description": "The Widget that will follow the Widget for the Step" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "The URLs of related resources" } - }, - "type": "object" + } }, "studio.v2.flow.execution.execution_step.execution_step_context": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "context": { - "description": "The current state of the flow", - "nullable": true + "nullable": true, + "description": "The current state of the flow" }, "execution_sid": { - "description": "The SID of the Execution", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^FN[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Execution" }, "flow_sid": { - "description": "The SID of the Flow", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Flow" }, "step_sid": { - "description": "Step SID", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^FT[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "Step SID" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" } - }, - "type": "object" + } }, - "studio.v2.flow.flow_revision": { + "studio.v2.flow": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$", "nullable": true, + "description": "The unique string that identifies the resource" + }, + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, - "commit_message": { - "description": "Description of change made in the revision", + "friendly_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the Flow" }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", - "format": "date-time", + "definition": { "nullable": true, - "type": "string" + "description": "JSON representation of flow definition" }, - "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", - "format": "date-time", + "status": { + "type": "string", + "enum": [ + "draft", + "published" + ], "nullable": true, - "type": "string" + "description": "The status of the Flow" }, - "definition": { - "description": "JSON representation of flow definition", - "nullable": true + "revision": { + "type": "integer", + "nullable": true, + "description": "The latest revision number of the Flow's definition" + }, + "commit_message": { + "type": "string", + "nullable": true, + "description": "Description of change made in the revision" + }, + "valid": { + "type": "boolean", + "nullable": true, + "description": "Boolean if the flow definition is valid" }, "errors": { - "description": "List of error in the flow definition", + "type": "array", "items": {}, "nullable": true, - "type": "array" + "description": "List of error in the flow definition" }, - "friendly_name": { - "description": "The string that you assigned to describe the Flow", + "warnings": { + "type": "array", + "items": {}, "nullable": true, - "type": "string" + "description": "List of warnings in the flow definition" }, - "revision": { - "description": "The latest revision number of the Flow's definition", + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "integer" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, - "status": { - "description": "The status of the Flow", - "enum": [ - "draft", - "published" - ], - "nullable": true, - "type": "string" + "webhook_url": { + "type": "string", + "format": "uri", + "nullable": true }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" }, - "valid": { - "description": "Boolean if the flow definition is valid", + "links": { + "type": "object", + "format": "uri-map", "nullable": true, - "type": "boolean" + "description": "Nested resource URLs" } - }, - "type": "object" + } }, - "studio.v2.flow.test_user": { + "studio.v2.flow.flow_revision": { + "type": "object", "properties": { "sid": { - "description": "Unique identifier of the flow.", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique string that identifies the resource" + }, + "account_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Account that created the resource" }, - "test_users": { - "description": "List of test user identities that can test draft versions of the flow.", - "items": { - "type": "string" - }, + "friendly_name": { + "type": "string", + "nullable": true, + "description": "The string that you assigned to describe the Flow" + }, + "definition": { + "nullable": true, + "description": "JSON representation of flow definition" + }, + "status": { + "type": "string", + "enum": [ + "draft", + "published" + ], + "nullable": true, + "description": "The status of the Flow" + }, + "revision": { + "type": "integer", "nullable": true, - "type": "array" + "description": "The latest revision number of the Flow's definition" + }, + "commit_message": { + "type": "string", + "nullable": true, + "description": "Description of change made in the revision" + }, + "valid": { + "type": "boolean", + "nullable": true, + "description": "Boolean if the flow definition is valid" + }, + "errors": { + "type": "array", + "items": {}, + "nullable": true, + "description": "List of error in the flow definition" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, "url": { - "description": "The URL of this resource.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" } - }, - "type": "object" + } }, "studio.v2.flow_validate": { + "type": "object", "properties": { "valid": { - "description": "Boolean if the flow definition is valid", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Boolean if the flow definition is valid" } - }, - "type": "object" + } + }, + "studio.v2.flow.test_user": { + "type": "object", + "properties": { + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$", + "nullable": true, + "description": "Unique identifier of the flow." + }, + "test_users": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true, + "description": "List of test user identities that can test draft versions of the flow." + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The URL of this resource." + } + } } }, "securitySchemes": { "accountSid_authToken": { - "scheme": "basic", - "type": "http" + "type": "http", + "scheme": "basic" } } }, "info": { + "title": "Twilio - Studio", + "description": "This is the public Twilio REST API.", + "termsOfService": "https://www.twilio.com/legal/tos", "contact": { - "email": "support@twilio.com", "name": "Twilio Support", - "url": "https://support.twilio.com" + "url": "https://support.twilio.com", + "email": "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 - Studio", "version": "1.30.0" }, "openapi": "3.0.1", "paths": { - "/v2/Flows": { - "description": "Studio flows", + "/v2/Flows/{FlowSid}/Executions": { + "servers": [ + { + "url": "https://studio.twilio.com" + } + ], + "description": "Executions of Studio flows", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "status", + "date_created" + ], + "pathType": "list", + "parent": "/Flows" + }, "get": { - "description": "Retrieve a list of all Flows.", - "operationId": "ListFlow", + "description": "Retrieve a list of all Executions for the Flow.", "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", + "name": "FlowSid", + "in": "path", + "description": "The SID of the Flow with the Execution resources to read.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "DateCreatedFrom", + "in": "query", + "description": "Only show Execution resources starting on or after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time, given as `YYYY-MM-DDThh:mm:ss-hh:mm`.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "DateCreatedTo", "in": "query", + "description": "Only show Execution resources starting before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time, given as `YYYY-MM-DDThh:mm:ss-hh:mm`.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -495,25 +538,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListExecutionResponse", "properties": { - "flows": { + "executions": { + "type": "array", "items": { - "$ref": "#/components/schemas/studio.v2.flow" - }, - "type": "array" + "$ref": "#/components/schemas/studio.v2.flow.execution" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -522,19 +565,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListFlowResponse", - "type": "object" + } } } }, @@ -546,55 +589,33 @@ "accountSid_authToken": [] } ], + "operationId": "ListExecution", "x-maturity": [ "GA" ] }, "post": { - "description": "Create a Flow.", - "operationId": "CreateFlow", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "CommitMessage": { - "description": "Description of change made in the revision.", - "type": "string" - }, - "Definition": { - "description": "JSON representation of flow definition." - }, - "FriendlyName": { - "description": "The string that you assigned to describe the Flow.", - "type": "string" - }, - "Status": { - "description": "The status of the Flow. Can be: `draft` or `published`.", - "enum": [ - "draft", - "published" - ], - "type": "string" - } - }, - "required": [ - "FriendlyName", - "Status", - "Definition" - ], - "title": "CreateFlowRequest", - "type": "object" - } - } + "description": "Triggers a new Execution for the Flow", + "parameters": [ + { + "name": "FlowSid", + "in": "path", + "description": "The SID of the Excecution's Flow.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$" + }, + "required": true } - }, + ], "responses": { "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/studio.v2.flow" + "$ref": "#/components/schemas/studio.v2.flow.execution" } } }, @@ -606,72 +627,91 @@ "accountSid_authToken": [] } ], + "operationId": "CreateExecution", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://studio.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "status", - "revision" ], - "pathType": "list" - } - }, - "/v2/Flows/Validate": { - "description": "Flow definition validator", - "post": { - "description": "Validate flow JSON definition", - "operationId": "UpdateFlowValidate", "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateExecutionRequest", "properties": { - "CommitMessage": { - "description": "Description of change made in the revision.", - "type": "string" - }, - "Definition": { - "description": "JSON representation of flow definition." + "To": { + "type": "string", + "format": "phone-number", + "description": "The Contact phone number to start a Studio Flow Execution, available as variable `{{contact.channel.address}}`." }, - "FriendlyName": { - "description": "The string that you assigned to describe the Flow.", - "type": "string" + "From": { + "type": "string", + "format": "phone-number", + "description": "The Twilio phone number to send messages or initiate calls from during the Flow's Execution. Available as variable `{{flow.channel.address}}`. For SMS, this can also be a Messaging Service SID." }, - "Status": { - "description": "The status of the Flow. Can be: `draft` or `published`.", - "enum": [ - "draft", - "published" - ], - "type": "string" + "Parameters": { + "description": "JSON data that will be added to the Flow's context and that can be accessed as variables inside your Flow. For example, if you pass in `Parameters={\"name\":\"Zeke\"}`, a widget in your Flow can reference the variable `{{flow.data.name}}`, which returns \"Zeke\". Note: the JSON value must explicitly be passed as a string, not as a hash object. Depending on your particular HTTP library, you may need to add quotes or URL encode the JSON string." } }, "required": [ - "FriendlyName", - "Status", - "Definition" - ], - "title": "UpdateFlowValidateRequest", - "type": "object" + "To", + "From" + ] } } } - }, + } + } + }, + "/v2/Flows/{FlowSid}/Executions/{Sid}": { + "servers": [ + { + "url": "https://studio.twilio.com" + } + ], + "description": "Executions of Studio flows", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "status", + "date_created" + ], + "pathType": "instance", + "parent": "/Flows" + }, + "get": { + "description": "Retrieve an Execution", + "parameters": [ + { + "name": "FlowSid", + "in": "path", + "description": "The SID of the Flow with the Execution resource to fetch", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the Execution resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^FN[0-9a-fA-F]{32}$" + }, + "required": true + } + ], "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/studio.v2.flow_validate" + "$ref": "#/components/schemas/studio.v2.flow.execution" } } }, @@ -683,119 +723,42 @@ "accountSid_authToken": [] } ], + "operationId": "FetchExecution", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://studio.twilio.com" - } - ], - "x-twilio": { - "className": "flow_validate", - "defaultOutputProperties": [ - "valid" - ], - "pathType": "list" - } - }, - "/v2/Flows/{FlowSid}/Executions": { - "description": "Executions of Studio flows", - "get": { - "description": "Retrieve a list of all Executions for the Flow.", - "operationId": "ListExecution", + "delete": { + "description": "Delete the Execution and all Steps relating to it.", "parameters": [ { - "description": "The SID of the Flow with the Execution resources to read.", - "in": "path", "name": "FlowSid", - "required": true, + "in": "path", + "description": "The SID of the Flow with the Execution resources to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "Only show Execution resources starting on or after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time, given as `YYYY-MM-DDThh:mm:ss-hh:mm`.", - "in": "query", - "name": "DateCreatedFrom", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "description": "Only show Execution resources starting before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time, given as `YYYY-MM-DDThh:mm:ss-hh:mm`.", - "in": "query", - "name": "DateCreatedTo", - "schema": { - "format": "date-time", - "type": "string" - } + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", - "name": "PageSize", + "name": "Sid", + "in": "path", + "description": "The SID of the Execution resource to delete.", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^FN[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "executions": { - "items": { - "$ref": "#/components/schemas/studio.v2.flow.execution" - }, - "type": "array" - }, - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - } - }, - "title": "ListExecutionResponse", - "type": "object" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -803,58 +766,41 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteExecution", "x-maturity": [ "GA" ] }, "post": { - "description": "Triggers a new Execution for the Flow", - "operationId": "CreateExecution", + "description": "Update the status of an Execution to `ended`.", "parameters": [ { - "description": "The SID of the Excecution's Flow.", - "in": "path", "name": "FlowSid", - "required": true, + "in": "path", + "description": "The SID of the Flow with the Execution resources to update.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the Execution resource to update.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FN[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "From": { - "description": "The Twilio phone number to send messages or initiate calls from during the Flow's Execution. Available as variable `{{flow.channel.address}}`. For SMS, this can also be a Messaging Service SID.", - "format": "phone-number", - "type": "string" - }, - "Parameters": { - "description": "JSON data that will be added to the Flow's context and that can be accessed as variables inside your Flow. For example, if you pass in `Parameters={\"name\":\"Zeke\"}`, a widget in your Flow can reference the variable `{{flow.data.name}}`, which returns \"Zeke\". Note: the JSON value must explicitly be passed as a string, not as a hash object. Depending on your particular HTTP library, you may need to add quotes or URL encode the JSON string." - }, - "To": { - "description": "The Contact phone number to start a Studio Flow Execution, available as variable `{{contact.channel.address}}`.", - "format": "phone-number", - "type": "string" - } - }, - "required": [ - "To", - "From" - ], - "title": "CreateExecutionRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { @@ -862,7 +808,7 @@ } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -870,54 +816,76 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateExecution", "x-maturity": [ "GA" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateExecutionRequest", + "properties": { + "Status": { + "type": "string", + "enum": [ + "active", + "ended" + ], + "description": "The status of the Execution. Can only be `ended`." + } + }, + "required": [ + "Status" + ] + } + } + } + } + } + }, + "/v2/Flows/{FlowSid}/Executions/{ExecutionSid}/Context": { "servers": [ { "url": "https://studio.twilio.com" } ], + "description": "JSON context for executions", "x-twilio": { "defaultOutputProperties": [ - "sid", - "status", - "date_created" + "context" ], - "parent": "/Flows", - "pathType": "list" - } - }, - "/v2/Flows/{FlowSid}/Executions/{ExecutionSid}/Context": { - "description": "JSON context for executions", + "pathType": "instance", + "parent": "/Flows/{FlowSid}/Executions", + "className": "execution_context" + }, "get": { "description": "Retrieve the most recent context for an Execution.", - "operationId": "FetchExecutionContext", "parameters": [ { - "description": "The SID of the Flow with the Execution context to fetch.", - "in": "path", "name": "FlowSid", - "required": true, + "in": "path", + "description": "The SID of the Flow with the Execution context to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the Execution context to fetch.", - "in": "path", "name": "ExecutionSid", - "required": true, + "in": "path", + "description": "The SID of the Execution context to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FN[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FN[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -937,62 +905,64 @@ "accountSid_authToken": [] } ], + "operationId": "FetchExecutionContext", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/Flows/{FlowSid}/Executions/{ExecutionSid}/Steps": { "servers": [ { "url": "https://studio.twilio.com" } ], + "description": "Individual steps within an execution", "x-twilio": { - "className": "execution_context", "defaultOutputProperties": [ - "context" + "sid", + "name", + "date_created" ], + "pathType": "list", "parent": "/Flows/{FlowSid}/Executions", - "pathType": "instance" - } - }, - "/v2/Flows/{FlowSid}/Executions/{ExecutionSid}/Steps": { - "description": "Individual steps within an execution", + "className": "execution_step" + }, "get": { "description": "Retrieve a list of all Steps for an Execution.", - "operationId": "ListExecutionStep", "parameters": [ { - "description": "The SID of the Flow with the Steps to read.", - "in": "path", "name": "FlowSid", - "required": true, + "in": "path", + "description": "The SID of the Flow with the Steps to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the Execution with the Steps to read.", - "in": "path", "name": "ExecutionSid", - "required": true, + "in": "path", + "description": "The SID of the Execution with the Steps to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FN[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FN[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1001,19 +971,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListExecutionStepResponse", "properties": { + "steps": { + "type": "array", + "items": { + "$ref": "#/components/schemas/studio.v2.flow.execution.execution_step" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1022,25 +998,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "steps": { - "items": { - "$ref": "#/components/schemas/studio.v2.flow.execution.execution_step" - }, - "type": "array" + } } - }, - "title": "ListExecutionStepResponse", - "type": "object" + } } } }, @@ -1052,67 +1022,67 @@ "accountSid_authToken": [] } ], + "operationId": "ListExecutionStep", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/Flows/{FlowSid}/Executions/{ExecutionSid}/Steps/{Sid}": { "servers": [ { "url": "https://studio.twilio.com" } ], + "description": "Individual steps within an execution", "x-twilio": { - "className": "execution_step", "defaultOutputProperties": [ "sid", "name", "date_created" ], + "pathType": "instance", "parent": "/Flows/{FlowSid}/Executions", - "pathType": "list" - } - }, - "/v2/Flows/{FlowSid}/Executions/{ExecutionSid}/Steps/{Sid}": { - "description": "Individual steps within an execution", + "className": "execution_step" + }, "get": { "description": "Retrieve a Step.", - "operationId": "FetchExecutionStep", "parameters": [ { - "description": "The SID of the Flow with the Step to fetch.", - "in": "path", "name": "FlowSid", - "required": true, + "in": "path", + "description": "The SID of the Flow with the Step to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the Execution resource with the Step to fetch.", - "in": "path", "name": "ExecutionSid", - "required": true, + "in": "path", + "description": "The SID of the Execution resource with the Step to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FN[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FN[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the ExecutionStep resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the ExecutionStep resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FT[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FT[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1132,176 +1102,65 @@ "accountSid_authToken": [] } ], + "operationId": "FetchExecutionStep", "x-maturity": [ "GA" ] - }, - "servers": [ - { - "url": "https://studio.twilio.com" - } - ], - "x-twilio": { - "className": "execution_step", - "defaultOutputProperties": [ - "sid", - "name", - "date_created" - ], - "parent": "/Flows/{FlowSid}/Executions", - "pathType": "instance" } }, "/v2/Flows/{FlowSid}/Executions/{ExecutionSid}/Steps/{StepSid}/Context": { - "description": "JSON context for an individual step within an execution", - "get": { - "description": "Retrieve the context for an Execution Step.", - "operationId": "FetchExecutionStepContext", - "parameters": [ - { - "description": "The SID of the Flow with the Step to fetch.", - "in": "path", - "name": "FlowSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the Execution resource with the Step to fetch.", - "in": "path", - "name": "ExecutionSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^FN[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the Step to fetch.", - "in": "path", - "name": "StepSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^FT[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/studio.v2.flow.execution.execution_step.execution_step_context" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, "servers": [ { - "url": "https://studio.twilio.com" - } - ], - "x-twilio": { - "className": "execution_step_context", - "defaultOutputProperties": [ - "context" - ], - "parent": "/Flows/{FlowSid}/Executions/{ExecutionSid}/Steps", - "pathType": "instance" - } - }, - "/v2/Flows/{FlowSid}/Executions/{Sid}": { - "delete": { - "description": "Delete the Execution and all Steps relating to it.", - "operationId": "DeleteExecution", - "parameters": [ - { - "description": "The SID of the Flow with the Execution resources to delete.", - "in": "path", - "name": "FlowSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the Execution resource to delete.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^FN[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } + "url": "https://studio.twilio.com" + } + ], + "description": "JSON context for an individual step within an execution", + "x-twilio": { + "defaultOutputProperties": [ + "context" ], - "x-maturity": [ - "GA" - ] + "pathType": "instance", + "parent": "/Flows/{FlowSid}/Executions/{ExecutionSid}/Steps", + "className": "execution_step_context" }, - "description": "Executions of Studio flows", "get": { - "description": "Retrieve an Execution", - "operationId": "FetchExecution", + "description": "Retrieve the context for an Execution Step.", "parameters": [ { - "description": "The SID of the Flow with the Execution resource to fetch", - "in": "path", "name": "FlowSid", - "required": true, + "in": "path", + "description": "The SID of the Flow with the Step to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the Execution resource to fetch.", + "name": "ExecutionSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the Execution resource with the Step to fetch.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^FN[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "StepSid", + "in": "path", + "description": "The SID of the Step to fetch.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^FN[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FT[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1309,7 +1168,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/studio.v2.flow.execution" + "$ref": "#/components/schemas/studio.v2.flow.execution.execution_step.execution_step_context" } } }, @@ -1321,68 +1180,147 @@ "accountSid_authToken": [] } ], + "operationId": "FetchExecutionStepContext", "x-maturity": [ "GA" ] + } + }, + "/v2/Flows": { + "servers": [ + { + "url": "https://studio.twilio.com" + } + ], + "description": "Studio flows", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "status", + "revision" + ], + "pathType": "list" }, "post": { - "description": "Update the status of an Execution to `ended`.", - "operationId": "UpdateExecution", - "parameters": [ - { - "description": "The SID of the Flow with the Execution resources to update.", - "in": "path", - "name": "FlowSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - } - }, + "description": "Create a Flow.", + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/studio.v2.flow" + } + } + }, + "description": "Created" + } + }, + "security": [ { - "description": "The SID of the Execution resource to update.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^FN[0-9a-fA-F]{32}$", - "type": "string" - } + "accountSid_authToken": [] } ], + "operationId": "CreateFlow", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateFlowRequest", "properties": { + "FriendlyName": { + "type": "string", + "description": "The string that you assigned to describe the Flow." + }, "Status": { - "description": "The status of the Execution. Can only be `ended`.", + "type": "string", "enum": [ - "active", - "ended" + "draft", + "published" ], - "type": "string" + "description": "The status of the Flow. Can be: `draft` or `published`." + }, + "Definition": { + "description": "JSON representation of flow definition." + }, + "CommitMessage": { + "type": "string", + "description": "Description of change made in the revision." } }, "required": [ - "Status" - ], - "title": "UpdateExecutionRequest", - "type": "object" + "FriendlyName", + "Status", + "Definition" + ] } } } - }, + } + }, + "get": { + "description": "Retrieve a list of all Flows.", + "parameters": [ + { + "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 + } + } + ], "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/studio.v2.flow.execution" + "type": "object", + "title": "ListFlowResponse", + "properties": { + "flows": { + "type": "array", + "items": { + "$ref": "#/components/schemas/studio.v2.flow" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -1394,73 +1332,42 @@ "accountSid_authToken": [] } ], + "operationId": "ListFlow", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/Flows/{Sid}": { "servers": [ { "url": "https://studio.twilio.com" } ], + "description": "Studio flows", "x-twilio": { "defaultOutputProperties": [ "sid", + "friendly_name", "status", - "date_created" + "revision" ], - "parent": "/Flows", "pathType": "instance" - } - }, - "/v2/Flows/{Sid}": { - "delete": { - "description": "Delete a specific Flow.", - "operationId": "DeleteFlow", - "parameters": [ - { - "description": "The SID of the Flow resource to delete.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] }, - "description": "Studio flows", - "get": { - "description": "Retrieve a specific Flow.", - "operationId": "FetchFlow", + "post": { + "description": "Update a Flow.", "parameters": [ { - "description": "The SID of the Flow resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Flow resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1480,61 +1387,61 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateFlow", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "Update a Flow.", - "operationId": "UpdateFlow", - "parameters": [ - { - "description": "The SID of the Flow resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateFlowRequest", "properties": { - "CommitMessage": { - "description": "Description of change made in the revision.", - "type": "string" - }, - "Definition": { - "description": "JSON representation of flow definition." - }, - "FriendlyName": { - "description": "The string that you assigned to describe the Flow.", - "type": "string" - }, "Status": { - "description": "The status of the Flow. Can be: `draft` or `published`.", + "type": "string", "enum": [ "draft", "published" ], - "type": "string" + "description": "The status of the Flow. Can be: `draft` or `published`." + }, + "FriendlyName": { + "type": "string", + "description": "The string that you assigned to describe the Flow." + }, + "Definition": { + "description": "JSON representation of flow definition." + }, + "CommitMessage": { + "type": "string", + "description": "Description of change made in the revision." } }, "required": [ "Status" - ], - "title": "UpdateFlowRequest", - "type": "object" + ] } } } - }, + } + }, + "get": { + "description": "Retrieve a specific Flow.", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The SID of the Flow resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$" + }, + "required": true + } + ], "responses": { "200": { "content": { @@ -1552,15 +1459,50 @@ "accountSid_authToken": [] } ], + "operationId": "FetchFlow", "x-maturity": [ "GA" ] }, + "delete": { + "description": "Delete a specific Flow.", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The SID of the Flow resource to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteFlow", + "x-maturity": [ + "GA" + ] + } + }, + "/v2/Flows/{Sid}/Revisions": { "servers": [ { "url": "https://studio.twilio.com" } ], + "description": "Studio flows revisions", "x-twilio": { "defaultOutputProperties": [ "sid", @@ -1568,35 +1510,33 @@ "status", "revision" ], - "pathType": "instance" - } - }, - "/v2/Flows/{Sid}/Revisions": { - "description": "Studio flows revisions", + "pathType": "list", + "parent": "/Flows", + "className": "flow_revision" + }, "get": { "description": "Retrieve a list of all Flows revisions.", - "operationId": "ListFlowRevision", "parameters": [ { - "description": "The SID of the Flow resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Flow resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1605,19 +1545,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListFlowRevisionResponse", "properties": { + "revisions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/studio.v2.flow.flow_revision" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1626,25 +1572,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "revisions": { - "items": { - "$ref": "#/components/schemas/studio.v2.flow.flow_revision" - }, - "type": "array" + } } - }, - "title": "ListFlowRevisionResponse", - "type": "object" + } } } }, @@ -1656,53 +1596,53 @@ "accountSid_authToken": [] } ], + "operationId": "ListFlowRevision", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/Flows/{Sid}/Revisions/{Revision}": { "servers": [ { "url": "https://studio.twilio.com" } ], + "description": "Studio flows revisions", "x-twilio": { - "className": "flow_revision", "defaultOutputProperties": [ "sid", "friendly_name", "status", "revision" ], + "pathType": "instance", "parent": "/Flows", - "pathType": "list" - } - }, - "/v2/Flows/{Sid}/Revisions/{Revision}": { - "description": "Studio flows revisions", + "className": "flow_revision" + }, "get": { "description": "Retrieve a specific Flow revision.", - "operationId": "FetchFlowRevision", "parameters": [ { - "description": "The SID of the Flow resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Flow resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "Specific Revision number or can be `LatestPublished` and `LatestRevision`.", - "in": "path", "name": "Revision", - "required": true, + "in": "path", + "description": "Specific Revision number or can be `LatestPublished` and `LatestRevision`.", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -1722,44 +1662,116 @@ "accountSid_authToken": [] } ], + "operationId": "FetchFlowRevision", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/Flows/Validate": { "servers": [ { "url": "https://studio.twilio.com" } ], + "description": "Flow definition validator", "x-twilio": { - "className": "flow_revision", "defaultOutputProperties": [ - "sid", - "friendly_name", - "status", - "revision" + "valid" ], - "parent": "/Flows", - "pathType": "instance" + "pathType": "list", + "className": "flow_validate" + }, + "post": { + "description": "Validate flow JSON definition", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/studio.v2.flow_validate" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "UpdateFlowValidate", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateFlowValidateRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "The string that you assigned to describe the Flow." + }, + "Status": { + "type": "string", + "enum": [ + "draft", + "published" + ], + "description": "The status of the Flow. Can be: `draft` or `published`." + }, + "Definition": { + "description": "JSON representation of flow definition." + }, + "CommitMessage": { + "type": "string", + "description": "Description of change made in the revision." + } + }, + "required": [ + "FriendlyName", + "Status", + "Definition" + ] + } + } + } + } } }, "/v2/Flows/{Sid}/TestUsers": { + "servers": [ + { + "url": "https://studio.twilio.com" + } + ], "description": "Test users of a flow", + "x-twilio": { + "defaultOutputProperties": [ + "test_users" + ], + "pathType": "instance", + "parent": "/Flows", + "className": "flow_test_user" + }, "get": { "description": "Fetch flow test users", - "operationId": "FetchTestUser", "parameters": [ { - "description": "Unique identifier of the flow.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "Unique identifier of the flow.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1779,49 +1791,27 @@ "accountSid_authToken": [] } ], + "operationId": "FetchTestUser", "x-maturity": [ "GA" ] }, "post": { "description": "Update flow test users", - "operationId": "UpdateTestUser", "parameters": [ { - "description": "Unique identifier of the flow.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "Unique identifier of the flow.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^FW[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^FW[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "TestUsers": { - "description": "List of test user identities that can test draft versions of the flow.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "TestUsers" - ], - "title": "UpdateTestUserRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { @@ -1839,22 +1829,32 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateTestUser", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://studio.twilio.com" - } - ], - "x-twilio": { - "className": "flow_test_user", - "defaultOutputProperties": [ - "test_users" ], - "parent": "/Flows", - "pathType": "instance" + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateTestUserRequest", + "properties": { + "TestUsers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of test user identities that can test draft versions of the flow." + } + }, + "required": [ + "TestUsers" + ] + } + } + } + } } } }, @@ -1865,8 +1865,8 @@ ], "x-maturity": [ { - "description": "This product is Generally Available.", - "name": "GA" + "name": "GA", + "description": "This product is Generally Available." } ] } \ No newline at end of file diff --git a/spec/json/twilio_supersim_v1.json b/spec/json/twilio_supersim_v1.json index 8562f33b..bdfaf10e 100644 --- a/spec/json/twilio_supersim_v1.json +++ b/spec/json/twilio_supersim_v1.json @@ -1,72 +1,102 @@ { "components": { "schemas": { - "supersim.v1.esim_profile": { + "supersim.v1.sim.billing_period": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account to which the eSIM Profile resource belongs", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^HB[0-9a-fA-F]{32}$", "nullable": true, + "description": "The SID of the Billing Period" + }, + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account the Super SIM belongs to" }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", - "format": "date-time", + "sim_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^HS[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Super SIM the Billing Period belongs to" }, - "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", + "start_time": { + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The start time of the Billing Period" }, - "eid": { - "description": "Identifier of the eUICC that can claim the eSIM Profile", + "end_time": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "string" + "description": "The end time of the Billing Period" }, - "error_code": { - "description": "Code indicating the failure if the download of the SIM Profile failed and the eSIM Profile is in `failed` state", + "period_type": { + "type": "string", + "enum": [ + "ready", + "active" + ], "nullable": true, - "type": "string" + "description": "The type of the Billing Period" }, - "error_message": { - "description": "Error message describing the failure if the download of the SIM Profile failed and the eSIM Profile is in `failed` state", + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, - "iccid": { - "description": "The ICCID associated with the Sim resource", + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "string" - }, + "description": "The ISO 8601 date and time in GMT when the resource was last updated" + } + } + }, + "supersim.v1.esim_profile": { + "type": "object", + "properties": { "sid": { - "description": "The unique string that identifies the resource", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^HP[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique string that identifies the resource" + }, + "account_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^HP[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Account to which the eSIM Profile resource belongs" + }, + "iccid": { + "type": "string", + "nullable": true, + "description": "The ICCID associated with the Sim resource" }, "sim_sid": { - "description": "The SID of the Sim resource that this eSIM Profile controls", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^HS[0-9a-fA-F]{32}$", - "type": "string" - }, - "smdp_plus_address": { - "description": "Address of the SM-DP+ server from which the Profile will be downloaded", - "format": "uri", "nullable": true, - "type": "string" + "description": "The SID of the Sim resource that this eSIM Profile controls" }, "status": { - "description": "The status of the eSIM Profile", + "type": "string", "enum": [ "new", "reserving", @@ -76,59 +106,123 @@ "failed" ], "nullable": true, - "type": "string" + "description": "The status of the eSIM Profile" + }, + "eid": { + "type": "string", + "nullable": true, + "description": "Identifier of the eUICC that can claim the eSIM Profile" + }, + "smdp_plus_address": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "Address of the SM-DP+ server from which the Profile will be downloaded" + }, + "error_code": { + "type": "string", + "nullable": true, + "description": "Code indicating the failure if the download of the SIM Profile failed and the eSIM Profile is in `failed` state" + }, + "error_message": { + "type": "string", + "nullable": true, + "description": "Error message describing the failure if the download of the SIM Profile failed and the eSIM Profile is in `failed` state" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, "url": { - "description": "The absolute URL of the eSIM Profile resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the eSIM Profile resource" } - }, - "type": "object" + } }, "supersim.v1.fleet": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^HF[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" + }, + "unique_name": { + "type": "string", + "nullable": true, + "description": "An application-defined string that uniquely identifies the resource" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was last updated" + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The absolute URL of the Fleet resource" }, "data_enabled": { - "description": "Defines whether SIMs in the Fleet are capable of using data connectivity", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Defines whether SIMs in the Fleet are capable of using data connectivity" }, "data_limit": { - "description": "The total data usage (download and upload combined) in Megabytes that each Sim resource assigned to the Fleet resource can consume", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total data usage (download and upload combined) in Megabytes that each Sim resource assigned to the Fleet resource can consume" }, "data_metering": { - "description": "The model by which a SIM is metered and billed", + "type": "string", "enum": [ "payg" ], "nullable": true, - "type": "string" + "description": "The model by which a SIM is metered and billed" }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", - "format": "date-time", + "sms_commands_enabled": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Defines whether SIMs in the Fleet are capable of sending and receiving machine-to-machine SMS via Commands" }, - "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", - "format": "date-time", + "sms_commands_url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "string" + "description": "The URL that will receive a webhook when a Super SIM in the Fleet is used to send an SMS from your device to the SMS Commands number" }, - "ip_commands_method": { - "description": "A string representing the HTTP method to use when making a request to `ip_commands_url`", + "sms_commands_method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -137,39 +231,26 @@ "PUT", "DELETE" ], - "format": "http-method", - "nullable": true, - "type": "string" - }, - "ip_commands_url": { - "description": "The URL that will receive a webhook when a Super SIM in the Fleet is used to send an IP Command from your device", - "format": "uri", "nullable": true, - "type": "string" + "description": "A string representing the HTTP method to use when making a request to `sms_commands_url`" }, "network_access_profile_sid": { - "description": "The SID of the Network Access Profile of the Fleet", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^HA[0-9a-fA-F]{32}$", - "type": "string" - }, - "sid": { - "description": "The unique string that identifies the resource", "maxLength": 34, - "minLength": 34, + "pattern": "^HA[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^HF[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Network Access Profile of the Fleet" }, - "sms_commands_enabled": { - "description": "Defines whether SIMs in the Fleet are capable of sending and receiving machine-to-machine SMS via Commands", + "ip_commands_url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "boolean" + "description": "The URL that will receive a webhook when a Super SIM in the Fleet is used to send an IP Command from your device" }, - "sms_commands_method": { - "description": "A string representing the HTTP method to use when making a request to `sms_commands_url`", + "ip_commands_method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -178,303 +259,265 @@ "PUT", "DELETE" ], - "format": "http-method", - "nullable": true, - "type": "string" - }, - "sms_commands_url": { - "description": "The URL that will receive a webhook when a Super SIM in the Fleet is used to send an SMS from your device to the SMS Commands number", - "format": "uri", - "nullable": true, - "type": "string" - }, - "unique_name": { - "description": "An application-defined string that uniquely identifies the resource", - "nullable": true, - "type": "string" - }, - "url": { - "description": "The absolute URL of the Fleet resource", - "format": "uri", "nullable": true, - "type": "string" + "description": "A string representing the HTTP method to use when making a request to `ip_commands_url`" } - }, - "type": "object" + } }, "supersim.v1.ip_command": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^HG[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", - "format": "date-time", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, - "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", - "format": "date-time", + "sim_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^HS[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Super SIM that this IP Command was sent to or from" }, - "device_ip": { - "description": "The IP address of the device that the IP Command was sent to or received from", + "sim_iccid": { + "type": "string", "nullable": true, - "type": "string" + "description": "The ICCID of the Super SIM that this IP Command was sent to or from" }, - "device_port": { - "description": "The port that the IP Command either originated from or was sent to", + "status": { + "type": "string", + "enum": [ + "queued", + "sent", + "received", + "failed" + ], "nullable": true, - "type": "integer" + "description": "The status of the IP Command" }, "direction": { - "description": "The direction of the IP Command", + "type": "string", "enum": [ "to_sim", "from_sim" ], "nullable": true, - "type": "string" + "description": "The direction of the IP Command" }, - "payload": { - "description": "The payload of the IP Command sent to or from the Super SIM", + "device_ip": { + "type": "string", + "nullable": true, + "description": "The IP address of the device that the IP Command was sent to or received from" + }, + "device_port": { + "type": "integer", "nullable": true, - "type": "string" + "description": "The port that the IP Command either originated from or was sent to" }, "payload_type": { - "description": "The payload type of the IP Command", + "type": "string", "enum": [ "text", "binary" ], "nullable": true, - "type": "string" - }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^HG[0-9a-fA-F]{32}$", - "type": "string" + "description": "The payload type of the IP Command" }, - "sim_iccid": { - "description": "The ICCID of the Super SIM that this IP Command was sent to or from", + "payload": { + "type": "string", "nullable": true, - "type": "string" + "description": "The payload of the IP Command sent to or from the Super SIM" }, - "sim_sid": { - "description": "The SID of the Super SIM that this IP Command was sent to or from", - "maxLength": 34, - "minLength": 34, + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^HS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, - "status": { - "description": "The status of the IP Command", - "enum": [ - "queued", - "sent", - "received", - "failed" - ], + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, "url": { - "description": "The absolute URL of the IP Command resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the IP Command resource" } - }, - "type": "object" + } }, "supersim.v1.network": { + "type": "object", "properties": { - "friendly_name": { - "description": "A human readable identifier of this resource", + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^HW[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique string that identifies the resource" }, - "identifiers": { - "description": "The MCC/MNCs included in the Network resource", - "items": {}, + "friendly_name": { + "type": "string", "nullable": true, - "type": "array" + "description": "A human readable identifier of this resource" }, - "iso_country": { - "description": "The ISO country code of the Network resource", + "url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Network resource" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "iso_country": { + "type": "string", "nullable": true, - "pattern": "^HW[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO country code of the Network resource" }, - "url": { - "description": "The absolute URL of the Network resource", - "format": "uri", + "identifiers": { + "type": "array", + "items": {}, "nullable": true, - "type": "string" + "description": "The MCC/MNCs included in the Network resource" } - }, - "type": "object" + } }, "supersim.v1.network_access_profile": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that the Network Access Profile belongs to", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^HA[0-9a-fA-F]{32}$", "nullable": true, + "description": "The unique string that identifies the resource" + }, + "unique_name": { + "type": "string", + "nullable": true, + "description": "An application-defined string that uniquely identifies the resource" + }, + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that the Network Access Profile belongs to" }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, - "links": { - "format": "uri-map", + "url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "object" + "description": "The absolute URL of the resource" }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true + } + } + }, + "supersim.v1.network_access_profile.network_access_profile_network": { + "type": "object", + "properties": { "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^HW[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^HA[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "unique_name": { - "description": "An application-defined string that uniquely identifies the resource", + "network_access_profile_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^HA[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique string that identifies the Network Access Profile resource" }, - "url": { - "description": "The absolute URL of the resource", - "format": "uri", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "supersim.v1.network_access_profile.network_access_profile_network": { - "properties": { "friendly_name": { - "description": "A human readable identifier of this resource", - "nullable": true, - "type": "string" - }, - "identifiers": { - "description": "The MCC/MNCs included in the resource", - "items": {}, + "type": "string", "nullable": true, - "type": "array" + "description": "A human readable identifier of this resource" }, "iso_country": { - "description": "The ISO country code of the Network resource", - "nullable": true, - "type": "string" - }, - "network_access_profile_sid": { - "description": "The unique string that identifies the Network Access Profile resource", - "maxLength": 34, - "minLength": 34, + "type": "string", "nullable": true, - "pattern": "^HA[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO country code of the Network resource" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "identifiers": { + "type": "array", + "items": {}, "nullable": true, - "pattern": "^HW[0-9a-fA-F]{32}$", - "type": "string" + "description": "The MCC/MNCs included in the resource" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" } - }, - "type": "object" + } }, "supersim.v1.sim": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that the Super SIM belongs to", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^HS[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", - "format": "date-time", - "nullable": true, - "type": "string" + "description": "The unique string that identifies the resource" }, - "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", - "format": "date-time", + "unique_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "An application-defined string that uniquely identifies the resource" }, - "fleet_sid": { - "description": "The unique ID of the Fleet configured for this SIM", - "maxLength": 34, + "account_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^HF[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Account that the Super SIM belongs to" }, "iccid": { - "description": "The ICCID associated with the SIM", - "nullable": true, - "type": "string" - }, - "links": { - "format": "uri-map", - "nullable": true, - "type": "object" - }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "type": "string", "nullable": true, - "pattern": "^HS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ICCID associated with the SIM" }, "status": { - "description": "The status of the Super SIM", + "type": "string", "enum": [ "new", "ready", @@ -483,138 +526,94 @@ "scheduled" ], "nullable": true, - "type": "string" + "description": "The status of the Super SIM" }, - "unique_name": { - "description": "An application-defined string that uniquely identifies the resource", - "nullable": true, - "type": "string" - }, - "url": { - "description": "The absolute URL of the Sim Resource", - "format": "uri", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "supersim.v1.sim.billing_period": { - "properties": { - "account_sid": { - "description": "The SID of the Account the Super SIM belongs to", - "maxLength": 34, + "fleet_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^HF[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique ID of the Fleet configured for this SIM" }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, - "end_time": { - "description": "The end time of the Billing Period", - "format": "date-time", + "url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Sim Resource" }, - "period_type": { - "description": "The type of the Billing Period", + "links": { + "type": "object", + "format": "uri-map", + "nullable": true + } + } + }, + "supersim.v1.sim.sim_ip_address": { + "type": "object", + "properties": { + "ip_address": { + "type": "string", + "nullable": true, + "description": "IP address assigned to the given Super SIM" + }, + "ip_address_version": { + "type": "string", "enum": [ - "ready", - "active" + "IPv4", + "IPv6" ], "nullable": true, - "type": "string" - }, + "description": "IP address version" + } + } + }, + "supersim.v1.sms_command": { + "type": "object", + "properties": { "sid": { - "description": "The SID of the Billing Period", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^HB[0-9a-fA-F]{32}$", - "type": "string" - }, - "sim_sid": { - "description": "The SID of the Super SIM the Billing Period belongs to", "maxLength": 34, - "minLength": 34, + "pattern": "^HC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^HS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "start_time": { - "description": "The start time of the Billing Period", - "format": "date-time", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "supersim.v1.sms_command": { - "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "description": "The 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 date and time in GMT when the resource was last updated", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "direction": { - "description": "The direction of the SMS Command", - "enum": [ - "to_sim", - "from_sim" - ], "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, - "payload": { - "description": "The message body of the SMS Command sent to or from the SIM", - "nullable": true, - "type": "string" - }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "sim_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^HS[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^HC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the SIM that this SMS Command was sent to or from" }, - "sim_sid": { - "description": "The SID of the SIM that this SMS Command was sent to or from", - "maxLength": 34, - "minLength": 34, + "payload": { + "type": "string", "nullable": true, - "pattern": "^HS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The message body of the SMS Command sent to or from the SIM" }, "status": { - "description": "The status of the SMS Command", + "type": "string", "enum": [ "queued", "sent", @@ -623,161 +622,173 @@ "failed" ], "nullable": true, - "type": "string" + "description": "The status of the SMS Command" + }, + "direction": { + "type": "string", + "enum": [ + "to_sim", + "from_sim" + ], + "nullable": true, + "description": "The direction of the SMS Command" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, "url": { - "description": "The absolute URL of the SMS Command resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the SMS Command resource" } - }, - "type": "object" + } }, "supersim.v1.usage_record": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that incurred the usage.", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that incurred the usage." + }, + "sim_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^HS[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "SID of a Sim resource to which the UsageRecord belongs." }, - "billed_unit": { - "description": "The currency in which the billed amounts are measured, specified in the 3 letter ISO 4127 format (e.g. `USD`, `EUR`, `JPY`).", - "format": "currency", + "network_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^HW[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "SID of the Network resource on which the usage occurred." }, - "data_download": { - "description": "Total data downloaded in bytes, aggregated by the query parameters.", + "fleet_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^HF[0-9a-fA-F]{32}$", "nullable": true, - "type": "integer" + "description": "SID of the Fleet resource on which the usage occurred." }, - "data_total": { - "description": "Total of data_upload and data_download.", + "iso_country": { + "type": "string", + "format": "iso-country-code", "nullable": true, - "type": "integer" + "description": "Alpha-2 ISO Country Code of the country the usage occurred in." }, - "data_total_billed": { - "description": "Total amount in the `billed_unit` that was charged for the data uploaded or downloaded.", + "period": { "nullable": true, - "type": "number" + "description": "The time period for which the usage is reported." }, "data_upload": { - "description": "Total data uploaded in bytes, aggregated by the query parameters.", + "type": "integer", "nullable": true, - "type": "integer" + "description": "Total data uploaded in bytes, aggregated by the query parameters." }, - "fleet_sid": { - "description": "SID of the Fleet resource on which the usage occurred.", - "maxLength": 34, - "minLength": 34, + "data_download": { + "type": "integer", "nullable": true, - "pattern": "^HF[0-9a-fA-F]{32}$", - "type": "string" + "description": "Total data downloaded in bytes, aggregated by the query parameters." }, - "iso_country": { - "description": "Alpha-2 ISO Country Code of the country the usage occurred in.", - "format": "iso-country-code", + "data_total": { + "type": "integer", "nullable": true, - "type": "string" + "description": "Total of data_upload and data_download." }, - "network_sid": { - "description": "SID of the Network resource on which the usage occurred.", - "maxLength": 34, - "minLength": 34, + "data_total_billed": { + "type": "number", "nullable": true, - "pattern": "^HW[0-9a-fA-F]{32}$", - "type": "string" + "description": "Total amount in the `billed_unit` that was charged for the data uploaded or downloaded." }, - "period": { - "description": "The time period for which the usage is reported.", - "nullable": true - }, - "sim_sid": { - "description": "SID of a Sim resource to which the UsageRecord belongs.", - "maxLength": 34, - "minLength": 34, + "billed_unit": { + "type": "string", + "format": "currency", "nullable": true, - "pattern": "^HS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The currency in which the billed amounts are measured, specified in the 3 letter ISO 4127 format (e.g. `USD`, `EUR`, `JPY`)." } - }, - "type": "object" + } } }, "securitySchemes": { "accountSid_authToken": { - "scheme": "basic", - "type": "http" + "type": "http", + "scheme": "basic" } } }, "info": { + "title": "Twilio - Supersim", + "description": "This is the public Twilio REST API.", + "termsOfService": "https://www.twilio.com/legal/tos", "contact": { - "email": "support@twilio.com", "name": "Twilio Support", - "url": "https://support.twilio.com" + "url": "https://support.twilio.com", + "email": "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 - Supersim", "version": "1.30.0" }, "openapi": "3.0.1", "paths": { - "/v1/ESimProfiles": { - "description": "eSIM Profiles that can be loaded onto consumer eUICC SIMs", + "/v1/Sims/{SimSid}/BillingPeriods": { + "servers": [ + { + "url": "https://supersim.twilio.com" + } + ], + "description": "Billing Period for an IoT Super SIM", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "sim_sid", + "start_time", + "end_time", + "period_type" + ], + "pathType": "list", + "parent": "/Sims" + }, "get": { - "description": "Retrieve a list of eSIM Profiles.", - "operationId": "ListEsimProfile", + "description": "Retrieve a list of Billing Periods for a Super SIM.", "parameters": [ { - "description": "List the eSIM Profiles that have been associated with an EId.", - "in": "query", - "name": "Eid", - "schema": { - "type": "string" - } - }, - { - "description": "Find the eSIM Profile resource related to a [Sim](https://www.twilio.com/docs/wireless/api/sim-resource) resource by providing the SIM SID. Will always return an array with either 1 or 0 records.", - "in": "query", "name": "SimSid", + "in": "path", + "description": "The SID of the Super SIM to list Billing Periods for.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "List the eSIM Profiles that are in a given status.", + "name": "PageSize", "in": "query", - "name": "Status", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "enum": [ - "new", - "reserving", - "available", - "downloaded", - "installed", - "failed" - ], - "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, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -786,25 +797,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListBillingPeriodResponse", "properties": { - "esim_profiles": { + "billing_periods": { + "type": "array", "items": { - "$ref": "#/components/schemas/supersim.v1.esim_profile" - }, - "type": "array" + "$ref": "#/components/schemas/supersim.v1.sim.billing_period" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -813,19 +824,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListEsimProfileResponse", - "type": "object" + } } } }, @@ -837,20 +848,63 @@ "accountSid_authToken": [] } ], + "operationId": "ListBillingPeriod", "x-maturity": [ - "Beta" + "GA" ] + } + }, + "/v1/ESimProfiles": { + "servers": [ + { + "url": "https://supersim.twilio.com" + } + ], + "description": "eSIM Profiles that can be loaded onto consumer eUICC SIMs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "status" + ], + "pathType": "list" }, "post": { "description": "Order an eSIM Profile.", + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/supersim.v1.esim_profile" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], "operationId": "CreateEsimProfile", + "x-maturity": [ + "Beta" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateEsimProfileRequest", "properties": { + "CallbackUrl": { + "type": "string", + "description": "The URL we should call using the `callback_method` when the status of the eSIM Profile changes. At this stage of the eSIM Profile pilot, the a request to the URL will only be called when the ESimProfile resource changes from `reserving` to `available`." + }, "CallbackMethod": { - "description": "The HTTP method we should use to call `callback_url`. Can be: `GET` or `POST` and the default is POST.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -859,34 +913,113 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" - }, - "CallbackUrl": { - "description": "The URL we should call using the `callback_method` when the status of the eSIM Profile changes. At this stage of the eSIM Profile pilot, the a request to the URL will only be called when the ESimProfile resource changes from `reserving` to `available`.", - "type": "string" + "description": "The HTTP method we should use to call `callback_url`. Can be: `GET` or `POST` and the default is POST." }, "Eid": { - "description": "Identifier of the eUICC that will claim the eSIM Profile.", - "type": "string" + "type": "string", + "description": "Identifier of the eUICC that will claim the eSIM Profile." } - }, - "title": "CreateEsimProfileRequest", - "type": "object" + } } } } - }, + } + }, + "get": { + "description": "Retrieve a list of eSIM Profiles.", + "parameters": [ + { + "name": "Eid", + "in": "query", + "description": "List the eSIM Profiles that have been associated with an EId.", + "schema": { + "type": "string" + } + }, + { + "name": "SimSid", + "in": "query", + "description": "Find the eSIM Profile resource related to a [Sim](https://www.twilio.com/docs/wireless/api/sim-resource) resource by providing the SIM SID. Will always return an array with either 1 or 0 records.", + "schema": { + "type": "string" + } + }, + { + "name": "Status", + "in": "query", + "description": "List the eSIM Profiles that are in a given status.", + "schema": { + "type": "string", + "enum": [ + "new", + "reserving", + "available", + "downloaded", + "installed", + "failed" + ] + } + }, + { + "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 + } + } + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/supersim.v1.esim_profile" + "type": "object", + "title": "ListEsimProfileResponse", + "properties": { + "esim_profiles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/supersim.v1.esim_profile" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -894,37 +1027,37 @@ "accountSid_authToken": [] } ], + "operationId": "ListEsimProfile", "x-maturity": [ "Beta" ] - }, + } + }, + "/v1/ESimProfiles/{Sid}": { "servers": [ { "url": "https://supersim.twilio.com" } ], + "description": "eSIM Profiles that can be loaded onto consumer eUICC SIMs", "x-twilio": { "defaultOutputProperties": [ "sid", "status" ], - "pathType": "list" - } - }, - "/v1/ESimProfiles/{Sid}": { - "description": "eSIM Profiles that can be loaded onto consumer eUICC SIMs", + "pathType": "instance" + }, "get": { "description": "Fetch an eSIM Profile.", - "operationId": "FetchEsimProfile", "parameters": [ { - "description": "The SID of the eSIM Profile resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the eSIM Profile resource to fetch.", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -944,97 +1077,39 @@ "accountSid_authToken": [] } ], + "operationId": "FetchEsimProfile", "x-maturity": [ "Beta" ] - }, + } + }, + "/v1/Fleets": { "servers": [ { "url": "https://supersim.twilio.com" } ], + "description": "Configure shared settings inherited by all Super SIMs assigned to the Fleet", "x-twilio": { "defaultOutputProperties": [ "sid", - "status" - ], - "pathType": "instance" - } - }, - "/v1/Fleets": { - "description": "Configure shared settings inherited by all Super SIMs assigned to the Fleet", - "get": { - "description": "Retrieve a list of Fleets from your account.", - "operationId": "ListFleet", - "parameters": [ - { - "description": "The SID or unique name of the Network Access Profile that controls which cellular networks the Fleet's SIMs can connect to.", - "in": "query", - "name": "NetworkAccessProfile", - "schema": { - "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" - } - } + "unique_name", + "data_metering" ], + "pathType": "list" + }, + "post": { + "description": "Create a Fleet", "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "properties": { - "fleets": { - "items": { - "$ref": "#/components/schemas/supersim.v1.fleet" - }, - "type": "array" - }, - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - } - }, - "title": "ListFleetResponse", - "type": "object" + "$ref": "#/components/schemas/supersim.v1.fleet" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -1042,28 +1117,41 @@ "accountSid_authToken": [] } ], + "operationId": "CreateFleet", "x-maturity": [ "Beta" - ] - }, - "post": { - "description": "Create a Fleet", - "operationId": "CreateFleet", + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateFleetRequest", "properties": { + "NetworkAccessProfile": { + "type": "string", + "description": "The SID or unique name of the Network Access Profile that will control which cellular networks the Fleet's SIMs can connect to." + }, + "UniqueName": { + "type": "string", + "description": "An application-defined string that uniquely identifies the resource. It can be used in place of the resource's `sid` in the URL to address the resource." + }, "DataEnabled": { - "description": "Defines whether SIMs in the Fleet are capable of using 2G/3G/4G/LTE/CAT-M data connectivity. Defaults to `true`.", - "type": "boolean" + "type": "boolean", + "description": "Defines whether SIMs in the Fleet are capable of using 2G/3G/4G/LTE/CAT-M data connectivity. Defaults to `true`." }, "DataLimit": { - "description": "The total data usage (download and upload combined) in Megabytes that each Sim resource assigned to the Fleet resource can consume during a billing period (normally one month). Value must be between 1MB (1) and 2TB (2,000,000). Defaults to 1GB (1,000).", - "type": "integer" + "type": "integer", + "description": "The total data usage (download and upload combined) in Megabytes that each Sim resource assigned to the Fleet resource can consume during a billing period (normally one month). Value must be between 1MB (1) and 2TB (2,000,000). Defaults to 1GB (1,000)." + }, + "IpCommandsUrl": { + "type": "string", + "format": "uri", + "description": "The URL that will receive a webhook when a Super SIM in the Fleet is used to send an IP Command from your device to a special IP address. Your server should respond with an HTTP status code in the 200 range; any response body will be ignored." }, "IpCommandsMethod": { - "description": "A string representing the HTTP method to use when making a request to `ip_commands_url`. Can be one of `POST` or `GET`. Defaults to `POST`.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -1072,24 +1160,20 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" - }, - "IpCommandsUrl": { - "description": "The URL that will receive a webhook when a Super SIM in the Fleet is used to send an IP Command from your device to a special IP address. Your server should respond with an HTTP status code in the 200 range; any response body will be ignored.", - "format": "uri", - "type": "string" - }, - "NetworkAccessProfile": { - "description": "The SID or unique name of the Network Access Profile that will control which cellular networks the Fleet's SIMs can connect to.", - "type": "string" + "description": "A string representing the HTTP method to use when making a request to `ip_commands_url`. Can be one of `POST` or `GET`. Defaults to `POST`." }, "SmsCommandsEnabled": { - "description": "Defines whether SIMs in the Fleet are capable of sending and receiving machine-to-machine SMS via Commands. Defaults to `true`.", - "type": "boolean" + "type": "boolean", + "description": "Defines whether SIMs in the Fleet are capable of sending and receiving machine-to-machine SMS via Commands. Defaults to `true`." + }, + "SmsCommandsUrl": { + "type": "string", + "format": "uri", + "description": "The URL that will receive a webhook when a Super SIM in the Fleet is used to send an SMS from your device to the SMS Commands number. Your server should respond with an HTTP status code in the 200 range; any response body will be ignored." }, "SmsCommandsMethod": { - "description": "A string representing the HTTP method to use when making a request to `sms_commands_url`. Can be one of `POST` or `GET`. Defaults to `POST`.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -1098,38 +1182,88 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" - }, - "SmsCommandsUrl": { - "description": "The URL that will receive a webhook when a Super SIM in the Fleet is used to send an SMS from your device to the SMS Commands number. Your server should respond with an HTTP status code in the 200 range; any response body will be ignored.", - "format": "uri", - "type": "string" - }, - "UniqueName": { - "description": "An application-defined string that uniquely identifies the resource. It can be used in place of the resource's `sid` in the URL to address the resource.", - "type": "string" + "description": "A string representing the HTTP method to use when making a request to `sms_commands_url`. Can be one of `POST` or `GET`. Defaults to `POST`." } }, "required": [ "NetworkAccessProfile" - ], - "title": "CreateFleetRequest", - "type": "object" + ] } } } - }, + } + }, + "get": { + "description": "Retrieve a list of Fleets from your account.", + "parameters": [ + { + "name": "NetworkAccessProfile", + "in": "query", + "description": "The SID or unique name of the Network Access Profile that controls which cellular networks the Fleet's SIMs can connect to.", + "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 + } + } + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/supersim.v1.fleet" + "type": "object", + "title": "ListFleetResponse", + "properties": { + "fleets": { + "type": "array", + "items": { + "$ref": "#/components/schemas/supersim.v1.fleet" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -1137,38 +1271,38 @@ "accountSid_authToken": [] } ], + "operationId": "ListFleet", "x-maturity": [ "Beta" ] - }, + } + }, + "/v1/Fleets/{Sid}": { "servers": [ { "url": "https://supersim.twilio.com" } ], + "description": "Configure shared settings inherited by all Super SIMs assigned to the Fleet", "x-twilio": { "defaultOutputProperties": [ "sid", "unique_name", "data_metering" ], - "pathType": "list" - } - }, - "/v1/Fleets/{Sid}": { - "description": "Configure shared settings inherited by all Super SIMs assigned to the Fleet", + "pathType": "instance" + }, "get": { "description": "Fetch a Fleet instance from your account.", - "operationId": "FetchFleet", "parameters": [ { - "description": "The SID of the Fleet resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Fleet resource to fetch.", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -1188,31 +1322,68 @@ "accountSid_authToken": [] } ], + "operationId": "FetchFleet", "x-maturity": [ "Beta" ] }, "post": { "description": "Updates the given properties of a Super SIM Fleet instance from your account.", - "operationId": "UpdateFleet", "parameters": [ { - "description": "The SID of the Fleet resource to update.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Fleet resource to update.", "schema": { "type": "string" - } + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/supersim.v1.fleet" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] } ], + "operationId": "UpdateFleet", + "x-maturity": [ + "Beta" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateFleetRequest", "properties": { + "UniqueName": { + "type": "string", + "description": "An application-defined string that uniquely identifies the resource. It can be used in place of the resource's `sid` in the URL to address the resource." + }, + "NetworkAccessProfile": { + "type": "string", + "description": "The SID or unique name of the Network Access Profile that will control which cellular networks the Fleet's SIMs can connect to." + }, + "IpCommandsUrl": { + "type": "string", + "format": "uri", + "description": "The URL that will receive a webhook when a Super SIM in the Fleet is used to send an IP Command from your device to a special IP address. Your server should respond with an HTTP status code in the 200 range; any response body will be ignored." + }, "IpCommandsMethod": { - "description": "A string representing the HTTP method to use when making a request to `ip_commands_url`. Can be one of `POST` or `GET`. Defaults to `POST`.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -1221,20 +1392,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "A string representing the HTTP method to use when making a request to `ip_commands_url`. Can be one of `POST` or `GET`. Defaults to `POST`." }, - "IpCommandsUrl": { - "description": "The URL that will receive a webhook when a Super SIM in the Fleet is used to send an IP Command from your device to a special IP address. Your server should respond with an HTTP status code in the 200 range; any response body will be ignored.", + "SmsCommandsUrl": { + "type": "string", "format": "uri", - "type": "string" - }, - "NetworkAccessProfile": { - "description": "The SID or unique name of the Network Access Profile that will control which cellular networks the Fleet's SIMs can connect to.", - "type": "string" + "description": "The URL that will receive a webhook when a Super SIM in the Fleet is used to send an SMS from your device to the SMS Commands number. Your server should respond with an HTTP status code in the 200 range; any response body will be ignored." }, "SmsCommandsMethod": { - "description": "A string representing the HTTP method to use when making a request to `sms_commands_url`. Can be one of `POST` or `GET`. Defaults to `POST`.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -1243,35 +1410,42 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" - }, - "SmsCommandsUrl": { - "description": "The URL that will receive a webhook when a Super SIM in the Fleet is used to send an SMS from your device to the SMS Commands number. Your server should respond with an HTTP status code in the 200 range; any response body will be ignored.", - "format": "uri", - "type": "string" - }, - "UniqueName": { - "description": "An application-defined string that uniquely identifies the resource. It can be used in place of the resource's `sid` in the URL to address the resource.", - "type": "string" + "description": "A string representing the HTTP method to use when making a request to `sms_commands_url`. Can be one of `POST` or `GET`. Defaults to `POST`." } - }, - "title": "UpdateFleetRequest", - "type": "object" + } } } } - }, + } + } + }, + "/v1/IpCommands": { + "servers": [ + { + "url": "https://supersim.twilio.com" + } + ], + "description": "Machine-to-machine IP Commands sent to/from Super SIMs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "status", + "date_created" + ], + "pathType": "list" + }, + "post": { + "description": "Send an IP Command to a Super SIM.", "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/supersim.v1.fleet" + "$ref": "#/components/schemas/supersim.v1.ip_command" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -1279,80 +1453,119 @@ "accountSid_authToken": [] } ], + "operationId": "CreateIpCommand", "x-maturity": [ "Beta" - ] - }, - "servers": [ - { - "url": "https://supersim.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "unique_name", - "data_metering" ], - "pathType": "instance" - } - }, - "/v1/IpCommands": { - "description": "Machine-to-machine IP Commands sent to/from Super SIMs", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateIpCommandRequest", + "properties": { + "Sim": { + "type": "string", + "description": "The `sid` or `unique_name` of the [Super SIM](https://www.twilio.com/docs/iot/supersim/api/sim-resource) to send the IP Command to." + }, + "Payload": { + "type": "string", + "description": "The payload to be delivered to the device." + }, + "DevicePort": { + "type": "integer", + "description": "The device port to which the IP Command will be sent." + }, + "PayloadType": { + "type": "string", + "enum": [ + "text", + "binary" + ], + "description": "Indicates how the payload is encoded. Either `text` or `binary`. Defaults to `text`." + }, + "CallbackUrl": { + "type": "string", + "format": "uri", + "description": "The URL we should call using the `callback_method` after we have sent the IP Command." + }, + "CallbackMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method we should use to call `callback_url`. Can be `GET` or `POST`, and the default is `POST`." + } + }, + "required": [ + "Sim", + "Payload", + "DevicePort" + ] + } + } + } + } + }, "get": { "description": "Retrieve a list of IP Commands from your account.", - "operationId": "ListIpCommand", "parameters": [ { - "description": "The SID or unique name of the Sim resource that IP Command was sent to or from.", - "in": "query", "name": "Sim", + "in": "query", + "description": "The SID or unique name of the Sim resource that IP Command was sent to or from.", "schema": { "type": "string" } }, { - "description": "The ICCID of the Sim resource that IP Command was sent to or from.", - "in": "query", "name": "SimIccid", + "in": "query", + "description": "The ICCID of the Sim resource that IP Command was sent to or from.", "schema": { "type": "string" } }, { - "description": "The status of the IP Command. Can be: `queued`, `sent`, `received` or `failed`. See the [IP Command Status Values](https://www.twilio.com/docs/wireless/api/ipcommand-resource#status-values) for a description of each.", - "in": "query", "name": "Status", + "in": "query", + "description": "The status of the IP Command. Can be: `queued`, `sent`, `received` or `failed`. See the [IP Command Status Values](https://www.twilio.com/docs/wireless/api/ipcommand-resource#status-values) for a description of each.", "schema": { + "type": "string", "enum": [ "queued", "sent", "received", "failed" - ], - "type": "string" + ] } }, { - "description": "The direction of the IP Command. Can be `to_sim` or `from_sim`. The value of `to_sim` is synonymous with the term `mobile terminated`, and `from_sim` is synonymous with the term `mobile originated`.", - "in": "query", "name": "Direction", + "in": "query", + "description": "The direction of the IP Command. Can be `to_sim` or `from_sim`. The value of `to_sim` is synonymous with the term `mobile terminated`, and `from_sim` is synonymous with the term `mobile originated`.", "schema": { + "type": "string", "enum": [ "to_sim", "from_sim" - ], - "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", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1361,25 +1574,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListIpCommandResponse", "properties": { "ip_commands": { + "type": "array", "items": { "$ref": "#/components/schemas/supersim.v1.ip_command" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1388,19 +1601,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListIpCommandResponse", - "type": "object" + } } } }, @@ -1412,70 +1625,45 @@ "accountSid_authToken": [] } ], + "operationId": "ListIpCommand", "x-maturity": [ "Beta" ] + } + }, + "/v1/IpCommands/{Sid}": { + "servers": [ + { + "url": "https://supersim.twilio.com" + } + ], + "description": "Machine-to-machine IP Commands sent to/from Super SIMs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "status", + "date_created" + ], + "pathType": "instance" }, - "post": { - "description": "Send an IP Command to a Super SIM.", - "operationId": "CreateIpCommand", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "CallbackMethod": { - "description": "The HTTP method we should use to call `callback_url`. Can be `GET` or `POST`, and the default is `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "CallbackUrl": { - "description": "The URL we should call using the `callback_method` after we have sent the IP Command.", - "format": "uri", - "type": "string" - }, - "DevicePort": { - "description": "The device port to which the IP Command will be sent.", - "type": "integer" - }, - "Payload": { - "description": "The payload to be delivered to the device.", - "type": "string" - }, - "PayloadType": { - "description": "Indicates how the payload is encoded. Either `text` or `binary`. Defaults to `text`.", - "enum": [ - "text", - "binary" - ], - "type": "string" - }, - "Sim": { - "description": "The `sid` or `unique_name` of the [Super SIM](https://www.twilio.com/docs/iot/supersim/api/sim-resource) to send the IP Command to.", - "type": "string" - } - }, - "required": [ - "Sim", - "Payload", - "DevicePort" - ], - "title": "CreateIpCommandRequest", - "type": "object" - } - } + "get": { + "description": "Fetch IP Command instance from your account.", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The SID of the IP Command resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^HG[0-9a-fA-F]{32}$" + }, + "required": true } - }, + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { @@ -1483,7 +1671,7 @@ } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -1491,41 +1679,39 @@ "accountSid_authToken": [] } ], + "operationId": "FetchIpCommand", "x-maturity": [ "Beta" ] - }, + } + }, + "/v1/Networks/{Sid}": { "servers": [ { "url": "https://supersim.twilio.com" } ], + "description": "Mobile operator networks to which Super SIMs can connect", "x-twilio": { "defaultOutputProperties": [ - "sid", - "status", - "date_created" + "sid" ], - "pathType": "list" - } - }, - "/v1/IpCommands/{Sid}": { - "description": "Machine-to-machine IP Commands sent to/from Super SIMs", + "pathType": "instance" + }, "get": { - "description": "Fetch IP Command instance from your account.", - "operationId": "FetchIpCommand", + "description": "Fetch a Network resource.", "parameters": [ { - "description": "The SID of the IP Command resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Network resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^HG[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^HW[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1533,7 +1719,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/supersim.v1.ip_command" + "$ref": "#/components/schemas/supersim.v1.network" } } }, @@ -1545,38 +1731,60 @@ "accountSid_authToken": [] } ], + "operationId": "FetchNetwork", "x-maturity": [ "Beta" ] - }, + } + }, + "/v1/Networks": { "servers": [ { "url": "https://supersim.twilio.com" } ], + "description": "Mobile operator networks to which Super SIMs can connect", "x-twilio": { "defaultOutputProperties": [ - "sid", - "status", - "date_created" + "sid" ], - "pathType": "instance" - } - }, - "/v1/NetworkAccessProfiles": { - "description": "TODO: Resource-level docs", + "pathType": "list" + }, "get": { - "description": "Retrieve a list of Network Access Profiles from your account.", - "operationId": "ListNetworkAccessProfile", + "description": "Retrieve a list of Network resources.", "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", + "name": "IsoCountry", + "in": "query", + "description": "The [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) of the Network resources to read.", + "schema": { + "type": "string" + } + }, + { + "name": "Mcc", + "in": "query", + "description": "The 'mobile country code' of a country. Network resources with this `mcc` in their `identifiers` will be read.", + "schema": { + "type": "string" + } + }, + { + "name": "Mnc", "in": "query", + "description": "The 'mobile network code' of a mobile operator network. Network resources with this `mnc` in their `identifiers` will be read.", + "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": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1585,19 +1793,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListNetworkResponse", "properties": { + "networks": { + "type": "array", + "items": { + "$ref": "#/components/schemas/supersim.v1.network" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1606,25 +1820,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "network_access_profiles": { - "items": { - "$ref": "#/components/schemas/supersim.v1.network_access_profile" - }, - "type": "array" + } } - }, - "title": "ListNetworkAccessProfileResponse", - "type": "object" + } } } }, @@ -1636,36 +1844,29 @@ "accountSid_authToken": [] } ], + "operationId": "ListNetwork", "x-maturity": [ "Beta" ] + } + }, + "/v1/NetworkAccessProfiles": { + "servers": [ + { + "url": "https://supersim.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "unique_name", + "fleets_count" + ], + "pathType": "list" }, "post": { "description": "Create a new Network Access Profile", - "operationId": "CreateNetworkAccessProfile", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Networks": { - "description": "List of Network SIDs that this Network Access Profile will allow connections to.", - "items": { - "type": "string" - }, - "type": "array" - }, - "UniqueName": { - "description": "An application-defined string that uniquely identifies the resource. It can be used in place of the resource's `sid` in the URL to address the resource.", - "type": "string" - } - }, - "title": "CreateNetworkAccessProfileRequest", - "type": "object" - } - } - } - }, "responses": { "201": { "content": { @@ -1683,47 +1884,45 @@ "accountSid_authToken": [] } ], + "operationId": "CreateNetworkAccessProfile", "x-maturity": [ "Beta" - ] - }, - "servers": [ - { - "url": "https://supersim.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "unique_name", - "fleets_count" ], - "pathType": "list" - } - }, - "/v1/NetworkAccessProfiles/{NetworkAccessProfileSid}/Networks": { - "description": "Mobile operator networks which Network Access Profiles allow access to", - "get": { - "description": "Retrieve a list of Network Access Profile resource's Network resource.", - "operationId": "ListNetworkAccessProfileNetwork", - "parameters": [ - { - "description": "The unique string that identifies the Network Access Profile resource.", - "in": "path", - "name": "NetworkAccessProfileSid", - "required": true, - "schema": { - "type": "string" + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateNetworkAccessProfileRequest", + "properties": { + "UniqueName": { + "type": "string", + "description": "An application-defined string that uniquely identifies the resource. It can be used in place of the resource's `sid` in the URL to address the resource." + }, + "Networks": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of Network SIDs that this Network Access Profile will allow connections to." + } + } + } } - }, + } + } + }, + "get": { + "description": "Retrieve a list of Network Access Profiles from your account.", + "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1732,19 +1931,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListNetworkAccessProfileResponse", "properties": { + "network_access_profiles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/supersim.v1.network_access_profile" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1753,86 +1958,23 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "networks": { - "items": { - "$ref": "#/components/schemas/supersim.v1.network_access_profile.network_access_profile_network" - }, - "type": "array" + } } - }, - "title": "ListNetworkAccessProfileNetworkResponse", - "type": "object" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "Beta" - ] - }, - "post": { - "description": "Add a Network resource to the Network Access Profile resource.", - "operationId": "CreateNetworkAccessProfileNetwork", - "parameters": [ - { - "description": "The unique string that identifies the Network Access Profile resource.", - "in": "path", - "name": "NetworkAccessProfileSid", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Network": { - "description": "The SID of the Network resource to be added to the Network Access Profile resource.", - "maxLength": 34, - "minLength": 34, - "pattern": "^HW[0-9a-fA-F]{32}$", - "type": "string" } - }, - "required": [ - "Network" - ], - "title": "CreateNetworkAccessProfileNetworkRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/supersim.v1.network_access_profile.network_access_profile_network" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -1840,57 +1982,50 @@ "accountSid_authToken": [] } ], + "operationId": "ListNetworkAccessProfile", "x-maturity": [ "Beta" ] - }, + } + }, + "/v1/NetworkAccessProfiles/{Sid}": { "servers": [ { "url": "https://supersim.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { - "className": "network_access_profile_network", "defaultOutputProperties": [ - "sid" + "sid", + "unique_name", + "fleets_count" ], - "parent": "/NetworkAccessProfiles", - "pathType": "list" - } - }, - "/v1/NetworkAccessProfiles/{NetworkAccessProfileSid}/Networks/{Sid}": { - "delete": { - "description": "Remove a Network resource from the Network Access Profile resource's.", - "operationId": "DeleteNetworkAccessProfileNetwork", + "pathType": "instance" + }, + "get": { + "description": "Fetch a Network Access Profile instance from your account.", "parameters": [ { - "description": "The unique string that identifies the Network Access Profile resource.", - "in": "path", - "name": "NetworkAccessProfileSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^HA[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the Network resource to be removed from the Network Access Profile resource.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Network Access Profile resource to fetch.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^HW[0-9a-fA-F]{32}$", "type": "string" - } + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/supersim.v1.network_access_profile" + } + } + }, + "description": "OK" } }, "security": [ @@ -1898,35 +2033,22 @@ "accountSid_authToken": [] } ], + "operationId": "FetchNetworkAccessProfile", "x-maturity": [ "Beta" ] }, - "description": "Mobile operator networks which Network Access Profiles allow access to", - "get": { - "description": "Fetch a Network Access Profile resource's Network resource.", - "operationId": "FetchNetworkAccessProfileNetwork", + "post": { + "description": "Updates the given properties of a Network Access Profile in your account.", "parameters": [ { - "description": "The unique string that identifies the Network Access Profile resource.", - "in": "path", - "name": "NetworkAccessProfileSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the Network resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Network Access Profile to update.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^HW[0-9a-fA-F]{32}$", "type": "string" - } + }, + "required": true } ], "responses": { @@ -1934,7 +2056,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/supersim.v1.network_access_profile.network_access_profile_network" + "$ref": "#/components/schemas/supersim.v1.network_access_profile" } } }, @@ -1946,37 +2068,63 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateNetworkAccessProfile", "x-maturity": [ "Beta" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateNetworkAccessProfileRequest", + "properties": { + "UniqueName": { + "type": "string", + "description": "The new unique name of the Network Access Profile." + } + } + } + } + } + } + } + }, + "/v1/NetworkAccessProfiles/{NetworkAccessProfileSid}/Networks": { "servers": [ { "url": "https://supersim.twilio.com" } ], + "description": "Mobile operator networks which Network Access Profiles allow access to", "x-twilio": { - "className": "network_access_profile_network", "defaultOutputProperties": [ "sid" ], + "pathType": "list", "parent": "/NetworkAccessProfiles", - "pathType": "instance" - } - }, - "/v1/NetworkAccessProfiles/{Sid}": { - "description": "TODO: Resource-level docs", + "className": "network_access_profile_network" + }, "get": { - "description": "Fetch a Network Access Profile instance from your account.", - "operationId": "FetchNetworkAccessProfile", + "description": "Retrieve a list of Network Access Profile resource's Network resource.", "parameters": [ { - "description": "The SID of the Network Access Profile resource to fetch.", + "name": "NetworkAccessProfileSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The unique string that identifies the Network Access Profile resource.", "schema": { "type": "string" + }, + "required": true + }, + { + "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 } } ], @@ -1985,7 +2133,46 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/supersim.v1.network_access_profile" + "type": "object", + "title": "ListNetworkAccessProfileNetworkResponse", + "properties": { + "networks": { + "type": "array", + "items": { + "$ref": "#/components/schemas/supersim.v1.network_access_profile.network_access_profile_network" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -1997,50 +2184,34 @@ "accountSid_authToken": [] } ], + "operationId": "ListNetworkAccessProfileNetwork", "x-maturity": [ "Beta" ] }, "post": { - "description": "Updates the given properties of a Network Access Profile in your account.", - "operationId": "UpdateNetworkAccessProfile", + "description": "Add a Network resource to the Network Access Profile resource.", "parameters": [ { - "description": "The SID of the Network Access Profile to update.", + "name": "NetworkAccessProfileSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The unique string that identifies the Network Access Profile resource.", "schema": { "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "UniqueName": { - "description": "The new unique name of the Network Access Profile.", - "type": "string" - } - }, - "title": "UpdateNetworkAccessProfileRequest", - "type": "object" - } - } - } - }, "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/supersim.v1.network_access_profile" + "$ref": "#/components/schemas/supersim.v1.network_access_profile.network_access_profile_network" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -2048,114 +2219,80 @@ "accountSid_authToken": [] } ], + "operationId": "CreateNetworkAccessProfileNetwork", "x-maturity": [ "Beta" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateNetworkAccessProfileNetworkRequest", + "properties": { + "Network": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^HW[0-9a-fA-F]{32}$", + "description": "The SID of the Network resource to be added to the Network Access Profile resource." + } + }, + "required": [ + "Network" + ] + } + } + } + } + } + }, + "/v1/NetworkAccessProfiles/{NetworkAccessProfileSid}/Networks/{Sid}": { "servers": [ { "url": "https://supersim.twilio.com" } ], + "description": "Mobile operator networks which Network Access Profiles allow access to", "x-twilio": { "defaultOutputProperties": [ - "sid", - "unique_name", - "fleets_count" + "sid" ], - "pathType": "instance" - } - }, - "/v1/Networks": { - "description": "Mobile operator networks to which Super SIMs can connect", - "get": { - "description": "Retrieve a list of Network resources.", - "operationId": "ListNetwork", + "pathType": "instance", + "parent": "/NetworkAccessProfiles", + "className": "network_access_profile_network" + }, + "delete": { + "description": "Remove a Network resource from the Network Access Profile resource's.", "parameters": [ { - "description": "The [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) of the Network resources to read.", - "in": "query", - "name": "IsoCountry", - "schema": { - "type": "string" - } - }, - { - "description": "The 'mobile country code' of a country. Network resources with this `mcc` in their `identifiers` will be read.", - "in": "query", - "name": "Mcc", - "schema": { - "type": "string" - } - }, - { - "description": "The 'mobile network code' of a mobile operator network. Network resources with this `mnc` in their `identifiers` will be read.", - "in": "query", - "name": "Mnc", + "name": "NetworkAccessProfileSid", + "in": "path", + "description": "The unique string that identifies the Network Access Profile resource.", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^HA[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", - "name": "PageSize", + "name": "Sid", + "in": "path", + "description": "The SID of the Network resource to be removed from the Network Access Profile resource.", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^HW[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "networks": { - "items": { - "$ref": "#/components/schemas/supersim.v1.network" - }, - "type": "array" - } - }, - "title": "ListNetworkResponse", - "type": "object" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -2163,39 +2300,34 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteNetworkAccessProfileNetwork", "x-maturity": [ "Beta" ] }, - "servers": [ - { - "url": "https://supersim.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid" - ], - "pathType": "list" - } - }, - "/v1/Networks/{Sid}": { - "description": "Mobile operator networks to which Super SIMs can connect", "get": { - "description": "Fetch a Network resource.", - "operationId": "FetchNetwork", + "description": "Fetch a Network Access Profile resource's Network resource.", "parameters": [ { - "description": "The SID of the Network resource to fetch.", + "name": "NetworkAccessProfileSid", "in": "path", + "description": "The unique string that identifies the Network Access Profile resource.", + "schema": { + "type": "string" + }, + "required": true + }, + { "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Network resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^HW[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^HW[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2203,7 +2335,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/supersim.v1.network" + "$ref": "#/components/schemas/supersim.v1.network_access_profile.network_access_profile_network" } } }, @@ -2215,119 +2347,39 @@ "accountSid_authToken": [] } ], + "operationId": "FetchNetworkAccessProfileNetwork", "x-maturity": [ "Beta" ] - }, + } + }, + "/v1/Sims": { "servers": [ { "url": "https://supersim.twilio.com" } ], + "description": "Individual IoT Super SIMs", "x-twilio": { "defaultOutputProperties": [ - "sid" - ], - "pathType": "instance" - } - }, - "/v1/Sims": { - "description": "Individual IoT Super SIMs", - "get": { - "description": "Retrieve a list of Super SIMs from your account.", - "operationId": "ListSim", - "parameters": [ - { - "description": "The status of the Sim resources to read. Can be `new`, `ready`, `active`, `inactive`, or `scheduled`.", - "in": "query", - "name": "Status", - "schema": { - "enum": [ - "new", - "ready", - "active", - "inactive", - "scheduled" - ], - "type": "string" - } - }, - { - "description": "The SID or unique name of the Fleet to which a list of Sims are assigned.", - "in": "query", - "name": "Fleet", - "schema": { - "type": "string" - } - }, - { - "description": "The [ICCID](https://en.wikipedia.org/wiki/Subscriber_identity_module#ICCID) associated with a Super SIM to filter the list by. Passing this parameter will always return a list containing zero or one SIMs.", - "in": "query", - "name": "Iccid", - "schema": { - "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" - } - } + "sid", + "unique_name", + "status" ], + "pathType": "list" + }, + "post": { + "description": "Register a Super SIM to your Account", "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "sims": { - "items": { - "$ref": "#/components/schemas/supersim.v1.sim" - }, - "type": "array" - } - }, - "title": "ListSimResponse", - "type": "object" + "$ref": "#/components/schemas/supersim.v1.sim" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -2335,47 +2387,129 @@ "accountSid_authToken": [] } ], + "operationId": "CreateSim", "x-maturity": [ "Beta" - ] - }, - "post": { - "description": "Register a Super SIM to your Account", - "operationId": "CreateSim", + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateSimRequest", "properties": { "Iccid": { - "description": "The [ICCID](https://en.wikipedia.org/wiki/Subscriber_identity_module#ICCID) of the Super SIM to be added to your Account.", - "type": "string" + "type": "string", + "description": "The [ICCID](https://en.wikipedia.org/wiki/Subscriber_identity_module#ICCID) of the Super SIM to be added to your Account." }, "RegistrationCode": { - "description": "The 10-digit code required to claim the Super SIM for your Account.", - "type": "string" + "type": "string", + "description": "The 10-digit code required to claim the Super SIM for your Account." } }, "required": [ "Iccid", "RegistrationCode" - ], - "title": "CreateSimRequest", - "type": "object" + ] } } } - }, + } + }, + "get": { + "description": "Retrieve a list of Super SIMs from your account.", + "parameters": [ + { + "name": "Status", + "in": "query", + "description": "The status of the Sim resources to read. Can be `new`, `ready`, `active`, `inactive`, or `scheduled`.", + "schema": { + "type": "string", + "enum": [ + "new", + "ready", + "active", + "inactive", + "scheduled" + ] + } + }, + { + "name": "Fleet", + "in": "query", + "description": "The SID or unique name of the Fleet to which a list of Sims are assigned.", + "schema": { + "type": "string" + } + }, + { + "name": "Iccid", + "in": "query", + "description": "The [ICCID](https://en.wikipedia.org/wiki/Subscriber_identity_module#ICCID) associated with a Super SIM to filter the list by. Passing this parameter will always return a list containing zero or one SIMs.", + "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 + } + } + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/supersim.v1.sim" + "type": "object", + "title": "ListSimResponse", + "properties": { + "sims": { + "type": "array", + "items": { + "$ref": "#/components/schemas/supersim.v1.sim" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -2383,38 +2517,38 @@ "accountSid_authToken": [] } ], + "operationId": "ListSim", "x-maturity": [ "Beta" ] - }, + } + }, + "/v1/Sims/{Sid}": { "servers": [ { "url": "https://supersim.twilio.com" } ], + "description": "Individual IoT Super SIMs", "x-twilio": { "defaultOutputProperties": [ "sid", "unique_name", "status" ], - "pathType": "list" - } - }, - "/v1/Sims/{Sid}": { - "description": "Individual IoT Super SIMs", + "pathType": "instance" + }, "get": { "description": "Fetch a Super SIM instance from your account.", - "operationId": "FetchSim", "parameters": [ { - "description": "The SID of the Sim resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Sim resource to fetch.", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -2434,75 +2568,24 @@ "accountSid_authToken": [] } ], + "operationId": "FetchSim", "x-maturity": [ "Beta" ] }, "post": { "description": "Updates the given properties of a Super SIM instance from your account.", - "operationId": "UpdateSim", "parameters": [ { - "description": "The SID of the Sim resource to update.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Sim resource to update.", "schema": { "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "AccountSid": { - "description": "The SID of the Account to which the Sim resource should belong. The Account SID can only be that of the requesting Account or that of a Subaccount of the requesting Account. Only valid when the Sim resource's status is new.", - "type": "string" - }, - "CallbackMethod": { - "description": "The HTTP method we should use to call `callback_url`. Can be: `GET` or `POST` and the default is POST.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "CallbackUrl": { - "description": "The URL we should call using the `callback_method` after an asynchronous update has finished.", - "format": "uri", - "type": "string" - }, - "Fleet": { - "description": "The SID or unique name of the Fleet to which the SIM resource should be assigned.", - "type": "string" - }, - "Status": { - "description": "The new status of the resource. Can be: `ready`, `active`, or `inactive`. See the [Super SIM Status Values](https://www.twilio.com/docs/iot/supersim/api/sim-resource#status-values) for more info.", - "enum": [ - "ready", - "active", - "inactive" - ], - "type": "string" - }, - "UniqueName": { - "description": "An application-defined string that uniquely identifies the resource. It can be used in place of the resource's `sid` in the URL to address the resource.", - "type": "string" - } - }, - "title": "UpdateSimRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { @@ -2530,47 +2613,99 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateSim", "x-maturity": [ "Beta" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateSimRequest", + "properties": { + "UniqueName": { + "type": "string", + "description": "An application-defined string that uniquely identifies the resource. It can be used in place of the resource's `sid` in the URL to address the resource." + }, + "Status": { + "type": "string", + "enum": [ + "ready", + "active", + "inactive" + ], + "description": "The new status of the resource. Can be: `ready`, `active`, or `inactive`. See the [Super SIM Status Values](https://www.twilio.com/docs/iot/supersim/api/sim-resource#status-values) for more info." + }, + "Fleet": { + "type": "string", + "description": "The SID or unique name of the Fleet to which the SIM resource should be assigned." + }, + "CallbackUrl": { + "type": "string", + "format": "uri", + "description": "The URL we should call using the `callback_method` after an asynchronous update has finished." + }, + "CallbackMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method we should use to call `callback_url`. Can be: `GET` or `POST` and the default is POST." + }, + "AccountSid": { + "type": "string", + "description": "The SID of the Account to which the Sim resource should belong. The Account SID can only be that of the requesting Account or that of a Subaccount of the requesting Account. Only valid when the Sim resource's status is new." + } + } + } + } + } + } + } + }, + "/v1/Sims/{SimSid}/IpAddresses": { "servers": [ { "url": "https://supersim.twilio.com" } ], + "description": "IP Addresses for a Super SIM configured to use a VPN connection", "x-twilio": { "defaultOutputProperties": [ - "sid", - "unique_name", - "status" + "ip_address", + "ip_address_version" ], - "pathType": "instance" - } - }, - "/v1/Sims/{SimSid}/BillingPeriods": { - "description": "Billing Period for an IoT Super SIM", + "pathType": "list", + "parent": "/Sims", + "className": "sim_ip_address" + }, "get": { - "description": "Retrieve a list of Billing Periods for a Super SIM.", - "operationId": "ListBillingPeriod", + "description": "Retrieve a list of IP Addresses for the given Super SIM.", "parameters": [ { - "description": "The SID of the Super SIM to list Billing Periods for.", - "in": "path", "name": "SimSid", - "required": true, + "in": "path", + "description": "The SID of the Super SIM to list IP Addresses for.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -2579,25 +2714,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListSimIpAddressResponse", "properties": { - "billing_periods": { + "ip_addresses": { + "type": "array", "items": { - "$ref": "#/components/schemas/supersim.v1.sim.billing_period" - }, - "type": "array" + "$ref": "#/components/schemas/supersim.v1.sim.sim_ip_address" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -2606,100 +2741,163 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } + } + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "ListSimIpAddress", + "x-maturity": [ + "Beta" + ] + } + }, + "/v1/SmsCommands": { + "servers": [ + { + "url": "https://supersim.twilio.com" + } + ], + "description": "Machine-to-machine SMS Commands sent to/from SIMs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "status", + "date_created" + ], + "pathType": "list" + }, + "post": { + "description": "Send SMS Command to a Sim.", + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/supersim.v1.sms_command" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateSmsCommand", + "x-maturity": [ + "Beta" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateSmsCommandRequest", + "properties": { + "Sim": { + "type": "string", + "description": "The `sid` or `unique_name` of the [SIM](https://www.twilio.com/docs/iot/supersim/api/sim-resource) to send the SMS Command to." + }, + "Payload": { + "type": "string", + "description": "The message body of the SMS Command." + }, + "CallbackMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method we should use to call `callback_url`. Can be: `GET` or `POST` and the default is POST." }, - "title": "ListBillingPeriodResponse", - "type": "object" - } + "CallbackUrl": { + "type": "string", + "format": "uri", + "description": "The URL we should call using the `callback_method` after we have sent the command." + } + }, + "required": [ + "Sim", + "Payload" + ] } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] + } } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://supersim.twilio.com" } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "sim_sid", - "start_time", - "end_time", - "period_type" - ], - "parent": "/Sims", - "pathType": "list" - } - }, - "/v1/SmsCommands": { - "description": "Machine-to-machine SMS Commands sent to/from SIMs", + }, "get": { "description": "Retrieve a list of SMS Commands from your account.", - "operationId": "ListSmsCommand", "parameters": [ { - "description": "The SID or unique name of the Sim resource that SMS Command was sent to or from.", - "in": "query", "name": "Sim", + "in": "query", + "description": "The SID or unique name of the Sim resource that SMS Command was sent to or from.", "schema": { "type": "string" } }, { - "description": "The status of the SMS Command. Can be: `queued`, `sent`, `delivered`, `received` or `failed`. See the [SMS Command Status Values](https://www.twilio.com/docs/wireless/api/smscommand-resource#status-values) for a description of each.", - "in": "query", "name": "Status", + "in": "query", + "description": "The status of the SMS Command. Can be: `queued`, `sent`, `delivered`, `received` or `failed`. See the [SMS Command Status Values](https://www.twilio.com/docs/wireless/api/smscommand-resource#status-values) for a description of each.", "schema": { + "type": "string", "enum": [ "queued", "sent", "delivered", "received", "failed" - ], - "type": "string" + ] } }, { - "description": "The direction of the SMS Command. Can be `to_sim` or `from_sim`. The value of `to_sim` is synonymous with the term `mobile terminated`, and `from_sim` is synonymous with the term `mobile originated`.", - "in": "query", "name": "Direction", + "in": "query", + "description": "The direction of the SMS Command. Can be `to_sim` or `from_sim`. The value of `to_sim` is synonymous with the term `mobile terminated`, and `from_sim` is synonymous with the term `mobile originated`.", "schema": { + "type": "string", "enum": [ "to_sim", "from_sim" - ], - "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", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -2708,19 +2906,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListSmsCommandResponse", "properties": { + "sms_commands": { + "type": "array", + "items": { + "$ref": "#/components/schemas/supersim.v1.sms_command" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -2729,95 +2933,23 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "sms_commands": { - "items": { - "$ref": "#/components/schemas/supersim.v1.sms_command" - }, - "type": "array" + } } - }, - "title": "ListSmsCommandResponse", - "type": "object" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "Beta" - ] - }, - "post": { - "description": "Send SMS Command to a Sim.", - "operationId": "CreateSmsCommand", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "CallbackMethod": { - "description": "The HTTP method we should use to call `callback_url`. Can be: `GET` or `POST` and the default is POST.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "CallbackUrl": { - "description": "The URL we should call using the `callback_method` after we have sent the command.", - "format": "uri", - "type": "string" - }, - "Payload": { - "description": "The message body of the SMS Command.", - "type": "string" - }, - "Sim": { - "description": "The `sid` or `unique_name` of the [SIM](https://www.twilio.com/docs/iot/supersim/api/sim-resource) to send the SMS Command to.", - "type": "string" } - }, - "required": [ - "Sim", - "Payload" - ], - "title": "CreateSmsCommandRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/supersim.v1.sms_command" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -2825,41 +2957,41 @@ "accountSid_authToken": [] } ], + "operationId": "ListSmsCommand", "x-maturity": [ "Beta" ] - }, + } + }, + "/v1/SmsCommands/{Sid}": { "servers": [ { "url": "https://supersim.twilio.com" } ], + "description": "Machine-to-machine SMS Commands sent to/from SIMs", "x-twilio": { "defaultOutputProperties": [ "sid", "status", "date_created" ], - "pathType": "list" - } - }, - "/v1/SmsCommands/{Sid}": { - "description": "Machine-to-machine SMS Commands sent to/from SIMs", + "pathType": "instance" + }, "get": { "description": "Fetch SMS Command instance from your account.", - "operationId": "FetchSmsCommand", "parameters": [ { - "description": "The SID of the SMS Command resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the SMS Command resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^HC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^HC[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2879,119 +3011,118 @@ "accountSid_authToken": [] } ], + "operationId": "FetchSmsCommand", "x-maturity": [ "Beta" ] - }, + } + }, + "/v1/UsageRecords": { "servers": [ { "url": "https://supersim.twilio.com" } ], + "description": "Usage information for Sim resources", "x-twilio": { "defaultOutputProperties": [ - "sid", - "status", - "date_created" + "account_sid", + "period" ], - "pathType": "instance" - } - }, - "/v1/UsageRecords": { - "description": "Usage information for Sim resources", + "pathType": "list" + }, "get": { "description": "List UsageRecords", - "operationId": "ListUsageRecord", "parameters": [ { - "description": "SID or unique name of a Sim resource. Only show UsageRecords representing usage incurred by this Super SIM.", - "in": "query", "name": "Sim", + "in": "query", + "description": "SID or unique name of a Sim resource. Only show UsageRecords representing usage incurred by this Super SIM.", "schema": { "type": "string" } }, { - "description": "SID or unique name of a Fleet resource. Only show UsageRecords representing usage for Super SIMs belonging to this Fleet resource at the time the usage occurred.", - "in": "query", "name": "Fleet", + "in": "query", + "description": "SID or unique name of a Fleet resource. Only show UsageRecords representing usage for Super SIMs belonging to this Fleet resource at the time the usage occurred.", "schema": { "type": "string" } }, { - "description": "SID of a Network resource. Only show UsageRecords representing usage on this network.", - "in": "query", "name": "Network", + "in": "query", + "description": "SID of a Network resource. Only show UsageRecords representing usage on this network.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^HW[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^HW[0-9a-fA-F]{32}$" } }, { - "description": "Alpha-2 ISO Country Code. Only show UsageRecords representing usage in this country.", - "in": "query", "name": "IsoCountry", + "in": "query", + "description": "Alpha-2 ISO Country Code. Only show UsageRecords representing usage in this country.", "schema": { - "format": "iso-country-code", - "type": "string" + "type": "string", + "format": "iso-country-code" } }, { - "description": "Dimension over which to aggregate usage records. Can be: `sim`, `fleet`, `network`, `isoCountry`. Default is to not aggregate across any of these dimensions, UsageRecords will be aggregated into the time buckets described by the `Granularity` parameter.", - "in": "query", "name": "Group", + "in": "query", + "description": "Dimension over which to aggregate usage records. Can be: `sim`, `fleet`, `network`, `isoCountry`. Default is to not aggregate across any of these dimensions, UsageRecords will be aggregated into the time buckets described by the `Granularity` parameter.", "schema": { + "type": "string", "enum": [ "sim", "fleet", "network", "isoCountry" - ], - "type": "string" + ] } }, { - "description": "Time-based grouping that UsageRecords should be aggregated by. Can be: `hour`, `day`, or `all`. Default is `all`. `all` returns one UsageRecord that describes the usage for the entire period.", - "in": "query", "name": "Granularity", + "in": "query", + "description": "Time-based grouping that UsageRecords should be aggregated by. Can be: `hour`, `day`, or `all`. Default is `all`. `all` returns one UsageRecord that describes the usage for the entire period.", "schema": { + "type": "string", "enum": [ "hour", "day", "all" - ], - "type": "string" + ] } }, { - "description": "Only include usage that occurred at or after this time, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. Default is one month before the `end_time`.", - "in": "query", "name": "StartTime", + "in": "query", + "description": "Only include usage that occurred at or after this time, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. Default is one month before the `end_time`.", "schema": { - "format": "date-time", - "type": "string" + "type": "string", + "format": "date-time" } }, { - "description": "Only include usage that occurred before this time (exclusive), specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. Default is the current time.", - "in": "query", "name": "EndTime", + "in": "query", + "description": "Only include usage that occurred before this time (exclusive), specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. Default is the current time.", "schema": { - "format": "date-time", - "type": "string" + "type": "string", + "format": "date-time" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -3000,19 +3131,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListUsageRecordResponse", "properties": { + "usage_records": { + "type": "array", + "items": { + "$ref": "#/components/schemas/supersim.v1.usage_record" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -3021,25 +3158,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "usage_records": { - "items": { - "$ref": "#/components/schemas/supersim.v1.usage_record" - }, - "type": "array" + } } - }, - "title": "ListUsageRecordResponse", - "type": "object" + } } } }, @@ -3051,21 +3182,10 @@ "accountSid_authToken": [] } ], + "operationId": "ListUsageRecord", "x-maturity": [ "Beta" ] - }, - "servers": [ - { - "url": "https://supersim.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "account_sid", - "period" - ], - "pathType": "list" } } }, @@ -3076,12 +3196,12 @@ ], "x-maturity": [ { - "description": "This product is Generally Available.", - "name": "GA" + "name": "GA", + "description": "This product is Generally Available." }, { - "description": "PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution.", - "name": "Beta" + "name": "Beta", + "description": "PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution." } ] } \ No newline at end of file diff --git a/spec/json/twilio_sync_v1.json b/spec/json/twilio_sync_v1.json index 08afb84b..5c3ad6bf 100644 --- a/spec/json/twilio_sync_v1.json +++ b/spec/json/twilio_sync_v1.json @@ -1,753 +1,774 @@ { "components": { "schemas": { - "sync.v1.service": { + "sync.v1.service.document": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^ET[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "acl_enabled": { - "description": "Whether token identities in the Service must be granted access to Sync objects by using the Permissions resource", + "unique_name": { + "type": "string", "nullable": true, - "type": "boolean" + "description": "An application-defined string that uniquely identifies the resource" }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", - "format": "date-time", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, - "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", - "format": "date-time", + "service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Sync Service that the resource is associated with" }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", + "url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Document resource" }, "links": { - "description": "The URLs of related resources", + "type": "object", "format": "uri-map", "nullable": true, - "type": "object" + "description": "The URLs of resources related to the Sync Document" }, - "reachability_debouncing_enabled": { - "description": "Whether every endpoint_disconnected event occurs after a configurable delay", + "revision": { + "type": "string", "nullable": true, - "type": "boolean" + "description": "The current revision of the Sync Document, represented by a string identifier" }, - "reachability_debouncing_window": { - "description": "The reachability event delay in milliseconds", + "data": { "nullable": true, - "type": "integer" + "description": "An arbitrary, schema-less object that the Sync Document stores" }, - "reachability_webhooks_enabled": { - "description": "Whether the service instance calls webhook_url when client endpoints connect to Sync", + "date_expires": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "boolean" + "description": "The ISO 8601 date and time in GMT when the Sync Document expires" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was last updated" + }, + "created_by": { + "type": "string", + "nullable": true, + "description": "The identity of the Sync Document's creator" + } + } + }, + "sync.v1.service.document.document_permission": { + "type": "object", + "properties": { + "account_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Sync Service that the resource is associated with" }, - "unique_name": { - "description": "An application-defined string that uniquely identifies the resource", + "document_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^ET[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The Sync Document SID" }, - "url": { - "description": "The absolute URL of the Service resource", - "format": "uri", + "identity": { + "type": "string", "nullable": true, - "type": "string" + "description": "The identity of the user to whom the Sync Document Permission applies" }, - "webhook_url": { - "description": "The URL we call when Sync objects are manipulated", - "format": "uri", + "read": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Read access" }, - "webhooks_from_rest_enabled": { - "description": "Whether the Service instance should call webhook_url when the REST API is used to update Sync objects", + "write": { + "type": "boolean", + "nullable": true, + "description": "Write access" + }, + "manage": { + "type": "boolean", + "nullable": true, + "description": "Manage access" + }, + "url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "boolean" + "description": "The absolute URL of the Sync Document Permission resource" } - }, - "type": "object" + } }, - "sync.v1.service.document": { + "sync.v1.service": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "created_by": { - "description": "The identity of the Sync Document's creator", + "unique_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "An application-defined string that uniquely identifies the resource" }, - "data": { - "description": "An arbitrary, schema-less object that the Sync Document stores", - "nullable": true + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", - "format": "date-time", + "friendly_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the resource" }, - "date_expires": { - "description": "The ISO 8601 date and time in GMT when the Sync Document expires", + "date_created": { + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, - "links": { - "description": "The URLs of resources related to the Sync Document", - "format": "uri-map", + "url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "object" + "description": "The absolute URL of the Service resource" }, - "revision": { - "description": "The current revision of the Sync Document, represented by a string identifier", + "webhook_url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "string" + "description": "The URL we call when Sync objects are manipulated" }, - "service_sid": { - "description": "The SID of the Sync Service that the resource is associated with", - "maxLength": 34, - "minLength": 34, + "webhooks_from_rest_enabled": { + "type": "boolean", "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "description": "Whether the Service instance should call webhook_url when the REST API is used to update Sync objects" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "reachability_webhooks_enabled": { + "type": "boolean", "nullable": true, - "pattern": "^ET[0-9a-fA-F]{32}$", - "type": "string" + "description": "Whether the service instance calls webhook_url when client endpoints connect to Sync" }, - "unique_name": { - "description": "An application-defined string that uniquely identifies the resource", + "acl_enabled": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Whether token identities in the Service must be granted access to Sync objects by using the Permissions resource" }, - "url": { - "description": "The absolute URL of the Document resource", - "format": "uri", + "reachability_debouncing_enabled": { + "type": "boolean", + "nullable": true, + "description": "Whether every endpoint_disconnected event occurs after a configurable delay" + }, + "reachability_debouncing_window": { + "type": "integer", + "nullable": true, + "description": "The reachability event delay in milliseconds" + }, + "links": { + "type": "object", + "format": "uri-map", "nullable": true, - "type": "string" + "description": "The URLs of related resources" } - }, - "type": "object" + } }, - "sync.v1.service.document.document_permission": { + "sync.v1.service.sync_stream.stream_message": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "document_sid": { - "description": "The Sync Document SID", "maxLength": 34, - "minLength": 34, + "pattern": "^TZ[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^ET[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "identity": { - "description": "The identity of the user to whom the Sync Document Permission applies", + "data": { + "nullable": true, + "description": "Stream Message body" + } + } + }, + "sync.v1.service.sync_list": { + "type": "object", + "properties": { + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^ES[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique string that identifies the resource" }, - "manage": { - "description": "Manage access", + "unique_name": { + "type": "string", "nullable": true, - "type": "boolean" + "description": "An application-defined string that uniquely identifies the resource" }, - "read": { - "description": "Read access", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "boolean" + "description": "The SID of the Account that created the resource" }, "service_sid": { - "description": "The SID of the Sync Service that the resource is associated with", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Sync Service that the resource is associated with" }, "url": { - "description": "The absolute URL of the Sync Document Permission resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Sync List resource" }, - "write": { - "description": "Write access", - "nullable": true, - "type": "boolean" - } - }, - "type": "object" - }, - "sync.v1.service.sync_list": { - "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, - "minLength": 34, + "links": { + "type": "object", + "format": "uri-map", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The URLs of the Sync List's nested resources" }, - "created_by": { - "description": "The identity of the Sync List's creator", + "revision": { + "type": "string", "nullable": true, - "type": "string" + "description": "The current revision of the Sync List, represented as a string" }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "date_expires": { + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the Sync List expires" }, - "date_expires": { - "description": "The ISO 8601 date and time in GMT when the Sync List expires", + "date_created": { + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, - "links": { - "description": "The URLs of the Sync List's nested resources", - "format": "uri-map", + "created_by": { + "type": "string", + "nullable": true, + "description": "The identity of the Sync List's creator" + } + } + }, + "sync.v1.service.sync_list.sync_list_item": { + "type": "object", + "properties": { + "index": { + "type": "integer", "nullable": true, - "type": "object" + "description": "The automatically generated index of the List Item" }, - "revision": { - "description": "The current revision of the Sync List, represented as a string", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, "service_sid": { - "description": "The SID of the Sync Service that the resource is associated with", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Sync Service that the resource is associated with" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "list_sid": { + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^ES[0-9a-fA-F]{32}$", - "type": "string" - }, - "unique_name": { - "description": "An application-defined string that uniquely identifies the resource", "nullable": true, - "type": "string" + "description": "The SID of the Sync List that contains the List Item" }, "url": { - "description": "The absolute URL of the Sync List resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "sync.v1.service.sync_list.sync_list_item": { - "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The absolute URL of the List Item resource" }, - "created_by": { - "description": "The identity of the List Item's creator", + "revision": { + "type": "string", "nullable": true, - "type": "string" + "description": "The current revision of the item, represented as a string" }, "data": { - "description": "An arbitrary, schema-less object that the List Item stores", - "nullable": true - }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", - "format": "date-time", "nullable": true, - "type": "string" + "description": "An arbitrary, schema-less object that the List Item stores" }, "date_expires": { - "description": "The ISO 8601 date and time in GMT when the List Item expires", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the List Item expires" }, - "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", + "date_created": { + "type": "string", "format": "date-time", "nullable": true, - "type": "string" - }, - "index": { - "description": "The automatically generated index of the List Item", - "nullable": true, - "type": "integer" - }, - "list_sid": { - "description": "The SID of the Sync List that contains the List Item", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^ES[0-9a-fA-F]{32}$", - "type": "string" - }, - "revision": { - "description": "The current revision of the item, represented as a string", - "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, - "service_sid": { - "description": "The SID of the Sync Service that the resource is associated with", - "maxLength": 34, - "minLength": 34, + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, - "url": { - "description": "The absolute URL of the List Item resource", - "format": "uri", + "created_by": { + "type": "string", "nullable": true, - "type": "string" + "description": "The identity of the List Item's creator" } - }, - "type": "object" + } }, "sync.v1.service.sync_list.sync_list_permission": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "identity": { - "description": "The identity of the user to whom the Sync List Permission applies", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, - "list_sid": { - "description": "The SID of the Sync List to which the Permission applies", - "maxLength": 34, + "service_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, + "description": "The SID of the Sync Service that the resource is associated with" + }, + "list_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^ES[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Sync List to which the Permission applies" }, - "manage": { - "description": "Manage access", + "identity": { + "type": "string", "nullable": true, - "type": "boolean" + "description": "The identity of the user to whom the Sync List Permission applies" }, "read": { - "description": "Read access", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Read access" }, - "service_sid": { - "description": "The SID of the Sync Service that the resource is associated with", - "maxLength": 34, - "minLength": 34, + "write": { + "type": "boolean", "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "description": "Write access" }, - "url": { - "description": "The absolute URL of the Sync List Permission resource", - "format": "uri", + "manage": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Manage access" }, - "write": { - "description": "Write access", + "url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "boolean" + "description": "The absolute URL of the Sync List Permission resource" } - }, - "type": "object" + } }, "sync.v1.service.sync_map": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^MP[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "created_by": { - "description": "The identity of the Sync Map's creator", + "unique_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "An application-defined string that uniquely identifies the resource" }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", - "format": "date-time", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, - "date_expires": { - "description": "The ISO 8601 date and time in GMT when the Sync Map expires", - "format": "date-time", + "service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Sync Service that the resource is associated with" }, - "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", - "format": "date-time", + "url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Sync Map resource" }, "links": { - "description": "The URLs of the Sync Map's nested resources", + "type": "object", "format": "uri-map", "nullable": true, - "type": "object" + "description": "The URLs of the Sync Map's nested resources" }, "revision": { - "description": "The current revision of the Sync Map, represented as a string", + "type": "string", "nullable": true, - "type": "string" + "description": "The current revision of the Sync Map, represented as a string" }, - "service_sid": { - "description": "The SID of the Sync Service that the resource is associated with", - "maxLength": 34, - "minLength": 34, + "date_expires": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO 8601 date and time in GMT when the Sync Map expires" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^MP[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, - "unique_name": { - "description": "An application-defined string that uniquely identifies the resource", + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, - "url": { - "description": "The absolute URL of the Sync Map resource", - "format": "uri", + "created_by": { + "type": "string", "nullable": true, - "type": "string" + "description": "The identity of the Sync Map's creator" } - }, - "type": "object" + } }, "sync.v1.service.sync_map.sync_map_item": { + "type": "object", "properties": { + "key": { + "type": "string", + "nullable": true, + "description": "The unique, user-defined key for the Map Item" + }, "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "created_by": { - "description": "The identity of the Map Item's creator", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, - "data": { - "description": "An arbitrary, schema-less object that the Map Item stores", - "nullable": true + "service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Sync Service that the resource is associated with" }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", - "format": "date-time", + "map_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^MP[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Sync Map that contains the Map Item" }, - "date_expires": { - "description": "The ISO 8601 date and time in GMT when the Map Item expires", - "format": "date-time", + "url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Map Item resource" }, - "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", - "format": "date-time", + "revision": { + "type": "string", "nullable": true, - "type": "string" + "description": "The current revision of the Map Item, represented as a string" }, - "key": { - "description": "The unique, user-defined key for the Map Item", + "data": { "nullable": true, - "type": "string" + "description": "An arbitrary, schema-less object that the Map Item stores" }, - "map_sid": { - "description": "The SID of the Sync Map that contains the Map Item", - "maxLength": 34, - "minLength": 34, + "date_expires": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^MP[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO 8601 date and time in GMT when the Map Item expires" }, - "revision": { - "description": "The current revision of the Map Item, represented as a string", + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, - "service_sid": { - "description": "The SID of the Sync Service that the resource is associated with", - "maxLength": 34, - "minLength": 34, + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, - "url": { - "description": "The absolute URL of the Map Item resource", - "format": "uri", + "created_by": { + "type": "string", "nullable": true, - "type": "string" + "description": "The identity of the Map Item's creator" } - }, - "type": "object" + } }, "sync.v1.service.sync_map.sync_map_permission": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "identity": { - "description": "The identity of the user to whom the Sync Document Permission applies", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, - "manage": { - "description": "Manage access", + "service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, - "type": "boolean" + "description": "The SID of the Sync Service that the resource is associated with" }, "map_sid": { - "description": "Sync Map SID", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^MP[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "Sync Map SID" + }, + "identity": { + "type": "string", + "nullable": true, + "description": "The identity of the user to whom the Sync Document Permission applies" }, "read": { - "description": "Read access", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Read access" }, - "service_sid": { - "description": "The SID of the Sync Service that the resource is associated with", - "maxLength": 34, - "minLength": 34, + "write": { + "type": "boolean", "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "description": "Write access" }, - "url": { - "description": "The absolute URL of the Sync Map Permission resource", - "format": "uri", + "manage": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Manage access" }, - "write": { - "description": "Write access", + "url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "boolean" + "description": "The absolute URL of the Sync Map Permission resource" } - }, - "type": "object" + } }, "sync.v1.service.sync_stream": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^TO[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "created_by": { - "description": "The Identity of the Stream's creator", + "unique_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "An application-defined string that uniquely identifies the resource" }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", - "format": "date-time", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, - "date_expires": { - "description": "The ISO 8601 date and time in GMT when the Message Stream expires", - "format": "date-time", + "service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Sync Service that the resource is associated with" }, - "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", - "format": "date-time", + "url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Message Stream resource" }, "links": { - "description": "The URLs of the Stream's nested resources", + "type": "object", "format": "uri-map", "nullable": true, - "type": "object" - }, - "service_sid": { - "description": "The SID of the Sync Service that the resource is associated with", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^IS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The URLs of the Stream's nested resources" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "date_expires": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^TO[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO 8601 date and time in GMT when the Message Stream expires" }, - "unique_name": { - "description": "An application-defined string that uniquely identifies the resource", + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, - "url": { - "description": "The absolute URL of the Message Stream resource", - "format": "uri", + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "sync.v1.service.sync_stream.stream_message": { - "properties": { - "data": { - "description": "Stream Message body", - "nullable": true + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "created_by": { + "type": "string", "nullable": true, - "pattern": "^TZ[0-9a-fA-F]{32}$", - "type": "string" + "description": "The Identity of the Stream's creator" } - }, - "type": "object" + } } }, "securitySchemes": { "accountSid_authToken": { - "scheme": "basic", - "type": "http" + "type": "http", + "scheme": "basic" } } }, "info": { + "title": "Twilio - Sync", + "description": "This is the public Twilio REST API.", + "termsOfService": "https://www.twilio.com/legal/tos", "contact": { - "email": "support@twilio.com", "name": "Twilio Support", - "url": "https://support.twilio.com" + "url": "https://support.twilio.com", + "email": "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 - Sync", "version": "1.30.0" }, "openapi": "3.0.1", "paths": { - "/v1/Services": { - "description": "Containers for sync objects", + "/v1/Services/{ServiceSid}/Documents/{Sid}": { + "servers": [ + { + "url": "https://sync.twilio.com" + } + ], + "description": "Sync Document objects", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "unique_name", + "revision" + ], + "pathType": "instance", + "parent": "/Services" + }, "get": { "description": "", - "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", + "name": "ServiceSid", + "in": "path", + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Document resource to fetch.", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" - } + "type": "string" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the Document resource to fetch. Can be the Document resource's `sid` or its `unique_name`.", + "schema": { + "type": "string" + }, + "required": true } ], "responses": { @@ -755,46 +776,7 @@ "content": { "application/json": { "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "services": { - "items": { - "$ref": "#/components/schemas/sync.v1.service" - }, - "type": "array" - } - }, - "title": "ListServiceResponse", - "type": "object" + "$ref": "#/components/schemas/sync.v1.service.document" } } }, @@ -806,60 +788,155 @@ "accountSid_authToken": [] } ], + "operationId": "FetchDocument", + "x-maturity": [ + "GA" + ] + }, + "delete": { + "description": "", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Document resource to delete.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the Document resource to delete. Can be the Document resource's `sid` or its `unique_name`.", + "schema": { + "type": "string" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteDocument", "x-maturity": [ "GA" ] }, "post": { "description": "", - "operationId": "CreateService", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Document resource to update.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the Document resource to update. Can be the Document resource's `sid` or its `unique_name`.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "If-Match", + "in": "header", + "description": "The If-Match HTTP request header", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/sync.v1.service.document" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "UpdateDocument", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateDocumentRequest", "properties": { - "AclEnabled": { - "description": "Whether token identities in the Service must be granted access to Sync objects by using the [Permissions](https://www.twilio.com/docs/sync/api/sync-permissions) resource.", - "type": "boolean" - }, - "FriendlyName": { - "description": "A string that you assign to describe the resource.", - "type": "string" - }, - "ReachabilityDebouncingEnabled": { - "description": "Whether every `endpoint_disconnected` event should occur after a configurable delay. The default is `false`, where the `endpoint_disconnected` event occurs immediately after disconnection. When `true`, intervening reconnections can prevent the `endpoint_disconnected` event.", - "type": "boolean" - }, - "ReachabilityDebouncingWindow": { - "description": "The reachability event delay in milliseconds if `reachability_debouncing_enabled` = `true`. Must be between 1,000 and 30,000 and defaults to 5,000. This is the number of milliseconds after the last running client disconnects, and a Sync identity is declared offline, before the `webhook_url` is called if all endpoints remain offline. A reconnection from the same identity by any endpoint during this interval prevents the call to `webhook_url`.", - "type": "integer" - }, - "ReachabilityWebhooksEnabled": { - "description": "Whether the service instance should call `webhook_url` when client endpoints connect to Sync. The default is `false`.", - "type": "boolean" - }, - "WebhookUrl": { - "description": "The URL we should call when Sync objects are manipulated.", - "format": "uri", - "type": "string" + "Data": { + "description": "A JSON string that represents an arbitrary, schema-less object that the Sync Document stores. Can be up to 16 KiB in length." }, - "WebhooksFromRestEnabled": { - "description": "Whether the Service instance should call `webhook_url` when the REST API is used to update Sync objects. The default is `false`.", - "type": "boolean" + "Ttl": { + "type": "integer", + "description": "How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), before the Sync Document expires and is deleted (time-to-live)." } - }, - "title": "CreateServiceRequest", - "type": "object" + } } } } - }, + } + } + }, + "/v1/Services/{ServiceSid}/Documents": { + "servers": [ + { + "url": "https://sync.twilio.com" + } + ], + "description": "Sync Document objects", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "unique_name", + "revision" + ], + "pathType": "list", + "parent": "/Services" + }, + "post": { + "description": "", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) to create the new Document resource in.", + "schema": { + "type": "string" + }, + "required": true + } + ], "responses": { "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/sync.v1.service" + "$ref": "#/components/schemas/sync.v1.service.document" } } }, @@ -871,47 +948,54 @@ "accountSid_authToken": [] } ], + "operationId": "CreateDocument", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://sync.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "unique_name", - "friendly_name" ], - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Documents": { - "description": "Sync Document objects", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateDocumentRequest", + "properties": { + "UniqueName": { + "type": "string", + "description": "An application-defined string that uniquely identifies the Sync Document" + }, + "Data": { + "description": "A JSON string that represents an arbitrary, schema-less object that the Sync Document stores. Can be up to 16 KiB in length." + }, + "Ttl": { + "type": "integer", + "description": "How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), before the Sync Document expires and is deleted (the Sync Document's time-to-live)." + } + } + } + } + } + } + }, "get": { "description": "", - "operationId": "ListDocument", "parameters": [ { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Document resources to read.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Document resources to read.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -920,25 +1004,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListDocumentResponse", "properties": { "documents": { + "type": "array", "items": { "$ref": "#/components/schemas/sync.v1.service.document" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -947,19 +1031,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListDocumentResponse", - "type": "object" + } } } }, @@ -971,116 +1055,59 @@ "accountSid_authToken": [] } ], + "operationId": "ListDocument", "x-maturity": [ "GA" ] + } + }, + "/v1/Services/{ServiceSid}/Documents/{DocumentSid}/Permissions/{Identity}": { + "servers": [ + { + "url": "https://sync.twilio.com" + } + ], + "description": "Sync document permissions", + "x-twilio": { + "defaultOutputProperties": [ + "identity", + "read", + "write", + "manage" + ], + "pathType": "instance", + "parent": "/Services/{ServiceSid}/Documents", + "className": "document_permission" }, - "post": { - "description": "", - "operationId": "CreateDocument", + "get": { + "description": "Fetch a specific Sync Document Permission.", "parameters": [ { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) to create the new Document resource in.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Document Permission resource to fetch.", "schema": { "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Data": { - "description": "A JSON string that represents an arbitrary, schema-less object that the Sync Document stores. Can be up to 16 KiB in length." - }, - "Ttl": { - "description": "How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), before the Sync Document expires and is deleted (the Sync Document's time-to-live).", - "type": "integer" - }, - "UniqueName": { - "description": "An application-defined string that uniquely identifies the Sync Document", - "type": "string" - } - }, - "title": "CreateDocumentRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/sync.v1.service.document" - } - } }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://sync.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "unique_name", - "revision" - ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Documents/{DocumentSid}/Permissions": { - "description": "Sync document permissions", - "get": { - "description": "Retrieve a list of all Permissions applying to a Sync Document.", - "operationId": "ListDocumentPermission", - "parameters": [ + "required": true + }, { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Document Permission resources to read.", + "name": "DocumentSid", "in": "path", - "name": "ServiceSid", - "required": true, + "description": "The SID of the Sync Document with the Document Permission resource to fetch. Can be the Document resource's `sid` or its `unique_name`.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Sync Document with the Document Permission resources to read. Can be the Document resource's `sid` or its `unique_name`.", + "name": "Identity", "in": "path", - "name": "DocumentSid", - "required": true, + "description": "The application-defined string that uniquely identifies the User's Document Permission resource to fetch.", "schema": { "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" - } + }, + "required": true } ], "responses": { @@ -1088,46 +1115,7 @@ "content": { "application/json": { "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "permissions": { - "items": { - "$ref": "#/components/schemas/sync.v1.service.document.document_permission" - }, - "type": "array" - } - }, - "title": "ListDocumentPermissionResponse", - "type": "object" + "$ref": "#/components/schemas/sync.v1.service.document.document_permission" } } }, @@ -1139,58 +1127,40 @@ "accountSid_authToken": [] } ], + "operationId": "FetchDocumentPermission", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://sync.twilio.com" - } - ], - "x-twilio": { - "className": "document_permission", - "defaultOutputProperties": [ - "identity", - "read", - "write", - "manage" - ], - "parent": "/Services/{ServiceSid}/Documents", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Documents/{DocumentSid}/Permissions/{Identity}": { "delete": { "description": "Delete a specific Sync Document Permission.", - "operationId": "DeleteDocumentPermission", "parameters": [ { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Document Permission resource to delete.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Document Permission resource to delete.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Sync Document with the Document Permission resource to delete. Can be the Document resource's `sid` or its `unique_name`.", - "in": "path", "name": "DocumentSid", - "required": true, + "in": "path", + "description": "The SID of the Sync Document with the Document Permission resource to delete. Can be the Document resource's `sid` or its `unique_name`.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The application-defined string that uniquely identifies the User's Document Permission resource to delete.", - "in": "path", "name": "Identity", - "required": true, + "in": "path", + "description": "The application-defined string that uniquely identifies the User's Document Permission resource to delete.", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -1203,41 +1173,40 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteDocumentPermission", "x-maturity": [ "GA" ] }, - "description": "Sync document permissions", - "get": { - "description": "Fetch a specific Sync Document Permission.", - "operationId": "FetchDocumentPermission", + "post": { + "description": "Update an identity's access to a specific Sync Document.", "parameters": [ { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Document Permission resource to fetch.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Document Permission resource to update.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Sync Document with the Document Permission resource to fetch. Can be the Document resource's `sid` or its `unique_name`.", - "in": "path", "name": "DocumentSid", - "required": true, + "in": "path", + "description": "The SID of the Sync Document with the Document Permission resource to update. Can be the Document resource's `sid` or its `unique_name`.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The application-defined string that uniquely identifies the User's Document Permission resource to fetch.", - "in": "path", "name": "Identity", - "required": true, + "in": "path", + "description": "The application-defined string that uniquely identifies the User's Document Permission resource to update.", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -1257,168 +1226,88 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateDocumentPermission", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "Update an identity's access to a specific Sync Document.", - "operationId": "UpdateDocumentPermission", - "parameters": [ - { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Document Permission resource to update.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the Sync Document with the Document Permission resource to update. Can be the Document resource's `sid` or its `unique_name`.", - "in": "path", - "name": "DocumentSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The application-defined string that uniquely identifies the User's Document Permission resource to update.", - "in": "path", - "name": "Identity", - "required": true, - "schema": { - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateDocumentPermissionRequest", "properties": { - "Manage": { - "description": "Whether the identity can delete the Sync Document. Default value is `false`.", - "type": "boolean" - }, "Read": { - "description": "Whether the identity can read the Sync Document. Default value is `false`.", - "type": "boolean" + "type": "boolean", + "description": "Whether the identity can read the Sync Document. Default value is `false`." }, "Write": { - "description": "Whether the identity can update the Sync Document. Default value is `false`.", - "type": "boolean" + "type": "boolean", + "description": "Whether the identity can update the Sync Document. Default value is `false`." + }, + "Manage": { + "type": "boolean", + "description": "Whether the identity can delete the Sync Document. Default value is `false`." } }, "required": [ "Read", "Write", "Manage" - ], - "title": "UpdateDocumentPermissionRequest", - "type": "object" + ] } } } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/sync.v1.service.document.document_permission" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, + } + } + }, + "/v1/Services/{ServiceSid}/Documents/{DocumentSid}/Permissions": { "servers": [ { "url": "https://sync.twilio.com" } ], + "description": "Sync document permissions", "x-twilio": { - "className": "document_permission", "defaultOutputProperties": [ "identity", "read", "write", "manage" ], + "pathType": "list", "parent": "/Services/{ServiceSid}/Documents", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/Documents/{Sid}": { - "delete": { - "description": "", - "operationId": "DeleteDocument", + "className": "document_permission" + }, + "get": { + "description": "Retrieve a list of all Permissions applying to a Sync Document.", "parameters": [ { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Document resource to delete.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Document Permission resources to read.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Document resource to delete. Can be the Document resource's `sid` or its `unique_name`.", + "name": "DocumentSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the Sync Document with the Document Permission resources to read. Can be the Document resource's `sid` or its `unique_name`.", "schema": { "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "description": "Sync Document objects", - "get": { - "description": "", - "operationId": "FetchDocument", - "parameters": [ - { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Document resource to fetch.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Document resource to fetch. Can be the Document resource's `sid` or its `unique_name`.", - "in": "path", - "name": "Sid", - "required": true, + "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": "string" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], @@ -1427,7 +1316,46 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/sync.v1.service.document" + "type": "object", + "title": "ListDocumentPermissionResponse", + "properties": { + "permissions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/sync.v1.service.document.document_permission" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -1439,66 +1367,46 @@ "accountSid_authToken": [] } ], + "operationId": "ListDocumentPermission", "x-maturity": [ "GA" ] + } + }, + "/v1/Services/{Sid}": { + "servers": [ + { + "url": "https://sync.twilio.com" + } + ], + "description": "Containers for sync objects", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "unique_name", + "friendly_name" + ], + "pathType": "instance" }, - "post": { + "get": { "description": "", - "operationId": "UpdateDocument", "parameters": [ { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Document resource to update.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the Document resource to update. Can be the Document resource's `sid` or its `unique_name`.", - "in": "path", "name": "Sid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The If-Match HTTP request header", - "in": "header", - "name": "If-Match", + "in": "path", + "description": "The SID of the Service resource to fetch.", "schema": { "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Data": { - "description": "A JSON string that represents an arbitrary, schema-less object that the Sync Document stores. Can be up to 16 KiB in length." - }, - "Ttl": { - "description": "How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), before the Sync Document expires and is deleted (time-to-live).", - "type": "integer" - } - }, - "title": "UpdateDocumentRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/sync.v1.service.document" + "$ref": "#/components/schemas/sync.v1.service" } } }, @@ -1510,100 +1418,27 @@ "accountSid_authToken": [] } ], + "operationId": "FetchService", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://sync.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "unique_name", - "revision" - ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/Lists": { - "description": "Sync list objects", - "get": { + "delete": { "description": "", - "operationId": "ListSyncList", "parameters": [ { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync List resources to read.", + "name": "Sid", "in": "path", - "name": "ServiceSid", - "required": true, + "description": "The SID of the Service resource to delete.", "schema": { "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" - } + }, + "required": true } ], "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "lists": { - "items": { - "$ref": "#/components/schemas/sync.v1.service.sync_list" - }, - "type": "array" - }, - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - } - }, - "title": "ListSyncListResponse", - "type": "object" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -1611,58 +1446,34 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteService", "x-maturity": [ "GA" ] }, "post": { "description": "", - "operationId": "CreateSyncList", "parameters": [ { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) to create the new Sync List in.", + "name": "Sid", "in": "path", - "name": "ServiceSid", - "required": true, + "description": "The SID of the Service resource to update.", "schema": { "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "CollectionTtl": { - "description": "How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), before the Sync List expires (time-to-live) and is deleted.", - "type": "integer" - }, - "Ttl": { - "description": "Alias for collection_ttl. If both are provided, this value is ignored.", - "type": "integer" - }, - "UniqueName": { - "description": "An application-defined string that uniquely identifies the resource. This value must be unique within its Service and it can be up to 320 characters long. The `unique_name` value can be used as an alternative to the `sid` in the URL path to address the resource.", - "type": "string" - } - }, - "title": "CreateSyncListRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/sync.v1.service.sync_list" + "$ref": "#/components/schemas/sync.v1.service" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -1670,90 +1481,144 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateService", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://sync.twilio.com" - } - ], - "x-twilio": { - "className": "sync_list", - "defaultOutputProperties": [ - "sid", - "unique_name", - "revision" ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Lists/{ListSid}/Items": { - "description": "Items in a sync list", - "get": { - "description": "", - "operationId": "ListSyncListItem", - "parameters": [ - { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the List Item resources to read.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the Sync List with the List Items to read. Can be the Sync List resource's `sid` or its `unique_name`.", - "in": "path", - "name": "ListSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "How to order the List Items returned by their `index` value. Can be: `asc` (ascending) or `desc` (descending) and the default is ascending.", - "in": "query", - "name": "Order", - "schema": { - "enum": [ - "asc", - "desc" - ], - "type": "string" + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateServiceRequest", + "properties": { + "WebhookUrl": { + "type": "string", + "format": "uri", + "description": "The URL we should call when Sync objects are manipulated." + }, + "FriendlyName": { + "type": "string", + "description": "A string that you assign to describe the resource." + }, + "ReachabilityWebhooksEnabled": { + "type": "boolean", + "description": "Whether the service instance should call `webhook_url` when client endpoints connect to Sync. The default is `false`." + }, + "AclEnabled": { + "type": "boolean", + "description": "Whether token identities in the Service must be granted access to Sync objects by using the [Permissions](https://www.twilio.com/docs/sync/api/sync-permissions) resource." + }, + "ReachabilityDebouncingEnabled": { + "type": "boolean", + "description": "Whether every `endpoint_disconnected` event should occur after a configurable delay. The default is `false`, where the `endpoint_disconnected` event occurs immediately after disconnection. When `true`, intervening reconnections can prevent the `endpoint_disconnected` event." + }, + "ReachabilityDebouncingWindow": { + "type": "integer", + "description": "The reachability event delay in milliseconds if `reachability_debouncing_enabled` = `true`. Must be between 1,000 and 30,000 and defaults to 5,000. This is the number of milliseconds after the last running client disconnects, and a Sync identity is declared offline, before the webhook is called if all endpoints remain offline. A reconnection from the same identity by any endpoint during this interval prevents the webhook from being called." + }, + "WebhooksFromRestEnabled": { + "type": "boolean", + "description": "Whether the Service instance should call `webhook_url` when the REST API is used to update Sync objects. The default is `false`." + } + } + } } - }, + } + } + } + }, + "/v1/Services": { + "servers": [ + { + "url": "https://sync.twilio.com" + } + ], + "description": "Containers for sync objects", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "unique_name", + "friendly_name" + ], + "pathType": "list" + }, + "post": { + "description": "", + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/sync.v1.service" + } + } + }, + "description": "Created" + } + }, + "security": [ { - "description": "The `index` of the first Sync List Item resource to read. See also `bounds`.", - "in": "query", - "name": "From", - "schema": { - "type": "string" + "accountSid_authToken": [] + } + ], + "operationId": "CreateService", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateServiceRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A string that you assign to describe the resource." + }, + "WebhookUrl": { + "type": "string", + "format": "uri", + "description": "The URL we should call when Sync objects are manipulated." + }, + "ReachabilityWebhooksEnabled": { + "type": "boolean", + "description": "Whether the service instance should call `webhook_url` when client endpoints connect to Sync. The default is `false`." + }, + "AclEnabled": { + "type": "boolean", + "description": "Whether token identities in the Service must be granted access to Sync objects by using the [Permissions](https://www.twilio.com/docs/sync/api/sync-permissions) resource." + }, + "ReachabilityDebouncingEnabled": { + "type": "boolean", + "description": "Whether every `endpoint_disconnected` event should occur after a configurable delay. The default is `false`, where the `endpoint_disconnected` event occurs immediately after disconnection. When `true`, intervening reconnections can prevent the `endpoint_disconnected` event." + }, + "ReachabilityDebouncingWindow": { + "type": "integer", + "description": "The reachability event delay in milliseconds if `reachability_debouncing_enabled` = `true`. Must be between 1,000 and 30,000 and defaults to 5,000. This is the number of milliseconds after the last running client disconnects, and a Sync identity is declared offline, before the `webhook_url` is called if all endpoints remain offline. A reconnection from the same identity by any endpoint during this interval prevents the call to `webhook_url`." + }, + "WebhooksFromRestEnabled": { + "type": "boolean", + "description": "Whether the Service instance should call `webhook_url` when the REST API is used to update Sync objects. The default is `false`." + } + } + } } - }, + } + } + }, + "get": { + "description": "", + "parameters": [ { - "description": "Whether to include the List Item referenced by the `from` parameter. Can be: `inclusive` to include the List Item referenced by the `from` parameter or `exclusive` to start with the next List Item. The default value is `inclusive`.", + "name": "PageSize", "in": "query", - "name": "Bounds", - "schema": { - "enum": [ - "inclusive", - "exclusive" - ], - "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, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1762,25 +1627,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListServiceResponse", "properties": { - "items": { + "services": { + "type": "array", "items": { - "$ref": "#/components/schemas/sync.v1.service.sync_list.sync_list_item" - }, - "type": "array" + "$ref": "#/components/schemas/sync.v1.service" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1789,19 +1654,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListSyncListItemResponse", - "type": "object" + } } } }, @@ -1813,69 +1678,55 @@ "accountSid_authToken": [] } ], + "operationId": "ListService", "x-maturity": [ "GA" ] + } + }, + "/v1/Services/{ServiceSid}/Streams/{StreamSid}/Messages": { + "servers": [ + { + "url": "https://sync.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid" + ], + "pathType": "list", + "parent": "/Services/{ServiceSid}/Streams", + "className": "stream_message" }, "post": { - "description": "", - "operationId": "CreateSyncListItem", + "description": "Create a new Stream Message.", "parameters": [ { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) to create the new List Item in.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) to create the new Stream Message in.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Sync List to add the new List Item to. Can be the Sync List resource's `sid` or its `unique_name`.", + "name": "StreamSid", "in": "path", - "name": "ListSid", - "required": true, + "description": "The SID of the Sync Stream to create the new Stream Message resource for.", "schema": { "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "CollectionTtl": { - "description": "How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), before the List Item's parent Sync List expires (time-to-live) and is deleted.", - "type": "integer" - }, - "Data": { - "description": "A JSON string that represents an arbitrary, schema-less object that the List Item stores. Can be up to 16 KiB in length." - }, - "ItemTtl": { - "description": "How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), before the List Item expires (time-to-live) and is deleted.", - "type": "integer" - }, - "Ttl": { - "description": "An alias for `item_ttl`. If both parameters are provided, this value is ignored.", - "type": "integer" - } - }, - "required": [ - "Data" - ], - "title": "CreateSyncListItemRequest", - "type": "object" - } - } - } - }, "responses": { "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/sync.v1.service.sync_list.sync_list_item" + "$ref": "#/components/schemas/sync.v1.service.sync_stream.stream_message" } } }, @@ -1887,70 +1738,79 @@ "accountSid_authToken": [] } ], + "operationId": "CreateStreamMessage", "x-maturity": [ "GA" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateStreamMessageRequest", + "properties": { + "Data": { + "description": "A JSON string that represents an arbitrary, schema-less object that makes up the Stream Message body. Can be up to 4 KiB in length." + } + }, + "required": [ + "Data" + ] + } + } + } + } + } + }, + "/v1/Services/{ServiceSid}/Lists/{Sid}": { "servers": [ { "url": "https://sync.twilio.com" } ], + "description": "Sync list objects", "x-twilio": { - "className": "sync_list_item", "defaultOutputProperties": [ - "index", - "revision", - "created_by" + "sid", + "unique_name", + "revision" ], - "parent": "/Services/{ServiceSid}/Lists", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Lists/{ListSid}/Items/{Index}": { - "delete": { + "pathType": "instance", + "parent": "/Services", + "className": "sync_list" + }, + "get": { "description": "", - "operationId": "DeleteSyncListItem", "parameters": [ { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync List Item resource to delete.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync List resource to fetch.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Sync List with the Sync List Item resource to delete. Can be the Sync List resource's `sid` or its `unique_name`.", + "name": "Sid", "in": "path", - "name": "ListSid", - "required": true, + "description": "The SID of the Sync List resource to fetch. Can be the Sync List resource's `sid` or its `unique_name`.", "schema": { "type": "string" - } - }, - { - "description": "The index of the Sync List Item resource to delete.", - "in": "path", - "name": "Index", - "required": true, - "schema": { - "type": "integer" - } - }, - { - "description": "If provided, applies this mutation if (and only if) the \u201crevision\u201d field of this [map item] matches the provided value. This matches the semantics of (and is implemented with) the HTTP [If-Match header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Match).", - "in": "header", - "name": "If-Match", - "schema": { - "type": "string" - } + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/sync.v1.service.sync_list" + } + } + }, + "description": "OK" } }, "security": [ @@ -1958,53 +1818,36 @@ "accountSid_authToken": [] } ], + "operationId": "FetchSyncList", "x-maturity": [ "GA" ] }, - "description": "Items in a sync list", - "get": { + "delete": { "description": "", - "operationId": "FetchSyncListItem", "parameters": [ { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync List Item resource to fetch.", - "in": "path", "name": "ServiceSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the Sync List with the Sync List Item resource to fetch. Can be the Sync List resource's `sid` or its `unique_name`.", "in": "path", - "name": "ListSid", - "required": true, + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync List resource to delete.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The index of the Sync List Item resource to fetch.", + "name": "Sid", "in": "path", - "name": "Index", - "required": true, + "description": "The SID of the Sync List resource to delete. Can be the Sync List resource's `sid` or its `unique_name`.", "schema": { - "type": "integer" - } + "type": "string" + }, + "required": true } ], "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/sync.v1.service.sync_list.sync_list_item" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -2012,83 +1855,39 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteSyncList", "x-maturity": [ "GA" ] }, "post": { "description": "", - "operationId": "UpdateSyncListItem", "parameters": [ { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync List Item resource to update.", - "in": "path", "name": "ServiceSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the Sync List with the Sync List Item resource to update. Can be the Sync List resource's `sid` or its `unique_name`.", "in": "path", - "name": "ListSid", - "required": true, + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync List resource to update.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The index of the Sync List Item resource to update.", + "name": "Sid", "in": "path", - "name": "Index", - "required": true, - "schema": { - "type": "integer" - } - }, - { - "description": "If provided, applies this mutation if (and only if) the \u201crevision\u201d field of this [map item] matches the provided value. This matches the semantics of (and is implemented with) the HTTP [If-Match header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Match).", - "in": "header", - "name": "If-Match", + "description": "The SID of the Sync List resource to update. Can be the Sync List resource's `sid` or its `unique_name`.", "schema": { "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "CollectionTtl": { - "description": "How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), before the List Item's parent Sync List expires (time-to-live) and is deleted. This parameter can only be used when the List Item's `data` or `ttl` is updated in the same request.", - "type": "integer" - }, - "Data": { - "description": "A JSON string that represents an arbitrary, schema-less object that the List Item stores. Can be up to 16 KiB in length." - }, - "ItemTtl": { - "description": "How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), before the List Item expires (time-to-live) and is deleted.", - "type": "integer" - }, - "Ttl": { - "description": "An alias for `item_ttl`. If both parameters are provided, this value is ignored.", - "type": "integer" - } - }, - "title": "UpdateSyncListItemRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/sync.v1.service.sync_list.sync_list_item" + "$ref": "#/components/schemas/sync.v1.service.sync_list" } } }, @@ -2100,58 +1899,128 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateSyncList", "x-maturity": [ "GA" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateSyncListRequest", + "properties": { + "Ttl": { + "type": "integer", + "description": "An alias for `collection_ttl`. If both are provided, this value is ignored." + }, + "CollectionTtl": { + "type": "integer", + "description": "How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), before the Sync List expires (time-to-live) and is deleted." + } + } + } + } + } + } + } + }, + "/v1/Services/{ServiceSid}/Lists": { "servers": [ { "url": "https://sync.twilio.com" } ], + "description": "Sync list objects", "x-twilio": { - "className": "sync_list_item", "defaultOutputProperties": [ - "index", - "revision", - "created_by" + "sid", + "unique_name", + "revision" ], - "parent": "/Services/{ServiceSid}/Lists", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/Lists/{ListSid}/Permissions": { - "description": "Permissions for Sync list items", - "get": { - "description": "Retrieve a list of all Permissions applying to a Sync List.", - "operationId": "ListSyncListPermission", + "pathType": "list", + "parent": "/Services", + "className": "sync_list" + }, + "post": { + "description": "", "parameters": [ { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync List Permission resources to read.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) to create the new Sync List in.", "schema": { "type": "string" + }, + "required": true + } + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/sync.v1.service.sync_list" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateSyncList", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateSyncListRequest", + "properties": { + "UniqueName": { + "type": "string", + "description": "An application-defined string that uniquely identifies the resource. This value must be unique within its Service and it can be up to 320 characters long. The `unique_name` value can be used as an alternative to the `sid` in the URL path to address the resource." + }, + "Ttl": { + "type": "integer", + "description": "Alias for collection_ttl. If both are provided, this value is ignored." + }, + "CollectionTtl": { + "type": "integer", + "description": "How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), before the Sync List expires (time-to-live) and is deleted." + } + } + } } - }, + } + } + }, + "get": { + "description": "", + "parameters": [ { - "description": "The SID of the Sync List with the Sync List Permission resources to read. Can be the Sync List resource's `sid` or its `unique_name`.", + "name": "ServiceSid", "in": "path", - "name": "ListSid", - "required": true, + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync List resources to read.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -2160,19 +2029,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListSyncListResponse", "properties": { + "lists": { + "type": "array", + "items": { + "$ref": "#/components/schemas/sync.v1.service.sync_list" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -2181,25 +2056,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "permissions": { - "items": { - "$ref": "#/components/schemas/sync.v1.service.sync_list.sync_list_permission" - }, - "type": "array" + } } - }, - "title": "ListSyncListPermissionResponse", - "type": "object" + } } } }, @@ -2211,63 +2080,70 @@ "accountSid_authToken": [] } ], + "operationId": "ListSyncList", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Services/{ServiceSid}/Lists/{ListSid}/Items/{Index}": { "servers": [ { "url": "https://sync.twilio.com" } ], + "description": "Items in a sync list", "x-twilio": { - "className": "sync_list_permission", "defaultOutputProperties": [ - "identity", - "read", - "write", - "manage" + "index", + "revision", + "created_by" ], + "pathType": "instance", "parent": "/Services/{ServiceSid}/Lists", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Lists/{ListSid}/Permissions/{Identity}": { - "delete": { - "description": "Delete a specific Sync List Permission.", - "operationId": "DeleteSyncListPermission", + "className": "sync_list_item" + }, + "get": { + "description": "", "parameters": [ { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync List Permission resource to delete.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync List Item resource to fetch.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Sync List with the Sync List Permission resource to delete. Can be the Sync List resource's `sid` or its `unique_name`.", - "in": "path", "name": "ListSid", - "required": true, + "in": "path", + "description": "The SID of the Sync List with the Sync List Item resource to fetch. Can be the Sync List resource's `sid` or its `unique_name`.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The application-defined string that uniquely identifies the User's Sync List Permission resource to delete.", + "name": "Index", "in": "path", - "name": "Identity", - "required": true, + "description": "The index of the Sync List Item resource to fetch.", "schema": { - "type": "string" - } + "type": "integer" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/sync.v1.service.sync_list.sync_list_item" + } + } + }, + "description": "OK" } }, "security": [ @@ -2275,53 +2151,53 @@ "accountSid_authToken": [] } ], + "operationId": "FetchSyncListItem", "x-maturity": [ "GA" ] }, - "description": "Permissions for Sync list items", - "get": { - "description": "Fetch a specific Sync List Permission.", - "operationId": "FetchSyncListPermission", + "delete": { + "description": "", "parameters": [ { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync List Permission resource to fetch.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync List Item resource to delete.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Sync List with the Sync List Permission resource to fetch. Can be the Sync List resource's `sid` or its `unique_name`.", - "in": "path", "name": "ListSid", - "required": true, + "in": "path", + "description": "The SID of the Sync List with the Sync List Item resource to delete. Can be the Sync List resource's `sid` or its `unique_name`.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The application-defined string that uniquely identifies the User's Sync List Permission resource to fetch.", + "name": "Index", "in": "path", - "name": "Identity", - "required": true, + "description": "The index of the Sync List Item resource to delete.", + "schema": { + "type": "integer" + }, + "required": true + }, + { + "name": "If-Match", + "in": "header", + "description": "If provided, applies this mutation if (and only if) the \u201crevision\u201d field of this [map item] matches the provided value. This matches the semantics of (and is implemented with) the HTTP [If-Match header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Match).", "schema": { "type": "string" } } ], "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/sync.v1.service.sync_list.sync_list_permission" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -2329,77 +2205,56 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteSyncListItem", "x-maturity": [ "GA" ] }, "post": { - "description": "Update an identity's access to a specific Sync List.", - "operationId": "UpdateSyncListPermission", + "description": "", "parameters": [ { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync List Permission resource to update.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync List Item resource to update.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Sync List with the Sync List Permission resource to update. Can be the Sync List resource's `sid` or its `unique_name`.", - "in": "path", "name": "ListSid", - "required": true, + "in": "path", + "description": "The SID of the Sync List with the Sync List Item resource to update. Can be the Sync List resource's `sid` or its `unique_name`.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The application-defined string that uniquely identifies the User's Sync List Permission resource to update.", + "name": "Index", "in": "path", - "name": "Identity", - "required": true, + "description": "The index of the Sync List Item resource to update.", + "schema": { + "type": "integer" + }, + "required": true + }, + { + "name": "If-Match", + "in": "header", + "description": "If provided, applies this mutation if (and only if) the \u201crevision\u201d field of this [map item] matches the provided value. This matches the semantics of (and is implemented with) the HTTP [If-Match header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Match).", "schema": { "type": "string" } } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Manage": { - "description": "Whether the identity can delete the Sync List. Default value is `false`.", - "type": "boolean" - }, - "Read": { - "description": "Whether the identity can read the Sync List and its Items. Default value is `false`.", - "type": "boolean" - }, - "Write": { - "description": "Whether the identity can create, update, and delete Items in the Sync List. Default value is `false`.", - "type": "boolean" - } - }, - "required": [ - "Read", - "Write", - "Manage" - ], - "title": "UpdateSyncListPermissionRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/sync.v1.service.sync_list.sync_list_permission" + "$ref": "#/components/schemas/sync.v1.service.sync_list.sync_list_item" } } }, @@ -2411,99 +2266,88 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateSyncListItem", "x-maturity": [ "GA" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateSyncListItemRequest", + "properties": { + "Data": { + "description": "A JSON string that represents an arbitrary, schema-less object that the List Item stores. Can be up to 16 KiB in length." + }, + "Ttl": { + "type": "integer", + "description": "An alias for `item_ttl`. If both parameters are provided, this value is ignored." + }, + "ItemTtl": { + "type": "integer", + "description": "How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), before the List Item expires (time-to-live) and is deleted." + }, + "CollectionTtl": { + "type": "integer", + "description": "How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), before the List Item's parent Sync List expires (time-to-live) and is deleted. This parameter can only be used when the List Item's `data` or `ttl` is updated in the same request." + } + } + } + } + } + } + } + }, + "/v1/Services/{ServiceSid}/Lists/{ListSid}/Items": { "servers": [ { "url": "https://sync.twilio.com" } ], + "description": "Items in a sync list", "x-twilio": { - "className": "sync_list_permission", "defaultOutputProperties": [ - "identity", - "read", - "write", - "manage" + "index", + "revision", + "created_by" ], + "pathType": "list", "parent": "/Services/{ServiceSid}/Lists", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/Lists/{Sid}": { - "delete": { - "description": "", - "operationId": "DeleteSyncList", - "parameters": [ - { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync List resource to delete.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the Sync List resource to delete. Can be the Sync List resource's `sid` or its `unique_name`.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] + "className": "sync_list_item" }, - "description": "Sync list objects", - "get": { + "post": { "description": "", - "operationId": "FetchSyncList", "parameters": [ { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync List resource to fetch.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) to create the new List Item in.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Sync List resource to fetch. Can be the Sync List resource's `sid` or its `unique_name`.", + "name": "ListSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the Sync List to add the new List Item to. Can be the Sync List resource's `sid` or its `unique_name`.", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/sync.v1.service.sync_list" + "$ref": "#/components/schemas/sync.v1.service.sync_list.sync_list_item" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -2511,113 +2355,102 @@ "accountSid_authToken": [] } ], + "operationId": "CreateSyncListItem", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "", - "operationId": "UpdateSyncList", - "parameters": [ - { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync List resource to update.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the Sync List resource to update. Can be the Sync List resource's `sid` or its `unique_name`.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateSyncListItemRequest", "properties": { - "CollectionTtl": { - "description": "How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), before the Sync List expires (time-to-live) and is deleted.", - "type": "integer" + "Data": { + "description": "A JSON string that represents an arbitrary, schema-less object that the List Item stores. Can be up to 16 KiB in length." }, "Ttl": { - "description": "An alias for `collection_ttl`. If both are provided, this value is ignored.", - "type": "integer" + "type": "integer", + "description": "An alias for `item_ttl`. If both parameters are provided, this value is ignored." + }, + "ItemTtl": { + "type": "integer", + "description": "How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), before the List Item expires (time-to-live) and is deleted." + }, + "CollectionTtl": { + "type": "integer", + "description": "How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), before the List Item's parent Sync List expires (time-to-live) and is deleted." } }, - "title": "UpdateSyncListRequest", - "type": "object" - } - } - } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/sync.v1.service.sync_list" - } + "required": [ + "Data" + ] } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] + } } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://sync.twilio.com" } - ], - "x-twilio": { - "className": "sync_list", - "defaultOutputProperties": [ - "sid", - "unique_name", - "revision" - ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/Maps": { - "description": "Sync map objects", + }, "get": { "description": "", - "operationId": "ListSyncMap", "parameters": [ { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync Map resources to read.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the List Item resources to read.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "ListSid", + "in": "path", + "description": "The SID of the Sync List with the List Items to read. Can be the Sync List resource's `sid` or its `unique_name`.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "Order", + "in": "query", + "description": "How to order the List Items returned by their `index` value. Can be: `asc` (ascending) or `desc` (descending) and the default is ascending.", + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ] + } + }, + { + "name": "From", + "in": "query", + "description": "The `index` of the first Sync List Item resource to read. See also `bounds`.", "schema": { "type": "string" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", + "name": "Bounds", "in": "query", + "description": "Whether to include the List Item referenced by the `from` parameter. Can be: `inclusive` to include the List Item referenced by the `from` parameter or `exclusive` to start with the next List Item. The default value is `inclusive`.", + "schema": { + "type": "string", + "enum": [ + "inclusive", + "exclusive" + ] + } + }, + { "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -2626,25 +2459,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListSyncListItemResponse", "properties": { - "maps": { + "items": { + "type": "array", "items": { - "$ref": "#/components/schemas/sync.v1.service.sync_map" - }, - "type": "array" + "$ref": "#/components/schemas/sync.v1.service.sync_list.sync_list_item" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -2653,19 +2486,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListSyncMapResponse", - "type": "object" + } } } }, @@ -2677,58 +2510,71 @@ "accountSid_authToken": [] } ], + "operationId": "ListSyncListItem", "x-maturity": [ "GA" ] + } + }, + "/v1/Services/{ServiceSid}/Lists/{ListSid}/Permissions/{Identity}": { + "servers": [ + { + "url": "https://sync.twilio.com" + } + ], + "description": "Permissions for Sync list items", + "x-twilio": { + "defaultOutputProperties": [ + "identity", + "read", + "write", + "manage" + ], + "pathType": "instance", + "parent": "/Services/{ServiceSid}/Lists", + "className": "sync_list_permission" }, - "post": { - "description": "", - "operationId": "CreateSyncMap", + "get": { + "description": "Fetch a specific Sync List Permission.", "parameters": [ { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) to create the Sync Map in.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync List Permission resource to fetch.", "schema": { "type": "string" - } + }, + "required": true + }, + { + "name": "ListSid", + "in": "path", + "description": "The SID of the Sync List with the Sync List Permission resource to fetch. Can be the Sync List resource's `sid` or its `unique_name`.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "Identity", + "in": "path", + "description": "The application-defined string that uniquely identifies the User's Sync List Permission resource to fetch.", + "schema": { + "type": "string" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "CollectionTtl": { - "description": "How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), before the Sync Map expires (time-to-live) and is deleted.", - "type": "integer" - }, - "Ttl": { - "description": "An alias for `collection_ttl`. If both parameters are provided, this value is ignored.", - "type": "integer" - }, - "UniqueName": { - "description": "An application-defined string that uniquely identifies the resource. It can be used as an alternative to the `sid` in the URL path to address the resource.", - "type": "string" - } - }, - "title": "CreateSyncMapRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/sync.v1.service.sync_map" + "$ref": "#/components/schemas/sync.v1.service.sync_list.sync_list_permission" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -2736,90 +2582,187 @@ "accountSid_authToken": [] } ], + "operationId": "FetchSyncListPermission", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://sync.twilio.com" - } - ], - "x-twilio": { - "className": "sync_map", - "defaultOutputProperties": [ - "sid", - "unique_name", - "revision" - ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Maps/{MapSid}/Items": { - "description": "Keys in a sync map", - "get": { - "description": "", - "operationId": "ListSyncMapItem", + "delete": { + "description": "Delete a specific Sync List Permission.", "parameters": [ { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Map Item resources to read.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync List Permission resource to delete.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Sync Map with the Sync Map Item resource to fetch. Can be the Sync Map resource's `sid` or its `unique_name`.", + "name": "ListSid", "in": "path", - "name": "MapSid", - "required": true, + "description": "The SID of the Sync List with the Sync List Permission resource to delete. Can be the Sync List resource's `sid` or its `unique_name`.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "How to order the Map Items returned by their `key` value. Can be: `asc` (ascending) or `desc` (descending) and the default is ascending. Map Items are [ordered lexicographically](https://en.wikipedia.org/wiki/Lexicographical_order) by Item key.", - "in": "query", - "name": "Order", + "name": "Identity", + "in": "path", + "description": "The application-defined string that uniquely identifies the User's Sync List Permission resource to delete.", "schema": { - "enum": [ - "asc", - "desc" - ], "type": "string" - } - }, + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ { - "description": "The `key` of the first Sync Map Item resource to read. See also `bounds`.", - "in": "query", - "name": "From", + "accountSid_authToken": [] + } + ], + "operationId": "DeleteSyncListPermission", + "x-maturity": [ + "GA" + ] + }, + "post": { + "description": "Update an identity's access to a specific Sync List.", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync List Permission resource to update.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "Whether to include the Map Item referenced by the `from` parameter. Can be: `inclusive` to include the Map Item referenced by the `from` parameter or `exclusive` to start with the next Map Item. The default value is `inclusive`.", - "in": "query", - "name": "Bounds", + "name": "ListSid", + "in": "path", + "description": "The SID of the Sync List with the Sync List Permission resource to update. Can be the Sync List resource's `sid` or its `unique_name`.", "schema": { - "enum": [ - "inclusive", - "exclusive" - ], "type": "string" - } + }, + "required": true + }, + { + "name": "Identity", + "in": "path", + "description": "The application-defined string that uniquely identifies the User's Sync List Permission resource to update.", + "schema": { + "type": "string" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/sync.v1.service.sync_list.sync_list_permission" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "UpdateSyncListPermission", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateSyncListPermissionRequest", + "properties": { + "Read": { + "type": "boolean", + "description": "Whether the identity can read the Sync List and its Items. Default value is `false`." + }, + "Write": { + "type": "boolean", + "description": "Whether the identity can create, update, and delete Items in the Sync List. Default value is `false`." + }, + "Manage": { + "type": "boolean", + "description": "Whether the identity can delete the Sync List. Default value is `false`." + } + }, + "required": [ + "Read", + "Write", + "Manage" + ] + } + } + } + } + } + }, + "/v1/Services/{ServiceSid}/Lists/{ListSid}/Permissions": { + "servers": [ + { + "url": "https://sync.twilio.com" + } + ], + "description": "Permissions for Sync list items", + "x-twilio": { + "defaultOutputProperties": [ + "identity", + "read", + "write", + "manage" + ], + "pathType": "list", + "parent": "/Services/{ServiceSid}/Lists", + "className": "sync_list_permission" + }, + "get": { + "description": "Retrieve a list of all Permissions applying to a Sync List.", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync List Permission resources to read.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "ListSid", + "in": "path", + "description": "The SID of the Sync List with the Sync List Permission resources to read. Can be the Sync List resource's `sid` or its `unique_name`.", + "schema": { + "type": "string" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -2828,25 +2771,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListSyncListPermissionResponse", "properties": { - "items": { + "permissions": { + "type": "array", "items": { - "$ref": "#/components/schemas/sync.v1.service.sync_map.sync_map_item" - }, - "type": "array" + "$ref": "#/components/schemas/sync.v1.service.sync_list.sync_list_permission" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -2855,19 +2798,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListSyncMapItemResponse", - "type": "object" + } } } }, @@ -2879,78 +2822,61 @@ "accountSid_authToken": [] } ], + "operationId": "ListSyncListPermission", "x-maturity": [ "GA" ] + } + }, + "/v1/Services/{ServiceSid}/Maps/{Sid}": { + "servers": [ + { + "url": "https://sync.twilio.com" + } + ], + "description": "Sync map objects", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "unique_name", + "revision" + ], + "pathType": "instance", + "parent": "/Services", + "className": "sync_map" }, - "post": { + "get": { "description": "", - "operationId": "CreateSyncMapItem", "parameters": [ { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) to create the Map Item in.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync Map resource to fetch.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Sync Map to add the new Map Item to. Can be the Sync Map resource's `sid` or its `unique_name`.", + "name": "Sid", "in": "path", - "name": "MapSid", - "required": true, + "description": "The SID of the Sync Map resource to fetch. Can be the Sync Map's `sid` or its `unique_name`.", "schema": { "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "CollectionTtl": { - "description": "How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), before the Map Item's parent Sync Map expires (time-to-live) and is deleted.", - "type": "integer" - }, - "Data": { - "description": "A JSON string that represents an arbitrary, schema-less object that the Map Item stores. Can be up to 16 KiB in length." - }, - "ItemTtl": { - "description": "How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), before the Map Item expires (time-to-live) and is deleted.", - "type": "integer" - }, - "Key": { - "description": "The unique, user-defined key for the Map Item. Can be up to 320 characters long.", - "type": "string" - }, - "Ttl": { - "description": "An alias for `item_ttl`. If both parameters are provided, this value is ignored.", - "type": "integer" - } - }, - "required": [ - "Key", - "Data" - ], - "title": "CreateSyncMapItemRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/sync.v1.service.sync_map.sync_map_item" + "$ref": "#/components/schemas/sync.v1.service.sync_map" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -2958,65 +2884,31 @@ "accountSid_authToken": [] } ], + "operationId": "FetchSyncMap", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://sync.twilio.com" - } - ], - "x-twilio": { - "className": "sync_map_item", - "defaultOutputProperties": [ - "key", - "revision", - "created_by" - ], - "parent": "/Services/{ServiceSid}/Maps", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Maps/{MapSid}/Items/{Key}": { "delete": { "description": "", - "operationId": "DeleteSyncMapItem", "parameters": [ { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync Map Item resource to delete.", - "in": "path", "name": "ServiceSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the Sync Map with the Sync Map Item resource to delete. Can be the Sync Map resource's `sid` or its `unique_name`.", "in": "path", - "name": "MapSid", - "required": true, + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync Map resource to delete.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The `key` value of the Sync Map Item resource to delete.", + "name": "Sid", "in": "path", - "name": "Key", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "If provided, applies this mutation if (and only if) the \u201crevision\u201d field of this [map item] matches the provided value. This matches the semantics of (and is implemented with) the HTTP [If-Match header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Match).", - "in": "header", - "name": "If-Match", + "description": "The SID of the Sync Map resource to delete. Can be the Sync Map's `sid` or its `unique_name`.", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -3029,41 +2921,31 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteSyncMap", "x-maturity": [ "GA" ] }, - "description": "Keys in a sync map", - "get": { + "post": { "description": "", - "operationId": "FetchSyncMapItem", "parameters": [ { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync Map Item resource to fetch.", - "in": "path", "name": "ServiceSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the Sync Map with the Sync Map Item resource to fetch. Can be the Sync Map resource's `sid` or its `unique_name`.", "in": "path", - "name": "MapSid", - "required": true, + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync Map resource to update.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The `key` value of the Sync Map Item resource to fetch.", + "name": "Sid", "in": "path", - "name": "Key", - "required": true, + "description": "The SID of the Sync Map resource to update. Can be the Sync Map's `sid` or its `unique_name`.", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -3071,7 +2953,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/sync.v1.service.sync_map.sync_map_item" + "$ref": "#/components/schemas/sync.v1.service.sync_map" } } }, @@ -3083,87 +2965,72 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateSyncMap", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "", - "operationId": "UpdateSyncMapItem", - "parameters": [ - { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync Map Item resource to update.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the Sync Map with the Sync Map Item resource to update. Can be the Sync Map resource's `sid` or its `unique_name`.", - "in": "path", - "name": "MapSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The `key` value of the Sync Map Item resource to update. ", - "in": "path", - "name": "Key", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "If provided, applies this mutation if (and only if) the \u201crevision\u201d field of this [map item] matches the provided value. This matches the semantics of (and is implemented with) the HTTP [If-Match header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Match).", - "in": "header", - "name": "If-Match", - "schema": { - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateSyncMapRequest", "properties": { - "CollectionTtl": { - "description": "How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), before the Map Item's parent Sync Map expires (time-to-live) and is deleted. This parameter can only be used when the Map Item's `data` or `ttl` is updated in the same request.", - "type": "integer" - }, - "Data": { - "description": "A JSON string that represents an arbitrary, schema-less object that the Map Item stores. Can be up to 16 KiB in length." - }, - "ItemTtl": { - "description": "How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), before the Map Item expires (time-to-live) and is deleted.", - "type": "integer" - }, "Ttl": { - "description": "An alias for `item_ttl`. If both parameters are provided, this value is ignored.", - "type": "integer" + "type": "integer", + "description": "An alias for `collection_ttl`. If both parameters are provided, this value is ignored." + }, + "CollectionTtl": { + "type": "integer", + "description": "How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), before the Sync Map expires (time-to-live) and is deleted." } - }, - "title": "UpdateSyncMapItemRequest", - "type": "object" + } } } } - }, + } + } + }, + "/v1/Services/{ServiceSid}/Maps": { + "servers": [ + { + "url": "https://sync.twilio.com" + } + ], + "description": "Sync map objects", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "unique_name", + "revision" + ], + "pathType": "list", + "parent": "/Services", + "className": "sync_map" + }, + "post": { + "description": "", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) to create the Sync Map in.", + "schema": { + "type": "string" + }, + "required": true + } + ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/sync.v1.service.sync_map.sync_map_item" + "$ref": "#/components/schemas/sync.v1.service.sync_map" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -3171,58 +3038,55 @@ "accountSid_authToken": [] } ], + "operationId": "CreateSyncMap", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://sync.twilio.com" - } - ], - "x-twilio": { - "className": "sync_map_item", - "defaultOutputProperties": [ - "key", - "revision", - "created_by" ], - "parent": "/Services/{ServiceSid}/Maps", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/Maps/{MapSid}/Permissions": { - "description": "TODO: Resource-level docs", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateSyncMapRequest", + "properties": { + "UniqueName": { + "type": "string", + "description": "An application-defined string that uniquely identifies the resource. It can be used as an alternative to the `sid` in the URL path to address the resource." + }, + "Ttl": { + "type": "integer", + "description": "An alias for `collection_ttl`. If both parameters are provided, this value is ignored." + }, + "CollectionTtl": { + "type": "integer", + "description": "How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), before the Sync Map expires (time-to-live) and is deleted." + } + } + } + } + } + } + }, "get": { - "description": "Retrieve a list of all Permissions applying to a Sync Map.", - "operationId": "ListSyncMapPermission", + "description": "", "parameters": [ { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync Map Permission resources to read. Can be the Service's `sid` value or `default`.", - "in": "path", "name": "ServiceSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the Sync Map with the Permission resources to read. Can be the Sync Map resource's `sid` or its `unique_name`.", "in": "path", - "name": "MapSid", - "required": true, + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync Map resources to read.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -3231,19 +3095,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListSyncMapResponse", "properties": { + "maps": { + "type": "array", + "items": { + "$ref": "#/components/schemas/sync.v1.service.sync_map" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -3252,25 +3122,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "permissions": { - "items": { - "$ref": "#/components/schemas/sync.v1.service.sync_map.sync_map_permission" - }, - "type": "array" + } } - }, - "title": "ListSyncMapPermissionResponse", - "type": "object" + } } } }, @@ -3282,195 +3146,66 @@ "accountSid_authToken": [] } ], + "operationId": "ListSyncMap", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Services/{ServiceSid}/Maps/{MapSid}/Items/{Key}": { "servers": [ { "url": "https://sync.twilio.com" } ], + "description": "Keys in a sync map", "x-twilio": { - "className": "sync_map_permission", "defaultOutputProperties": [ - "identity", - "read", - "write", - "manage" + "key", + "revision", + "created_by" ], + "pathType": "instance", "parent": "/Services/{ServiceSid}/Maps", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Maps/{MapSid}/Permissions/{Identity}": { - "delete": { - "description": "Delete a specific Sync Map Permission.", - "operationId": "DeleteSyncMapPermission", - "parameters": [ - { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync Map Permission resource to delete. Can be the Service's `sid` value or `default`.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the Sync Map with the Sync Map Permission resource to delete. Can be the Sync Map resource's `sid` or its `unique_name`.", - "in": "path", - "name": "MapSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The application-defined string that uniquely identifies the User's Sync Map Permission resource to delete.", - "in": "path", - "name": "Identity", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] + "className": "sync_map_item" }, - "description": "TODO: Resource-level docs", "get": { - "description": "Fetch a specific Sync Map Permission.", - "operationId": "FetchSyncMapPermission", + "description": "", "parameters": [ { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync Map Permission resource to fetch. Can be the Service's `sid` value or `default`.", - "in": "path", "name": "ServiceSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the Sync Map with the Sync Map Permission resource to fetch. Can be the Sync Map resource's `sid` or its `unique_name`.", - "in": "path", - "name": "MapSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The application-defined string that uniquely identifies the User's Sync Map Permission resource to fetch.", "in": "path", - "name": "Identity", - "required": true, + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync Map Item resource to fetch.", "schema": { "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/sync.v1.service.sync_map.sync_map_permission" - } - } }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "Update an identity's access to a specific Sync Map.", - "operationId": "UpdateSyncMapPermission", - "parameters": [ - { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync Map Permission resource to update. Can be the Service's `sid` value or `default`.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the Sync Map with the Sync Map Permission resource to update. Can be the Sync Map resource's `sid` or its `unique_name`.", - "in": "path", - "name": "MapSid", - "required": true, - "schema": { - "type": "string" - } + "required": true }, { - "description": "The application-defined string that uniquely identifies the User's Sync Map Permission resource to update.", - "in": "path", - "name": "Identity", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Manage": { - "description": "Whether the identity can delete the Sync Map. Default value is `false`.", - "type": "boolean" - }, - "Read": { - "description": "Whether the identity can read the Sync Map and its Items. Default value is `false`.", - "type": "boolean" - }, - "Write": { - "description": "Whether the identity can create, update, and delete Items in the Sync Map. Default value is `false`.", - "type": "boolean" - } - }, - "required": [ - "Read", - "Write", - "Manage" - ], - "title": "UpdateSyncMapPermissionRequest", - "type": "object" - } - } + "name": "MapSid", + "in": "path", + "description": "The SID of the Sync Map with the Sync Map Item resource to fetch. Can be the Sync Map resource's `sid` or its `unique_name`.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "Key", + "in": "path", + "description": "The `key` value of the Sync Map Item resource to fetch.", + "schema": { + "type": "string" + }, + "required": true } - }, + ], "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/sync.v1.service.sync_map.sync_map_permission" + "$ref": "#/components/schemas/sync.v1.service.sync_map.sync_map_item" } } }, @@ -3482,46 +3217,45 @@ "accountSid_authToken": [] } ], + "operationId": "FetchSyncMapItem", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://sync.twilio.com" - } - ], - "x-twilio": { - "className": "sync_map_permission", - "defaultOutputProperties": [ - "identity", - "read", - "write", - "manage" - ], - "parent": "/Services/{ServiceSid}/Maps", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/Maps/{Sid}": { "delete": { "description": "", - "operationId": "DeleteSyncMap", "parameters": [ { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync Map resource to delete.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync Map Item resource to delete.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Sync Map resource to delete. Can be the Sync Map's `sid` or its `unique_name`.", + "name": "MapSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the Sync Map with the Sync Map Item resource to delete. Can be the Sync Map resource's `sid` or its `unique_name`.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "Key", + "in": "path", + "description": "The `key` value of the Sync Map Item resource to delete.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "If-Match", + "in": "header", + "description": "If provided, applies this mutation if (and only if) the \u201crevision\u201d field of this [map item] matches the provided value. This matches the semantics of (and is implemented with) the HTTP [If-Match header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Match).", "schema": { "type": "string" } @@ -3537,29 +3271,45 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteSyncMapItem", "x-maturity": [ "GA" ] }, - "description": "Sync map objects", - "get": { + "post": { "description": "", - "operationId": "FetchSyncMap", "parameters": [ { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync Map resource to fetch.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync Map Item resource to update.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Sync Map resource to fetch. Can be the Sync Map's `sid` or its `unique_name`.", + "name": "MapSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the Sync Map with the Sync Map Item resource to update. Can be the Sync Map resource's `sid` or its `unique_name`.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "Key", + "in": "path", + "description": "The `key` value of the Sync Map Item resource to update. ", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "If-Match", + "in": "header", + "description": "If provided, applies this mutation if (and only if) the \u201crevision\u201d field of this [map item] matches the provided value. This matches the semantics of (and is implemented with) the HTTP [If-Match header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Match).", "schema": { "type": "string" } @@ -3570,7 +3320,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/sync.v1.service.sync_map" + "$ref": "#/components/schemas/sync.v1.service.sync_map.sync_map_item" } } }, @@ -3582,63 +3332,88 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateSyncMapItem", "x-maturity": [ "GA" - ] + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateSyncMapItemRequest", + "properties": { + "Data": { + "description": "A JSON string that represents an arbitrary, schema-less object that the Map Item stores. Can be up to 16 KiB in length." + }, + "Ttl": { + "type": "integer", + "description": "An alias for `item_ttl`. If both parameters are provided, this value is ignored." + }, + "ItemTtl": { + "type": "integer", + "description": "How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), before the Map Item expires (time-to-live) and is deleted." + }, + "CollectionTtl": { + "type": "integer", + "description": "How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), before the Map Item's parent Sync Map expires (time-to-live) and is deleted. This parameter can only be used when the Map Item's `data` or `ttl` is updated in the same request." + } + } + } + } + } + } + } + }, + "/v1/Services/{ServiceSid}/Maps/{MapSid}/Items": { + "servers": [ + { + "url": "https://sync.twilio.com" + } + ], + "description": "Keys in a sync map", + "x-twilio": { + "defaultOutputProperties": [ + "key", + "revision", + "created_by" + ], + "pathType": "list", + "parent": "/Services/{ServiceSid}/Maps", + "className": "sync_map_item" }, "post": { "description": "", - "operationId": "UpdateSyncMap", "parameters": [ { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync Map resource to update.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) to create the Map Item in.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Sync Map resource to update. Can be the Sync Map's `sid` or its `unique_name`.", + "name": "MapSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the Sync Map to add the new Map Item to. Can be the Sync Map resource's `sid` or its `unique_name`.", "schema": { "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "CollectionTtl": { - "description": "How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), before the Sync Map expires (time-to-live) and is deleted.", - "type": "integer" - }, - "Ttl": { - "description": "An alias for `collection_ttl`. If both parameters are provided, this value is ignored.", - "type": "integer" - } - }, - "title": "UpdateSyncMapRequest", - "type": "object" - } - } - } - }, "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/sync.v1.service.sync_map" + "$ref": "#/components/schemas/sync.v1.service.sync_map.sync_map_item" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -3646,49 +3421,107 @@ "accountSid_authToken": [] } ], + "operationId": "CreateSyncMapItem", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://sync.twilio.com" - } - ], - "x-twilio": { - "className": "sync_map", - "defaultOutputProperties": [ - "sid", - "unique_name", - "revision" ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/Streams": { - "description": "TODO: Resource-level docs", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateSyncMapItemRequest", + "properties": { + "Key": { + "type": "string", + "description": "The unique, user-defined key for the Map Item. Can be up to 320 characters long." + }, + "Data": { + "description": "A JSON string that represents an arbitrary, schema-less object that the Map Item stores. Can be up to 16 KiB in length." + }, + "Ttl": { + "type": "integer", + "description": "An alias for `item_ttl`. If both parameters are provided, this value is ignored." + }, + "ItemTtl": { + "type": "integer", + "description": "How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), before the Map Item expires (time-to-live) and is deleted." + }, + "CollectionTtl": { + "type": "integer", + "description": "How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), before the Map Item's parent Sync Map expires (time-to-live) and is deleted." + } + }, + "required": [ + "Key", + "Data" + ] + } + } + } + } + }, "get": { - "description": "Retrieve a list of all Streams in a Service Instance.", - "operationId": "ListSyncStream", + "description": "", "parameters": [ { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Stream resources to read.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Map Item resources to read.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "MapSid", + "in": "path", + "description": "The SID of the Sync Map with the Sync Map Item resource to fetch. Can be the Sync Map resource's `sid` or its `unique_name`.", "schema": { "type": "string" + }, + "required": true + }, + { + "name": "Order", + "in": "query", + "description": "How to order the Map Items returned by their `key` value. Can be: `asc` (ascending) or `desc` (descending) and the default is ascending. Map Items are [ordered lexicographically](https://en.wikipedia.org/wiki/Lexicographical_order) by Item key.", + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ] } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", + "name": "From", + "in": "query", + "description": "The `key` of the first Sync Map Item resource to read. See also `bounds`.", + "schema": { + "type": "string" + } + }, + { + "name": "Bounds", "in": "query", + "description": "Whether to include the Map Item referenced by the `from` parameter. Can be: `inclusive` to include the Map Item referenced by the `from` parameter or `exclusive` to start with the next Map Item. The default value is `inclusive`.", + "schema": { + "type": "string", + "enum": [ + "inclusive", + "exclusive" + ] + } + }, + { "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -3697,19 +3530,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListSyncMapItemResponse", "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/sync.v1.service.sync_map.sync_map_item" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -3718,25 +3557,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "streams": { - "items": { - "$ref": "#/components/schemas/sync.v1.service.sync_stream" - }, - "type": "array" + } } - }, - "title": "ListSyncStreamResponse", - "type": "object" + } } } }, @@ -3748,54 +3581,71 @@ "accountSid_authToken": [] } ], + "operationId": "ListSyncMapItem", "x-maturity": [ "GA" ] + } + }, + "/v1/Services/{ServiceSid}/Maps/{MapSid}/Permissions/{Identity}": { + "servers": [ + { + "url": "https://sync.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "identity", + "read", + "write", + "manage" + ], + "pathType": "instance", + "parent": "/Services/{ServiceSid}/Maps", + "className": "sync_map_permission" }, - "post": { - "description": "Create a new Stream.", - "operationId": "CreateSyncStream", + "get": { + "description": "Fetch a specific Sync Map Permission.", "parameters": [ { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) to create the new Stream in.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync Map Permission resource to fetch. Can be the Service's `sid` value or `default`.", "schema": { "type": "string" - } + }, + "required": true + }, + { + "name": "MapSid", + "in": "path", + "description": "The SID of the Sync Map with the Sync Map Permission resource to fetch. Can be the Sync Map resource's `sid` or its `unique_name`.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "Identity", + "in": "path", + "description": "The application-defined string that uniquely identifies the User's Sync Map Permission resource to fetch.", + "schema": { + "type": "string" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Ttl": { - "description": "How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), before the Stream expires and is deleted (time-to-live).", - "type": "integer" - }, - "UniqueName": { - "description": "An application-defined string that uniquely identifies the resource. This value must be unique within its Service and it can be up to 320 characters long. The `unique_name` value can be used as an alternative to the `sid` in the URL path to address the resource.", - "type": "string" - } - }, - "title": "CreateSyncStreamRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/sync.v1.service.sync_stream" + "$ref": "#/components/schemas/sync.v1.service.sync_map.sync_map_permission" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -3803,48 +3653,40 @@ "accountSid_authToken": [] } ], + "operationId": "FetchSyncMapPermission", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://sync.twilio.com" - } - ], - "x-twilio": { - "className": "sync_stream", - "defaultOutputProperties": [ - "sid", - "unique_name", - "created_by" - ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v1/Services/{ServiceSid}/Streams/{Sid}": { "delete": { - "description": "Delete a specific Stream.", - "operationId": "DeleteSyncStream", + "description": "Delete a specific Sync Map Permission.", "parameters": [ { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync Stream resource to delete.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync Map Permission resource to delete. Can be the Service's `sid` value or `default`.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Stream resource to delete.", + "name": "MapSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the Sync Map with the Sync Map Permission resource to delete. Can be the Sync Map resource's `sid` or its `unique_name`.", "schema": { "type": "string" - } + }, + "required": true + }, + { + "name": "Identity", + "in": "path", + "description": "The application-defined string that uniquely identifies the User's Sync Map Permission resource to delete.", + "schema": { + "type": "string" + }, + "required": true } ], "responses": { @@ -3857,32 +3699,40 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteSyncMapPermission", "x-maturity": [ "GA" ] }, - "description": "TODO: Resource-level docs", - "get": { - "description": "Fetch a specific Stream.", - "operationId": "FetchSyncStream", + "post": { + "description": "Update an identity's access to a specific Sync Map.", "parameters": [ { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync Stream resource to fetch.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync Map Permission resource to update. Can be the Service's `sid` value or `default`.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Stream resource to fetch.", + "name": "MapSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the Sync Map with the Sync Map Permission resource to update. Can be the Sync Map resource's `sid` or its `unique_name`.", "schema": { "type": "string" - } + }, + "required": true + }, + { + "name": "Identity", + "in": "path", + "description": "The application-defined string that uniquely identifies the User's Sync Map Permission resource to update.", + "schema": { + "type": "string" + }, + "required": true } ], "responses": { @@ -3890,7 +3740,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/sync.v1.service.sync_stream" + "$ref": "#/components/schemas/sync.v1.service.sync_map.sync_map_permission" } } }, @@ -3902,55 +3752,136 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateSyncMapPermission", "x-maturity": [ "GA" - ] + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateSyncMapPermissionRequest", + "properties": { + "Read": { + "type": "boolean", + "description": "Whether the identity can read the Sync Map and its Items. Default value is `false`." + }, + "Write": { + "type": "boolean", + "description": "Whether the identity can create, update, and delete Items in the Sync Map. Default value is `false`." + }, + "Manage": { + "type": "boolean", + "description": "Whether the identity can delete the Sync Map. Default value is `false`." + } + }, + "required": [ + "Read", + "Write", + "Manage" + ] + } + } + } + } + } + }, + "/v1/Services/{ServiceSid}/Maps/{MapSid}/Permissions": { + "servers": [ + { + "url": "https://sync.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "identity", + "read", + "write", + "manage" + ], + "pathType": "list", + "parent": "/Services/{ServiceSid}/Maps", + "className": "sync_map_permission" }, - "post": { - "description": "Update a specific Stream.", - "operationId": "UpdateSyncStream", + "get": { + "description": "Retrieve a list of all Permissions applying to a Sync Map.", "parameters": [ { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync Stream resource to update.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync Map Permission resources to read. Can be the Service's `sid` value or `default`.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Stream resource to update.", + "name": "MapSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the Sync Map with the Permission resources to read. Can be the Sync Map resource's `sid` or its `unique_name`.", "schema": { "type": "string" + }, + "required": true + }, + { + "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 } } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Ttl": { - "description": "How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), before the Stream expires and is deleted (time-to-live).", - "type": "integer" - } - }, - "title": "UpdateSyncStreamRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/sync.v1.service.sync_stream" + "type": "object", + "title": "ListSyncMapPermissionResponse", + "properties": { + "permissions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/sync.v1.service.sync_map.sync_map_permission" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -3962,79 +3893,61 @@ "accountSid_authToken": [] } ], + "operationId": "ListSyncMapPermission", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Services/{ServiceSid}/Streams/{Sid}": { "servers": [ { "url": "https://sync.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { - "className": "sync_stream", "defaultOutputProperties": [ "sid", "unique_name", "created_by" ], + "pathType": "instance", "parent": "/Services", - "pathType": "instance" - } - }, - "/v1/Services/{ServiceSid}/Streams/{StreamSid}/Messages": { - "description": "TODO: Resource-level docs", - "post": { - "description": "Create a new Stream Message.", - "operationId": "CreateStreamMessage", + "className": "sync_stream" + }, + "get": { + "description": "Fetch a specific Stream.", "parameters": [ { - "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) to create the new Stream Message in.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync Stream resource to fetch.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Sync Stream to create the new Stream Message resource for.", + "name": "Sid", "in": "path", - "name": "StreamSid", - "required": true, + "description": "The SID of the Stream resource to fetch.", "schema": { "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Data": { - "description": "A JSON string that represents an arbitrary, schema-less object that makes up the Stream Message body. Can be up to 4 KiB in length." - } - }, - "required": [ - "Data" - ], - "title": "CreateStreamMessageRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/sync.v1.service.sync_stream.stream_message" + "$ref": "#/components/schemas/sync.v1.service.sync_stream" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -4042,37 +3955,31 @@ "accountSid_authToken": [] } ], + "operationId": "FetchSyncStream", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://sync.twilio.com" - } - ], - "x-twilio": { - "className": "stream_message", - "defaultOutputProperties": [ - "sid" - ], - "parent": "/Services/{ServiceSid}/Streams", - "pathType": "list" - } - }, - "/v1/Services/{Sid}": { "delete": { - "description": "", - "operationId": "DeleteService", + "description": "Delete a specific Stream.", "parameters": [ { - "description": "The SID of the Service resource to delete.", + "name": "ServiceSid", "in": "path", + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync Stream resource to delete.", + "schema": { + "type": "string" + }, + "required": true + }, + { "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Stream resource to delete.", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -4085,23 +3992,31 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteSyncStream", "x-maturity": [ "GA" ] }, - "description": "Containers for sync objects", - "get": { - "description": "", - "operationId": "FetchService", + "post": { + "description": "Update a specific Stream.", "parameters": [ { - "description": "The SID of the Service resource to fetch.", + "name": "ServiceSid", "in": "path", + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Sync Stream resource to update.", + "schema": { + "type": "string" + }, + "required": true + }, + { "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Stream resource to update.", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -4109,7 +4024,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/sync.v1.service" + "$ref": "#/components/schemas/sync.v1.service.sync_stream" } } }, @@ -4121,71 +4036,168 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateSyncStream", "x-maturity": [ "GA" - ] + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateSyncStreamRequest", + "properties": { + "Ttl": { + "type": "integer", + "description": "How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), before the Stream expires and is deleted (time-to-live)." + } + } + } + } + } + } + } + }, + "/v1/Services/{ServiceSid}/Streams": { + "servers": [ + { + "url": "https://sync.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "unique_name", + "created_by" + ], + "pathType": "list", + "parent": "/Services", + "className": "sync_stream" }, "post": { - "description": "", - "operationId": "UpdateService", + "description": "Create a new Stream.", "parameters": [ { - "description": "The SID of the Service resource to update.", + "name": "ServiceSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) to create the new Stream in.", "schema": { "type": "string" - } + }, + "required": true + } + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/sync.v1.service.sync_stream" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] } ], + "operationId": "CreateSyncStream", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateSyncStreamRequest", "properties": { - "AclEnabled": { - "description": "Whether token identities in the Service must be granted access to Sync objects by using the [Permissions](https://www.twilio.com/docs/sync/api/sync-permissions) resource.", - "type": "boolean" - }, - "FriendlyName": { - "description": "A string that you assign to describe the resource.", - "type": "string" - }, - "ReachabilityDebouncingEnabled": { - "description": "Whether every `endpoint_disconnected` event should occur after a configurable delay. The default is `false`, where the `endpoint_disconnected` event occurs immediately after disconnection. When `true`, intervening reconnections can prevent the `endpoint_disconnected` event.", - "type": "boolean" - }, - "ReachabilityDebouncingWindow": { - "description": "The reachability event delay in milliseconds if `reachability_debouncing_enabled` = `true`. Must be between 1,000 and 30,000 and defaults to 5,000. This is the number of milliseconds after the last running client disconnects, and a Sync identity is declared offline, before the webhook is called if all endpoints remain offline. A reconnection from the same identity by any endpoint during this interval prevents the webhook from being called.", - "type": "integer" - }, - "ReachabilityWebhooksEnabled": { - "description": "Whether the service instance should call `webhook_url` when client endpoints connect to Sync. The default is `false`.", - "type": "boolean" - }, - "WebhookUrl": { - "description": "The URL we should call when Sync objects are manipulated.", - "format": "uri", - "type": "string" + "UniqueName": { + "type": "string", + "description": "An application-defined string that uniquely identifies the resource. This value must be unique within its Service and it can be up to 320 characters long. The `unique_name` value can be used as an alternative to the `sid` in the URL path to address the resource." }, - "WebhooksFromRestEnabled": { - "description": "Whether the Service instance should call `webhook_url` when the REST API is used to update Sync objects. The default is `false`.", - "type": "boolean" + "Ttl": { + "type": "integer", + "description": "How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), before the Stream expires and is deleted (time-to-live)." } - }, - "title": "UpdateServiceRequest", - "type": "object" + } } } } - }, + } + }, + "get": { + "description": "Retrieve a list of all Streams in a Service Instance.", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) with the Stream resources to read.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "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 + } + } + ], "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/sync.v1.service" + "type": "object", + "title": "ListSyncStreamResponse", + "properties": { + "streams": { + "type": "array", + "items": { + "$ref": "#/components/schemas/sync.v1.service.sync_stream" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -4197,22 +4209,10 @@ "accountSid_authToken": [] } ], + "operationId": "ListSyncStream", "x-maturity": [ "GA" ] - }, - "servers": [ - { - "url": "https://sync.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "unique_name", - "friendly_name" - ], - "pathType": "instance" } } }, @@ -4223,8 +4223,8 @@ ], "x-maturity": [ { - "description": "This product is Generally Available.", - "name": "GA" + "name": "GA", + "description": "This product is Generally Available." } ] } \ No newline at end of file diff --git a/spec/json/twilio_taskrouter_v1.json b/spec/json/twilio_taskrouter_v1.json index eacc7eae..6f617588 100644 --- a/spec/json/twilio_taskrouter_v1.json +++ b/spec/json/twilio_taskrouter_v1.json @@ -1,299 +1,194 @@ { "components": { "schemas": { - "taskrouter.v1.workspace": { - "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "description": "The 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 date and time in GMT when the resource was last updated", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "default_activity_name": { - "description": "The name of the default activity", - "nullable": true, - "type": "string" - }, - "default_activity_sid": { - "description": "The SID of the Activity that will be used when new Workers are created in the Workspace", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^WA[0-9a-fA-F]{32}$", - "type": "string" - }, - "event_callback_url": { - "description": "The URL we call when an event occurs", - "format": "uri", - "nullable": true, - "type": "string" - }, - "events_filter": { - "description": "The list of Workspace events for which to call event_callback_url", - "nullable": true, - "type": "string" - }, - "friendly_name": { - "description": "The string that you assigned to describe the Workspace resource", - "nullable": true, - "type": "string" - }, - "links": { - "description": "The URLs of related resources", - "format": "uri-map", - "nullable": true, - "type": "object" - }, - "multi_task_enabled": { - "description": "Whether multi-tasking is enabled", - "nullable": true, - "type": "boolean" - }, - "prioritize_queue_order": { - "description": "The type of TaskQueue to prioritize when Workers are receiving Tasks from both types of TaskQueues", - "enum": [ - "FIFO", - "LIFO" - ], - "nullable": true, - "type": "string" - }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - }, - "timeout_activity_name": { - "description": "The name of the timeout activity", - "nullable": true, - "type": "string" - }, - "timeout_activity_sid": { - "description": "The SID of the Activity that will be assigned to a Worker when a Task reservation times out without a response", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^WA[0-9a-fA-F]{32}$", - "type": "string" - }, - "url": { - "description": "The absolute URL of the Workspace resource", - "format": "uri", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, "taskrouter.v1.workspace.activity": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "available": { - "description": "Whether the Worker should be eligible to receive a Task when it occupies the Activity", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Whether the Worker should be eligible to receive a Task when it occupies the Activity" }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, "friendly_name": { - "description": "The string that you assigned to describe the Activity resource", - "nullable": true, - "type": "string" - }, - "links": { - "format": "uri-map", + "type": "string", "nullable": true, - "type": "object" + "description": "The string that you assigned to describe the Activity resource" }, "sid": { - "description": "The unique string that identifies the resource", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^WA[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique string that identifies the resource" + }, + "workspace_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^WA[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Workspace that contains the Activity" }, "url": { - "description": "The absolute URL of the Activity resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Activity resource" }, - "workspace_sid": { - "description": "The SID of the Workspace that contains the Activity", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" + "links": { + "type": "object", + "format": "uri-map", + "nullable": true } - }, - "type": "object" + } }, "taskrouter.v1.workspace.event": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "actor_sid": { - "description": "The SID of the resource that triggered the event", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the resource that triggered the event" }, "actor_type": { - "description": "The type of resource that triggered the event", + "type": "string", "nullable": true, - "type": "string" + "description": "The type of resource that triggered the event" }, "actor_url": { - "description": "The absolute URL of the resource that triggered the event", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource that triggered the event" }, "description": { - "description": "A description of the event", + "type": "string", "nullable": true, - "type": "string" + "description": "A description of the event" }, "event_data": { - "description": "Data about the event", - "nullable": true + "nullable": true, + "description": "Data about the event" }, "event_date": { - "description": "The time the event was sent", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The time the event was sent" }, "event_date_ms": { - "description": "The time the event was sent in milliseconds", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The time the event was sent in milliseconds" }, "event_type": { - "description": "The identifier for the event", + "type": "string", "nullable": true, - "type": "string" + "description": "The identifier for the event" }, "resource_sid": { - "description": "The SID of the object the event is most relevant to", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the object the event is most relevant to" }, "resource_type": { - "description": "The type of object the event is most relevant to", + "type": "string", "nullable": true, - "type": "string" + "description": "The type of object the event is most relevant to" }, "resource_url": { - "description": "The URL of the resource the event is most relevant to", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL of the resource the event is most relevant to" }, "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^EV[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string that identifies the resource" }, "source": { - "description": "Where the Event originated", + "type": "string", "nullable": true, - "type": "string" + "description": "Where the Event originated" }, "source_ip_address": { - "description": "The IP from which the Event originated", + "type": "string", "nullable": true, - "type": "string" + "description": "The IP from which the Event originated" }, "url": { - "description": "The absolute URL of the Event resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Event resource" }, "workspace_sid": { - "description": "The SID of the Workspace that contains the Event", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Workspace that contains the Event" } - }, - "type": "object" + } }, "taskrouter.v1.workspace.task": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "addons": { - "description": "An object that contains the addon data for all installed addons", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, "age": { - "description": "The number of seconds since the Task was created", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The number of seconds since the Task was created" }, "assignment_status": { - "description": "The current status of the Task's assignment", + "type": "string", "enum": [ "pending", "reserved", @@ -303,913 +198,912 @@ "wrapping" ], "nullable": true, - "type": "string" + "description": "The current status of the Task's assignment" }, "attributes": { - "description": "The JSON string with custom attributes of the work", + "type": "string", + "nullable": true, + "description": "The JSON string with custom attributes of the work" + }, + "addons": { + "type": "string", "nullable": true, - "type": "string" + "description": "An object that contains the addon data for all installed addons" }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, - "links": { - "description": "The URLs of related resources", - "format": "uri-map", + "task_queue_entered_date": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "object" + "description": "The ISO 8601 date and time in GMT when the Task entered the TaskQueue." }, "priority": { - "description": "Retrieve the list of all Tasks in the Workspace with the specified priority", + "type": "integer", "nullable": true, - "type": "integer" + "description": "Retrieve the list of all Tasks in the Workspace with the specified priority" }, "reason": { - "description": "The reason the Task was canceled or completed", + "type": "string", "nullable": true, - "type": "string" + "description": "The reason the Task was canceled or completed" }, "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^WT[0-9a-fA-F]{32}$", - "type": "string" - }, - "task_channel_sid": { - "description": "The SID of the TaskChannel", "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^TC[0-9a-fA-F]{32}$", - "type": "string" - }, - "task_channel_unique_name": { - "description": "The unique name of the TaskChannel", + "pattern": "^WT[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique string that identifies the resource" }, - "task_queue_entered_date": { - "description": "The ISO 8601 date and time in GMT when the Task entered the TaskQueue.", - "format": "date-time", + "task_queue_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WQ[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the TaskQueue" }, "task_queue_friendly_name": { - "description": "The friendly name of the TaskQueue", + "type": "string", "nullable": true, - "type": "string" + "description": "The friendly name of the TaskQueue" }, - "task_queue_sid": { - "description": "The SID of the TaskQueue", - "maxLength": 34, + "task_channel_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^TC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^WQ[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the TaskChannel" + }, + "task_channel_unique_name": { + "type": "string", + "nullable": true, + "description": "The unique name of the TaskChannel" }, "timeout": { - "description": "The amount of time in seconds that the Task can live before being assigned", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The amount of time in seconds that the Task can live before being assigned" }, - "url": { - "description": "The absolute URL of the Task resource", - "format": "uri", + "workflow_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WW[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Workflow that is controlling the Task" }, "workflow_friendly_name": { - "description": "The friendly name of the Workflow that is controlling the Task", + "type": "string", "nullable": true, - "type": "string" + "description": "The friendly name of the Workflow that is controlling the Task" }, - "workflow_sid": { - "description": "The SID of the Workflow that is controlling the Task", - "maxLength": 34, + "workspace_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^WW[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Workspace that contains the Task" }, - "workspace_sid": { - "description": "The SID of the Workspace that contains the Task", - "maxLength": 34, - "minLength": 34, + "url": { + "type": "string", + "format": "uri", "nullable": true, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The absolute URL of the Task resource" + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "The URLs of related resources" } - }, - "type": "object" + } }, - "taskrouter.v1.workspace.task.task_reservation": { + "taskrouter.v1.workspace.task_channel": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" - }, - "links": { - "description": "The URLs of related resources", - "format": "uri-map", - "nullable": true, - "type": "object" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, - "reservation_status": { - "description": "The current status of the reservation", - "enum": [ - "pending", - "accepted", - "rejected", - "timeout", - "canceled", - "rescinded", - "wrapping", - "completed" - ], + "friendly_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the resource" }, "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^TC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^WR[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "task_sid": { - "description": "The SID of the reserved Task resource", - "maxLength": 34, - "minLength": 34, + "unique_name": { + "type": "string", "nullable": true, - "pattern": "^WT[0-9a-fA-F]{32}$", - "type": "string" + "description": "An application-defined string that uniquely identifies the Task Channel" }, - "url": { - "description": "The absolute URL of the TaskReservation reservation", - "format": "uri", + "workspace_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Workspace that contains the Task Channel" }, - "worker_name": { - "description": "The friendly_name of the Worker that is reserved", + "channel_optimized_routing": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Whether the Task Channel will prioritize Workers that have been idle" }, - "worker_sid": { - "description": "The SID of the reserved Worker resource", - "maxLength": 34, - "minLength": 34, + "url": { + "type": "string", + "format": "uri", "nullable": true, - "pattern": "^WK[0-9a-fA-F]{32}$", - "type": "string" + "description": "The absolute URL of the Task Channel resource" }, - "workspace_sid": { - "description": "The SID of the Workspace that this task is contained within.", - "maxLength": 34, - "minLength": 34, + "links": { + "type": "object", + "format": "uri-map", "nullable": true, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The URLs of related resources" } - }, - "type": "object" + } }, - "taskrouter.v1.workspace.task_channel": { + "taskrouter.v1.workspace.task_queue": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "assignment_activity_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^WA[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Activity to assign Workers when a task is assigned for them" }, - "channel_optimized_routing": { - "description": "Whether the Task Channel will prioritize Workers that have been idle", + "assignment_activity_name": { + "type": "string", "nullable": true, - "type": "boolean" + "description": "The name of the Activity to assign Workers when a task is assigned for them" }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, "friendly_name": { - "description": "The string that you assigned to describe the resource", + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the resource" }, - "links": { - "description": "The URLs of related resources", - "format": "uri-map", + "max_reserved_workers": { + "type": "integer", "nullable": true, - "type": "object" + "description": "The maximum number of Workers to reserve" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "reservation_activity_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^WA[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^TC[0-9a-fA-F]{32}$", - "type": "string" - }, - "unique_name": { - "description": "An application-defined string that uniquely identifies the Task Channel", - "nullable": true, - "type": "string" - }, - "url": { - "description": "The absolute URL of the Task Channel resource", - "format": "uri", - "nullable": true, - "type": "string" - }, - "workspace_sid": { - "description": "The SID of the Workspace that contains the Task Channel", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "type": "object" - }, - "taskrouter.v1.workspace.task_queue": { - "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "assignment_activity_name": { - "description": "The name of the Activity to assign Workers when a task is assigned for them", - "nullable": true, - "type": "string" - }, - "assignment_activity_sid": { - "description": "The SID of the Activity to assign Workers when a task is assigned for them", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^WA[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "date_updated": { - "description": "The RFC 2822 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" - }, - "links": { - "description": "The URLs of related resources", - "format": "uri-map", - "nullable": true, - "type": "object" - }, - "max_reserved_workers": { - "description": "The maximum number of Workers to reserve", - "nullable": true, - "type": "integer" + "description": "The SID of the Activity to assign Workers once a task is reserved for them" }, "reservation_activity_name": { - "description": "The name of the Activity to assign Workers once a task is reserved for them", - "nullable": true, - "type": "string" - }, - "reservation_activity_sid": { - "description": "The SID of the Activity to assign Workers once a task is reserved for them", - "maxLength": 34, - "minLength": 34, + "type": "string", "nullable": true, - "pattern": "^WA[0-9a-fA-F]{32}$", - "type": "string" + "description": "The name of the Activity to assign Workers once a task is reserved for them" }, "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^WQ[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string that identifies the resource" }, "target_workers": { - "description": "A string describing the Worker selection criteria for any Tasks that enter the TaskQueue", + "type": "string", "nullable": true, - "type": "string" + "description": "A string describing the Worker selection criteria for any Tasks that enter the TaskQueue" }, "task_order": { - "description": "How Tasks will be assigned to Workers", + "type": "string", "enum": [ "FIFO", "LIFO" ], "nullable": true, - "type": "string" + "description": "How Tasks will be assigned to Workers" }, "url": { - "description": "The absolute URL of the TaskQueue resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the TaskQueue resource" }, "workspace_sid": { - "description": "The SID of the Workspace that contains the TaskQueue", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Workspace that contains the TaskQueue" + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "The URLs of related resources" } - }, - "type": "object" + } }, "taskrouter.v1.workspace.task_queue.task_queue_cumulative_statistics": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "avg_task_acceptance_time": { - "description": "The average time in seconds between Task creation and acceptance", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The average time in seconds between Task creation and acceptance" }, - "end_time": { - "description": "The end of the interval during which these statistics were calculated", + "start_time": { + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The beginning of the interval during which these statistics were calculated" }, - "reservations_accepted": { - "description": "The total number of Reservations accepted for Tasks in the TaskQueue", + "end_time": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "integer" + "description": "The end of the interval during which these statistics were calculated" }, - "reservations_canceled": { - "description": "The total number of Reservations canceled for Tasks in the TaskQueue", + "reservations_created": { + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Reservations created for Tasks in the TaskQueue" }, - "reservations_created": { - "description": "The total number of Reservations created for Tasks in the TaskQueue", + "reservations_accepted": { + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Reservations accepted for Tasks in the TaskQueue" }, "reservations_rejected": { - "description": "The total number of Reservations rejected for Tasks in the TaskQueue", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Reservations rejected for Tasks in the TaskQueue" }, - "reservations_rescinded": { - "description": "The total number of Reservations rescinded", + "reservations_timed_out": { + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Reservations that timed out for Tasks in the TaskQueue" }, - "reservations_timed_out": { - "description": "The total number of Reservations that timed out for Tasks in the TaskQueue", + "reservations_canceled": { + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Reservations canceled for Tasks in the TaskQueue" }, - "split_by_wait_time": { - "description": "A list of objects that describe the Tasks canceled and reservations accepted above and below the specified thresholds", - "nullable": true + "reservations_rescinded": { + "type": "integer", + "nullable": true, + "description": "The total number of Reservations rescinded" }, - "start_time": { - "description": "The beginning of the interval during which these statistics were calculated", - "format": "date-time", + "split_by_wait_time": { "nullable": true, - "type": "string" + "description": "A list of objects that describe the Tasks canceled and reservations accepted above and below the specified thresholds" }, "task_queue_sid": { - "description": "The SID of the TaskQueue from which these statistics were calculated", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^WQ[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the TaskQueue from which these statistics were calculated" + }, + "wait_duration_until_accepted": { + "nullable": true, + "description": "The wait duration statistics for Tasks accepted while in the TaskQueue" + }, + "wait_duration_until_canceled": { + "nullable": true, + "description": "The wait duration statistics for Tasks canceled while in the TaskQueue" + }, + "wait_duration_in_queue_until_accepted": { + "nullable": true, + "description": "The relative wait duration statistics for Tasks accepted while in the TaskQueue" }, "tasks_canceled": { - "description": "The total number of Tasks canceled in the TaskQueue", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Tasks canceled in the TaskQueue" }, "tasks_completed": { - "description": "The total number of Tasks completed in the TaskQueue", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Tasks completed in the TaskQueue" }, "tasks_deleted": { - "description": "The total number of Tasks deleted in the TaskQueue", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Tasks deleted in the TaskQueue" }, "tasks_entered": { - "description": "The total number of Tasks entered into the TaskQueue", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Tasks entered into the TaskQueue" }, "tasks_moved": { - "description": "The total number of Tasks that were moved from one queue to another", - "nullable": true, - "type": "integer" - }, - "url": { - "description": "The absolute URL of the TaskQueue statistics resource", - "format": "uri", + "type": "integer", "nullable": true, - "type": "string" - }, - "wait_duration_in_queue_until_accepted": { - "description": "The relative wait duration statistics for Tasks accepted while in the TaskQueue", - "nullable": true - }, - "wait_duration_until_accepted": { - "description": "The wait duration statistics for Tasks accepted while in the TaskQueue", - "nullable": true - }, - "wait_duration_until_canceled": { - "description": "The wait duration statistics for Tasks canceled while in the TaskQueue", - "nullable": true + "description": "The total number of Tasks that were moved from one queue to another" }, "workspace_sid": { - "description": "The SID of the Workspace that contains the TaskQueue", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Workspace that contains the TaskQueue" + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The absolute URL of the TaskQueue statistics resource" } - }, - "type": "object" + } }, "taskrouter.v1.workspace.task_queue.task_queue_real_time_statistics": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "activity_statistics": { - "description": "The number of current Workers by Activity", + "type": "array", "items": {}, "nullable": true, - "type": "array" + "description": "The number of current Workers by Activity" }, - "longest_relative_task_age_in_queue": { - "description": "The relative age in the TaskQueue for the longest waiting Task.", + "longest_task_waiting_age": { + "type": "integer", "nullable": true, - "type": "integer" + "description": "The age of the longest waiting Task" }, - "longest_relative_task_sid_in_queue": { - "description": "The SID of the Task waiting in the TaskQueue the longest.", - "maxLength": 34, + "longest_task_waiting_sid": { + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^WT[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the longest waiting Task" }, - "longest_task_waiting_age": { - "description": "The age of the longest waiting Task", + "longest_relative_task_age_in_queue": { + "type": "integer", "nullable": true, - "type": "integer" + "description": "The relative age in the TaskQueue for the longest waiting Task." }, - "longest_task_waiting_sid": { - "description": "The SID of the longest waiting Task", - "maxLength": 34, + "longest_relative_task_sid_in_queue": { + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^WT[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Task waiting in the TaskQueue the longest." }, "task_queue_sid": { - "description": "The SID of the TaskQueue from which these statistics were calculated", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^WQ[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the TaskQueue from which these statistics were calculated" }, "tasks_by_priority": { - "description": "The number of Tasks by priority", - "nullable": true + "nullable": true, + "description": "The number of Tasks by priority" }, "tasks_by_status": { - "description": "The number of Tasks by their current status", - "nullable": true + "nullable": true, + "description": "The number of Tasks by their current status" }, "total_available_workers": { - "description": "The total number of Workers available for Tasks in the TaskQueue", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Workers available for Tasks in the TaskQueue" }, "total_eligible_workers": { - "description": "The total number of Workers eligible for Tasks in the TaskQueue, independent of their Activity state", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Workers eligible for Tasks in the TaskQueue, independent of their Activity state" }, "total_tasks": { - "description": "The total number of Tasks", - "nullable": true, - "type": "integer" - }, - "url": { - "description": "The absolute URL of the TaskQueue statistics resource", - "format": "uri", + "type": "integer", "nullable": true, - "type": "string" + "description": "The total number of Tasks" }, "workspace_sid": { - "description": "The SID of the Workspace that contains the TaskQueue", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Workspace that contains the TaskQueue" + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The absolute URL of the TaskQueue statistics resource" } - }, - "type": "object" + } }, "taskrouter.v1.workspace.task_queue.task_queue_statistics": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "cumulative": { - "description": "An object that contains the cumulative statistics for the TaskQueue", - "nullable": true + "nullable": true, + "description": "An object that contains the cumulative statistics for the TaskQueue" }, "realtime": { - "description": "An object that contains the real-time statistics for the TaskQueue", - "nullable": true + "nullable": true, + "description": "An object that contains the real-time statistics for the TaskQueue" }, "task_queue_sid": { - "description": "The SID of the TaskQueue from which these statistics were calculated", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^WQ[0-9a-fA-F]{32}$", - "type": "string" - }, - "url": { - "description": "The absolute URL of the TaskQueue statistics resource", - "format": "uri", "nullable": true, - "type": "string" + "description": "The SID of the TaskQueue from which these statistics were calculated" }, "workspace_sid": { - "description": "The SID of the Workspace that contains the TaskQueue", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Workspace that contains the TaskQueue" + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The absolute URL of the TaskQueue statistics resource" } - }, - "type": "object" + } }, "taskrouter.v1.workspace.task_queue.task_queues_statistics": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "cumulative": { - "description": "An object that contains the cumulative statistics for the TaskQueues", - "nullable": true + "nullable": true, + "description": "An object that contains the cumulative statistics for the TaskQueues" }, "realtime": { - "description": "An object that contains the real-time statistics for the TaskQueues", - "nullable": true + "nullable": true, + "description": "An object that contains the real-time statistics for the TaskQueues" }, "task_queue_sid": { - "description": "The SID of the TaskQueue from which these statistics were calculated", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^WQ[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the TaskQueue from which these statistics were calculated" }, "workspace_sid": { - "description": "The SID of the Workspace that contains the TaskQueues", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Workspace that contains the TaskQueues" } - }, - "type": "object" + } }, - "taskrouter.v1.workspace.worker": { + "taskrouter.v1.workspace.task.task_reservation": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "activity_name": { - "description": "The friendly_name of the Worker's current Activity", - "nullable": true, - "type": "string" - }, - "activity_sid": { - "description": "The SID of the Worker's current Activity", "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^WA[0-9a-fA-F]{32}$", - "type": "string" - }, - "attributes": { - "description": "The JSON string that describes the Worker", - "nullable": true, - "type": "string" - }, - "available": { - "description": "Whether the Worker is available to perform tasks", + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "boolean" + "description": "The SID of the Account that created the resource" }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "date_status_changed": { - "description": "The date and time in GMT of the last change to the Worker's activity", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" - }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", - "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, - "links": { - "description": "The URLs of related resources", - "format": "uri-map", + "reservation_status": { + "type": "string", + "enum": [ + "pending", + "accepted", + "rejected", + "timeout", + "canceled", + "rescinded", + "wrapping", + "completed" + ], "nullable": true, - "type": "object" + "description": "The current status of the reservation" }, "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^WR[0-9a-fA-F]{32}$", "nullable": true, + "description": "The unique string that identifies the resource" + }, + "task_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WT[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the reserved Task resource" + }, + "worker_name": { + "type": "string", + "nullable": true, + "description": "The friendly_name of the Worker that is reserved" + }, + "worker_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^WK[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the reserved Worker resource" + }, + "workspace_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Workspace that this task is contained within." }, "url": { - "description": "The absolute URL of the Worker resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the TaskReservation reservation" }, - "workspace_sid": { - "description": "The SID of the Workspace that contains the Worker", + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "The URLs of related resources" + } + } + }, + "taskrouter.v1.workspace.worker": { + "type": "object", + "properties": { + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "activity_name": { + "type": "string", + "nullable": true, + "description": "The friendly_name of the Worker's current Activity" + }, + "activity_sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^WA[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Worker's current Activity" + }, + "attributes": { + "type": "string", + "nullable": true, + "description": "The JSON string that describes the Worker" + }, + "available": { + "type": "boolean", + "nullable": true, + "description": "Whether the Worker is available to perform tasks" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was created" + }, + "date_status_changed": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The date and time in GMT of the last change to the Worker's activity" + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was last updated" + }, + "friendly_name": { + "type": "string", + "nullable": true, + "description": "The string that you assigned to describe the resource" + }, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^WK[0-9a-fA-F]{32}$", "nullable": true, + "description": "The unique string that identifies the resource" + }, + "workspace_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Workspace that contains the Worker" + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The absolute URL of the Worker resource" + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "The URLs of related resources" } - }, - "type": "object" + } }, "taskrouter.v1.workspace.worker.worker_channel": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "assigned_tasks": { - "description": "The total number of Tasks assigned to Worker for the TaskChannel type", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Tasks assigned to Worker for the TaskChannel type" }, "available": { - "description": "Whether the Worker should receive Tasks of the TaskChannel type", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Whether the Worker should receive Tasks of the TaskChannel type" }, "available_capacity_percentage": { - "description": "The current available capacity between 0 to 100 for the TaskChannel", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The current available capacity between 0 to 100 for the TaskChannel" }, "configured_capacity": { - "description": "The current configured capacity for the WorkerChannel", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The current configured capacity for the WorkerChannel" }, "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^WC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string that identifies the resource" }, "task_channel_sid": { - "description": "The SID of the TaskChannel", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^TC[0-9a-fA-F]{32}$", - "type": "string" - }, - "task_channel_unique_name": { - "description": "The unique name of the TaskChannel, such as 'voice' or 'sms'", "nullable": true, - "type": "string" + "description": "The SID of the TaskChannel" }, - "url": { - "description": "The absolute URL of the WorkerChannel resource", - "format": "uri", + "task_channel_unique_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "The unique name of the TaskChannel, such as 'voice' or 'sms'" }, "worker_sid": { - "description": "The SID of the Worker that contains the WorkerChannel", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^WK[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Worker that contains the WorkerChannel" }, "workspace_sid": { - "description": "The SID of the Workspace that contains the WorkerChannel", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Workspace that contains the WorkerChannel" + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The absolute URL of the WorkerChannel resource" } - }, - "type": "object" + } }, "taskrouter.v1.workspace.worker.worker_instance_statistics": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "cumulative": { - "description": "An object that contains the cumulative statistics for the Worker", - "nullable": true - }, - "url": { - "description": "The absolute URL of the WorkerChannel statistics resource", - "format": "uri", "nullable": true, - "type": "string" + "description": "An object that contains the cumulative statistics for the Worker" }, "worker_sid": { - "description": "The SID of the Worker that contains the WorkerChannel", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^WK[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Worker that contains the WorkerChannel" }, "workspace_sid": { - "description": "The SID of the Workspace that contains the WorkerChannel", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Workspace that contains the WorkerChannel" + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The absolute URL of the WorkerChannel statistics resource" } - }, - "type": "object" + } }, "taskrouter.v1.workspace.worker.worker_reservation": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" - }, - "links": { - "description": "The URLs of related resources", - "format": "uri-map", - "nullable": true, - "type": "object" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, "reservation_status": { - "description": "The current status of the reservation", + "type": "string", "enum": [ "pending", "accepted", @@ -1221,778 +1115,903 @@ "completed" ], "nullable": true, - "type": "string" + "description": "The current status of the reservation" }, "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^WR[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string that identifies the resource" }, "task_sid": { - "description": "The SID of the reserved Task resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^WT[0-9a-fA-F]{32}$", - "type": "string" - }, - "url": { - "description": "The absolute URL of the WorkerReservation resource", - "format": "uri", "nullable": true, - "type": "string" + "description": "The SID of the reserved Task resource" }, "worker_name": { - "description": "The friendly_name of the Worker that is reserved", + "type": "string", "nullable": true, - "type": "string" + "description": "The friendly_name of the Worker that is reserved" }, "worker_sid": { - "description": "The SID of the reserved Worker resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^WK[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the reserved Worker resource" }, "workspace_sid": { - "description": "The SID of the Workspace that this worker is contained within.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Workspace that this worker is contained within." + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The absolute URL of the WorkerReservation resource" + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "The URLs of related resources" } - }, - "type": "object" + } }, "taskrouter.v1.workspace.worker.worker_statistics": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, - "minLength": 34, + "realtime": { "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "An object that contains the real-time statistics for the Worker" }, "cumulative": { - "description": "An object that contains the cumulative statistics for the Worker", - "nullable": true - }, - "realtime": { - "description": "An object that contains the real-time statistics for the Worker", - "nullable": true + "nullable": true, + "description": "An object that contains the cumulative statistics for the Worker" }, - "url": { - "description": "The absolute URL of the Worker statistics resource", - "format": "uri", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, "workspace_sid": { - "description": "The SID of the Workspace that contains the Worker", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Workspace that contains the Worker" + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The absolute URL of the Worker statistics resource" } - }, - "type": "object" + } }, "taskrouter.v1.workspace.worker.workers_cumulative_statistics": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "activity_durations": { - "description": "The minimum, average, maximum, and total time that Workers spent in each Activity", - "items": {}, "nullable": true, - "type": "array" + "description": "The SID of the Account that created the resource" }, - "end_time": { - "description": "The end of the interval during which these statistics were calculated", + "start_time": { + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The beginning of the interval during which these statistics were calculated" }, - "reservations_accepted": { - "description": "The total number of Reservations that were accepted", + "end_time": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "integer" + "description": "The end of the interval during which these statistics were calculated" }, - "reservations_canceled": { - "description": "The total number of Reservations that were canceled", + "activity_durations": { + "type": "array", + "items": {}, "nullable": true, - "type": "integer" + "description": "The minimum, average, maximum, and total time that Workers spent in each Activity" }, "reservations_created": { - "description": "The total number of Reservations that were created", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Reservations that were created" }, - "reservations_rejected": { - "description": "The total number of Reservations that were rejected", + "reservations_accepted": { + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Reservations that were accepted" }, - "reservations_rescinded": { - "description": "The total number of Reservations that were rescinded", + "reservations_rejected": { + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Reservations that were rejected" }, "reservations_timed_out": { - "description": "The total number of Reservations that were timed out", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Reservations that were timed out" }, - "start_time": { - "description": "The beginning of the interval during which these statistics were calculated", - "format": "date-time", + "reservations_canceled": { + "type": "integer", "nullable": true, - "type": "string" + "description": "The total number of Reservations that were canceled" }, - "url": { - "description": "The absolute URL of the Workers statistics resource", - "format": "uri", + "reservations_rescinded": { + "type": "integer", "nullable": true, - "type": "string" + "description": "The total number of Reservations that were rescinded" }, "workspace_sid": { - "description": "The SID of the Workspace that contains the Workers", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Workspace that contains the Workers" + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The absolute URL of the Workers statistics resource" } - }, - "type": "object" + } }, "taskrouter.v1.workspace.worker.workers_real_time_statistics": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "activity_statistics": { - "description": "The number of current Workers by Activity", + "type": "array", "items": {}, "nullable": true, - "type": "array" + "description": "The number of current Workers by Activity" }, "total_workers": { - "description": "The total number of Workers", - "nullable": true, - "type": "integer" - }, - "url": { - "description": "The absolute URL of the Workers statistics resource", - "format": "uri", + "type": "integer", "nullable": true, - "type": "string" + "description": "The total number of Workers" }, "workspace_sid": { - "description": "The SID of the Workspace that contains the Workers", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Workspace that contains the Workers" + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The absolute URL of the Workers statistics resource" } - }, - "type": "object" + } }, "taskrouter.v1.workspace.workflow": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "assignment_callback_url": { - "description": "The URL that we call when a task managed by the Workflow is assigned to a Worker", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL that we call when a task managed by the Workflow is assigned to a Worker" }, "configuration": { - "description": "A JSON string that contains the Workflow's configuration", + "type": "string", "nullable": true, - "type": "string" + "description": "A JSON string that contains the Workflow's configuration" }, "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, "document_content_type": { - "description": "The MIME type of the document", + "type": "string", "nullable": true, - "type": "string" + "description": "The MIME type of the document" }, "fallback_assignment_callback_url": { - "description": "The URL that we call when a call to the `assignment_callback_url` fails", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL that we call when a call to the `assignment_callback_url` fails" }, "friendly_name": { - "description": "The string that you assigned to describe the Workflow resource", - "nullable": true, - "type": "string" - }, - "links": { - "description": "The URLs of related resources", - "format": "uri-map", + "type": "string", "nullable": true, - "type": "object" + "description": "The string that you assigned to describe the Workflow resource" }, "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^WW[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string that identifies the resource" }, "task_reservation_timeout": { - "description": "How long TaskRouter will wait for a confirmation response from your application after it assigns a Task to a Worker", + "type": "integer", + "nullable": true, + "description": "How long TaskRouter will wait for a confirmation response from your application after it assigns a Task to a Worker" + }, + "workspace_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$", "nullable": true, - "type": "integer" + "description": "The SID of the Workspace that contains the Workflow" }, "url": { - "description": "The absolute URL of the Workflow resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Workflow resource" }, - "workspace_sid": { - "description": "The SID of the Workspace that contains the Workflow", - "maxLength": 34, - "minLength": 34, + "links": { + "type": "object", + "format": "uri-map", "nullable": true, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The URLs of related resources" } - }, - "type": "object" + } }, "taskrouter.v1.workspace.workflow.workflow_cumulative_statistics": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "avg_task_acceptance_time": { - "description": "The average time in seconds between Task creation and acceptance", + "type": "integer", + "nullable": true, + "description": "The average time in seconds between Task creation and acceptance" + }, + "start_time": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "integer" + "description": "The beginning of the interval during which these statistics were calculated" }, "end_time": { - "description": "The end of the interval during which these statistics were calculated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The end of the interval during which these statistics were calculated" + }, + "reservations_created": { + "type": "integer", + "nullable": true, + "description": "The total number of Reservations that were created for Workers" }, "reservations_accepted": { - "description": "The total number of Reservations accepted by Workers", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Reservations accepted by Workers" }, - "reservations_canceled": { - "description": "The total number of Reservations that were canceled", + "reservations_rejected": { + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Reservations that were rejected" }, - "reservations_created": { - "description": "The total number of Reservations that were created for Workers", + "reservations_timed_out": { + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Reservations that were timed out" }, - "reservations_rejected": { - "description": "The total number of Reservations that were rejected", + "reservations_canceled": { + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Reservations that were canceled" }, "reservations_rescinded": { - "description": "The total number of Reservations that were rescinded", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Reservations that were rescinded" }, - "reservations_timed_out": { - "description": "The total number of Reservations that were timed out", + "split_by_wait_time": { "nullable": true, - "type": "integer" + "description": "A list of objects that describe the Tasks canceled and reservations accepted above and below the specified thresholds" }, - "split_by_wait_time": { - "description": "A list of objects that describe the Tasks canceled and reservations accepted above and below the specified thresholds", - "nullable": true + "wait_duration_until_accepted": { + "nullable": true, + "description": "The wait duration statistics for Tasks that were accepted" }, - "start_time": { - "description": "The beginning of the interval during which these statistics were calculated", - "format": "date-time", + "wait_duration_until_canceled": { "nullable": true, - "type": "string" + "description": "The wait duration statistics for Tasks that were canceled" }, "tasks_canceled": { - "description": "The total number of Tasks that were canceled", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Tasks that were canceled" }, "tasks_completed": { - "description": "The total number of Tasks that were completed", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Tasks that were completed" }, - "tasks_deleted": { - "description": "The total number of Tasks that were deleted", + "tasks_entered": { + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Tasks that entered the Workflow" }, - "tasks_entered": { - "description": "The total number of Tasks that entered the Workflow", + "tasks_deleted": { + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Tasks that were deleted" }, "tasks_moved": { - "description": "The total number of Tasks that were moved from one queue to another", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Tasks that were moved from one queue to another" }, "tasks_timed_out_in_workflow": { - "description": "The total number of Tasks that were timed out of their Workflows", + "type": "integer", "nullable": true, - "type": "integer" - }, - "url": { - "description": "The absolute URL of the Workflow statistics resource", - "format": "uri", - "nullable": true, - "type": "string" - }, - "wait_duration_until_accepted": { - "description": "The wait duration statistics for Tasks that were accepted", - "nullable": true - }, - "wait_duration_until_canceled": { - "description": "The wait duration statistics for Tasks that were canceled", - "nullable": true + "description": "The total number of Tasks that were timed out of their Workflows" }, "workflow_sid": { - "description": "Returns the list of Tasks that are being controlled by the Workflow with the specified Sid value", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^WW[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "Returns the list of Tasks that are being controlled by the Workflow with the specified Sid value" }, "workspace_sid": { - "description": "The SID of the Workspace that contains the Workflow.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Workspace that contains the Workflow." + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The absolute URL of the Workflow statistics resource" } - }, - "type": "object" + } }, "taskrouter.v1.workspace.workflow.workflow_real_time_statistics": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "longest_task_waiting_age": { - "description": "The age of the longest waiting Task", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The age of the longest waiting Task" }, "longest_task_waiting_sid": { - "description": "The SID of the longest waiting Task", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^WT[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the longest waiting Task" }, "tasks_by_priority": { - "description": "The number of Tasks by priority", - "nullable": true + "nullable": true, + "description": "The number of Tasks by priority" }, "tasks_by_status": { - "description": "The number of Tasks by their current status", - "nullable": true - }, - "total_tasks": { - "description": "The total number of Tasks", "nullable": true, - "type": "integer" + "description": "The number of Tasks by their current status" }, - "url": { - "description": "The absolute URL of the Workflow statistics resource", - "format": "uri", + "total_tasks": { + "type": "integer", "nullable": true, - "type": "string" + "description": "The total number of Tasks" }, "workflow_sid": { - "description": "Returns the list of Tasks that are being controlled by the Workflow with the specified SID value", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^WW[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "Returns the list of Tasks that are being controlled by the Workflow with the specified SID value" }, "workspace_sid": { - "description": "The SID of the Workspace that contains the Workflow.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Workspace that contains the Workflow." + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The absolute URL of the Workflow statistics resource" } - }, - "type": "object" + } }, "taskrouter.v1.workspace.workflow.workflow_statistics": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "cumulative": { - "description": "An object that contains the cumulative statistics for the Workflow", - "nullable": true + "nullable": true, + "description": "An object that contains the cumulative statistics for the Workflow" }, "realtime": { - "description": "An object that contains the real-time statistics for the Workflow", - "nullable": true - }, - "url": { - "description": "The absolute URL of the Workflow statistics resource", - "format": "uri", "nullable": true, - "type": "string" + "description": "An object that contains the real-time statistics for the Workflow" }, "workflow_sid": { - "description": "Returns the list of Tasks that are being controlled by the Workflow with the specified SID value", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^WW[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "Returns the list of Tasks that are being controlled by the Workflow with the specified SID value" }, "workspace_sid": { - "description": "The SID of the Workspace that contains the Workflow", + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Workspace that contains the Workflow" + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The absolute URL of the Workflow statistics resource" + } + } + }, + "taskrouter.v1.workspace": { + "type": "object", + "properties": { + "account_sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was last updated" + }, + "default_activity_name": { + "type": "string", + "nullable": true, + "description": "The name of the default activity" + }, + "default_activity_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^WA[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Activity that will be used when new Workers are created in the Workspace" + }, + "event_callback_url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The URL we call when an event occurs" + }, + "events_filter": { + "type": "string", + "nullable": true, + "description": "The list of Workspace events for which to call event_callback_url" + }, + "friendly_name": { + "type": "string", + "nullable": true, + "description": "The string that you assigned to describe the Workspace resource" + }, + "multi_task_enabled": { + "type": "boolean", "nullable": true, + "description": "Whether multi-tasking is enabled" + }, + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string that identifies the resource" + }, + "timeout_activity_name": { + "type": "string", + "nullable": true, + "description": "The name of the timeout activity" + }, + "timeout_activity_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WA[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Activity that will be assigned to a Worker when a Task reservation times out without a response" + }, + "prioritize_queue_order": { + "type": "string", + "enum": [ + "FIFO", + "LIFO" + ], + "nullable": true, + "description": "The type of TaskQueue to prioritize when Workers are receiving Tasks from both types of TaskQueues" + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The absolute URL of the Workspace resource" + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "The URLs of related resources" } - }, - "type": "object" + } }, "taskrouter.v1.workspace.workspace_cumulative_statistics": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "avg_task_acceptance_time": { - "description": "The average time in seconds between Task creation and acceptance", + "type": "integer", + "nullable": true, + "description": "The average time in seconds between Task creation and acceptance" + }, + "start_time": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "integer" + "description": "The beginning of the interval during which these statistics were calculated" }, "end_time": { - "description": "The end of the interval during which these statistics were calculated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The end of the interval during which these statistics were calculated" + }, + "reservations_created": { + "type": "integer", + "nullable": true, + "description": "The total number of Reservations that were created for Workers" }, "reservations_accepted": { - "description": "The total number of Reservations accepted by Workers", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Reservations accepted by Workers" }, - "reservations_canceled": { - "description": "The total number of Reservations that were canceled", + "reservations_rejected": { + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Reservations that were rejected" }, - "reservations_created": { - "description": "The total number of Reservations that were created for Workers", + "reservations_timed_out": { + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Reservations that were timed out" }, - "reservations_rejected": { - "description": "The total number of Reservations that were rejected", + "reservations_canceled": { + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Reservations that were canceled" }, "reservations_rescinded": { - "description": "The total number of Reservations that were rescinded", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Reservations that were rescinded" }, - "reservations_timed_out": { - "description": "The total number of Reservations that were timed out", + "split_by_wait_time": { "nullable": true, - "type": "integer" + "description": "A list of objects that describe the Tasks canceled and reservations accepted above and below the specified thresholds" }, - "split_by_wait_time": { - "description": "A list of objects that describe the Tasks canceled and reservations accepted above and below the specified thresholds", - "nullable": true + "wait_duration_until_accepted": { + "nullable": true, + "description": "The wait duration statistics for Tasks that were accepted" }, - "start_time": { - "description": "The beginning of the interval during which these statistics were calculated", - "format": "date-time", + "wait_duration_until_canceled": { "nullable": true, - "type": "string" + "description": "The wait duration statistics for Tasks that were canceled" }, "tasks_canceled": { - "description": "The total number of Tasks that were canceled", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Tasks that were canceled" }, "tasks_completed": { - "description": "The total number of Tasks that were completed", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Tasks that were completed" }, "tasks_created": { - "description": "The total number of Tasks created", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Tasks created" }, "tasks_deleted": { - "description": "The total number of Tasks that were deleted", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Tasks that were deleted" }, "tasks_moved": { - "description": "The total number of Tasks that were moved from one queue to another", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Tasks that were moved from one queue to another" }, "tasks_timed_out_in_workflow": { - "description": "The total number of Tasks that were timed out of their Workflows", - "nullable": true, - "type": "integer" - }, - "url": { - "description": "The absolute URL of the Workspace statistics resource", - "format": "uri", + "type": "integer", "nullable": true, - "type": "string" - }, - "wait_duration_until_accepted": { - "description": "The wait duration statistics for Tasks that were accepted", - "nullable": true - }, - "wait_duration_until_canceled": { - "description": "The wait duration statistics for Tasks that were canceled", - "nullable": true + "description": "The total number of Tasks that were timed out of their Workflows" }, "workspace_sid": { - "description": "The SID of the Workspace", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Workspace" + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The absolute URL of the Workspace statistics resource" } - }, - "type": "object" + } }, "taskrouter.v1.workspace.workspace_real_time_statistics": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "activity_statistics": { - "description": "The number of current Workers by Activity", + "type": "array", "items": {}, "nullable": true, - "type": "array" + "description": "The number of current Workers by Activity" }, "longest_task_waiting_age": { - "description": "The age of the longest waiting Task", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The age of the longest waiting Task" }, "longest_task_waiting_sid": { - "description": "The SID of the longest waiting Task", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^WT[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the longest waiting Task" }, "tasks_by_priority": { - "description": "The number of Tasks by priority", - "nullable": true + "nullable": true, + "description": "The number of Tasks by priority" }, "tasks_by_status": { - "description": "The number of Tasks by their current status", - "nullable": true + "nullable": true, + "description": "The number of Tasks by their current status" }, "total_tasks": { - "description": "The total number of Tasks", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The total number of Tasks" }, "total_workers": { - "description": "The total number of Workers in the Workspace", + "type": "integer", + "nullable": true, + "description": "The total number of Workers in the Workspace" + }, + "workspace_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$", "nullable": true, - "type": "integer" + "description": "The SID of the Workspace" }, "url": { - "description": "The absolute URL of the Workspace statistics resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" - }, - "workspace_sid": { - "description": "The SID of the Workspace", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" + "description": "The absolute URL of the Workspace statistics resource" } - }, - "type": "object" + } }, "taskrouter.v1.workspace.workspace_statistics": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, - "minLength": 34, + "realtime": { "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "n object that contains the real-time statistics for the Workspace" }, "cumulative": { - "description": "An object that contains the cumulative statistics for the Workspace", - "nullable": true - }, - "realtime": { - "description": "n object that contains the real-time statistics for the Workspace", - "nullable": true + "nullable": true, + "description": "An object that contains the cumulative statistics for the Workspace" }, - "url": { - "description": "The absolute URL of the Workspace statistics resource", - "format": "uri", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, "workspace_sid": { - "description": "The SID of the Workspace", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Workspace" + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The absolute URL of the Workspace statistics resource" } - }, - "type": "object" + } } }, "securitySchemes": { "accountSid_authToken": { - "scheme": "basic", - "type": "http" + "type": "http", + "scheme": "basic" } } }, "info": { + "title": "Twilio - Taskrouter", + "description": "This is the public Twilio REST API.", + "termsOfService": "https://www.twilio.com/legal/tos", "contact": { - "email": "support@twilio.com", "name": "Twilio Support", - "url": "https://support.twilio.com" + "url": "https://support.twilio.com", + "email": "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 - Taskrouter", "version": "1.30.0" }, "openapi": "3.0.1", "paths": { - "/v1/Workspaces": { + "/v1/Workspaces/{WorkspaceSid}/Activities/{Sid}": { + "servers": [ + { + "url": "https://taskrouter.twilio.com" + } + ], "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "date_created" + ], + "pathType": "instance", + "parent": "/Workspaces" + }, "get": { "description": "", - "operationId": "ListWorkspace", "parameters": [ { - "description": "The `friendly_name` of the Workspace resources to read. For example `Customer Support` or `2014 Election Campaign`.", - "in": "query", - "name": "FriendlyName", + "name": "WorkspaceSid", + "in": "path", + "description": "The SID of the Workspace with the Activity resources to fetch.", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", - "name": "PageSize", + "name": "Sid", + "in": "path", + "description": "The SID of the Activity resource to fetch.", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WA[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2000,46 +2019,7 @@ "content": { "application/json": { "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "workspaces": { - "items": { - "$ref": "#/components/schemas/taskrouter.v1.workspace" - }, - "type": "array" - } - }, - "title": "ListWorkspaceResponse", - "type": "object" + "$ref": "#/components/schemas/taskrouter.v1.workspace.activity" } } }, @@ -2051,67 +2031,49 @@ "accountSid_authToken": [] } ], + "operationId": "FetchActivity", "x-maturity": [ "GA" ] }, "post": { "description": "", - "operationId": "CreateWorkspace", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "EventCallbackUrl": { - "description": "The URL we should call when an event occurs. If provided, the Workspace will publish events to this URL, for example, to collect data for reporting. See [Workspace Events](https://www.twilio.com/docs/taskrouter/api/event) for more information. This parameter supports Twilio's [Webhooks (HTTP callbacks) Connection Overrides](https://www.twilio.com/docs/usage/webhooks/webhooks-connection-overrides).", - "format": "uri", - "type": "string" - }, - "EventsFilter": { - "description": "The list of Workspace events for which to call event_callback_url. For example, if `EventsFilter=task.created, task.canceled, worker.activity.update`, then TaskRouter will call event_callback_url only when a task is created, canceled, or a Worker activity is updated.", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the Workspace resource. It can be up to 64 characters long. For example: `Customer Support` or `2014 Election Campaign`.", - "type": "string" - }, - "MultiTaskEnabled": { - "description": "Whether to enable multi-tasking. Can be: `true` to enable multi-tasking, or `false` to disable it. However, all workspaces should be created as multi-tasking. The default is `true`. Multi-tasking allows Workers to handle multiple Tasks simultaneously. When enabled (`true`), each Worker can receive parallel reservations up to the per-channel maximums defined in the Workers section. In single-tasking mode (legacy mode), each Worker will only receive a new reservation when the previous task is completed. Learn more at [Multitasking](https://www.twilio.com/docs/taskrouter/multitasking).", - "type": "boolean" - }, - "PrioritizeQueueOrder": { - "description": "The type of TaskQueue to prioritize when Workers are receiving Tasks from both types of TaskQueues. Can be: `LIFO` or `FIFO` and the default is `FIFO`. For more information, see [Queue Ordering](https://www.twilio.com/docs/taskrouter/queue-ordering-last-first-out-lifo).", - "enum": [ - "FIFO", - "LIFO" - ], - "type": "string" - }, - "Template": { - "description": "An available template name. Can be: `NONE` or `FIFO` and the default is `NONE`. Pre-configures the Workspace with the Workflow and Activities specified in the template. `NONE` will create a Workspace with only a set of default activities. `FIFO` will configure TaskRouter with a set of default activities and a single TaskQueue for first-in, first-out distribution, which can be useful when you are getting started with TaskRouter.", - "type": "string" - } - }, - "required": [ - "FriendlyName" - ], - "title": "CreateWorkspaceRequest", - "type": "object" - } - } + "parameters": [ + { + "name": "WorkspaceSid", + "in": "path", + "description": "The SID of the Workspace with the Activity resources to update.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the Activity resource to update.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WA[0-9a-fA-F]{32}$" + }, + "required": true } - }, + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace" + "$ref": "#/components/schemas/taskrouter.v1.workspace.activity" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -2119,40 +2081,53 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateActivity", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://taskrouter.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "prioritize_queue_order" ], - "pathType": "list" - } - }, - "/v1/Workspaces/{Sid}": { + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateActivityRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the Activity resource. It can be up to 64 characters long. These names are used to calculate and expose statistics about Workers, and provide visibility into the state of each Worker. Examples of friendly names include: `on-call`, `break`, and `email`." + } + } + } + } + } + } + }, "delete": { "description": "", - "operationId": "DeleteWorkspace", "parameters": [ { - "description": "The SID of the Workspace resource to delete.", + "name": "WorkspaceSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the Workspace with the Activity resources to delete.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the Activity resource to delete.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WA[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2165,194 +2140,67 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteActivity", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Workspaces/{WorkspaceSid}/Activities": { + "servers": [ + { + "url": "https://taskrouter.twilio.com" + } + ], "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "date_created" + ], + "pathType": "list", + "parent": "/Workspaces" + }, "get": { "description": "", - "operationId": "FetchWorkspace", "parameters": [ { - "description": "The SID of the Workspace resource to fetch.", + "name": "WorkspaceSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the Workspace with the Activity resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace" - } - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" }, - "description": "OK" - } - }, - "security": [ + "required": true + }, { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "", - "operationId": "UpdateWorkspace", - "parameters": [ - { - "description": "The SID of the Workspace resource to update.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "DefaultActivitySid": { - "description": "The SID of the Activity that will be used when new Workers are created in the Workspace.", - "maxLength": 34, - "minLength": 34, - "pattern": "^WA[0-9a-fA-F]{32}$", - "type": "string" - }, - "EventCallbackUrl": { - "description": "The URL we should call when an event occurs. See [Workspace Events](https://www.twilio.com/docs/taskrouter/api/event) for more information. This parameter supports Twilio's [Webhooks (HTTP callbacks) Connection Overrides](https://www.twilio.com/docs/usage/webhooks/webhooks-connection-overrides).", - "format": "uri", - "type": "string" - }, - "EventsFilter": { - "description": "The list of Workspace events for which to call event_callback_url. For example if `EventsFilter=task.created,task.canceled,worker.activity.update`, then TaskRouter will call event_callback_url only when a task is created, canceled, or a Worker activity is updated.", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the Workspace resource. For example: `Sales Call Center` or `Customer Support Team`.", - "type": "string" - }, - "MultiTaskEnabled": { - "description": "Whether to enable multi-tasking. Can be: `true` to enable multi-tasking, or `false` to disable it. However, all workspaces should be maintained as multi-tasking. There is no default when omitting this parameter. A multi-tasking Workspace can't be updated to single-tasking unless it is not a Flex Project and another (legacy) single-tasking Workspace exists. Multi-tasking allows Workers to handle multiple Tasks simultaneously. In multi-tasking mode, each Worker can receive parallel reservations up to the per-channel maximums defined in the Workers section. In single-tasking mode (legacy mode), each Worker will only receive a new reservation when the previous task is completed. Learn more at [Multitasking](https://www.twilio.com/docs/taskrouter/multitasking).", - "type": "boolean" - }, - "PrioritizeQueueOrder": { - "description": "The type of TaskQueue to prioritize when Workers are receiving Tasks from both types of TaskQueues. Can be: `LIFO` or `FIFO`. For more information, see [Queue Ordering](https://www.twilio.com/docs/taskrouter/queue-ordering-last-first-out-lifo).", - "enum": [ - "FIFO", - "LIFO" - ], - "type": "string" - }, - "TimeoutActivitySid": { - "description": "The SID of the Activity that will be assigned to a Worker when a Task reservation times out without a response.", - "maxLength": 34, - "minLength": 34, - "pattern": "^WA[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "title": "UpdateWorkspaceRequest", - "type": "object" - } - } - } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://taskrouter.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "prioritize_queue_order" - ], - "pathType": "instance" - } - }, - "/v1/Workspaces/{WorkspaceSid}/Activities": { - "description": "TODO: Resource-level docs", - "get": { - "description": "", - "operationId": "ListActivity", - "parameters": [ - { - "description": "The SID of the Workspace with the Activity resources to read.", - "in": "path", - "name": "WorkspaceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The `friendly_name` of the Activity resources to read.", - "in": "query", "name": "FriendlyName", + "in": "query", + "description": "The `friendly_name` of the Activity resources to read.", "schema": { "type": "string" } }, { - "description": "Whether return only Activity resources that are available or unavailable. A value of `true` returns only available activities. Values of '1' or `yes` also indicate `true`. All other values represent `false` and return activities that are unavailable.", - "in": "query", "name": "Available", + "in": "query", + "description": "Whether return only Activity resources that are available or unavailable. A value of `true` returns only available activities. Values of '1' or `yes` also indicate `true`. All other values represent `false` and return activities that are unavailable.", "schema": { "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", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -2361,25 +2209,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListActivityResponse", "properties": { "activities": { + "type": "array", "items": { "$ref": "#/components/schemas/taskrouter.v1.workspace.activity" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -2388,19 +2236,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListActivityResponse", - "type": "object" + } } } }, @@ -2412,50 +2260,27 @@ "accountSid_authToken": [] } ], + "operationId": "ListActivity", "x-maturity": [ "GA" ] }, "post": { "description": "", - "operationId": "CreateActivity", "parameters": [ { - "description": "The SID of the Workspace that the new Activity belongs to.", - "in": "path", "name": "WorkspaceSid", - "required": true, + "in": "path", + "description": "The SID of the Workspace that the new Activity belongs to.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Available": { - "description": "Whether the Worker should be eligible to receive a Task when it occupies the Activity. A value of `true`, `1`, or `yes` specifies the Activity is available. All other values specify that it is not. The value cannot be changed after the Activity is created.", - "type": "boolean" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the Activity resource. It can be up to 64 characters long. These names are used to calculate and expose statistics about Workers, and provide visibility into the state of each Worker. Examples of friendly names include: `on-call`, `break`, and `email`.", - "type": "string" - } - }, - "required": [ - "FriendlyName" - ], - "title": "CreateActivityRequest", - "type": "object" - } - } - } - }, "responses": { "201": { "content": { @@ -2473,58 +2298,89 @@ "accountSid_authToken": [] } ], + "operationId": "CreateActivity", "x-maturity": [ "GA" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateActivityRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the Activity resource. It can be up to 64 characters long. These names are used to calculate and expose statistics about Workers, and provide visibility into the state of each Worker. Examples of friendly names include: `on-call`, `break`, and `email`." + }, + "Available": { + "type": "boolean", + "description": "Whether the Worker should be eligible to receive a Task when it occupies the Activity. A value of `true`, `1`, or `yes` specifies the Activity is available. All other values specify that it is not. The value cannot be changed after the Activity is created." + } + }, + "required": [ + "FriendlyName" + ] + } + } + } + } + } + }, + "/v1/Workspaces/{WorkspaceSid}/Events/{Sid}": { "servers": [ { "url": "https://taskrouter.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", - "friendly_name", - "date_created" + "description", + "event_date" ], - "parent": "/Workspaces", - "pathType": "list" - } - }, - "/v1/Workspaces/{WorkspaceSid}/Activities/{Sid}": { - "delete": { + "pathType": "instance", + "parent": "/Workspaces" + }, + "get": { "description": "", - "operationId": "DeleteActivity", "parameters": [ { - "description": "The SID of the Workspace with the Activity resources to delete.", - "in": "path", "name": "WorkspaceSid", - "required": true, + "in": "path", + "description": "The SID of the Workspace with the Event to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the Activity resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Event resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WA[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^EV[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/taskrouter.v1.workspace.event" + } + } + }, + "description": "OK" } }, "security": [ @@ -2532,38 +2388,160 @@ "accountSid_authToken": [] } ], + "operationId": "FetchEvent", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Workspaces/{WorkspaceSid}/Events": { + "servers": [ + { + "url": "https://taskrouter.twilio.com" + } + ], "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "description", + "event_date" + ], + "pathType": "list", + "parent": "/Workspaces" + }, "get": { "description": "", - "operationId": "FetchActivity", "parameters": [ { - "description": "The SID of the Workspace with the Activity resources to fetch.", - "in": "path", "name": "WorkspaceSid", - "required": true, + "in": "path", + "description": "The SID of the Workspace with the Events to read. Returns only the Events that pertain to the specified Workspace.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the Activity resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, + "name": "EndDate", + "in": "query", + "description": "Only include Events that occurred on or before this date, specified in GMT as an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "EventType", + "in": "query", + "description": "The type of Events to read. Returns only Events of the type specified.", + "schema": { + "type": "string" + } + }, + { + "name": "Minutes", + "in": "query", + "description": "The period of events to read in minutes. Returns only Events that occurred since this many minutes in the past. The default is `15` minutes. Task Attributes for Events occuring more 43,200 minutes ago will be redacted.", + "schema": { + "type": "integer" + } + }, + { + "name": "ReservationSid", + "in": "query", + "description": "The SID of the Reservation with the Events to read. Returns only Events that pertain to the specified Reservation.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WR[0-9a-fA-F]{32}$" + } + }, + { + "name": "StartDate", + "in": "query", + "description": "Only include Events from on or after this date and time, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. Task Attributes for Events older than 30 days will be redacted.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "TaskQueueSid", + "in": "query", + "description": "The SID of the TaskQueue with the Events to read. Returns only the Events that pertain to the specified TaskQueue.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WQ[0-9a-fA-F]{32}$" + } + }, + { + "name": "TaskSid", + "in": "query", + "description": "The SID of the Task with the Events to read. Returns only the Events that pertain to the specified Task.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WT[0-9a-fA-F]{32}$" + } + }, + { + "name": "WorkerSid", + "in": "query", + "description": "The SID of the Worker with the Events to read. Returns only the Events that pertain to the specified Worker.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^WK[0-9a-fA-F]{32}$" + } + }, + { + "name": "WorkflowSid", + "in": "query", + "description": "The SID of the Workflow with the Events to read. Returns only the Events that pertain to the specified Workflow.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^WA[0-9a-fA-F]{32}$", + "maxLength": 34, + "pattern": "^WW[0-9a-fA-F]{32}$" + } + }, + { + "name": "TaskChannel", + "in": "query", + "description": "The TaskChannel with the Events to read. Returns only the Events that pertain to the specified TaskChannel.", + "schema": { "type": "string" } + }, + { + "name": "Sid", + "in": "query", + "description": "The SID of the Event resource to read.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^EV[0-9a-fA-F]{32}$" + } + }, + { + "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 + } } ], "responses": { @@ -2571,7 +2549,46 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.activity" + "type": "object", + "title": "ListEventResponse", + "properties": { + "events": { + "type": "array", + "items": { + "$ref": "#/components/schemas/taskrouter.v1.workspace.event" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -2583,61 +2600,64 @@ "accountSid_authToken": [] } ], + "operationId": "ListEvent", "x-maturity": [ "GA" ] + } + }, + "/v1/Workspaces/{WorkspaceSid}/Tasks/{Sid}": { + "servers": [ + { + "url": "https://taskrouter.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "age", + "assignment_status", + "priority", + "reason" + ], + "pathType": "instance", + "parent": "/Workspaces" }, - "post": { + "get": { "description": "", - "operationId": "UpdateActivity", "parameters": [ { - "description": "The SID of the Workspace with the Activity resources to update.", - "in": "path", "name": "WorkspaceSid", - "required": true, + "in": "path", + "description": "The SID of the Workspace with the Task to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the Activity resource to update.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Task resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WA[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WT[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "FriendlyName": { - "description": "A descriptive string that you create to describe the Activity resource. It can be up to 64 characters long. These names are used to calculate and expose statistics about Workers, and provide visibility into the state of each Worker. Examples of friendly names include: `on-call`, `break`, and `email`.", - "type": "string" - } - }, - "title": "UpdateActivityRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.activity" + "$ref": "#/components/schemas/taskrouter.v1.workspace.task" } } }, @@ -2649,81 +2669,42 @@ "accountSid_authToken": [] } ], + "operationId": "FetchTask", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://taskrouter.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "date_created" - ], - "parent": "/Workspaces", - "pathType": "instance" - } - }, - "/v1/Workspaces/{WorkspaceSid}/CumulativeStatistics": { - "description": "TODO: Resource-level docs", - "get": { + "post": { "description": "", - "operationId": "FetchWorkspaceCumulativeStatistics", "parameters": [ { - "description": "The SID of the Workspace to fetch.", - "in": "path", "name": "WorkspaceSid", - "required": true, + "in": "path", + "description": "The SID of the Workspace with the Task to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "Only include usage that occurred on or before this date, specified in GMT as an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time.", - "in": "query", - "name": "EndDate", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "description": "Only calculate statistics since this many minutes in the past. The default 15 minutes. This is helpful for displaying statistics for the last 15 minutes, 240 minutes (4 hours), and 480 minutes (8 hours) to see trends.", - "in": "query", - "name": "Minutes", - "schema": { - "type": "integer" - } - }, - { - "description": "Only calculate statistics from this date and time and later, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.", - "in": "query", - "name": "StartDate", - "schema": { - "format": "date-time", - "type": "string" - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "Only calculate cumulative statistics on this TaskChannel. Can be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or `default`.", - "in": "query", - "name": "TaskChannel", + "name": "Sid", + "in": "path", + "description": "The SID of the Task resource to update.", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WT[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "A comma separated list of values that describes the thresholds, in seconds, to calculate statistics on. For each threshold specified, the number of Tasks canceled and reservations accepted above and below the specified thresholds in seconds are computed. For example, `5,30` would show splits of Tasks that were canceled or accepted before and after 5 seconds and before and after 30 seconds. This can be used to show short abandoned Tasks or Tasks that failed to meet an SLA. TaskRouter will calculate statistics on up to 10,000 Tasks for any given threshold.", - "in": "query", - "name": "SplitByWaitTime", + "name": "If-Match", + "in": "header", + "description": "If provided, applies this mutation if (and only if) the [ETag](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag) header of the Task matches the provided value. This matches the semantics of (and is implemented with) the HTTP [If-Match header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Match).", "schema": { "type": "string" } @@ -2734,7 +2715,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.workspace_cumulative_statistics" + "$ref": "#/components/schemas/taskrouter.v1.workspace.task" } } }, @@ -2746,161 +2727,225 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateTask", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://taskrouter.twilio.com" - } - ], - "x-twilio": { - "className": "workspace_cumulative_statistics", - "defaultOutputProperties": [ - "start_time", - "end_time", - "avg_task_acceptance_time", - "tasks_completed" ], - "parent": "/Workspaces", - "pathType": "instance" - } - }, - "/v1/Workspaces/{WorkspaceSid}/Events": { - "description": "TODO: Resource-level docs", - "get": { + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateTaskRequest", + "properties": { + "Attributes": { + "type": "string", + "description": "The JSON string that describes the custom attributes of the task." + }, + "AssignmentStatus": { + "type": "string", + "enum": [ + "pending", + "reserved", + "assigned", + "canceled", + "completed", + "wrapping" + ], + "description": "The new status of the task. Can be: `canceled`, to cancel a Task that is currently `pending` or `reserved`; `wrapping`, to move the Task to wrapup state; or `completed`, to move a Task to the completed state." + }, + "Reason": { + "type": "string", + "description": "The reason that the Task was canceled or completed. This parameter is required only if the Task is canceled or completed. Setting this value queues the task for deletion and logs the reason." + }, + "Priority": { + "type": "integer", + "description": "The Task's new priority value. When supplied, the Task takes on the specified priority unless it matches a Workflow Target with a Priority set. Value can be 0 to 2^31^ (2,147,483,647)." + }, + "TaskChannel": { + "type": "string", + "description": "When MultiTasking is enabled, specify the TaskChannel with the task to update. Can be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or `default`." + } + } + } + } + } + } + }, + "delete": { "description": "", - "operationId": "ListEvent", "parameters": [ { - "description": "The SID of the Workspace with the Events to read. Returns only the Events that pertain to the specified Workspace.", - "in": "path", "name": "WorkspaceSid", - "required": true, + "in": "path", + "description": "The SID of the Workspace with the Task to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "Only include Events that occurred on or before this date, specified in GMT as an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time.", - "in": "query", - "name": "EndDate", + "name": "Sid", + "in": "path", + "description": "The SID of the Task resource to delete.", "schema": { - "format": "date-time", - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WT[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The type of Events to read. Returns only Events of the type specified.", - "in": "query", - "name": "EventType", + "name": "If-Match", + "in": "header", + "description": "If provided, deletes this Task if (and only if) the [ETag](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag) header of the Task matches the provided value. This matches the semantics of (and is implemented with) the HTTP [If-Match header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Match).", "schema": { "type": "string" } + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteTask", + "x-maturity": [ + "GA" + ] + } + }, + "/v1/Workspaces/{WorkspaceSid}/Tasks": { + "servers": [ + { + "url": "https://taskrouter.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "age", + "assignment_status", + "priority", + "reason" + ], + "pathType": "list", + "parent": "/Workspaces" + }, + "get": { + "description": "", + "parameters": [ + { + "name": "WorkspaceSid", + "in": "path", + "description": "The SID of the Workspace with the Tasks to read.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The period of events to read in minutes. Returns only Events that occurred since this many minutes in the past. The default is `15` minutes. Task Attributes for Events occuring more 43,200 minutes ago will be redacted.", + "name": "Priority", "in": "query", - "name": "Minutes", + "description": "The priority value of the Tasks to read. Returns the list of all Tasks in the Workspace with the specified priority.", "schema": { "type": "integer" } }, { - "description": "The SID of the Reservation with the Events to read. Returns only Events that pertain to the specified Reservation.", + "name": "AssignmentStatus", "in": "query", - "name": "ReservationSid", + "description": "The `assignment_status` of the Tasks you want to read. Can be: `pending`, `reserved`, `assigned`, `canceled`, `wrapping`, or `completed`. Returns all Tasks in the Workspace with the specified `assignment_status`.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WR[0-9a-fA-F]{32}$", - "type": "string" + "type": "array", + "items": { + "type": "string" + } } }, { - "description": "Only include Events from on or after this date and time, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. Task Attributes for Events older than 30 days will be redacted.", + "name": "WorkflowSid", "in": "query", - "name": "StartDate", + "description": "The SID of the Workflow with the Tasks to read. Returns the Tasks controlled by the Workflow identified by this SID.", "schema": { - "format": "date-time", - "type": "string" + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WW[0-9a-fA-F]{32}$" } }, { - "description": "The SID of the TaskQueue with the Events to read. Returns only the Events that pertain to the specified TaskQueue.", + "name": "WorkflowName", "in": "query", - "name": "TaskQueueSid", + "description": "The friendly name of the Workflow with the Tasks to read. Returns the Tasks controlled by the Workflow identified by this friendly name.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WQ[0-9a-fA-F]{32}$", "type": "string" } }, { - "description": "The SID of the Task with the Events to read. Returns only the Events that pertain to the specified Task.", + "name": "TaskQueueSid", "in": "query", - "name": "TaskSid", + "description": "The SID of the TaskQueue with the Tasks to read. Returns the Tasks waiting in the TaskQueue identified by this SID.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WT[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^WQ[0-9a-fA-F]{32}$" } }, { - "description": "The SID of the Worker with the Events to read. Returns only the Events that pertain to the specified Worker.", + "name": "TaskQueueName", "in": "query", - "name": "WorkerSid", + "description": "The `friendly_name` of the TaskQueue with the Tasks to read. Returns the Tasks waiting in the TaskQueue identified by this friendly name.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WK[0-9a-fA-F]{32}$", "type": "string" } }, { - "description": "The SID of the Workflow with the Events to read. Returns only the Events that pertain to the specified Workflow.", + "name": "EvaluateTaskAttributes", "in": "query", - "name": "WorkflowSid", + "description": "The attributes of the Tasks to read. Returns the Tasks that match the attributes specified in this parameter.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WW[0-9a-fA-F]{32}$", "type": "string" } }, { - "description": "The TaskChannel with the Events to read. Returns only the Events that pertain to the specified TaskChannel.", + "name": "Ordering", "in": "query", - "name": "TaskChannel", + "description": "How to order the returned Task resources. y default, Tasks are sorted by ascending DateCreated. This value is specified as: `Attribute:Order`, where `Attribute` can be either `Priority` or `DateCreated` and `Order` can be either `asc` or `desc`. For example, `Priority:desc` returns Tasks ordered in descending order of their Priority. Multiple sort orders can be specified in a comma-separated list such as `Priority:desc,DateCreated:asc`, which returns the Tasks in descending Priority order and ascending DateCreated Order.", "schema": { "type": "string" } }, { - "description": "The SID of the Event resource to read.", + "name": "HasAddons", "in": "query", - "name": "Sid", + "description": "Whether to read Tasks with addons. If `true`, returns only Tasks with addons. If `false`, returns only Tasks without addons.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^EV[0-9a-fA-F]{32}$", - "type": "string" + "type": "boolean" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -2909,25 +2954,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListTaskResponse", "properties": { - "events": { + "tasks": { + "type": "array", "items": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.event" - }, - "type": "array" + "$ref": "#/components/schemas/taskrouter.v1.workspace.task" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -2936,19 +2981,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListEventResponse", - "type": "object" + } } } }, @@ -2960,66 +3005,37 @@ "accountSid_authToken": [] } ], + "operationId": "ListTask", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://taskrouter.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "description", - "event_date" - ], - "parent": "/Workspaces", - "pathType": "list" - } - }, - "/v1/Workspaces/{WorkspaceSid}/Events/{Sid}": { - "description": "TODO: Resource-level docs", - "get": { + "post": { "description": "", - "operationId": "FetchEvent", "parameters": [ { - "description": "The SID of the Workspace with the Event to fetch.", - "in": "path", "name": "WorkspaceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the Event resource to fetch.", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the Workspace that the new Task belongs to.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^EV[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.event" + "$ref": "#/components/schemas/taskrouter.v1.workspace.task" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -3027,50 +3043,86 @@ "accountSid_authToken": [] } ], + "operationId": "CreateTask", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://taskrouter.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "description", - "event_date" ], - "parent": "/Workspaces", - "pathType": "instance" + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateTaskRequest", + "properties": { + "Timeout": { + "type": "integer", + "description": "The amount of time in seconds the new task can live before being assigned. Can be up to a maximum of 2 weeks (1,209,600 seconds). The default value is 24 hours (86,400 seconds). On timeout, the `task.canceled` event will fire with description `Task TTL Exceeded`." + }, + "Priority": { + "type": "integer", + "description": "The priority to assign the new task and override the default. When supplied, the new Task will have this priority unless it matches a Workflow Target with a Priority set. When not supplied, the new Task will have the priority of the matching Workflow Target. Value can be 0 to 2^31^ (2,147,483,647)." + }, + "TaskChannel": { + "type": "string", + "description": "When MultiTasking is enabled, specify the TaskChannel by passing either its `unique_name` or `sid`. Default value is `default`." + }, + "WorkflowSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WW[0-9a-fA-F]{32}$", + "description": "The SID of the Workflow that you would like to handle routing for the new Task. If there is only one Workflow defined for the Workspace that you are posting the new task to, this parameter is optional." + }, + "Attributes": { + "type": "string", + "description": "A URL-encoded JSON string with the attributes of the new task. This value is passed to the Workflow's `assignment_callback_url` when the Task is assigned to a Worker. For example: `{ \"task_type\": \"call\", \"twilio_call_sid\": \"CAxxx\", \"customer_ticket_number\": \"12345\" }`." + } + } + } + } + } + } } }, - "/v1/Workspaces/{WorkspaceSid}/RealTimeStatistics": { - "description": "TODO: Resource-level docs", + "/v1/Workspaces/{WorkspaceSid}/TaskChannels/{Sid}": { + "servers": [ + { + "url": "https://taskrouter.twilio.com" + } + ], + "description": "Types of tasks", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "date_created" + ], + "pathType": "instance", + "parent": "/Workspaces" + }, "get": { "description": "", - "operationId": "FetchWorkspaceRealTimeStatistics", "parameters": [ { - "description": "The SID of the Workspace to fetch.", - "in": "path", "name": "WorkspaceSid", - "required": true, + "in": "path", + "description": "The SID of the Workspace with the Task Channel to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "Only calculate real-time statistics on this TaskChannel. Can be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or `default`.", - "in": "query", - "name": "TaskChannel", + "name": "Sid", + "in": "path", + "description": "The SID of the Task Channel resource to fetch.", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -3078,7 +3130,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.workspace_real_time_statistics" + "$ref": "#/components/schemas/taskrouter.v1.workspace.task_channel" } } }, @@ -3090,85 +3142,34 @@ "accountSid_authToken": [] } ], + "operationId": "FetchTaskChannel", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://taskrouter.twilio.com" - } - ], - "x-twilio": { - "className": "workspace_real_time_statistics", - "defaultOutputProperties": [ - "longest_task_waiting_age", - "longest_task_waiting_sid", - "total_tasks" - ], - "parent": "/Workspaces", - "pathType": "instance" - } - }, - "/v1/Workspaces/{WorkspaceSid}/Statistics": { - "description": "TODO: Resource-level docs", - "get": { + "post": { "description": "", - "operationId": "FetchWorkspaceStatistics", "parameters": [ { - "description": "The SID of the Workspace to fetch.", - "in": "path", "name": "WorkspaceSid", - "required": true, + "in": "path", + "description": "The SID of the Workspace with the Task Channel to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "Only calculate statistics since this many minutes in the past. The default 15 minutes. This is helpful for displaying statistics for the last 15 minutes, 240 minutes (4 hours), and 480 minutes (8 hours) to see trends.", - "in": "query", - "name": "Minutes", - "schema": { - "type": "integer" - } - }, - { - "description": "Only calculate statistics from this date and time and later, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.", - "in": "query", - "name": "StartDate", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "description": "Only calculate statistics from this date and time and earlier, specified in GMT as an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time.", - "in": "query", - "name": "EndDate", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "description": "Only calculate statistics on this TaskChannel. Can be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or `default`.", - "in": "query", - "name": "TaskChannel", - "schema": { - "type": "string" - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "A comma separated list of values that describes the thresholds, in seconds, to calculate statistics on. For each threshold specified, the number of Tasks canceled and reservations accepted above and below the specified thresholds in seconds are computed. For example, `5,30` would show splits of Tasks that were canceled or accepted before and after 5 seconds and before and after 30 seconds. This can be used to show short abandoned Tasks or Tasks that failed to meet an SLA.", - "in": "query", - "name": "SplitByWaitTime", + "name": "Sid", + "in": "path", + "description": "The SID of the Task Channel resource to update.", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -3176,7 +3177,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.workspace_statistics" + "$ref": "#/components/schemas/taskrouter.v1.workspace.task_channel" } } }, @@ -3188,50 +3189,111 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateTaskChannel", "x-maturity": [ "GA" - ] + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateTaskChannelRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the Task Channel. It can be up to 64 characters long." + }, + "ChannelOptimizedRouting": { + "type": "boolean", + "description": "Whether the TaskChannel should prioritize Workers that have been idle. If `true`, Workers that have been idle the longest are prioritized." + } + } + } + } + } + } }, + "delete": { + "description": "", + "parameters": [ + { + "name": "WorkspaceSid", + "in": "path", + "description": "The SID of the Workspace with the Task Channel to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the Task Channel resource to delete.", + "schema": { + "type": "string" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteTaskChannel", + "x-maturity": [ + "GA" + ] + } + }, + "/v1/Workspaces/{WorkspaceSid}/TaskChannels": { "servers": [ { "url": "https://taskrouter.twilio.com" } ], + "description": "Types of tasks", "x-twilio": { - "className": "workspace_statistics", "defaultOutputProperties": [ - "cumulative" + "sid", + "friendly_name", + "date_created" ], - "parent": "/Workspaces", - "pathType": "instance" - } - }, - "/v1/Workspaces/{WorkspaceSid}/TaskChannels": { - "description": "Types of tasks", + "pathType": "list", + "parent": "/Workspaces" + }, "get": { "description": "", - "operationId": "ListTaskChannel", "parameters": [ { - "description": "The SID of the Workspace with the Task Channel to read.", - "in": "path", "name": "WorkspaceSid", - "required": true, + "in": "path", + "description": "The SID of the Workspace with the Task Channel to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -3240,25 +3302,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListTaskChannelResponse", "properties": { "channels": { + "type": "array", "items": { "$ref": "#/components/schemas/taskrouter.v1.workspace.task_channel" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -3267,19 +3329,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListTaskChannelResponse", - "type": "object" + } } } }, @@ -3291,55 +3353,27 @@ "accountSid_authToken": [] } ], + "operationId": "ListTaskChannel", "x-maturity": [ "GA" ] }, "post": { "description": "", - "operationId": "CreateTaskChannel", "parameters": [ { - "description": "The SID of the Workspace that the new Task Channel belongs to.", - "in": "path", "name": "WorkspaceSid", - "required": true, + "in": "path", + "description": "The SID of the Workspace that the new Task Channel belongs to.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "ChannelOptimizedRouting": { - "description": "Whether the Task Channel should prioritize Workers that have been idle. If `true`, Workers that have been idle the longest are prioritized.", - "type": "boolean" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the Task Channel. It can be up to 64 characters long.", - "type": "string" - }, - "UniqueName": { - "description": "An application-defined string that uniquely identifies the Task Channel, such as `voice` or `sms`.", - "type": "string" - } - }, - "required": [ - "FriendlyName", - "UniqueName" - ], - "title": "CreateTaskChannelRequest", - "type": "object" - } - } - } - }, "responses": { "201": { "content": { @@ -3357,55 +3391,94 @@ "accountSid_authToken": [] } ], + "operationId": "CreateTaskChannel", "x-maturity": [ "GA" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateTaskChannelRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the Task Channel. It can be up to 64 characters long." + }, + "UniqueName": { + "type": "string", + "description": "An application-defined string that uniquely identifies the Task Channel, such as `voice` or `sms`." + }, + "ChannelOptimizedRouting": { + "type": "boolean", + "description": "Whether the Task Channel should prioritize Workers that have been idle. If `true`, Workers that have been idle the longest are prioritized." + } + }, + "required": [ + "FriendlyName", + "UniqueName" + ] + } + } + } + } + } + }, + "/v1/Workspaces/{WorkspaceSid}/TaskQueues/{Sid}": { "servers": [ { "url": "https://taskrouter.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name", - "date_created" + "task_order" ], - "parent": "/Workspaces", - "pathType": "list" - } - }, - "/v1/Workspaces/{WorkspaceSid}/TaskChannels/{Sid}": { - "delete": { + "pathType": "instance", + "parent": "/Workspaces" + }, + "get": { "description": "", - "operationId": "DeleteTaskChannel", "parameters": [ { - "description": "The SID of the Workspace with the Task Channel to delete.", - "in": "path", "name": "WorkspaceSid", - "required": true, + "in": "path", + "description": "The SID of the Workspace with the TaskQueue to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the Task Channel resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the TaskQueue resource to fetch.", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WQ[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/taskrouter.v1.workspace.task_queue" + } + } + }, + "description": "OK" } }, "security": [ @@ -3413,35 +3486,37 @@ "accountSid_authToken": [] } ], + "operationId": "FetchTaskQueue", "x-maturity": [ "GA" ] }, - "description": "Types of tasks", - "get": { + "post": { "description": "", - "operationId": "FetchTaskChannel", "parameters": [ { - "description": "The SID of the Workspace with the Task Channel to fetch.", - "in": "path", "name": "WorkspaceSid", - "required": true, + "in": "path", + "description": "The SID of the Workspace with the TaskQueue to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the Task Channel resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the TaskQueue resource to update.", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WQ[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -3449,7 +3524,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.task_channel" + "$ref": "#/components/schemas/taskrouter.v1.workspace.task_queue" } } }, @@ -3461,66 +3536,88 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateTaskQueue", "x-maturity": [ "GA" - ] + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateTaskQueueRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the TaskQueue. For example `Support-Tier 1`, `Sales`, or `Escalation`." + }, + "TargetWorkers": { + "type": "string", + "description": "A string describing the Worker selection criteria for any Tasks that enter the TaskQueue. For example '\"language\" == \"spanish\"' If no TargetWorkers parameter is provided, Tasks will wait in the queue until they are either deleted or moved to another queue. Additional examples on how to describing Worker selection criteria below." + }, + "ReservationActivitySid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WA[0-9a-fA-F]{32}$", + "description": "The SID of the Activity to assign Workers when a task is reserved for them." + }, + "AssignmentActivitySid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WA[0-9a-fA-F]{32}$", + "description": "The SID of the Activity to assign Workers when a task is assigned for them." + }, + "MaxReservedWorkers": { + "type": "integer", + "description": "The maximum number of Workers to create reservations for the assignment of a task while in the queue. Maximum of 50." + }, + "TaskOrder": { + "type": "string", + "enum": [ + "FIFO", + "LIFO" + ], + "description": "How Tasks will be assigned to Workers. Can be: `FIFO` or `LIFO` and the default is `FIFO`. Use `FIFO` to assign the oldest task first and `LIFO` to assign the most recent task first. For more information, see [Queue Ordering](https://www.twilio.com/docs/taskrouter/queue-ordering-last-first-out-lifo)." + } + } + } + } + } + } }, - "post": { + "delete": { "description": "", - "operationId": "UpdateTaskChannel", "parameters": [ { - "description": "The SID of the Workspace with the Task Channel to update.", - "in": "path", "name": "WorkspaceSid", - "required": true, + "in": "path", + "description": "The SID of the Workspace with the TaskQueue to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the Task Channel resource to update.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the TaskQueue resource to delete.", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WQ[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "ChannelOptimizedRouting": { - "description": "Whether the TaskChannel should prioritize Workers that have been idle. If `true`, Workers that have been idle the longest are prioritized.", - "type": "boolean" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the Task Channel. It can be up to 64 characters long.", - "type": "string" - } - }, - "title": "UpdateTaskChannelRequest", - "type": "object" - } - } - } - }, "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.task_channel" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -3528,78 +3625,78 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteTaskQueue", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Workspaces/{WorkspaceSid}/TaskQueues": { "servers": [ { "url": "https://taskrouter.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name", - "date_created" + "task_order" ], - "parent": "/Workspaces", - "pathType": "instance" - } - }, - "/v1/Workspaces/{WorkspaceSid}/TaskQueues": { - "description": "TODO: Resource-level docs", + "pathType": "list", + "parent": "/Workspaces" + }, "get": { "description": "", - "operationId": "ListTaskQueue", "parameters": [ { - "description": "The SID of the Workspace with the TaskQueue to read.", - "in": "path", "name": "WorkspaceSid", - "required": true, + "in": "path", + "description": "The SID of the Workspace with the TaskQueue to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The `friendly_name` of the TaskQueue resources to read.", - "in": "query", "name": "FriendlyName", + "in": "query", + "description": "The `friendly_name` of the TaskQueue resources to read.", "schema": { "type": "string" } }, { - "description": "The attributes of the Workers to read. Returns the TaskQueues with Workers that match the attributes specified in this parameter.", - "in": "query", "name": "EvaluateWorkerAttributes", + "in": "query", + "description": "The attributes of the Workers to read. Returns the TaskQueues with Workers that match the attributes specified in this parameter.", "schema": { "type": "string" } }, { - "description": "The SID of the Worker with the TaskQueue resources to read.", - "in": "query", "name": "WorkerSid", + "in": "query", + "description": "The SID of the Worker with the TaskQueue resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WK[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^WK[0-9a-fA-F]{32}$" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -3608,19 +3705,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListTaskQueueResponse", "properties": { + "task_queues": { + "type": "array", + "items": { + "$ref": "#/components/schemas/taskrouter.v1.workspace.task_queue" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -3629,25 +3732,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "task_queues": { - "items": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.task_queue" - }, - "type": "array" + } } - }, - "title": "ListTaskQueueResponse", - "type": "object" + } } } }, @@ -3659,188 +3756,184 @@ "accountSid_authToken": [] } ], + "operationId": "ListTaskQueue", "x-maturity": [ "GA" ] }, "post": { "description": "", - "operationId": "CreateTaskQueue", "parameters": [ { - "description": "The SID of the Workspace that the new TaskQueue belongs to.", - "in": "path", "name": "WorkspaceSid", - "required": true, + "in": "path", + "description": "The SID of the Workspace that the new TaskQueue belongs to.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/taskrouter.v1.workspace.task_queue" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateTaskQueue", + "x-maturity": [ + "GA" + ], + "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateTaskQueueRequest", "properties": { - "AssignmentActivitySid": { - "description": "The SID of the Activity to assign Workers when a task is assigned to them.", - "maxLength": 34, - "minLength": 34, - "pattern": "^WA[0-9a-fA-F]{32}$", - "type": "string" - }, "FriendlyName": { - "description": "A descriptive string that you create to describe the TaskQueue. For example `Support-Tier 1`, `Sales`, or `Escalation`.", - "type": "string" - }, - "MaxReservedWorkers": { - "description": "The maximum number of Workers to reserve for the assignment of a Task in the queue. Can be an integer between 1 and 50, inclusive and defaults to 1.", - "type": "integer" - }, - "ReservationActivitySid": { - "description": "The SID of the Activity to assign Workers when a task is reserved for them.", - "maxLength": 34, - "minLength": 34, - "pattern": "^WA[0-9a-fA-F]{32}$", - "type": "string" + "type": "string", + "description": "A descriptive string that you create to describe the TaskQueue. For example `Support-Tier 1`, `Sales`, or `Escalation`." }, "TargetWorkers": { - "description": "A string that describes the Worker selection criteria for any Tasks that enter the TaskQueue. For example, `'\"language\" == \"spanish\"'`. The default value is `1==1`. If this value is empty, Tasks will wait in the TaskQueue until they are deleted or moved to another TaskQueue. For more information about Worker selection, see [Describing Worker selection criteria](https://www.twilio.com/docs/taskrouter/api/taskqueues#target-workers).", - "type": "string" + "type": "string", + "description": "A string that describes the Worker selection criteria for any Tasks that enter the TaskQueue. For example, `'\"language\" == \"spanish\"'`. The default value is `1==1`. If this value is empty, Tasks will wait in the TaskQueue until they are deleted or moved to another TaskQueue. For more information about Worker selection, see [Describing Worker selection criteria](https://www.twilio.com/docs/taskrouter/api/taskqueues#target-workers)." + }, + "MaxReservedWorkers": { + "type": "integer", + "description": "The maximum number of Workers to reserve for the assignment of a Task in the queue. Can be an integer between 1 and 50, inclusive and defaults to 1." }, "TaskOrder": { - "description": "How Tasks will be assigned to Workers. Set this parameter to `LIFO` to assign most recently created Task first or FIFO to assign the oldest Task first. Default is `FIFO`. [Click here](https://www.twilio.com/docs/taskrouter/queue-ordering-last-first-out-lifo) to learn more.", + "type": "string", "enum": [ "FIFO", "LIFO" ], - "type": "string" + "description": "How Tasks will be assigned to Workers. Set this parameter to `LIFO` to assign most recently created Task first or FIFO to assign the oldest Task first. Default is `FIFO`. [Click here](https://www.twilio.com/docs/taskrouter/queue-ordering-last-first-out-lifo) to learn more." + }, + "ReservationActivitySid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WA[0-9a-fA-F]{32}$", + "description": "The SID of the Activity to assign Workers when a task is reserved for them." + }, + "AssignmentActivitySid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WA[0-9a-fA-F]{32}$", + "description": "The SID of the Activity to assign Workers when a task is assigned to them." } }, "required": [ "FriendlyName" - ], - "title": "CreateTaskQueueRequest", - "type": "object" + ] } } } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.task_queue" - } - } - }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, + } + } + }, + "/v1/Workspaces/{WorkspaceSid}/TaskQueues/{TaskQueueSid}/CumulativeStatistics": { "servers": [ { "url": "https://taskrouter.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ - "sid", - "friendly_name", - "task_order" + "start_time", + "end_time", + "avg_task_acceptance_time", + "tasks_completed" ], - "parent": "/Workspaces", - "pathType": "list" - } - }, - "/v1/Workspaces/{WorkspaceSid}/TaskQueues/Statistics": { - "description": "TODO: Resource-level docs", + "pathType": "instance", + "parent": "/Workspaces/{WorkspaceSid}/TaskQueues", + "className": "task_queue_cumulative_statistics" + }, "get": { "description": "", - "operationId": "ListTaskQueuesStatistics", "parameters": [ { - "description": "The SID of the Workspace with the TaskQueues to read.", - "in": "path", "name": "WorkspaceSid", - "required": true, + "in": "path", + "description": "The SID of the Workspace with the TaskQueue to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "Only calculate statistics from this date and time and earlier, specified in GMT as an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time.", - "in": "query", - "name": "EndDate", + "name": "TaskQueueSid", + "in": "path", + "description": "The SID of the TaskQueue for which to fetch statistics.", "schema": { - "format": "date-time", - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WQ[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The `friendly_name` of the TaskQueue statistics to read.", + "name": "EndDate", "in": "query", - "name": "FriendlyName", + "description": "Only calculate statistics from this date and time and earlier, specified in GMT as an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time.", "schema": { - "type": "string" + "type": "string", + "format": "date-time" } }, { - "description": "Only calculate statistics since this many minutes in the past. The default is 15 minutes.", - "in": "query", "name": "Minutes", + "in": "query", + "description": "Only calculate statistics since this many minutes in the past. The default is 15 minutes.", "schema": { "type": "integer" } }, { - "description": "Only calculate statistics from this date and time and later, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.", - "in": "query", "name": "StartDate", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "description": "Only calculate statistics on this TaskChannel. Can be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or `default`.", "in": "query", - "name": "TaskChannel", + "description": "Only calculate statistics from this date and time and later, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.", "schema": { - "type": "string" + "type": "string", + "format": "date-time" } }, { - "description": "A comma separated list of values that describes the thresholds, in seconds, to calculate statistics on. For each threshold specified, the number of Tasks canceled and reservations accepted above and below the specified thresholds in seconds are computed.", + "name": "TaskChannel", "in": "query", - "name": "SplitByWaitTime", + "description": "Only calculate cumulative statistics on this TaskChannel. Can be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or `default`.", "schema": { "type": "string" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", + "name": "SplitByWaitTime", "in": "query", - "name": "PageSize", + "description": "A comma separated list of values that describes the thresholds, in seconds, to calculate statistics on. For each threshold specified, the number of Tasks canceled and reservations accepted above and below the specified thresholds in seconds are computed. TaskRouter will calculate statistics on up to 10,000 Tasks/Reservations for any given threshold.", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" + "type": "string" } } ], @@ -3849,46 +3942,7 @@ "content": { "application/json": { "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "task_queues_statistics": { - "items": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.task_queue.task_queues_statistics" - }, - "type": "array" - } - }, - "title": "ListTaskQueuesStatisticsResponse", - "type": "object" + "$ref": "#/components/schemas/taskrouter.v1.workspace.task_queue.task_queue_cumulative_statistics" } } }, @@ -3900,57 +3954,75 @@ "accountSid_authToken": [] } ], + "operationId": "FetchTaskQueueCumulativeStatistics", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Workspaces/{WorkspaceSid}/TaskQueues/{TaskQueueSid}/RealTimeStatistics": { "servers": [ { "url": "https://taskrouter.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { - "className": "task_queues_statistics", "defaultOutputProperties": [ - "cumulative" + "longest_task_waiting_age", + "longest_task_waiting_sid", + "total_tasks" ], + "pathType": "instance", "parent": "/Workspaces/{WorkspaceSid}/TaskQueues", - "pathType": "list" - } - }, - "/v1/Workspaces/{WorkspaceSid}/TaskQueues/{Sid}": { - "delete": { + "className": "task_queue_real_time_statistics" + }, + "get": { "description": "", - "operationId": "DeleteTaskQueue", "parameters": [ { - "description": "The SID of the Workspace with the TaskQueue to delete.", - "in": "path", "name": "WorkspaceSid", - "required": true, + "in": "path", + "description": "The SID of the Workspace with the TaskQueue to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the TaskQueue resource to delete.", + "name": "TaskQueueSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the TaskQueue for which to fetch statistics.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WQ[0-9a-fA-F]{32}$", + "maxLength": 34, + "pattern": "^WQ[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "TaskChannel", + "in": "query", + "description": "The TaskChannel for which to fetch statistics. Can be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or `default`.", + "schema": { "type": "string" } } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/taskrouter.v1.workspace.task_queue.task_queue_real_time_statistics" + } + } + }, + "description": "OK" } }, "security": [ @@ -3958,142 +4030,103 @@ "accountSid_authToken": [] } ], + "operationId": "FetchTaskQueueRealTimeStatistics", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Workspaces/{WorkspaceSid}/TaskQueues/{TaskQueueSid}/Statistics": { + "servers": [ + { + "url": "https://taskrouter.twilio.com" + } + ], "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "cumulative" + ], + "pathType": "instance", + "parent": "/Workspaces/{WorkspaceSid}/TaskQueues", + "className": "task_queue_statistics" + }, "get": { "description": "", - "operationId": "FetchTaskQueue", "parameters": [ { - "description": "The SID of the Workspace with the TaskQueue to fetch.", - "in": "path", "name": "WorkspaceSid", - "required": true, + "in": "path", + "description": "The SID of the Workspace with the TaskQueue to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the TaskQueue resource to fetch.", + "name": "TaskQueueSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the TaskQueue for which to fetch statistics.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WQ[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.task_queue" - } - } + "maxLength": 34, + "pattern": "^WQ[0-9a-fA-F]{32}$" }, - "description": "OK" - } - }, - "security": [ + "required": true + }, { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "", - "operationId": "UpdateTaskQueue", - "parameters": [ + "name": "EndDate", + "in": "query", + "description": "Only calculate statistics from this date and time and earlier, specified in GMT as an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time.", + "schema": { + "type": "string", + "format": "date-time" + } + }, { - "description": "The SID of the Workspace with the TaskQueue to update.", - "in": "path", - "name": "WorkspaceSid", - "required": true, + "name": "Minutes", + "in": "query", + "description": "Only calculate statistics since this many minutes in the past. The default is 15 minutes.", + "schema": { + "type": "integer" + } + }, + { + "name": "StartDate", + "in": "query", + "description": "Only calculate statistics from this date and time and later, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "TaskChannel", + "in": "query", + "description": "Only calculate real-time and cumulative statistics for the specified TaskChannel. Can be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or `default`.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", "type": "string" } }, { - "description": "The SID of the TaskQueue resource to update.", - "in": "path", - "name": "Sid", - "required": true, + "name": "SplitByWaitTime", + "in": "query", + "description": "A comma separated list of values that describes the thresholds, in seconds, to calculate statistics on. For each threshold specified, the number of Tasks canceled and reservations accepted above and below the specified thresholds in seconds are computed.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WQ[0-9a-fA-F]{32}$", "type": "string" } } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "AssignmentActivitySid": { - "description": "The SID of the Activity to assign Workers when a task is assigned for them.", - "maxLength": 34, - "minLength": 34, - "pattern": "^WA[0-9a-fA-F]{32}$", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the TaskQueue. For example `Support-Tier 1`, `Sales`, or `Escalation`.", - "type": "string" - }, - "MaxReservedWorkers": { - "description": "The maximum number of Workers to create reservations for the assignment of a task while in the queue. Maximum of 50.", - "type": "integer" - }, - "ReservationActivitySid": { - "description": "The SID of the Activity to assign Workers when a task is reserved for them.", - "maxLength": 34, - "minLength": 34, - "pattern": "^WA[0-9a-fA-F]{32}$", - "type": "string" - }, - "TargetWorkers": { - "description": "A string describing the Worker selection criteria for any Tasks that enter the TaskQueue. For example '\"language\" == \"spanish\"' If no TargetWorkers parameter is provided, Tasks will wait in the queue until they are either deleted or moved to another queue. Additional examples on how to describing Worker selection criteria below.", - "type": "string" - }, - "TaskOrder": { - "description": "How Tasks will be assigned to Workers. Can be: `FIFO` or `LIFO` and the default is `FIFO`. Use `FIFO` to assign the oldest task first and `LIFO` to assign the most recent task first. For more information, see [Queue Ordering](https://www.twilio.com/docs/taskrouter/queue-ordering-last-first-out-lifo).", - "enum": [ - "FIFO", - "LIFO" - ], - "type": "string" - } - }, - "title": "UpdateTaskQueueRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.task_queue" + "$ref": "#/components/schemas/taskrouter.v1.workspace.task_queue.task_queue_statistics" } } }, @@ -4105,95 +4138,100 @@ "accountSid_authToken": [] } ], + "operationId": "FetchTaskQueueStatistics", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Workspaces/{WorkspaceSid}/TaskQueues/Statistics": { "servers": [ { "url": "https://taskrouter.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ - "sid", - "friendly_name", - "task_order" + "cumulative" ], - "parent": "/Workspaces", - "pathType": "instance" - } - }, - "/v1/Workspaces/{WorkspaceSid}/TaskQueues/{TaskQueueSid}/CumulativeStatistics": { - "description": "TODO: Resource-level docs", + "pathType": "list", + "parent": "/Workspaces/{WorkspaceSid}/TaskQueues", + "className": "task_queues_statistics" + }, "get": { "description": "", - "operationId": "FetchTaskQueueCumulativeStatistics", "parameters": [ { - "description": "The SID of the Workspace with the TaskQueue to fetch.", - "in": "path", "name": "WorkspaceSid", - "required": true, + "in": "path", + "description": "The SID of the Workspace with the TaskQueues to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the TaskQueue for which to fetch statistics.", - "in": "path", - "name": "TaskQueueSid", - "required": true, + "name": "EndDate", + "in": "query", + "description": "Only calculate statistics from this date and time and earlier, specified in GMT as an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WQ[0-9a-fA-F]{32}$", - "type": "string" + "type": "string", + "format": "date-time" } }, { - "description": "Only calculate statistics from this date and time and earlier, specified in GMT as an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time.", + "name": "FriendlyName", "in": "query", - "name": "EndDate", + "description": "The `friendly_name` of the TaskQueue statistics to read.", "schema": { - "format": "date-time", "type": "string" } }, { - "description": "Only calculate statistics since this many minutes in the past. The default is 15 minutes.", - "in": "query", "name": "Minutes", + "in": "query", + "description": "Only calculate statistics since this many minutes in the past. The default is 15 minutes.", "schema": { "type": "integer" } }, { + "name": "StartDate", + "in": "query", "description": "Only calculate statistics from this date and time and later, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "TaskChannel", "in": "query", - "name": "StartDate", + "description": "Only calculate statistics on this TaskChannel. Can be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or `default`.", "schema": { - "format": "date-time", "type": "string" } }, { - "description": "Only calculate cumulative statistics on this TaskChannel. Can be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or `default`.", + "name": "SplitByWaitTime", "in": "query", - "name": "TaskChannel", + "description": "A comma separated list of values that describes the thresholds, in seconds, to calculate statistics on. For each threshold specified, the number of Tasks canceled and reservations accepted above and below the specified thresholds in seconds are computed.", "schema": { "type": "string" } }, { - "description": "A comma separated list of values that describes the thresholds, in seconds, to calculate statistics on. For each threshold specified, the number of Tasks canceled and reservations accepted above and below the specified thresholds in seconds are computed. TaskRouter will calculate statistics on up to 10,000 Tasks/Reservations for any given threshold.", + "name": "PageSize", "in": "query", - "name": "SplitByWaitTime", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "type": "string" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], @@ -4202,7 +4240,46 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.task_queue.task_queue_cumulative_statistics" + "type": "object", + "title": "ListTaskQueuesStatisticsResponse", + "properties": { + "task_queues_statistics": { + "type": "array", + "items": { + "$ref": "#/components/schemas/taskrouter.v1.workspace.task_queue.task_queues_statistics" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -4214,63 +4291,82 @@ "accountSid_authToken": [] } ], + "operationId": "ListTaskQueuesStatistics", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Workspaces/{WorkspaceSid}/Tasks/{TaskSid}/Reservations": { "servers": [ { "url": "https://taskrouter.twilio.com" } ], + "description": "Tasks reserved for workers", "x-twilio": { - "className": "task_queue_cumulative_statistics", "defaultOutputProperties": [ - "start_time", - "end_time", - "avg_task_acceptance_time", - "tasks_completed" + "sid", + "reservation_status", + "worker_name", + "worker_sid" ], - "parent": "/Workspaces/{WorkspaceSid}/TaskQueues", - "pathType": "instance" - } - }, - "/v1/Workspaces/{WorkspaceSid}/TaskQueues/{TaskQueueSid}/RealTimeStatistics": { - "description": "TODO: Resource-level docs", + "pathType": "list", + "parent": "/Workspaces/{WorkspaceSid}/Tasks" + }, "get": { "description": "", - "operationId": "FetchTaskQueueRealTimeStatistics", "parameters": [ { - "description": "The SID of the Workspace with the TaskQueue to fetch.", - "in": "path", "name": "WorkspaceSid", - "required": true, + "in": "path", + "description": "The SID of the Workspace with the TaskReservation resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the TaskQueue for which to fetch statistics.", + "name": "TaskSid", "in": "path", - "name": "TaskQueueSid", - "required": true, + "description": "The SID of the reserved Task resource with the TaskReservation resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WQ[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^WT[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "ReservationStatus", + "in": "query", + "description": "Returns the list of reservations for a task with a specified ReservationStatus. Can be: `pending`, `accepted`, `rejected`, or `timeout`.", + "schema": { + "type": "string", + "enum": [ + "pending", + "accepted", + "rejected", + "timeout", + "canceled", + "rescinded", + "wrapping", + "completed" + ] } }, { - "description": "The TaskChannel for which to fetch statistics. Can be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or `default`.", + "name": "PageSize", "in": "query", - "name": "TaskChannel", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "type": "string" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], @@ -4279,9 +4375,48 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.task_queue.task_queue_real_time_statistics" - } - } + "type": "object", + "title": "ListTaskReservationResponse", + "properties": { + "reservations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/taskrouter.v1.workspace.task.task_reservation" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } + } + } }, "description": "OK" } @@ -4291,97 +4426,67 @@ "accountSid_authToken": [] } ], + "operationId": "ListTaskReservation", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Workspaces/{WorkspaceSid}/Tasks/{TaskSid}/Reservations/{Sid}": { "servers": [ { "url": "https://taskrouter.twilio.com" } ], + "description": "Tasks reserved for workers", "x-twilio": { - "className": "task_queue_real_time_statistics", "defaultOutputProperties": [ - "longest_task_waiting_age", - "longest_task_waiting_sid", - "total_tasks" + "sid", + "reservation_status", + "worker_name", + "worker_sid" ], - "parent": "/Workspaces/{WorkspaceSid}/TaskQueues", - "pathType": "instance" - } - }, - "/v1/Workspaces/{WorkspaceSid}/TaskQueues/{TaskQueueSid}/Statistics": { - "description": "TODO: Resource-level docs", + "pathType": "instance", + "parent": "/Workspaces/{WorkspaceSid}/Tasks" + }, "get": { "description": "", - "operationId": "FetchTaskQueueStatistics", "parameters": [ { - "description": "The SID of the Workspace with the TaskQueue to fetch.", - "in": "path", "name": "WorkspaceSid", - "required": true, + "in": "path", + "description": "The SID of the Workspace with the TaskReservation resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the TaskQueue for which to fetch statistics.", + "name": "TaskSid", "in": "path", - "name": "TaskQueueSid", - "required": true, + "description": "The SID of the reserved Task resource with the TaskReservation resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WQ[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "Only calculate statistics from this date and time and earlier, specified in GMT as an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time.", - "in": "query", - "name": "EndDate", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "description": "Only calculate statistics since this many minutes in the past. The default is 15 minutes.", - "in": "query", - "name": "Minutes", - "schema": { - "type": "integer" - } - }, - { - "description": "Only calculate statistics from this date and time and later, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.", - "in": "query", - "name": "StartDate", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "description": "Only calculate real-time and cumulative statistics for the specified TaskChannel. Can be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or `default`.", - "in": "query", - "name": "TaskChannel", - "schema": { - "type": "string" - } + "maxLength": 34, + "pattern": "^WT[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "A comma separated list of values that describes the thresholds, in seconds, to calculate statistics on. For each threshold specified, the number of Tasks canceled and reservations accepted above and below the specified thresholds in seconds are computed.", - "in": "query", - "name": "SplitByWaitTime", + "name": "Sid", + "in": "path", + "description": "The SID of the TaskReservation resource to fetch.", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WR[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -4389,7 +4494,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.task_queue.task_queue_statistics" + "$ref": "#/components/schemas/taskrouter.v1.workspace.task.task_reservation" } } }, @@ -4401,132 +4506,57 @@ "accountSid_authToken": [] } ], + "operationId": "FetchTaskReservation", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://taskrouter.twilio.com" - } - ], - "x-twilio": { - "className": "task_queue_statistics", - "defaultOutputProperties": [ - "cumulative" - ], - "parent": "/Workspaces/{WorkspaceSid}/TaskQueues", - "pathType": "instance" - } - }, - "/v1/Workspaces/{WorkspaceSid}/Tasks": { - "description": "TODO: Resource-level docs", - "get": { + "post": { "description": "", - "operationId": "ListTask", "parameters": [ { - "description": "The SID of the Workspace with the Tasks to read.", - "in": "path", "name": "WorkspaceSid", - "required": true, + "in": "path", + "description": "The SID of the Workspace with the TaskReservation resources to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The priority value of the Tasks to read. Returns the list of all Tasks in the Workspace with the specified priority.", - "in": "query", - "name": "Priority", - "schema": { - "type": "integer" - } - }, - { - "description": "The `assignment_status` of the Tasks you want to read. Can be: `pending`, `reserved`, `assigned`, `canceled`, `wrapping`, or `completed`. Returns all Tasks in the Workspace with the specified `assignment_status`.", - "in": "query", - "name": "AssignmentStatus", - "schema": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - { - "description": "The SID of the Workflow with the Tasks to read. Returns the Tasks controlled by the Workflow identified by this SID.", - "in": "query", - "name": "WorkflowSid", - "schema": { "maxLength": 34, - "minLength": 34, - "pattern": "^WW[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The friendly name of the Workflow with the Tasks to read. Returns the Tasks controlled by the Workflow identified by this friendly name.", - "in": "query", - "name": "WorkflowName", - "schema": { - "type": "string" - } + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the TaskQueue with the Tasks to read. Returns the Tasks waiting in the TaskQueue identified by this SID.", - "in": "query", - "name": "TaskQueueSid", + "name": "TaskSid", + "in": "path", + "description": "The SID of the reserved Task resource with the TaskReservation resources to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WQ[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The `friendly_name` of the TaskQueue with the Tasks to read. Returns the Tasks waiting in the TaskQueue identified by this friendly name.", - "in": "query", - "name": "TaskQueueName", - "schema": { - "type": "string" - } + "maxLength": 34, + "pattern": "^WT[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The attributes of the Tasks to read. Returns the Tasks that match the attributes specified in this parameter.", - "in": "query", - "name": "EvaluateTaskAttributes", + "name": "Sid", + "in": "path", + "description": "The SID of the TaskReservation resource to update.", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WR[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How to order the returned Task resources. y default, Tasks are sorted by ascending DateCreated. This value is specified as: `Attribute:Order`, where `Attribute` can be either `Priority` or `DateCreated` and `Order` can be either `asc` or `desc`. For example, `Priority:desc` returns Tasks ordered in descending order of their Priority. Multiple sort orders can be specified in a comma-separated list such as `Priority:desc,DateCreated:asc`, which returns the Tasks in descending Priority order and ascending DateCreated Order.", - "in": "query", - "name": "Ordering", + "name": "If-Match", + "in": "header", + "description": "The If-Match HTTP request header", "schema": { "type": "string" } - }, - { - "description": "Whether to read Tasks with addons. If `true`, returns only Tasks with addons. If `false`, returns only Tasks without addons.", - "in": "query", - "name": "HasAddons", - "schema": { - "type": "boolean" - } - }, - { - "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" - } } ], "responses": { @@ -4534,46 +4564,7 @@ "content": { "application/json": { "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "tasks": { - "items": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.task" - }, - "type": "array" - } - }, - "title": "ListTaskResponse", - "type": "object" + "$ref": "#/components/schemas/taskrouter.v1.workspace.task.task_reservation" } } }, @@ -4585,179 +4576,442 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateTaskReservation", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "", - "operationId": "CreateTask", - "parameters": [ - { - "description": "The SID of the Workspace that the new Task belongs to.", - "in": "path", - "name": "WorkspaceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateTaskReservationRequest", "properties": { - "Attributes": { - "description": "A URL-encoded JSON string with the attributes of the new task. This value is passed to the Workflow's `assignment_callback_url` when the Task is assigned to a Worker. For example: `{ \"task_type\": \"call\", \"twilio_call_sid\": \"CAxxx\", \"customer_ticket_number\": \"12345\" }`.", - "type": "string" + "ReservationStatus": { + "type": "string", + "enum": [ + "pending", + "accepted", + "rejected", + "timeout", + "canceled", + "rescinded", + "wrapping", + "completed" + ], + "description": "The new status of the reservation. Can be: `pending`, `accepted`, `rejected`, or `timeout`." }, - "Priority": { - "description": "The priority to assign the new task and override the default. When supplied, the new Task will have this priority unless it matches a Workflow Target with a Priority set. When not supplied, the new Task will have the priority of the matching Workflow Target. Value can be 0 to 2^31^ (2,147,483,647).", - "type": "integer" + "WorkerActivitySid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WA[0-9a-fA-F]{32}$", + "description": "The new worker activity SID if rejecting a reservation." }, - "TaskChannel": { - "description": "When MultiTasking is enabled, specify the TaskChannel by passing either its `unique_name` or `sid`. Default value is `default`.", - "type": "string" + "Instruction": { + "type": "string", + "description": "The assignment instruction for reservation." }, - "Timeout": { - "description": "The amount of time in seconds the new task can live before being assigned. Can be up to a maximum of 2 weeks (1,209,600 seconds). The default value is 24 hours (86,400 seconds). On timeout, the `task.canceled` event will fire with description `Task TTL Exceeded`.", - "type": "integer" + "DequeuePostWorkActivitySid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WA[0-9a-fA-F]{32}$", + "description": "The SID of the Activity resource to start after executing a Dequeue instruction." }, - "WorkflowSid": { - "description": "The SID of the Workflow that you would like to handle routing for the new Task. If there is only one Workflow defined for the Workspace that you are posting the new task to, this parameter is optional.", + "DequeueFrom": { + "type": "string", + "description": "The Caller ID of the call to the worker when executing a Dequeue instruction." + }, + "DequeueRecord": { + "type": "string", + "description": "Whether to record both legs of a call when executing a Dequeue instruction or which leg to record." + }, + "DequeueTimeout": { + "type": "integer", + "description": "Timeout for call when executing a Dequeue instruction." + }, + "DequeueTo": { + "type": "string", + "description": "The Contact URI of the worker when executing a Dequeue instruction. Can be the URI of the Twilio Client, the SIP URI for Programmable SIP, or the [E.164](https://www.twilio.com/docs/glossary/what-e164) formatted phone number, depending on the destination." + }, + "DequeueStatusCallbackUrl": { + "type": "string", + "format": "uri", + "description": "The Callback URL for completed call event when executing a Dequeue instruction." + }, + "CallFrom": { + "type": "string", + "description": "The Caller ID of the outbound call when executing a Call instruction." + }, + "CallRecord": { + "type": "string", + "description": "Whether to record both legs of a call when executing a Call instruction or which leg to record." + }, + "CallTimeout": { + "type": "integer", + "description": "Timeout for call when executing a Call instruction." + }, + "CallTo": { + "type": "string", + "description": "The Contact URI of the worker when executing a Call instruction. Can be the URI of the Twilio Client, the SIP URI for Programmable SIP, or the [E.164](https://www.twilio.com/docs/glossary/what-e164) formatted phone number, depending on the destination." + }, + "CallUrl": { + "type": "string", + "format": "uri", + "description": "TwiML URI executed on answering the worker's leg as a result of the Call instruction." + }, + "CallStatusCallbackUrl": { + "type": "string", + "format": "uri", + "description": "The URL to call for the completed call event when executing a Call instruction." + }, + "CallAccept": { + "type": "boolean", + "description": "Whether to accept a reservation when executing a Call instruction." + }, + "RedirectCallSid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$", + "description": "The Call SID of the call parked in the queue when executing a Redirect instruction." + }, + "RedirectAccept": { + "type": "boolean", + "description": "Whether the reservation should be accepted when executing a Redirect instruction." + }, + "RedirectUrl": { + "type": "string", + "format": "uri", + "description": "TwiML URI to redirect the call to when executing the Redirect instruction." + }, + "To": { + "type": "string", + "description": "The Contact URI of the worker when executing a Conference instruction. Can be the URI of the Twilio Client, the SIP URI for Programmable SIP, or the [E.164](https://www.twilio.com/docs/glossary/what-e164) formatted phone number, depending on the destination." + }, + "From": { + "type": "string", + "description": "The Caller ID of the call to the worker when executing a Conference instruction." + }, + "StatusCallback": { + "type": "string", + "format": "uri", + "description": "The URL we should call using the `status_callback_method` to send status information to your application." + }, + "StatusCallbackMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method we should use to call `status_callback`. Can be: `POST` or `GET` and the default is `POST`." + }, + "StatusCallbackEvent": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "initiated", + "ringing", + "answered", + "completed" + ] + }, + "description": "The call progress events that we will send to `status_callback`. Can be: `initiated`, `ringing`, `answered`, or `completed`." + }, + "Timeout": { + "type": "integer", + "description": "Timeout for call when executing a Conference instruction." + }, + "Record": { + "type": "boolean", + "description": "Whether to record the participant and their conferences, including the time between conferences. The default is `false`." + }, + "Muted": { + "type": "boolean", + "description": "Whether the agent is muted in the conference. The default is `false`." + }, + "Beep": { + "type": "string", + "description": "Whether to play a notification beep when the participant joins or when to play a beep. Can be: `true`, `false`, `onEnter`, or `onExit`. The default value is `true`." + }, + "StartConferenceOnEnter": { + "type": "boolean", + "description": "Whether to start the conference when the participant joins, if it has not already started. The default is `true`. If `false` and the conference has not started, the participant is muted and hears background music until another participant starts the conference." + }, + "EndConferenceOnExit": { + "type": "boolean", + "description": "Whether to end the conference when the agent leaves." + }, + "WaitUrl": { + "type": "string", + "format": "uri", + "description": "The URL we should call using the `wait_method` for the music to play while participants are waiting for the conference to start. The default value is the URL of our standard hold music. [Learn more about hold music](https://www.twilio.com/labs/twimlets/holdmusic)." + }, + "WaitMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method we should use to call `wait_url`. Can be `GET` or `POST` and the default is `POST`. When using a static audio file, this should be `GET` so that we can cache the file." + }, + "EarlyMedia": { + "type": "boolean", + "description": "Whether to allow an agent to hear the state of the outbound call, including ringing or disconnect messages. The default is `true`." + }, + "MaxParticipants": { + "type": "integer", + "description": "The maximum number of participants in the conference. Can be a positive integer from `2` to `250`. The default value is `250`." + }, + "ConferenceStatusCallback": { + "type": "string", + "format": "uri", + "description": "The URL we should call using the `conference_status_callback_method` when the conference events in `conference_status_callback_event` occur. Only the value set by the first participant to join the conference is used. Subsequent `conference_status_callback` values are ignored." + }, + "ConferenceStatusCallbackMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method we should use to call `conference_status_callback`. Can be: `GET` or `POST` and defaults to `POST`." + }, + "ConferenceStatusCallbackEvent": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "start", + "end", + "join", + "leave", + "mute", + "hold", + "speaker" + ] + }, + "description": "The conference status events that we will send to `conference_status_callback`. Can be: `start`, `end`, `join`, `leave`, `mute`, `hold`, `speaker`." + }, + "ConferenceRecord": { + "type": "string", + "description": "Whether to record the conference the participant is joining or when to record the conference. Can be: `true`, `false`, `record-from-start`, and `do-not-record`. The default value is `false`." + }, + "ConferenceTrim": { + "type": "string", + "description": "How to trim the leading and trailing silence from your recorded conference audio files. Can be: `trim-silence` or `do-not-trim` and defaults to `trim-silence`." + }, + "RecordingChannels": { + "type": "string", + "description": "The recording channels for the final recording. Can be: `mono` or `dual` and the default is `mono`." + }, + "RecordingStatusCallback": { + "type": "string", + "format": "uri", + "description": "The URL that we should call using the `recording_status_callback_method` when the recording status changes." + }, + "RecordingStatusCallbackMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method we should use when we call `recording_status_callback`. Can be: `GET` or `POST` and defaults to `POST`." + }, + "ConferenceRecordingStatusCallback": { + "type": "string", + "format": "uri", + "description": "The URL we should call using the `conference_recording_status_callback_method` when the conference recording is available." + }, + "ConferenceRecordingStatusCallbackMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method we should use to call `conference_recording_status_callback`. Can be: `GET` or `POST` and defaults to `POST`." + }, + "Region": { + "type": "string", + "description": "The [region](https://support.twilio.com/hc/en-us/articles/223132167-How-global-low-latency-routing-and-region-selection-work-for-conferences-and-Client-calls) where we should mix the recorded audio. Can be:`us1`, `ie1`, `de1`, `sg1`, `br1`, `au1`, or `jp1`." + }, + "SipAuthUsername": { + "type": "string", + "description": "The SIP username used for authentication." + }, + "SipAuthPassword": { + "type": "string", + "description": "The SIP password for authentication." + }, + "DequeueStatusCallbackEvent": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The Call progress events sent via webhooks as a result of a Dequeue instruction." + }, + "PostWorkActivitySid": { + "type": "string", "minLength": 34, - "pattern": "^WW[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^WA[0-9a-fA-F]{32}$", + "description": "The new worker activity SID after executing a Conference instruction." + }, + "SupervisorMode": { + "type": "string", + "enum": [ + "monitor", + "whisper", + "barge" + ], + "description": "The Supervisor mode when executing the Supervise instruction." + }, + "Supervisor": { + "type": "string", + "description": "The Supervisor SID/URI when executing the Supervise instruction." + }, + "EndConferenceOnCustomerExit": { + "type": "boolean", + "description": "Whether to end the conference when the customer leaves." + }, + "BeepOnCustomerEntrance": { + "type": "boolean", + "description": "Whether to play a notification beep when the customer joins." } - }, - "title": "CreateTaskRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.task" } } - }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] + } } - ], - "x-maturity": [ - "GA" - ] - }, + } + } + }, + "/v1/Workspaces/{WorkspaceSid}/Workers": { "servers": [ { "url": "https://taskrouter.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", - "age", - "assignment_status", - "priority", - "reason" + "friendly_name", + "available" ], - "parent": "/Workspaces", - "pathType": "list" - } - }, - "/v1/Workspaces/{WorkspaceSid}/Tasks/{Sid}": { - "delete": { + "pathType": "list", + "parent": "/Workspaces" + }, + "get": { "description": "", - "operationId": "DeleteTask", "parameters": [ { - "description": "The SID of the Workspace with the Task to delete.", - "in": "path", "name": "WorkspaceSid", - "required": true, + "in": "path", + "description": "The SID of the Workspace with the Workers to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "ActivityName", + "in": "query", + "description": "The `activity_name` of the Worker resources to read.", + "schema": { "type": "string" } }, { - "description": "The SID of the Task resource to delete.", - "in": "path", - "name": "Sid", - "required": true, + "name": "ActivitySid", + "in": "query", + "description": "The `activity_sid` of the Worker resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WT[0-9a-fA-F]{32}$", + "maxLength": 34, + "pattern": "^WA[0-9a-fA-F]{32}$" + } + }, + { + "name": "Available", + "in": "query", + "description": "Whether to return only Worker resources that are available or unavailable. Can be `true`, `1`, or `yes` to return Worker resources that are available, and `false`, or any value returns the Worker resources that are not available.", + "schema": { "type": "string" } }, { - "description": "If provided, deletes this Task if (and only if) the [ETag](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag) header of the Task matches the provided value. This matches the semantics of (and is implemented with) the HTTP [If-Match header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Match).", - "in": "header", - "name": "If-Match", + "name": "FriendlyName", + "in": "query", + "description": "The `friendly_name` of the Worker resources to read.", "schema": { "type": "string" } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ + }, { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "description": "TODO: Resource-level docs", - "get": { - "description": "", - "operationId": "FetchTask", - "parameters": [ + "name": "TargetWorkersExpression", + "in": "query", + "description": "Filter by Workers that would match an expression on a TaskQueue. This is helpful for debugging which Workers would match a potential queue.", + "schema": { + "type": "string" + } + }, { - "description": "The SID of the Workspace with the Task to fetch.", - "in": "path", - "name": "WorkspaceSid", - "required": true, + "name": "TaskQueueName", + "in": "query", + "description": "The `friendly_name` of the TaskQueue that the Workers to read are eligible for.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", "type": "string" } }, { - "description": "The SID of the Task resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, + "name": "TaskQueueSid", + "in": "query", + "description": "The SID of the TaskQueue that the Workers to read are eligible for.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WT[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^WQ[0-9a-fA-F]{32}$" + } + }, + { + "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 } } ], @@ -4766,7 +5020,46 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.task" + "type": "object", + "title": "ListWorkerResponse", + "properties": { + "workers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/taskrouter.v1.workspace.worker" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -4778,97 +5071,37 @@ "accountSid_authToken": [] } ], + "operationId": "ListWorker", "x-maturity": [ "GA" ] }, "post": { "description": "", - "operationId": "UpdateTask", "parameters": [ { - "description": "The SID of the Workspace with the Task to update.", - "in": "path", "name": "WorkspaceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the Task resource to update.", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the Workspace that the new Worker belongs to.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WT[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "If provided, applies this mutation if (and only if) the [ETag](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag) header of the Task matches the provided value. This matches the semantics of (and is implemented with) the HTTP [If-Match header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Match).", - "in": "header", - "name": "If-Match", - "schema": { - "type": "string" - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "AssignmentStatus": { - "description": "The new status of the task. Can be: `canceled`, to cancel a Task that is currently `pending` or `reserved`; `wrapping`, to move the Task to wrapup state; or `completed`, to move a Task to the completed state.", - "enum": [ - "pending", - "reserved", - "assigned", - "canceled", - "completed", - "wrapping" - ], - "type": "string" - }, - "Attributes": { - "description": "The JSON string that describes the custom attributes of the task.", - "type": "string" - }, - "Priority": { - "description": "The Task's new priority value. When supplied, the Task takes on the specified priority unless it matches a Workflow Target with a Priority set. Value can be 0 to 2^31^ (2,147,483,647).", - "type": "integer" - }, - "Reason": { - "description": "The reason that the Task was canceled or completed. This parameter is required only if the Task is canceled or completed. Setting this value queues the task for deletion and logs the reason.", - "type": "string" - }, - "TaskChannel": { - "description": "When MultiTasking is enabled, specify the TaskChannel with the task to update. Can be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or `default`.", - "type": "string" - } - }, - "title": "UpdateTaskRequest", - "type": "object" - } - } - } - }, "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.task" + "$ref": "#/components/schemas/taskrouter.v1.workspace.worker" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -4876,84 +5109,84 @@ "accountSid_authToken": [] } ], + "operationId": "CreateWorker", "x-maturity": [ "GA" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateWorkerRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the new Worker. It can be up to 64 characters long." + }, + "ActivitySid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WA[0-9a-fA-F]{32}$", + "description": "The SID of a valid Activity that will describe the new Worker's initial state. See [Activities](https://www.twilio.com/docs/taskrouter/api/activity) for more information. If not provided, the new Worker's initial state is the `default_activity_sid` configured on the Workspace." + }, + "Attributes": { + "type": "string", + "description": "A valid JSON string that describes the new Worker. For example: `{ \"email\": \"Bob@example.com\", \"phone\": \"+5095551234\" }`. This data is passed to the `assignment_callback_url` when TaskRouter assigns a Task to the Worker. Defaults to {}." + } + }, + "required": [ + "FriendlyName" + ] + } + } + } + } + } + }, + "/v1/Workspaces/{WorkspaceSid}/Workers/{Sid}": { "servers": [ { "url": "https://taskrouter.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", - "age", - "assignment_status", - "priority", - "reason" + "friendly_name", + "available" ], - "parent": "/Workspaces", - "pathType": "instance" - } - }, - "/v1/Workspaces/{WorkspaceSid}/Tasks/{TaskSid}/Reservations": { - "description": "Tasks reserved for workers", + "pathType": "instance", + "parent": "/Workspaces" + }, "get": { "description": "", - "operationId": "ListTaskReservation", "parameters": [ { - "description": "The SID of the Workspace with the TaskReservation resources to read.", - "in": "path", "name": "WorkspaceSid", - "required": true, + "in": "path", + "description": "The SID of the Workspace with the Worker to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the reserved Task resource with the TaskReservation resources to read.", + "name": "Sid", "in": "path", - "name": "TaskSid", - "required": true, + "description": "The SID of the Worker resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WT[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "Returns the list of reservations for a task with a specified ReservationStatus. Can be: `pending`, `accepted`, `rejected`, or `timeout`.", - "in": "query", - "name": "ReservationStatus", - "schema": { - "enum": [ - "pending", - "accepted", - "rejected", - "timeout", - "canceled", - "rescinded", - "wrapping", - "completed" - ], - "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" - } + "maxLength": 34, + "pattern": "^WK[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -4961,46 +5194,7 @@ "content": { "application/json": { "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "reservations": { - "items": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.task.task_reservation" - }, - "type": "array" - } - }, - "title": "ListTaskReservationResponse", - "type": "object" + "$ref": "#/components/schemas/taskrouter.v1.workspace.worker" } } }, @@ -5012,65 +5206,43 @@ "accountSid_authToken": [] } ], + "operationId": "FetchWorker", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://taskrouter.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "reservation_status", - "worker_name", - "worker_sid" - ], - "parent": "/Workspaces/{WorkspaceSid}/Tasks", - "pathType": "list" - } - }, - "/v1/Workspaces/{WorkspaceSid}/Tasks/{TaskSid}/Reservations/{Sid}": { - "description": "Tasks reserved for workers", - "get": { + "post": { "description": "", - "operationId": "FetchTaskReservation", "parameters": [ { - "description": "The SID of the Workspace with the TaskReservation resource to fetch.", - "in": "path", "name": "WorkspaceSid", - "required": true, + "in": "path", + "description": "The SID of the Workspace with the Worker to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the reserved Task resource with the TaskReservation resource to fetch.", + "name": "Sid", "in": "path", - "name": "TaskSid", - "required": true, + "description": "The SID of the Worker resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WT[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WK[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the TaskReservation resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, + "name": "If-Match", + "in": "header", + "description": "The If-Match HTTP request header", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WR[0-9a-fA-F]{32}$", "type": "string" } } @@ -5080,7 +5252,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.task.task_reservation" + "$ref": "#/components/schemas/taskrouter.v1.workspace.worker" } } }, @@ -5092,398 +5264,81 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateWorker", "x-maturity": [ "GA" - ] + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateWorkerRequest", + "properties": { + "ActivitySid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WA[0-9a-fA-F]{32}$", + "description": "The SID of a valid Activity that will describe the Worker's initial state. See [Activities](https://www.twilio.com/docs/taskrouter/api/activity) for more information." + }, + "Attributes": { + "type": "string", + "description": "The JSON string that describes the Worker. For example: `{ \"email\": \"Bob@example.com\", \"phone\": \"+5095551234\" }`. This data is passed to the `assignment_callback_url` when TaskRouter assigns a Task to the Worker. Defaults to {}." + }, + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the Worker. It can be up to 64 characters long." + }, + "RejectPendingReservations": { + "type": "boolean", + "description": "Whether to reject the Worker's pending reservations. This option is only valid if the Worker's new [Activity](https://www.twilio.com/docs/taskrouter/api/activity) resource has its `availability` property set to `False`." + } + } + } + } + } + } }, - "post": { + "delete": { "description": "", - "operationId": "UpdateTaskReservation", "parameters": [ { - "description": "The SID of the Workspace with the TaskReservation resources to update.", - "in": "path", "name": "WorkspaceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the reserved Task resource with the TaskReservation resources to update.", "in": "path", - "name": "TaskSid", - "required": true, + "description": "The SID of the Workspace with the Worker to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WT[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the TaskReservation resource to update.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Worker resource to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WR[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WK[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The If-Match HTTP request header", - "in": "header", "name": "If-Match", + "in": "header", + "description": "The If-Match HTTP request header", "schema": { "type": "string" } } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Beep": { - "description": "Whether to play a notification beep when the participant joins or when to play a beep. Can be: `true`, `false`, `onEnter`, or `onExit`. The default value is `true`.", - "type": "string" - }, - "BeepOnCustomerEntrance": { - "description": "Whether to play a notification beep when the customer joins.", - "type": "boolean" - }, - "CallAccept": { - "description": "Whether to accept a reservation when executing a Call instruction.", - "type": "boolean" - }, - "CallFrom": { - "description": "The Caller ID of the outbound call when executing a Call instruction.", - "type": "string" - }, - "CallRecord": { - "description": "Whether to record both legs of a call when executing a Call instruction or which leg to record.", - "type": "string" - }, - "CallStatusCallbackUrl": { - "description": "The URL to call for the completed call event when executing a Call instruction.", - "format": "uri", - "type": "string" - }, - "CallTimeout": { - "description": "Timeout for call when executing a Call instruction.", - "type": "integer" - }, - "CallTo": { - "description": "The Contact URI of the worker when executing a Call instruction. Can be the URI of the Twilio Client, the SIP URI for Programmable SIP, or the [E.164](https://www.twilio.com/docs/glossary/what-e164) formatted phone number, depending on the destination.", - "type": "string" - }, - "CallUrl": { - "description": "TwiML URI executed on answering the worker's leg as a result of the Call instruction.", - "format": "uri", - "type": "string" - }, - "ConferenceRecord": { - "description": "Whether to record the conference the participant is joining or when to record the conference. Can be: `true`, `false`, `record-from-start`, and `do-not-record`. The default value is `false`.", - "type": "string" - }, - "ConferenceRecordingStatusCallback": { - "description": "The URL we should call using the `conference_recording_status_callback_method` when the conference recording is available.", - "format": "uri", - "type": "string" - }, - "ConferenceRecordingStatusCallbackMethod": { - "description": "The HTTP method we should use to call `conference_recording_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "ConferenceStatusCallback": { - "description": "The URL we should call using the `conference_status_callback_method` when the conference events in `conference_status_callback_event` occur. Only the value set by the first participant to join the conference is used. Subsequent `conference_status_callback` values are ignored.", - "format": "uri", - "type": "string" - }, - "ConferenceStatusCallbackEvent": { - "description": "The conference status events that we will send to `conference_status_callback`. Can be: `start`, `end`, `join`, `leave`, `mute`, `hold`, `speaker`.", - "items": { - "enum": [ - "start", - "end", - "join", - "leave", - "mute", - "hold", - "speaker" - ], - "type": "string" - }, - "type": "array" - }, - "ConferenceStatusCallbackMethod": { - "description": "The HTTP method we should use to call `conference_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "ConferenceTrim": { - "description": "How to trim the leading and trailing silence from your recorded conference audio files. Can be: `trim-silence` or `do-not-trim` and defaults to `trim-silence`.", - "type": "string" - }, - "DequeueFrom": { - "description": "The Caller ID of the call to the worker when executing a Dequeue instruction.", - "type": "string" - }, - "DequeuePostWorkActivitySid": { - "description": "The SID of the Activity resource to start after executing a Dequeue instruction.", - "maxLength": 34, - "minLength": 34, - "pattern": "^WA[0-9a-fA-F]{32}$", - "type": "string" - }, - "DequeueRecord": { - "description": "Whether to record both legs of a call when executing a Dequeue instruction or which leg to record.", - "type": "string" - }, - "DequeueStatusCallbackEvent": { - "description": "The Call progress events sent via webhooks as a result of a Dequeue instruction.", - "items": { - "type": "string" - }, - "type": "array" - }, - "DequeueStatusCallbackUrl": { - "description": "The Callback URL for completed call event when executing a Dequeue instruction.", - "format": "uri", - "type": "string" - }, - "DequeueTimeout": { - "description": "Timeout for call when executing a Dequeue instruction.", - "type": "integer" - }, - "DequeueTo": { - "description": "The Contact URI of the worker when executing a Dequeue instruction. Can be the URI of the Twilio Client, the SIP URI for Programmable SIP, or the [E.164](https://www.twilio.com/docs/glossary/what-e164) formatted phone number, depending on the destination.", - "type": "string" - }, - "EarlyMedia": { - "description": "Whether to allow an agent to hear the state of the outbound call, including ringing or disconnect messages. The default is `true`.", - "type": "boolean" - }, - "EndConferenceOnCustomerExit": { - "description": "Whether to end the conference when the customer leaves.", - "type": "boolean" - }, - "EndConferenceOnExit": { - "description": "Whether to end the conference when the agent leaves.", - "type": "boolean" - }, - "From": { - "description": "The Caller ID of the call to the worker when executing a Conference instruction.", - "type": "string" - }, - "Instruction": { - "description": "The assignment instruction for reservation.", - "type": "string" - }, - "MaxParticipants": { - "description": "The maximum number of participants in the conference. Can be a positive integer from `2` to `250`. The default value is `250`.", - "type": "integer" - }, - "Muted": { - "description": "Whether the agent is muted in the conference. The default is `false`.", - "type": "boolean" - }, - "PostWorkActivitySid": { - "description": "The new worker activity SID after executing a Conference instruction.", - "maxLength": 34, - "minLength": 34, - "pattern": "^WA[0-9a-fA-F]{32}$", - "type": "string" - }, - "Record": { - "description": "Whether to record the participant and their conferences, including the time between conferences. The default is `false`.", - "type": "boolean" - }, - "RecordingChannels": { - "description": "The recording channels for the final recording. Can be: `mono` or `dual` and the default is `mono`.", - "type": "string" - }, - "RecordingStatusCallback": { - "description": "The URL that we should call using the `recording_status_callback_method` when the recording status changes.", - "format": "uri", - "type": "string" - }, - "RecordingStatusCallbackMethod": { - "description": "The HTTP method we should use when we call `recording_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "RedirectAccept": { - "description": "Whether the reservation should be accepted when executing a Redirect instruction.", - "type": "boolean" - }, - "RedirectCallSid": { - "description": "The Call SID of the call parked in the queue when executing a Redirect instruction.", - "maxLength": 34, - "minLength": 34, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" - }, - "RedirectUrl": { - "description": "TwiML URI to redirect the call to when executing the Redirect instruction.", - "format": "uri", - "type": "string" - }, - "Region": { - "description": "The [region](https://support.twilio.com/hc/en-us/articles/223132167-How-global-low-latency-routing-and-region-selection-work-for-conferences-and-Client-calls) where we should mix the recorded audio. Can be:`us1`, `ie1`, `de1`, `sg1`, `br1`, `au1`, or `jp1`.", - "type": "string" - }, - "ReservationStatus": { - "description": "The new status of the reservation. Can be: `pending`, `accepted`, `rejected`, or `timeout`.", - "enum": [ - "pending", - "accepted", - "rejected", - "timeout", - "canceled", - "rescinded", - "wrapping", - "completed" - ], - "type": "string" - }, - "SipAuthPassword": { - "description": "The SIP password for authentication.", - "type": "string" - }, - "SipAuthUsername": { - "description": "The SIP username used for authentication.", - "type": "string" - }, - "StartConferenceOnEnter": { - "description": "Whether to start the conference when the participant joins, if it has not already started. The default is `true`. If `false` and the conference has not started, the participant is muted and hears background music until another participant starts the conference.", - "type": "boolean" - }, - "StatusCallback": { - "description": "The URL we should call using the `status_callback_method` to send status information to your application.", - "format": "uri", - "type": "string" - }, - "StatusCallbackEvent": { - "description": "The call progress events that we will send to `status_callback`. Can be: `initiated`, `ringing`, `answered`, or `completed`.", - "items": { - "enum": [ - "initiated", - "ringing", - "answered", - "completed" - ], - "type": "string" - }, - "type": "array" - }, - "StatusCallbackMethod": { - "description": "The HTTP method we should use to call `status_callback`. Can be: `POST` or `GET` and the default is `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "Supervisor": { - "description": "The Supervisor SID/URI when executing the Supervise instruction.", - "type": "string" - }, - "SupervisorMode": { - "description": "The Supervisor mode when executing the Supervise instruction.", - "enum": [ - "monitor", - "whisper", - "barge" - ], - "type": "string" - }, - "Timeout": { - "description": "Timeout for call when executing a Conference instruction.", - "type": "integer" - }, - "To": { - "description": "The Contact URI of the worker when executing a Conference instruction. Can be the URI of the Twilio Client, the SIP URI for Programmable SIP, or the [E.164](https://www.twilio.com/docs/glossary/what-e164) formatted phone number, depending on the destination.", - "type": "string" - }, - "WaitMethod": { - "description": "The HTTP method we should use to call `wait_url`. Can be `GET` or `POST` and the default is `POST`. When using a static audio file, this should be `GET` so that we can cache the file.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "WaitUrl": { - "description": "The URL we should call using the `wait_method` for the music to play while participants are waiting for the conference to start. The default value is the URL of our standard hold music. [Learn more about hold music](https://www.twilio.com/labs/twimlets/holdmusic).", - "format": "uri", - "type": "string" - }, - "WorkerActivitySid": { - "description": "The new worker activity SID if rejecting a reservation.", - "maxLength": 34, - "minLength": 34, - "pattern": "^WA[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "title": "UpdateTaskReservationRequest", - "type": "object" - } - } - } - }, "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.task.task_reservation" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -5491,114 +5346,64 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteWorker", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Workspaces/{WorkspaceSid}/Workers/{WorkerSid}/Channels": { "servers": [ { "url": "https://taskrouter.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", - "reservation_status", - "worker_name", - "worker_sid" + "task_channel_sid", + "task_channel_unique_name" ], - "parent": "/Workspaces/{WorkspaceSid}/Tasks", - "pathType": "instance" - } - }, - "/v1/Workspaces/{WorkspaceSid}/Workers": { - "description": "TODO: Resource-level docs", + "pathType": "list", + "parent": "/Workspaces/{WorkspaceSid}/Workers", + "className": "worker_channel" + }, "get": { "description": "", - "operationId": "ListWorker", "parameters": [ { - "description": "The SID of the Workspace with the Workers to read.", - "in": "path", "name": "WorkspaceSid", - "required": true, + "in": "path", + "description": "The SID of the Workspace with the WorkerChannels to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The `activity_name` of the Worker resources to read.", - "in": "query", - "name": "ActivityName", - "schema": { - "type": "string" - } - }, - { - "description": "The `activity_sid` of the Worker resources to read.", - "in": "query", - "name": "ActivitySid", - "schema": { "maxLength": 34, - "minLength": 34, - "pattern": "^WA[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "Whether to return only Worker resources that are available or unavailable. Can be `true`, `1`, or `yes` to return Worker resources that are available, and `false`, or any value returns the Worker resources that are not available.", - "in": "query", - "name": "Available", - "schema": { - "type": "string" - } - }, - { - "description": "The `friendly_name` of the Worker resources to read.", - "in": "query", - "name": "FriendlyName", - "schema": { - "type": "string" - } - }, - { - "description": "Filter by Workers that would match an expression on a TaskQueue. This is helpful for debugging which Workers would match a potential queue.", - "in": "query", - "name": "TargetWorkersExpression", - "schema": { - "type": "string" - } - }, - { - "description": "The `friendly_name` of the TaskQueue that the Workers to read are eligible for.", - "in": "query", - "name": "TaskQueueName", - "schema": { - "type": "string" - } + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the TaskQueue that the Workers to read are eligible for.", - "in": "query", - "name": "TaskQueueSid", + "name": "WorkerSid", + "in": "path", + "description": "The SID of the Worker with the WorkerChannels to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WQ[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WK[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -5607,19 +5412,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListWorkerChannelResponse", "properties": { + "channels": { + "type": "array", + "items": { + "$ref": "#/components/schemas/taskrouter.v1.workspace.worker.worker_channel" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -5628,25 +5439,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "workers": { - "items": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.worker" - }, - "type": "array" + } } - }, - "title": "ListWorkerResponse", - "type": "object" + } } } }, @@ -5658,67 +5463,135 @@ "accountSid_authToken": [] } ], + "operationId": "ListWorkerChannel", "x-maturity": [ "GA" ] + } + }, + "/v1/Workspaces/{WorkspaceSid}/Workers/{WorkerSid}/Channels/{Sid}": { + "servers": [ + { + "url": "https://taskrouter.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "task_channel_sid", + "task_channel_unique_name" + ], + "pathType": "instance", + "parent": "/Workspaces/{WorkspaceSid}/Workers", + "className": "worker_channel" }, - "post": { + "get": { "description": "", - "operationId": "CreateWorker", "parameters": [ { - "description": "The SID of the Workspace that the new Worker belongs to.", - "in": "path", "name": "WorkspaceSid", - "required": true, + "in": "path", + "description": "The SID of the Workspace with the WorkerChannel to fetch.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "WorkerSid", + "in": "path", + "description": "The SID of the Worker with the WorkerChannel to fetch.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", + "maxLength": 34, + "pattern": "^WK[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the WorkerChannel to fetch.", + "schema": { "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "ActivitySid": { - "description": "The SID of a valid Activity that will describe the new Worker's initial state. See [Activities](https://www.twilio.com/docs/taskrouter/api/activity) for more information. If not provided, the new Worker's initial state is the `default_activity_sid` configured on the Workspace.", - "maxLength": 34, - "minLength": 34, - "pattern": "^WA[0-9a-fA-F]{32}$", - "type": "string" - }, - "Attributes": { - "description": "A valid JSON string that describes the new Worker. For example: `{ \"email\": \"Bob@example.com\", \"phone\": \"+5095551234\" }`. This data is passed to the `assignment_callback_url` when TaskRouter assigns a Task to the Worker. Defaults to {}.", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the new Worker. It can be up to 64 characters long.", - "type": "string" - } - }, - "required": [ - "FriendlyName" - ], - "title": "CreateWorkerRequest", - "type": "object" + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/taskrouter.v1.workspace.worker.worker_channel" + } } - } + }, + "description": "OK" } }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "FetchWorkerChannel", + "x-maturity": [ + "GA" + ] + }, + "post": { + "description": "", + "parameters": [ + { + "name": "WorkspaceSid", + "in": "path", + "description": "The SID of the Workspace with the WorkerChannel to update.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "WorkerSid", + "in": "path", + "description": "The SID of the Worker with the WorkerChannel to update.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WK[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the WorkerChannel to update.", + "schema": { + "type": "string" + }, + "required": true + } + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.worker" + "$ref": "#/components/schemas/taskrouter.v1.workspace.worker.worker_channel" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -5726,73 +5599,104 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateWorkerChannel", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://taskrouter.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "available" ], - "parent": "/Workspaces", - "pathType": "list" + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateWorkerChannelRequest", + "properties": { + "Capacity": { + "type": "integer", + "description": "The total number of Tasks that the Worker should handle for the TaskChannel type. TaskRouter creates reservations for Tasks of this TaskChannel type up to the specified capacity. If the capacity is 0, no new reservations will be created." + }, + "Available": { + "type": "boolean", + "description": "Whether the WorkerChannel is available. Set to `false` to prevent the Worker from receiving any new Tasks of this TaskChannel type." + } + } + } + } + } + } } }, - "/v1/Workspaces/{WorkspaceSid}/Workers/CumulativeStatistics": { + "/v1/Workspaces/{WorkspaceSid}/Workers/{WorkerSid}/Statistics": { + "servers": [ + { + "url": "https://taskrouter.twilio.com" + } + ], "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "cumulative" + ], + "pathType": "instance", + "parent": "/Workspaces/{WorkspaceSid}/Workers", + "className": "worker_statistics" + }, "get": { "description": "", - "operationId": "FetchWorkersCumulativeStatistics", "parameters": [ { - "description": "The SID of the Workspace with the resource to fetch.", - "in": "path", "name": "WorkspaceSid", - "required": true, + "in": "path", + "description": "The SID of the Workspace with the WorkerChannel to fetch.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "WorkerSid", + "in": "path", + "description": "The SID of the Worker with the WorkerChannel to fetch.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WK[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "Only calculate statistics from this date and time and earlier, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.", + "name": "Minutes", "in": "query", - "name": "EndDate", + "description": "Only calculate statistics since this many minutes in the past. The default 15 minutes. This is helpful for displaying statistics for the last 15 minutes, 240 minutes (4 hours), and 480 minutes (8 hours) to see trends.", "schema": { - "format": "date-time", - "type": "string" + "type": "integer" } }, { - "description": "Only calculate statistics since this many minutes in the past. The default 15 minutes. This is helpful for displaying statistics for the last 15 minutes, 240 minutes (4 hours), and 480 minutes (8 hours) to see trends.", + "name": "StartDate", "in": "query", - "name": "Minutes", + "description": "Only calculate statistics from this date and time and later, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.", "schema": { - "type": "integer" + "type": "string", + "format": "date-time" } }, { - "description": "Only calculate statistics from this date and time and later, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.", + "name": "EndDate", "in": "query", - "name": "StartDate", + "description": "Only include usage that occurred on or before this date, specified in GMT as an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time.", "schema": { - "format": "date-time", - "type": "string" + "type": "string", + "format": "date-time" } }, { - "description": "Only calculate cumulative statistics on this TaskChannel. Can be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or `default`.", - "in": "query", "name": "TaskChannel", + "in": "query", + "description": "Only calculate statistics on this TaskChannel. Can be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or `default`.", "schema": { "type": "string" } @@ -5803,7 +5707,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.worker.workers_cumulative_statistics" + "$ref": "#/components/schemas/taskrouter.v1.workspace.worker.worker_instance_statistics" } } }, @@ -5815,53 +5719,81 @@ "accountSid_authToken": [] } ], + "operationId": "FetchWorkerInstanceStatistics", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Workspaces/{WorkspaceSid}/Workers/{WorkerSid}/Reservations": { "servers": [ { "url": "https://taskrouter.twilio.com" } ], + "description": "Current and past reservations for a worker", "x-twilio": { - "className": "workers_cumulative_statistics", "defaultOutputProperties": [ - "reservations_created", - "reservations_accepted", - "reservations_rejected", - "reservations_timed_out", - "reservations_canceled", - "reservations_rescinded" + "sid", + "reservation_status", + "date_created" ], - "parent": "/Workspaces/{WorkspaceSid}/Workers", - "pathType": "instance" - } - }, - "/v1/Workspaces/{WorkspaceSid}/Workers/RealTimeStatistics": { - "description": "TODO: Resource-level docs", + "pathType": "list", + "parent": "/Workspaces/{WorkspaceSid}/Workers" + }, "get": { "description": "", - "operationId": "FetchWorkersRealTimeStatistics", "parameters": [ { - "description": "The SID of the Workspace with the resource to fetch.", - "in": "path", "name": "WorkspaceSid", - "required": true, + "in": "path", + "description": "The SID of the Workspace with the WorkerReservation resources to read.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "WorkerSid", + "in": "path", + "description": "The SID of the reserved Worker resource with the WorkerReservation resources to read.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^WK[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "ReservationStatus", + "in": "query", + "description": "Returns the list of reservations for a worker with a specified ReservationStatus. Can be: `pending`, `accepted`, `rejected`, `timeout`, `canceled`, or `rescinded`.", + "schema": { + "type": "string", + "enum": [ + "pending", + "accepted", + "rejected", + "timeout", + "canceled", + "rescinded", + "wrapping", + "completed" + ] } }, { - "description": "Only calculate real-time statistics on this TaskChannel. Can be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or `default`.", + "name": "PageSize", "in": "query", - "name": "TaskChannel", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "type": "string" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], @@ -5870,7 +5802,46 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.worker.workers_real_time_statistics" + "type": "object", + "title": "ListWorkerReservationResponse", + "properties": { + "reservations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/taskrouter.v1.workspace.worker.worker_reservation" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -5882,99 +5853,133 @@ "accountSid_authToken": [] } ], + "operationId": "ListWorkerReservation", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Workspaces/{WorkspaceSid}/Workers/{WorkerSid}/Reservations/{Sid}": { "servers": [ { "url": "https://taskrouter.twilio.com" } ], + "description": "Current and past reservations for a worker", "x-twilio": { - "className": "workers_real_time_statistics", "defaultOutputProperties": [ - "total_workers" + "sid", + "reservation_status", + "date_created" ], - "parent": "/Workspaces/{WorkspaceSid}/Workers", - "pathType": "instance" - } - }, - "/v1/Workspaces/{WorkspaceSid}/Workers/Statistics": { - "description": "TODO: Resource-level docs", + "pathType": "instance", + "parent": "/Workspaces/{WorkspaceSid}/Workers" + }, "get": { "description": "", - "operationId": "FetchWorkerStatistics", "parameters": [ { - "description": "The SID of the Workspace with the Worker to fetch.", - "in": "path", "name": "WorkspaceSid", - "required": true, + "in": "path", + "description": "The SID of the Workspace with the WorkerReservation resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "Only calculate statistics since this many minutes in the past. The default 15 minutes. This is helpful for displaying statistics for the last 15 minutes, 240 minutes (4 hours), and 480 minutes (8 hours) to see trends.", - "in": "query", - "name": "Minutes", + "name": "WorkerSid", + "in": "path", + "description": "The SID of the reserved Worker resource with the WorkerReservation resource to fetch.", "schema": { - "type": "integer" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WK[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "Only calculate statistics from this date and time and later, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.", - "in": "query", - "name": "StartDate", + "name": "Sid", + "in": "path", + "description": "The SID of the WorkerReservation resource to fetch.", "schema": { - "format": "date-time", - "type": "string" - } - }, + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WR[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/taskrouter.v1.workspace.worker.worker_reservation" + } + } + }, + "description": "OK" + } + }, + "security": [ { - "description": "Only calculate statistics from this date and time and earlier, specified in GMT as an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time.", - "in": "query", - "name": "EndDate", - "schema": { - "format": "date-time", - "type": "string" - } - }, + "accountSid_authToken": [] + } + ], + "operationId": "FetchWorkerReservation", + "x-maturity": [ + "GA" + ] + }, + "post": { + "description": "", + "parameters": [ { - "description": "The SID of the TaskQueue for which to fetch Worker statistics.", - "in": "query", - "name": "TaskQueueSid", + "name": "WorkspaceSid", + "in": "path", + "description": "The SID of the Workspace with the WorkerReservation resources to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WQ[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The `friendly_name` of the TaskQueue for which to fetch Worker statistics.", - "in": "query", - "name": "TaskQueueName", + "name": "WorkerSid", + "in": "path", + "description": "The SID of the reserved Worker resource with the WorkerReservation resources to update.", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WK[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "Only include Workers with `friendly_name` values that match this parameter.", - "in": "query", - "name": "FriendlyName", + "name": "Sid", + "in": "path", + "description": "The SID of the WorkerReservation resource to update.", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WR[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "Only calculate statistics on this TaskChannel. Can be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or `default`.", - "in": "query", - "name": "TaskChannel", + "name": "If-Match", + "in": "header", + "description": "The If-Match HTTP request header", "schema": { "type": "string" } @@ -5985,7 +5990,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.worker.worker_statistics" + "$ref": "#/components/schemas/taskrouter.v1.workspace.worker.worker_reservation" } } }, @@ -5997,102 +6002,416 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateWorkerReservation", "x-maturity": [ "GA" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateWorkerReservationRequest", + "properties": { + "ReservationStatus": { + "type": "string", + "enum": [ + "pending", + "accepted", + "rejected", + "timeout", + "canceled", + "rescinded", + "wrapping", + "completed" + ], + "description": "The new status of the reservation. Can be: `pending`, `accepted`, `rejected`, `timeout`, `canceled`, or `rescinded`." + }, + "WorkerActivitySid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WA[0-9a-fA-F]{32}$", + "description": "The new worker activity SID if rejecting a reservation." + }, + "Instruction": { + "type": "string", + "description": "The assignment instruction for the reservation." + }, + "DequeuePostWorkActivitySid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WA[0-9a-fA-F]{32}$", + "description": "The SID of the Activity resource to start after executing a Dequeue instruction." + }, + "DequeueFrom": { + "type": "string", + "description": "The caller ID of the call to the worker when executing a Dequeue instruction." + }, + "DequeueRecord": { + "type": "string", + "description": "Whether to record both legs of a call when executing a Dequeue instruction or which leg to record." + }, + "DequeueTimeout": { + "type": "integer", + "description": "The timeout for call when executing a Dequeue instruction." + }, + "DequeueTo": { + "type": "string", + "description": "The contact URI of the worker when executing a Dequeue instruction. Can be the URI of the Twilio Client, the SIP URI for Programmable SIP, or the [E.164](https://www.twilio.com/docs/glossary/what-e164) formatted phone number, depending on the destination." + }, + "DequeueStatusCallbackUrl": { + "type": "string", + "format": "uri", + "description": "The callback URL for completed call event when executing a Dequeue instruction." + }, + "CallFrom": { + "type": "string", + "description": "The Caller ID of the outbound call when executing a Call instruction." + }, + "CallRecord": { + "type": "string", + "description": "Whether to record both legs of a call when executing a Call instruction." + }, + "CallTimeout": { + "type": "integer", + "description": "The timeout for a call when executing a Call instruction." + }, + "CallTo": { + "type": "string", + "description": "The contact URI of the worker when executing a Call instruction. Can be the URI of the Twilio Client, the SIP URI for Programmable SIP, or the [E.164](https://www.twilio.com/docs/glossary/what-e164) formatted phone number, depending on the destination." + }, + "CallUrl": { + "type": "string", + "format": "uri", + "description": "TwiML URI executed on answering the worker's leg as a result of the Call instruction." + }, + "CallStatusCallbackUrl": { + "type": "string", + "format": "uri", + "description": "The URL to call for the completed call event when executing a Call instruction." + }, + "CallAccept": { + "type": "boolean", + "description": "Whether to accept a reservation when executing a Call instruction." + }, + "RedirectCallSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$", + "description": "The Call SID of the call parked in the queue when executing a Redirect instruction." + }, + "RedirectAccept": { + "type": "boolean", + "description": "Whether the reservation should be accepted when executing a Redirect instruction." + }, + "RedirectUrl": { + "type": "string", + "format": "uri", + "description": "TwiML URI to redirect the call to when executing the Redirect instruction." + }, + "To": { + "type": "string", + "description": "The Contact URI of the worker when executing a Conference instruction. Can be the URI of the Twilio Client, the SIP URI for Programmable SIP, or the [E.164](https://www.twilio.com/docs/glossary/what-e164) formatted phone number, depending on the destination." + }, + "From": { + "type": "string", + "description": "The caller ID of the call to the worker when executing a Conference instruction." + }, + "StatusCallback": { + "type": "string", + "format": "uri", + "description": "The URL we should call using the `status_callback_method` to send status information to your application." + }, + "StatusCallbackMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method we should use to call `status_callback`. Can be: `POST` or `GET` and the default is `POST`." + }, + "StatusCallbackEvent": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "initiated", + "ringing", + "answered", + "completed" + ] + }, + "description": "The call progress events that we will send to `status_callback`. Can be: `initiated`, `ringing`, `answered`, or `completed`." + }, + "Timeout": { + "type": "integer", + "description": "The timeout for a call when executing a Conference instruction." + }, + "Record": { + "type": "boolean", + "description": "Whether to record the participant and their conferences, including the time between conferences. Can be `true` or `false` and the default is `false`." + }, + "Muted": { + "type": "boolean", + "description": "Whether the agent is muted in the conference. Defaults to `false`." + }, + "Beep": { + "type": "string", + "description": "Whether to play a notification beep when the participant joins or when to play a beep. Can be: `true`, `false`, `onEnter`, or `onExit`. The default value is `true`." + }, + "StartConferenceOnEnter": { + "type": "boolean", + "description": "Whether to start the conference when the participant joins, if it has not already started. Can be: `true` or `false` and the default is `true`. If `false` and the conference has not started, the participant is muted and hears background music until another participant starts the conference." + }, + "EndConferenceOnExit": { + "type": "boolean", + "description": "Whether to end the conference when the agent leaves." + }, + "WaitUrl": { + "type": "string", + "format": "uri", + "description": "The URL we should call using the `wait_method` for the music to play while participants are waiting for the conference to start. The default value is the URL of our standard hold music. [Learn more about hold music](https://www.twilio.com/labs/twimlets/holdmusic)." + }, + "WaitMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method we should use to call `wait_url`. Can be `GET` or `POST` and the default is `POST`. When using a static audio file, this should be `GET` so that we can cache the file." + }, + "EarlyMedia": { + "type": "boolean", + "description": "Whether to allow an agent to hear the state of the outbound call, including ringing or disconnect messages. The default is `true`." + }, + "MaxParticipants": { + "type": "integer", + "description": "The maximum number of participants allowed in the conference. Can be a positive integer from `2` to `250`. The default value is `250`." + }, + "ConferenceStatusCallback": { + "type": "string", + "format": "uri", + "description": "The URL we should call using the `conference_status_callback_method` when the conference events in `conference_status_callback_event` occur. Only the value set by the first participant to join the conference is used. Subsequent `conference_status_callback` values are ignored." + }, + "ConferenceStatusCallbackMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method we should use to call `conference_status_callback`. Can be: `GET` or `POST` and defaults to `POST`." + }, + "ConferenceStatusCallbackEvent": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "start", + "end", + "join", + "leave", + "mute", + "hold", + "speaker" + ] + }, + "description": "The conference status events that we will send to `conference_status_callback`. Can be: `start`, `end`, `join`, `leave`, `mute`, `hold`, `speaker`." + }, + "ConferenceRecord": { + "type": "string", + "description": "Whether to record the conference the participant is joining or when to record the conference. Can be: `true`, `false`, `record-from-start`, and `do-not-record`. The default value is `false`." + }, + "ConferenceTrim": { + "type": "string", + "description": "Whether to trim leading and trailing silence from your recorded conference audio files. Can be: `trim-silence` or `do-not-trim` and defaults to `trim-silence`." + }, + "RecordingChannels": { + "type": "string", + "description": "The recording channels for the final recording. Can be: `mono` or `dual` and the default is `mono`." + }, + "RecordingStatusCallback": { + "type": "string", + "format": "uri", + "description": "The URL that we should call using the `recording_status_callback_method` when the recording status changes." + }, + "RecordingStatusCallbackMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method we should use when we call `recording_status_callback`. Can be: `GET` or `POST` and defaults to `POST`." + }, + "ConferenceRecordingStatusCallback": { + "type": "string", + "format": "uri", + "description": "The URL we should call using the `conference_recording_status_callback_method` when the conference recording is available." + }, + "ConferenceRecordingStatusCallbackMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method we should use to call `conference_recording_status_callback`. Can be: `GET` or `POST` and defaults to `POST`." + }, + "Region": { + "type": "string", + "description": "The [region](https://support.twilio.com/hc/en-us/articles/223132167-How-global-low-latency-routing-and-region-selection-work-for-conferences-and-Client-calls) where we should mix the recorded audio. Can be:`us1`, `ie1`, `de1`, `sg1`, `br1`, `au1`, or `jp1`." + }, + "SipAuthUsername": { + "type": "string", + "description": "The SIP username used for authentication." + }, + "SipAuthPassword": { + "type": "string", + "description": "The SIP password for authentication." + }, + "DequeueStatusCallbackEvent": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The call progress events sent via webhooks as a result of a Dequeue instruction." + }, + "PostWorkActivitySid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WA[0-9a-fA-F]{32}$", + "description": "The new worker activity SID after executing a Conference instruction." + }, + "EndConferenceOnCustomerExit": { + "type": "boolean", + "description": "Whether to end the conference when the customer leaves." + }, + "BeepOnCustomerEntrance": { + "type": "boolean", + "description": "Whether to play a notification beep when the customer joins." + } + } + } + } + } + } + } + }, + "/v1/Workspaces/{WorkspaceSid}/Workers/Statistics": { "servers": [ { "url": "https://taskrouter.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { - "className": "workers_statistics", "defaultOutputProperties": [ "cumulative" ], + "pathType": "instance", "parent": "/Workspaces/{WorkspaceSid}/Workers", - "pathType": "instance" - } - }, - "/v1/Workspaces/{WorkspaceSid}/Workers/{Sid}": { - "delete": { + "className": "workers_statistics" + }, + "get": { "description": "", - "operationId": "DeleteWorker", "parameters": [ { - "description": "The SID of the Workspace with the Worker to delete.", - "in": "path", "name": "WorkspaceSid", - "required": true, + "in": "path", + "description": "The SID of the Workspace with the Worker to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Minutes", + "in": "query", + "description": "Only calculate statistics since this many minutes in the past. The default 15 minutes. This is helpful for displaying statistics for the last 15 minutes, 240 minutes (4 hours), and 480 minutes (8 hours) to see trends.", + "schema": { + "type": "integer" + } + }, + { + "name": "StartDate", + "in": "query", + "description": "Only calculate statistics from this date and time and later, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "EndDate", + "in": "query", + "description": "Only calculate statistics from this date and time and earlier, specified in GMT as an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" + "type": "string", + "format": "date-time" } }, { - "description": "The SID of the Worker resource to delete.", - "in": "path", - "name": "Sid", - "required": true, + "name": "TaskQueueSid", + "in": "query", + "description": "The SID of the TaskQueue for which to fetch Worker statistics.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WK[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^WQ[0-9a-fA-F]{32}$" } }, { - "description": "The If-Match HTTP request header", - "in": "header", - "name": "If-Match", + "name": "TaskQueueName", + "in": "query", + "description": "The `friendly_name` of the TaskQueue for which to fetch Worker statistics.", "schema": { "type": "string" } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "description": "TODO: Resource-level docs", - "get": { - "description": "", - "operationId": "FetchWorker", - "parameters": [ + }, { - "description": "The SID of the Workspace with the Worker to fetch.", - "in": "path", - "name": "WorkspaceSid", - "required": true, + "name": "FriendlyName", + "in": "query", + "description": "Only include Workers with `friendly_name` values that match this parameter.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", "type": "string" } }, { - "description": "The SID of the Worker resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, + "name": "TaskChannel", + "in": "query", + "description": "Only calculate statistics on this TaskChannel. Can be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or `default`.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WK[0-9a-fA-F]{32}$", "type": "string" } } @@ -6102,7 +6421,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.worker" + "$ref": "#/components/schemas/taskrouter.v1.workspace.worker.worker_statistics" } } }, @@ -6114,84 +6433,88 @@ "accountSid_authToken": [] } ], + "operationId": "FetchWorkerStatistics", "x-maturity": [ "GA" ] + } + }, + "/v1/Workspaces/{WorkspaceSid}/Workers/CumulativeStatistics": { + "servers": [ + { + "url": "https://taskrouter.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "reservations_created", + "reservations_accepted", + "reservations_rejected", + "reservations_timed_out", + "reservations_canceled", + "reservations_rescinded" + ], + "pathType": "instance", + "parent": "/Workspaces/{WorkspaceSid}/Workers", + "className": "workers_cumulative_statistics" }, - "post": { + "get": { "description": "", - "operationId": "UpdateWorker", "parameters": [ { - "description": "The SID of the Workspace with the Worker to update.", - "in": "path", "name": "WorkspaceSid", - "required": true, + "in": "path", + "description": "The SID of the Workspace with the resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "EndDate", + "in": "query", + "description": "Only calculate statistics from this date and time and earlier, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.", + "schema": { + "type": "string", + "format": "date-time" } }, { - "description": "The SID of the Worker resource to update.", - "in": "path", - "name": "Sid", - "required": true, + "name": "Minutes", + "in": "query", + "description": "Only calculate statistics since this many minutes in the past. The default 15 minutes. This is helpful for displaying statistics for the last 15 minutes, 240 minutes (4 hours), and 480 minutes (8 hours) to see trends.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WK[0-9a-fA-F]{32}$", - "type": "string" + "type": "integer" } }, { - "description": "The If-Match HTTP request header", - "in": "header", - "name": "If-Match", + "name": "StartDate", + "in": "query", + "description": "Only calculate statistics from this date and time and later, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "TaskChannel", + "in": "query", + "description": "Only calculate cumulative statistics on this TaskChannel. Can be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or `default`.", "schema": { "type": "string" } } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "ActivitySid": { - "description": "The SID of a valid Activity that will describe the Worker's initial state. See [Activities](https://www.twilio.com/docs/taskrouter/api/activity) for more information.", - "maxLength": 34, - "minLength": 34, - "pattern": "^WA[0-9a-fA-F]{32}$", - "type": "string" - }, - "Attributes": { - "description": "The JSON string that describes the Worker. For example: `{ \"email\": \"Bob@example.com\", \"phone\": \"+5095551234\" }`. This data is passed to the `assignment_callback_url` when TaskRouter assigns a Task to the Worker. Defaults to {}.", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the Worker. It can be up to 64 characters long.", - "type": "string" - }, - "RejectPendingReservations": { - "description": "Whether to reject the Worker's pending reservations. This option is only valid if the Worker's new [Activity](https://www.twilio.com/docs/taskrouter/api/activity) resource has its `availability` property set to `False`.", - "type": "boolean" - } - }, - "title": "UpdateWorkerRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.worker" + "$ref": "#/components/schemas/taskrouter.v1.workspace.worker.workers_cumulative_statistics" } } }, @@ -6203,63 +6526,48 @@ "accountSid_authToken": [] } ], + "operationId": "FetchWorkersCumulativeStatistics", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Workspaces/{WorkspaceSid}/Workers/RealTimeStatistics": { "servers": [ { "url": "https://taskrouter.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ - "sid", - "friendly_name", - "available" + "total_workers" ], - "parent": "/Workspaces", - "pathType": "instance" - } - }, - "/v1/Workspaces/{WorkspaceSid}/Workers/{WorkerSid}/Channels": { - "description": "TODO: Resource-level docs", + "pathType": "instance", + "parent": "/Workspaces/{WorkspaceSid}/Workers", + "className": "workers_real_time_statistics" + }, "get": { "description": "", - "operationId": "ListWorkerChannel", "parameters": [ { - "description": "The SID of the Workspace with the WorkerChannels to read.", - "in": "path", "name": "WorkspaceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the Worker with the WorkerChannels to read.", "in": "path", - "name": "WorkerSid", - "required": true, + "description": "The SID of the Workspace with the resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WK[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", + "name": "TaskChannel", "in": "query", - "name": "PageSize", + "description": "Only calculate real-time statistics on this TaskChannel. Can be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or `default`.", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" + "type": "string" } } ], @@ -6268,46 +6576,7 @@ "content": { "application/json": { "schema": { - "properties": { - "channels": { - "items": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.worker.worker_channel" - }, - "type": "array" - }, - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - } - }, - "title": "ListWorkerChannelResponse", - "type": "object" + "$ref": "#/components/schemas/taskrouter.v1.workspace.worker.workers_real_time_statistics" } } }, @@ -6319,64 +6588,54 @@ "accountSid_authToken": [] } ], + "operationId": "FetchWorkersRealTimeStatistics", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Workspaces/{WorkspaceSid}/Workflows/{Sid}": { "servers": [ { "url": "https://taskrouter.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { - "className": "worker_channel", "defaultOutputProperties": [ "sid", - "task_channel_sid", - "task_channel_unique_name" + "friendly_name", + "document_content_type" ], - "parent": "/Workspaces/{WorkspaceSid}/Workers", - "pathType": "list" - } - }, - "/v1/Workspaces/{WorkspaceSid}/Workers/{WorkerSid}/Channels/{Sid}": { - "description": "TODO: Resource-level docs", + "pathType": "instance", + "parent": "/Workspaces" + }, "get": { "description": "", - "operationId": "FetchWorkerChannel", "parameters": [ { - "description": "The SID of the Workspace with the WorkerChannel to fetch.", - "in": "path", "name": "WorkspaceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the Worker with the WorkerChannel to fetch.", "in": "path", - "name": "WorkerSid", - "required": true, + "description": "The SID of the Workspace with the Workflow to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WK[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the WorkerChannel to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Workflow resource to fetch.", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WW[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -6384,7 +6643,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.worker.worker_channel" + "$ref": "#/components/schemas/taskrouter.v1.workspace.workflow" } } }, @@ -6396,74 +6655,45 @@ "accountSid_authToken": [] } ], + "operationId": "FetchWorkflow", "x-maturity": [ "GA" ] }, "post": { "description": "", - "operationId": "UpdateWorkerChannel", "parameters": [ { - "description": "The SID of the Workspace with the WorkerChannel to update.", - "in": "path", "name": "WorkspaceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the Worker with the WorkerChannel to update.", "in": "path", - "name": "WorkerSid", - "required": true, + "description": "The SID of the Workspace with the Workflow to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WK[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the WorkerChannel to update.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Workflow resource to update.", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WW[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Available": { - "description": "Whether the WorkerChannel is available. Set to `false` to prevent the Worker from receiving any new Tasks of this TaskChannel type.", - "type": "boolean" - }, - "Capacity": { - "description": "The total number of Tasks that the Worker should handle for the TaskChannel type. TaskRouter creates reservations for Tasks of this TaskChannel type up to the specified capacity. If the capacity is 0, no new reservations will be created.", - "type": "integer" - } - }, - "title": "UpdateWorkerChannelRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.worker.worker_channel" + "$ref": "#/components/schemas/taskrouter.v1.workspace.workflow" } } }, @@ -6475,134 +6705,80 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateWorkflow", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://taskrouter.twilio.com" - } - ], - "x-twilio": { - "className": "worker_channel", - "defaultOutputProperties": [ - "sid", - "task_channel_sid", - "task_channel_unique_name" ], - "parent": "/Workspaces/{WorkspaceSid}/Workers", - "pathType": "instance" - } - }, - "/v1/Workspaces/{WorkspaceSid}/Workers/{WorkerSid}/Reservations": { - "description": "Current and past reservations for a worker", - "get": { + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateWorkflowRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the Workflow resource. For example, `Inbound Call Workflow` or `2014 Outbound Campaign`." + }, + "AssignmentCallbackUrl": { + "type": "string", + "format": "uri", + "description": "The URL from your application that will process task assignment events. See [Handling Task Assignment Callback](https://www.twilio.com/docs/taskrouter/handle-assignment-callbacks) for more details." + }, + "FallbackAssignmentCallbackUrl": { + "type": "string", + "format": "uri", + "description": "The URL that we should call when a call to the `assignment_callback_url` fails." + }, + "Configuration": { + "type": "string", + "description": "A JSON string that contains the rules to apply to the Workflow. See [Configuring Workflows](https://www.twilio.com/docs/taskrouter/workflow-configuration) for more information." + }, + "TaskReservationTimeout": { + "type": "integer", + "description": "How long TaskRouter will wait for a confirmation response from your application after it assigns a Task to a Worker. Can be up to `86,400` (24 hours) and the default is `120`." + }, + "ReEvaluateTasks": { + "type": "string", + "description": "Whether or not to re-evaluate Tasks. The default is `false`, which means Tasks in the Workflow will not be processed through the assignment loop again." + } + } + } + } + } + } + }, + "delete": { "description": "", - "operationId": "ListWorkerReservation", "parameters": [ { - "description": "The SID of the Workspace with the WorkerReservation resources to read.", - "in": "path", "name": "WorkspaceSid", - "required": true, + "in": "path", + "description": "The SID of the Workspace with the Workflow to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the reserved Worker resource with the WorkerReservation resources to read.", + "name": "Sid", "in": "path", - "name": "WorkerSid", - "required": true, + "description": "The SID of the Workflow resource to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WK[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "Returns the list of reservations for a worker with a specified ReservationStatus. Can be: `pending`, `accepted`, `rejected`, `timeout`, `canceled`, or `rescinded`.", - "in": "query", - "name": "ReservationStatus", - "schema": { - "enum": [ - "pending", - "accepted", - "rejected", - "timeout", - "canceled", - "rescinded", - "wrapping", - "completed" - ], - "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" - } + "maxLength": 34, + "pattern": "^WW[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "reservations": { - "items": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.worker.worker_reservation" - }, - "type": "array" - } - }, - "title": "ListWorkerReservationResponse", - "type": "object" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -6610,65 +6786,59 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteWorkflow", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Workspaces/{WorkspaceSid}/Workflows": { "servers": [ { "url": "https://taskrouter.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", - "reservation_status", - "date_created" + "friendly_name", + "document_content_type" ], - "parent": "/Workspaces/{WorkspaceSid}/Workers", - "pathType": "list" - } - }, - "/v1/Workspaces/{WorkspaceSid}/Workers/{WorkerSid}/Reservations/{Sid}": { - "description": "Current and past reservations for a worker", + "pathType": "list", + "parent": "/Workspaces" + }, "get": { "description": "", - "operationId": "FetchWorkerReservation", "parameters": [ { - "description": "The SID of the Workspace with the WorkerReservation resource to fetch.", - "in": "path", "name": "WorkspaceSid", - "required": true, + "in": "path", + "description": "The SID of the Workspace with the Workflow to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of the reserved Worker resource with the WorkerReservation resource to fetch.", - "in": "path", - "name": "WorkerSid", - "required": true, + "name": "FriendlyName", + "in": "query", + "description": "The `friendly_name` of the Workflow resources to read.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WK[0-9a-fA-F]{32}$", "type": "string" } }, { - "description": "The SID of the WorkerReservation resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, + "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WR[0-9a-fA-F]{32}$", - "type": "string" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], @@ -6677,7 +6847,46 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.worker.worker_reservation" + "type": "object", + "title": "ListWorkflowResponse", + "properties": { + "workflows": { + "type": "array", + "items": { + "$ref": "#/components/schemas/taskrouter.v1.workspace.workflow" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -6689,381 +6898,182 @@ "accountSid_authToken": [] } ], + "operationId": "ListWorkflow", "x-maturity": [ "GA" ] }, "post": { "description": "", - "operationId": "UpdateWorkerReservation", "parameters": [ { - "description": "The SID of the Workspace with the WorkerReservation resources to update.", - "in": "path", "name": "WorkspaceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the reserved Worker resource with the WorkerReservation resources to update.", "in": "path", - "name": "WorkerSid", - "required": true, + "description": "The SID of the Workspace that the new Workflow to create belongs to.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WK[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the WorkerReservation resource to update.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { "maxLength": 34, - "minLength": 34, - "pattern": "^WR[0-9a-fA-F]{32}$", - "type": "string" - } - }, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/taskrouter.v1.workspace.workflow" + } + } + }, + "description": "Created" + } + }, + "security": [ { - "description": "The If-Match HTTP request header", - "in": "header", - "name": "If-Match", - "schema": { - "type": "string" - } + "accountSid_authToken": [] } ], + "operationId": "CreateWorkflow", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateWorkflowRequest", "properties": { - "Beep": { - "description": "Whether to play a notification beep when the participant joins or when to play a beep. Can be: `true`, `false`, `onEnter`, or `onExit`. The default value is `true`.", - "type": "string" - }, - "BeepOnCustomerEntrance": { - "description": "Whether to play a notification beep when the customer joins.", - "type": "boolean" - }, - "CallAccept": { - "description": "Whether to accept a reservation when executing a Call instruction.", - "type": "boolean" - }, - "CallFrom": { - "description": "The Caller ID of the outbound call when executing a Call instruction.", - "type": "string" - }, - "CallRecord": { - "description": "Whether to record both legs of a call when executing a Call instruction.", - "type": "string" - }, - "CallStatusCallbackUrl": { - "description": "The URL to call for the completed call event when executing a Call instruction.", - "format": "uri", - "type": "string" - }, - "CallTimeout": { - "description": "The timeout for a call when executing a Call instruction.", - "type": "integer" - }, - "CallTo": { - "description": "The contact URI of the worker when executing a Call instruction. Can be the URI of the Twilio Client, the SIP URI for Programmable SIP, or the [E.164](https://www.twilio.com/docs/glossary/what-e164) formatted phone number, depending on the destination.", - "type": "string" - }, - "CallUrl": { - "description": "TwiML URI executed on answering the worker's leg as a result of the Call instruction.", - "format": "uri", - "type": "string" - }, - "ConferenceRecord": { - "description": "Whether to record the conference the participant is joining or when to record the conference. Can be: `true`, `false`, `record-from-start`, and `do-not-record`. The default value is `false`.", - "type": "string" - }, - "ConferenceRecordingStatusCallback": { - "description": "The URL we should call using the `conference_recording_status_callback_method` when the conference recording is available.", - "format": "uri", - "type": "string" - }, - "ConferenceRecordingStatusCallbackMethod": { - "description": "The HTTP method we should use to call `conference_recording_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "ConferenceStatusCallback": { - "description": "The URL we should call using the `conference_status_callback_method` when the conference events in `conference_status_callback_event` occur. Only the value set by the first participant to join the conference is used. Subsequent `conference_status_callback` values are ignored.", - "format": "uri", - "type": "string" - }, - "ConferenceStatusCallbackEvent": { - "description": "The conference status events that we will send to `conference_status_callback`. Can be: `start`, `end`, `join`, `leave`, `mute`, `hold`, `speaker`.", - "items": { - "enum": [ - "start", - "end", - "join", - "leave", - "mute", - "hold", - "speaker" - ], - "type": "string" - }, - "type": "array" - }, - "ConferenceStatusCallbackMethod": { - "description": "The HTTP method we should use to call `conference_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "ConferenceTrim": { - "description": "Whether to trim leading and trailing silence from your recorded conference audio files. Can be: `trim-silence` or `do-not-trim` and defaults to `trim-silence`.", - "type": "string" - }, - "DequeueFrom": { - "description": "The caller ID of the call to the worker when executing a Dequeue instruction.", - "type": "string" - }, - "DequeuePostWorkActivitySid": { - "description": "The SID of the Activity resource to start after executing a Dequeue instruction.", - "maxLength": 34, - "minLength": 34, - "pattern": "^WA[0-9a-fA-F]{32}$", - "type": "string" - }, - "DequeueRecord": { - "description": "Whether to record both legs of a call when executing a Dequeue instruction or which leg to record.", - "type": "string" - }, - "DequeueStatusCallbackEvent": { - "description": "The call progress events sent via webhooks as a result of a Dequeue instruction.", - "items": { - "type": "string" - }, - "type": "array" - }, - "DequeueStatusCallbackUrl": { - "description": "The callback URL for completed call event when executing a Dequeue instruction.", - "format": "uri", - "type": "string" - }, - "DequeueTimeout": { - "description": "The timeout for call when executing a Dequeue instruction.", - "type": "integer" - }, - "DequeueTo": { - "description": "The contact URI of the worker when executing a Dequeue instruction. Can be the URI of the Twilio Client, the SIP URI for Programmable SIP, or the [E.164](https://www.twilio.com/docs/glossary/what-e164) formatted phone number, depending on the destination.", - "type": "string" - }, - "EarlyMedia": { - "description": "Whether to allow an agent to hear the state of the outbound call, including ringing or disconnect messages. The default is `true`.", - "type": "boolean" - }, - "EndConferenceOnCustomerExit": { - "description": "Whether to end the conference when the customer leaves.", - "type": "boolean" - }, - "EndConferenceOnExit": { - "description": "Whether to end the conference when the agent leaves.", - "type": "boolean" - }, - "From": { - "description": "The caller ID of the call to the worker when executing a Conference instruction.", - "type": "string" - }, - "Instruction": { - "description": "The assignment instruction for the reservation.", - "type": "string" - }, - "MaxParticipants": { - "description": "The maximum number of participants allowed in the conference. Can be a positive integer from `2` to `250`. The default value is `250`.", - "type": "integer" - }, - "Muted": { - "description": "Whether the agent is muted in the conference. Defaults to `false`.", - "type": "boolean" - }, - "PostWorkActivitySid": { - "description": "The new worker activity SID after executing a Conference instruction.", - "maxLength": 34, - "minLength": 34, - "pattern": "^WA[0-9a-fA-F]{32}$", - "type": "string" - }, - "Record": { - "description": "Whether to record the participant and their conferences, including the time between conferences. Can be `true` or `false` and the default is `false`.", - "type": "boolean" - }, - "RecordingChannels": { - "description": "The recording channels for the final recording. Can be: `mono` or `dual` and the default is `mono`.", - "type": "string" - }, - "RecordingStatusCallback": { - "description": "The URL that we should call using the `recording_status_callback_method` when the recording status changes.", - "format": "uri", - "type": "string" - }, - "RecordingStatusCallbackMethod": { - "description": "The HTTP method we should use when we call `recording_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "RedirectAccept": { - "description": "Whether the reservation should be accepted when executing a Redirect instruction.", - "type": "boolean" - }, - "RedirectCallSid": { - "description": "The Call SID of the call parked in the queue when executing a Redirect instruction.", - "maxLength": 34, - "minLength": 34, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" - }, - "RedirectUrl": { - "description": "TwiML URI to redirect the call to when executing the Redirect instruction.", - "format": "uri", - "type": "string" - }, - "Region": { - "description": "The [region](https://support.twilio.com/hc/en-us/articles/223132167-How-global-low-latency-routing-and-region-selection-work-for-conferences-and-Client-calls) where we should mix the recorded audio. Can be:`us1`, `ie1`, `de1`, `sg1`, `br1`, `au1`, or `jp1`.", - "type": "string" - }, - "ReservationStatus": { - "description": "The new status of the reservation. Can be: `pending`, `accepted`, `rejected`, `timeout`, `canceled`, or `rescinded`.", - "enum": [ - "pending", - "accepted", - "rejected", - "timeout", - "canceled", - "rescinded", - "wrapping", - "completed" - ], - "type": "string" - }, - "SipAuthPassword": { - "description": "The SIP password for authentication.", - "type": "string" - }, - "SipAuthUsername": { - "description": "The SIP username used for authentication.", - "type": "string" + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the Workflow resource. For example, `Inbound Call Workflow` or `2014 Outbound Campaign`." }, - "StartConferenceOnEnter": { - "description": "Whether to start the conference when the participant joins, if it has not already started. Can be: `true` or `false` and the default is `true`. If `false` and the conference has not started, the participant is muted and hears background music until another participant starts the conference.", - "type": "boolean" + "Configuration": { + "type": "string", + "description": "A JSON string that contains the rules to apply to the Workflow. See [Configuring Workflows](https://www.twilio.com/docs/taskrouter/workflow-configuration) for more information." }, - "StatusCallback": { - "description": "The URL we should call using the `status_callback_method` to send status information to your application.", + "AssignmentCallbackUrl": { + "type": "string", "format": "uri", - "type": "string" - }, - "StatusCallbackEvent": { - "description": "The call progress events that we will send to `status_callback`. Can be: `initiated`, `ringing`, `answered`, or `completed`.", - "items": { - "enum": [ - "initiated", - "ringing", - "answered", - "completed" - ], - "type": "string" - }, - "type": "array" + "description": "The URL from your application that will process task assignment events. See [Handling Task Assignment Callback](https://www.twilio.com/docs/taskrouter/handle-assignment-callbacks) for more details." }, - "StatusCallbackMethod": { - "description": "The HTTP method we should use to call `status_callback`. Can be: `POST` or `GET` and the default is `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "Timeout": { - "description": "The timeout for a call when executing a Conference instruction.", - "type": "integer" - }, - "To": { - "description": "The Contact URI of the worker when executing a Conference instruction. Can be the URI of the Twilio Client, the SIP URI for Programmable SIP, or the [E.164](https://www.twilio.com/docs/glossary/what-e164) formatted phone number, depending on the destination.", - "type": "string" - }, - "WaitMethod": { - "description": "The HTTP method we should use to call `wait_url`. Can be `GET` or `POST` and the default is `POST`. When using a static audio file, this should be `GET` so that we can cache the file.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "WaitUrl": { - "description": "The URL we should call using the `wait_method` for the music to play while participants are waiting for the conference to start. The default value is the URL of our standard hold music. [Learn more about hold music](https://www.twilio.com/labs/twimlets/holdmusic).", + "FallbackAssignmentCallbackUrl": { + "type": "string", "format": "uri", - "type": "string" + "description": "The URL that we should call when a call to the `assignment_callback_url` fails." }, - "WorkerActivitySid": { - "description": "The new worker activity SID if rejecting a reservation.", - "maxLength": 34, - "minLength": 34, - "pattern": "^WA[0-9a-fA-F]{32}$", - "type": "string" + "TaskReservationTimeout": { + "type": "integer", + "description": "How long TaskRouter will wait for a confirmation response from your application after it assigns a Task to a Worker. Can be up to `86,400` (24 hours) and the default is `120`." } }, - "title": "UpdateWorkerReservationRequest", - "type": "object" + "required": [ + "FriendlyName", + "Configuration" + ] } } } - }, + } + } + }, + "/v1/Workspaces/{WorkspaceSid}/Workflows/{WorkflowSid}/CumulativeStatistics": { + "servers": [ + { + "url": "https://taskrouter.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "start_time", + "end_time", + "avg_task_acceptance_time", + "tasks_completed" + ], + "pathType": "instance", + "parent": "/Workspaces/{WorkspaceSid}/Workflows", + "className": "workflow_cumulative_statistics" + }, + "get": { + "description": "", + "parameters": [ + { + "name": "WorkspaceSid", + "in": "path", + "description": "The SID of the Workspace with the resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "WorkflowSid", + "in": "path", + "description": "Returns the list of Tasks that are being controlled by the Workflow with the specified Sid value.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WW[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "EndDate", + "in": "query", + "description": "Only include usage that occurred on or before this date, specified in GMT as an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "Minutes", + "in": "query", + "description": "Only calculate statistics since this many minutes in the past. The default 15 minutes. This is helpful for displaying statistics for the last 15 minutes, 240 minutes (4 hours), and 480 minutes (8 hours) to see trends.", + "schema": { + "type": "integer" + } + }, + { + "name": "StartDate", + "in": "query", + "description": "Only calculate statistics from this date and time and later, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "TaskChannel", + "in": "query", + "description": "Only calculate cumulative statistics on this TaskChannel. Can be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or `default`.", + "schema": { + "type": "string" + } + }, + { + "name": "SplitByWaitTime", + "in": "query", + "description": "A comma separated list of values that describes the thresholds, in seconds, to calculate statistics on. For each threshold specified, the number of Tasks canceled and reservations accepted above and below the specified thresholds in seconds are computed. For example, `5,30` would show splits of Tasks that were canceled or accepted before and after 5 seconds and before and after 30 seconds. This can be used to show short abandoned Tasks or Tasks that failed to meet an SLA. TaskRouter will calculate statistics on up to 10,000 Tasks for any given threshold.", + "schema": { + "type": "string" + } + } + ], "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.worker.worker_reservation" + "$ref": "#/components/schemas/taskrouter.v1.workspace.workflow.workflow_cumulative_statistics" } } }, @@ -7075,85 +7085,168 @@ "accountSid_authToken": [] } ], + "operationId": "FetchWorkflowCumulativeStatistics", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Workspaces/{WorkspaceSid}/Workflows/{WorkflowSid}/RealTimeStatistics": { "servers": [ { "url": "https://taskrouter.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ - "sid", - "reservation_status", - "date_created" + "longest_task_waiting_age", + "longest_task_waiting_sid", + "total_tasks" ], - "parent": "/Workspaces/{WorkspaceSid}/Workers", - "pathType": "instance" - } - }, - "/v1/Workspaces/{WorkspaceSid}/Workers/{WorkerSid}/Statistics": { - "description": "TODO: Resource-level docs", + "pathType": "instance", + "parent": "/Workspaces/{WorkspaceSid}/Workflows", + "className": "workflow_real_time_statistics" + }, "get": { "description": "", - "operationId": "FetchWorkerInstanceStatistics", "parameters": [ { - "description": "The SID of the Workspace with the WorkerChannel to fetch.", - "in": "path", "name": "WorkspaceSid", - "required": true, + "in": "path", + "description": "The SID of the Workspace with the Workflow to fetch.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "WorkflowSid", + "in": "path", + "description": "Returns the list of Tasks that are being controlled by the Workflow with the specified SID value.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", + "maxLength": 34, + "pattern": "^WW[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "TaskChannel", + "in": "query", + "description": "Only calculate real-time statistics on this TaskChannel. Can be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or `default`.", + "schema": { "type": "string" } - }, + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/taskrouter.v1.workspace.workflow.workflow_real_time_statistics" + } + } + }, + "description": "OK" + } + }, + "security": [ { - "description": "The SID of the Worker with the WorkerChannel to fetch.", + "accountSid_authToken": [] + } + ], + "operationId": "FetchWorkflowRealTimeStatistics", + "x-maturity": [ + "GA" + ] + } + }, + "/v1/Workspaces/{WorkspaceSid}/Workflows/{WorkflowSid}/Statistics": { + "servers": [ + { + "url": "https://taskrouter.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "cumulative" + ], + "pathType": "instance", + "parent": "/Workspaces/{WorkspaceSid}/Workflows", + "className": "workflow_statistics" + }, + "get": { + "description": "", + "parameters": [ + { + "name": "WorkspaceSid", "in": "path", - "name": "WorkerSid", - "required": true, + "description": "The SID of the Workspace with the Workflow to fetch.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "WorkflowSid", + "in": "path", + "description": "Returns the list of Tasks that are being controlled by the Workflow with the specified SID value.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^WK[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WW[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "Only calculate statistics since this many minutes in the past. The default 15 minutes. This is helpful for displaying statistics for the last 15 minutes, 240 minutes (4 hours), and 480 minutes (8 hours) to see trends.", - "in": "query", "name": "Minutes", + "in": "query", + "description": "Only calculate statistics since this many minutes in the past. The default 15 minutes. This is helpful for displaying statistics for the last 15 minutes, 240 minutes (4 hours), and 480 minutes (8 hours) to see trends.", "schema": { "type": "integer" } }, { + "name": "StartDate", + "in": "query", "description": "Only calculate statistics from this date and time and later, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "EndDate", "in": "query", - "name": "StartDate", + "description": "Only calculate statistics from this date and time and earlier, specified in GMT as an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time.", "schema": { - "format": "date-time", - "type": "string" + "type": "string", + "format": "date-time" } }, { - "description": "Only include usage that occurred on or before this date, specified in GMT as an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time.", + "name": "TaskChannel", "in": "query", - "name": "EndDate", + "description": "Only calculate real-time statistics on this TaskChannel. Can be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or `default`.", "schema": { - "format": "date-time", "type": "string" } }, { - "description": "Only calculate statistics on this TaskChannel. Can be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or `default`.", + "name": "SplitByWaitTime", "in": "query", - "name": "TaskChannel", + "description": "A comma separated list of values that describes the thresholds, in seconds, to calculate statistics on. For each threshold specified, the number of Tasks canceled and reservations accepted above and below the specified thresholds in seconds are computed. For example, `5,30` would show splits of Tasks that were canceled or accepted before and after 5 seconds and before and after 30 seconds. This can be used to show short abandoned Tasks or Tasks that failed to meet an SLA.", "schema": { "type": "string" } @@ -7164,7 +7257,61 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.worker.worker_instance_statistics" + "$ref": "#/components/schemas/taskrouter.v1.workspace.workflow.workflow_statistics" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "FetchWorkflowStatistics", + "x-maturity": [ + "GA" + ] + } + }, + "/v1/Workspaces/{Sid}": { + "servers": [ + { + "url": "https://taskrouter.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "prioritize_queue_order" + ], + "pathType": "instance" + }, + "get": { + "description": "", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The SID of the Workspace resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/taskrouter.v1.workspace" } } }, @@ -7176,59 +7323,25 @@ "accountSid_authToken": [] } ], + "operationId": "FetchWorkspace", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://taskrouter.twilio.com" - } - ], - "x-twilio": { - "className": "worker_statistics", - "defaultOutputProperties": [ - "cumulative" - ], - "parent": "/Workspaces/{WorkspaceSid}/Workers", - "pathType": "instance" - } - }, - "/v1/Workspaces/{WorkspaceSid}/Workflows": { - "description": "TODO: Resource-level docs", - "get": { + "post": { "description": "", - "operationId": "ListWorkflow", "parameters": [ { - "description": "The SID of the Workspace with the Workflow to read.", + "name": "Sid", "in": "path", - "name": "WorkspaceSid", - "required": true, + "description": "The SID of the Workspace resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The `friendly_name` of the Workflow resources to read.", - "in": "query", - "name": "FriendlyName", - "schema": { - "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" - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -7236,46 +7349,7 @@ "content": { "application/json": { "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "workflows": { - "items": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.workflow" - }, - "type": "array" - } - }, - "title": "ListWorkflowResponse", - "type": "object" + "$ref": "#/components/schemas/taskrouter.v1.workspace" } } }, @@ -7287,75 +7361,81 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateWorkspace", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "", - "operationId": "CreateWorkflow", - "parameters": [ - { - "description": "The SID of the Workspace that the new Workflow to create belongs to.", - "in": "path", - "name": "WorkspaceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateWorkspaceRequest", "properties": { - "AssignmentCallbackUrl": { - "description": "The URL from your application that will process task assignment events. See [Handling Task Assignment Callback](https://www.twilio.com/docs/taskrouter/handle-assignment-callbacks) for more details.", - "format": "uri", - "type": "string" - }, - "Configuration": { - "description": "A JSON string that contains the rules to apply to the Workflow. See [Configuring Workflows](https://www.twilio.com/docs/taskrouter/workflow-configuration) for more information.", - "type": "string" + "DefaultActivitySid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WA[0-9a-fA-F]{32}$", + "description": "The SID of the Activity that will be used when new Workers are created in the Workspace." }, - "FallbackAssignmentCallbackUrl": { - "description": "The URL that we should call when a call to the `assignment_callback_url` fails.", + "EventCallbackUrl": { + "type": "string", "format": "uri", - "type": "string" + "description": "The URL we should call when an event occurs. See [Workspace Events](https://www.twilio.com/docs/taskrouter/api/event) for more information. This parameter supports Twilio's [Webhooks (HTTP callbacks) Connection Overrides](https://www.twilio.com/docs/usage/webhooks/webhooks-connection-overrides)." + }, + "EventsFilter": { + "type": "string", + "description": "The list of Workspace events for which to call event_callback_url. For example if `EventsFilter=task.created,task.canceled,worker.activity.update`, then TaskRouter will call event_callback_url only when a task is created, canceled, or a Worker activity is updated." }, "FriendlyName": { - "description": "A descriptive string that you create to describe the Workflow resource. For example, `Inbound Call Workflow` or `2014 Outbound Campaign`.", - "type": "string" + "type": "string", + "description": "A descriptive string that you create to describe the Workspace resource. For example: `Sales Call Center` or `Customer Support Team`." }, - "TaskReservationTimeout": { - "description": "How long TaskRouter will wait for a confirmation response from your application after it assigns a Task to a Worker. Can be up to `86,400` (24 hours) and the default is `120`.", - "type": "integer" + "MultiTaskEnabled": { + "type": "boolean", + "description": "Whether to enable multi-tasking. Can be: `true` to enable multi-tasking, or `false` to disable it. However, all workspaces should be maintained as multi-tasking. There is no default when omitting this parameter. A multi-tasking Workspace can't be updated to single-tasking unless it is not a Flex Project and another (legacy) single-tasking Workspace exists. Multi-tasking allows Workers to handle multiple Tasks simultaneously. In multi-tasking mode, each Worker can receive parallel reservations up to the per-channel maximums defined in the Workers section. In single-tasking mode (legacy mode), each Worker will only receive a new reservation when the previous task is completed. Learn more at [Multitasking](https://www.twilio.com/docs/taskrouter/multitasking)." + }, + "TimeoutActivitySid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WA[0-9a-fA-F]{32}$", + "description": "The SID of the Activity that will be assigned to a Worker when a Task reservation times out without a response." + }, + "PrioritizeQueueOrder": { + "type": "string", + "enum": [ + "FIFO", + "LIFO" + ], + "description": "The type of TaskQueue to prioritize when Workers are receiving Tasks from both types of TaskQueues. Can be: `LIFO` or `FIFO`. For more information, see [Queue Ordering](https://www.twilio.com/docs/taskrouter/queue-ordering-last-first-out-lifo)." } - }, - "required": [ - "FriendlyName", - "Configuration" - ], - "title": "CreateWorkflowRequest", - "type": "object" + } } } } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.workflow" - } - } + } + }, + "delete": { + "description": "", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The SID of the Workspace resource to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" }, - "description": "Created" + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -7363,58 +7443,98 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteWorkspace", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Workspaces": { "servers": [ { "url": "https://taskrouter.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name", - "document_content_type" + "prioritize_queue_order" ], - "parent": "/Workspaces", "pathType": "list" - } - }, - "/v1/Workspaces/{WorkspaceSid}/Workflows/{Sid}": { - "delete": { + }, + "get": { "description": "", - "operationId": "DeleteWorkflow", "parameters": [ { - "description": "The SID of the Workspace with the Workflow to delete.", - "in": "path", - "name": "WorkspaceSid", - "required": true, + "name": "FriendlyName", + "in": "query", + "description": "The `friendly_name` of the Workspace resources to read. For example `Customer Support` or `2014 Election Campaign`.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", "type": "string" } }, { - "description": "The SID of the Workflow resource to delete.", - "in": "path", - "name": "Sid", - "required": true, + "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WW[0-9a-fA-F]{32}$", - "type": "string" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "ListWorkspaceResponse", + "properties": { + "workspaces": { + "type": "array", + "items": { + "$ref": "#/components/schemas/taskrouter.v1.workspace" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } + } + } + }, + "description": "OK" } }, "security": [ @@ -7422,50 +7542,23 @@ "accountSid_authToken": [] } ], + "operationId": "ListWorkspace", "x-maturity": [ "GA" ] }, - "description": "TODO: Resource-level docs", - "get": { + "post": { "description": "", - "operationId": "FetchWorkflow", - "parameters": [ - { - "description": "The SID of the Workspace with the Workflow to fetch.", - "in": "path", - "name": "WorkspaceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the Workflow resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WW[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.workflow" + "$ref": "#/components/schemas/taskrouter.v1.workspace" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -7473,181 +7566,127 @@ "accountSid_authToken": [] } ], + "operationId": "CreateWorkspace", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "", - "operationId": "UpdateWorkflow", - "parameters": [ - { - "description": "The SID of the Workspace with the Workflow to update.", - "in": "path", - "name": "WorkspaceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the Workflow resource to update.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WW[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateWorkspaceRequest", "properties": { - "AssignmentCallbackUrl": { - "description": "The URL from your application that will process task assignment events. See [Handling Task Assignment Callback](https://www.twilio.com/docs/taskrouter/handle-assignment-callbacks) for more details.", - "format": "uri", - "type": "string" - }, - "Configuration": { - "description": "A JSON string that contains the rules to apply to the Workflow. See [Configuring Workflows](https://www.twilio.com/docs/taskrouter/workflow-configuration) for more information.", - "type": "string" + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the Workspace resource. It can be up to 64 characters long. For example: `Customer Support` or `2014 Election Campaign`." }, - "FallbackAssignmentCallbackUrl": { - "description": "The URL that we should call when a call to the `assignment_callback_url` fails.", + "EventCallbackUrl": { + "type": "string", "format": "uri", - "type": "string" + "description": "The URL we should call when an event occurs. If provided, the Workspace will publish events to this URL, for example, to collect data for reporting. See [Workspace Events](https://www.twilio.com/docs/taskrouter/api/event) for more information. This parameter supports Twilio's [Webhooks (HTTP callbacks) Connection Overrides](https://www.twilio.com/docs/usage/webhooks/webhooks-connection-overrides)." }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the Workflow resource. For example, `Inbound Call Workflow` or `2014 Outbound Campaign`.", - "type": "string" + "EventsFilter": { + "type": "string", + "description": "The list of Workspace events for which to call event_callback_url. For example, if `EventsFilter=task.created, task.canceled, worker.activity.update`, then TaskRouter will call event_callback_url only when a task is created, canceled, or a Worker activity is updated." }, - "ReEvaluateTasks": { - "description": "Whether or not to re-evaluate Tasks. The default is `false`, which means Tasks in the Workflow will not be processed through the assignment loop again.", - "type": "string" + "MultiTaskEnabled": { + "type": "boolean", + "description": "Whether to enable multi-tasking. Can be: `true` to enable multi-tasking, or `false` to disable it. However, all workspaces should be created as multi-tasking. The default is `true`. Multi-tasking allows Workers to handle multiple Tasks simultaneously. When enabled (`true`), each Worker can receive parallel reservations up to the per-channel maximums defined in the Workers section. In single-tasking mode (legacy mode), each Worker will only receive a new reservation when the previous task is completed. Learn more at [Multitasking](https://www.twilio.com/docs/taskrouter/multitasking)." }, - "TaskReservationTimeout": { - "description": "How long TaskRouter will wait for a confirmation response from your application after it assigns a Task to a Worker. Can be up to `86,400` (24 hours) and the default is `120`.", - "type": "integer" + "Template": { + "type": "string", + "description": "An available template name. Can be: `NONE` or `FIFO` and the default is `NONE`. Pre-configures the Workspace with the Workflow and Activities specified in the template. `NONE` will create a Workspace with only a set of default activities. `FIFO` will configure TaskRouter with a set of default activities and a single TaskQueue for first-in, first-out distribution, which can be useful when you are getting started with TaskRouter." + }, + "PrioritizeQueueOrder": { + "type": "string", + "enum": [ + "FIFO", + "LIFO" + ], + "description": "The type of TaskQueue to prioritize when Workers are receiving Tasks from both types of TaskQueues. Can be: `LIFO` or `FIFO` and the default is `FIFO`. For more information, see [Queue Ordering](https://www.twilio.com/docs/taskrouter/queue-ordering-last-first-out-lifo)." } }, - "title": "UpdateWorkflowRequest", - "type": "object" + "required": [ + "FriendlyName" + ] } } } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.workflow" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, + } + } + }, + "/v1/Workspaces/{WorkspaceSid}/CumulativeStatistics": { "servers": [ { "url": "https://taskrouter.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ - "sid", - "friendly_name", - "document_content_type" + "start_time", + "end_time", + "avg_task_acceptance_time", + "tasks_completed" ], + "pathType": "instance", "parent": "/Workspaces", - "pathType": "instance" - } - }, - "/v1/Workspaces/{WorkspaceSid}/Workflows/{WorkflowSid}/CumulativeStatistics": { - "description": "TODO: Resource-level docs", + "className": "workspace_cumulative_statistics" + }, "get": { "description": "", - "operationId": "FetchWorkflowCumulativeStatistics", "parameters": [ { - "description": "The SID of the Workspace with the resource to fetch.", - "in": "path", "name": "WorkspaceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "Returns the list of Tasks that are being controlled by the Workflow with the specified Sid value.", "in": "path", - "name": "WorkflowSid", - "required": true, + "description": "The SID of the Workspace to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WW[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "Only include usage that occurred on or before this date, specified in GMT as an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time.", - "in": "query", "name": "EndDate", + "in": "query", + "description": "Only include usage that occurred on or before this date, specified in GMT as an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time.", "schema": { - "format": "date-time", - "type": "string" + "type": "string", + "format": "date-time" } }, { - "description": "Only calculate statistics since this many minutes in the past. The default 15 minutes. This is helpful for displaying statistics for the last 15 minutes, 240 minutes (4 hours), and 480 minutes (8 hours) to see trends.", - "in": "query", "name": "Minutes", + "in": "query", + "description": "Only calculate statistics since this many minutes in the past. The default 15 minutes. This is helpful for displaying statistics for the last 15 minutes, 240 minutes (4 hours), and 480 minutes (8 hours) to see trends.", "schema": { "type": "integer" } }, { - "description": "Only calculate statistics from this date and time and later, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.", - "in": "query", "name": "StartDate", + "in": "query", + "description": "Only calculate statistics from this date and time and later, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.", "schema": { - "format": "date-time", - "type": "string" + "type": "string", + "format": "date-time" } }, { - "description": "Only calculate cumulative statistics on this TaskChannel. Can be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or `default`.", - "in": "query", "name": "TaskChannel", + "in": "query", + "description": "Only calculate cumulative statistics on this TaskChannel. Can be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or `default`.", "schema": { "type": "string" } }, { - "description": "A comma separated list of values that describes the thresholds, in seconds, to calculate statistics on. For each threshold specified, the number of Tasks canceled and reservations accepted above and below the specified thresholds in seconds are computed. For example, `5,30` would show splits of Tasks that were canceled or accepted before and after 5 seconds and before and after 30 seconds. This can be used to show short abandoned Tasks or Tasks that failed to meet an SLA. TaskRouter will calculate statistics on up to 10,000 Tasks for any given threshold.", - "in": "query", "name": "SplitByWaitTime", + "in": "query", + "description": "A comma separated list of values that describes the thresholds, in seconds, to calculate statistics on. For each threshold specified, the number of Tasks canceled and reservations accepted above and below the specified thresholds in seconds are computed. For example, `5,30` would show splits of Tasks that were canceled or accepted before and after 5 seconds and before and after 30 seconds. This can be used to show short abandoned Tasks or Tasks that failed to meet an SLA. TaskRouter will calculate statistics on up to 10,000 Tasks for any given threshold.", "schema": { "type": "string" } @@ -7658,7 +7697,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.workflow.workflow_cumulative_statistics" + "$ref": "#/components/schemas/taskrouter.v1.workspace.workspace_cumulative_statistics" } } }, @@ -7670,61 +7709,48 @@ "accountSid_authToken": [] } ], + "operationId": "FetchWorkspaceCumulativeStatistics", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Workspaces/{WorkspaceSid}/RealTimeStatistics": { "servers": [ { "url": "https://taskrouter.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { - "className": "workflow_cumulative_statistics", "defaultOutputProperties": [ - "start_time", - "end_time", - "avg_task_acceptance_time", - "tasks_completed" + "longest_task_waiting_age", + "longest_task_waiting_sid", + "total_tasks" ], - "parent": "/Workspaces/{WorkspaceSid}/Workflows", - "pathType": "instance" - } - }, - "/v1/Workspaces/{WorkspaceSid}/Workflows/{WorkflowSid}/RealTimeStatistics": { - "description": "TODO: Resource-level docs", + "pathType": "instance", + "parent": "/Workspaces", + "className": "workspace_real_time_statistics" + }, "get": { "description": "", - "operationId": "FetchWorkflowRealTimeStatistics", "parameters": [ { - "description": "The SID of the Workspace with the Workflow to fetch.", - "in": "path", "name": "WorkspaceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "Returns the list of Tasks that are being controlled by the Workflow with the specified SID value.", "in": "path", - "name": "WorkflowSid", - "required": true, + "description": "The SID of the Workspace to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WW[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "Only calculate real-time statistics on this TaskChannel. Can be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or `default`.", - "in": "query", "name": "TaskChannel", + "in": "query", + "description": "Only calculate real-time statistics on this TaskChannel. Can be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or `default`.", "schema": { "type": "string" } @@ -7735,7 +7761,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.workflow.workflow_real_time_statistics" + "$ref": "#/components/schemas/taskrouter.v1.workspace.workspace_real_time_statistics" } } }, @@ -7747,94 +7773,80 @@ "accountSid_authToken": [] } ], + "operationId": "FetchWorkspaceRealTimeStatistics", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Workspaces/{WorkspaceSid}/Statistics": { "servers": [ { "url": "https://taskrouter.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { - "className": "workflow_real_time_statistics", "defaultOutputProperties": [ - "longest_task_waiting_age", - "longest_task_waiting_sid", - "total_tasks" + "cumulative" ], - "parent": "/Workspaces/{WorkspaceSid}/Workflows", - "pathType": "instance" - } - }, - "/v1/Workspaces/{WorkspaceSid}/Workflows/{WorkflowSid}/Statistics": { - "description": "TODO: Resource-level docs", + "pathType": "instance", + "parent": "/Workspaces", + "className": "workspace_statistics" + }, "get": { "description": "", - "operationId": "FetchWorkflowStatistics", "parameters": [ { - "description": "The SID of the Workspace with the Workflow to fetch.", - "in": "path", "name": "WorkspaceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^WS[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "Returns the list of Tasks that are being controlled by the Workflow with the specified SID value.", "in": "path", - "name": "WorkflowSid", - "required": true, + "description": "The SID of the Workspace to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^WW[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^WS[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "Only calculate statistics since this many minutes in the past. The default 15 minutes. This is helpful for displaying statistics for the last 15 minutes, 240 minutes (4 hours), and 480 minutes (8 hours) to see trends.", - "in": "query", "name": "Minutes", + "in": "query", + "description": "Only calculate statistics since this many minutes in the past. The default 15 minutes. This is helpful for displaying statistics for the last 15 minutes, 240 minutes (4 hours), and 480 minutes (8 hours) to see trends.", "schema": { "type": "integer" } }, { - "description": "Only calculate statistics from this date and time and later, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.", - "in": "query", "name": "StartDate", + "in": "query", + "description": "Only calculate statistics from this date and time and later, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.", "schema": { - "format": "date-time", - "type": "string" + "type": "string", + "format": "date-time" } }, { - "description": "Only calculate statistics from this date and time and earlier, specified in GMT as an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time.", - "in": "query", "name": "EndDate", + "in": "query", + "description": "Only calculate statistics from this date and time and earlier, specified in GMT as an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time.", "schema": { - "format": "date-time", - "type": "string" + "type": "string", + "format": "date-time" } }, { - "description": "Only calculate real-time statistics on this TaskChannel. Can be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or `default`.", - "in": "query", "name": "TaskChannel", + "in": "query", + "description": "Only calculate statistics on this TaskChannel. Can be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or `default`.", "schema": { "type": "string" } }, { - "description": "A comma separated list of values that describes the thresholds, in seconds, to calculate statistics on. For each threshold specified, the number of Tasks canceled and reservations accepted above and below the specified thresholds in seconds are computed. For example, `5,30` would show splits of Tasks that were canceled or accepted before and after 5 seconds and before and after 30 seconds. This can be used to show short abandoned Tasks or Tasks that failed to meet an SLA.", - "in": "query", "name": "SplitByWaitTime", + "in": "query", + "description": "A comma separated list of values that describes the thresholds, in seconds, to calculate statistics on. For each threshold specified, the number of Tasks canceled and reservations accepted above and below the specified thresholds in seconds are computed. For example, `5,30` would show splits of Tasks that were canceled or accepted before and after 5 seconds and before and after 30 seconds. This can be used to show short abandoned Tasks or Tasks that failed to meet an SLA.", "schema": { "type": "string" } @@ -7845,7 +7857,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/taskrouter.v1.workspace.workflow.workflow_statistics" + "$ref": "#/components/schemas/taskrouter.v1.workspace.workspace_statistics" } } }, @@ -7857,22 +7869,10 @@ "accountSid_authToken": [] } ], + "operationId": "FetchWorkspaceStatistics", "x-maturity": [ "GA" ] - }, - "servers": [ - { - "url": "https://taskrouter.twilio.com" - } - ], - "x-twilio": { - "className": "workflow_statistics", - "defaultOutputProperties": [ - "cumulative" - ], - "parent": "/Workspaces/{WorkspaceSid}/Workflows", - "pathType": "instance" } } }, @@ -7883,8 +7883,8 @@ ], "x-maturity": [ { - "description": "This product is Generally Available.", - "name": "GA" + "name": "GA", + "description": "This product is Generally Available." } ] } \ No newline at end of file diff --git a/spec/json/twilio_trunking_v1.json b/spec/json/twilio_trunking_v1.json index 25b80989..de62b51d 100644 --- a/spec/json/twilio_trunking_v1.json +++ b/spec/json/twilio_trunking_v1.json @@ -1,316 +1,196 @@ { "components": { "schemas": { - "trunking.v1.trunk": { + "trunking.v1.trunk.credential_list": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, - "auth_type": { - "description": "The types of authentication mapped to the domain", + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CL[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique string that identifies the resource" }, - "auth_type_set": { - "description": "Reserved", - "items": { - "type": "string" - }, + "trunk_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^TK[0-9a-fA-F]{32}$", "nullable": true, - "type": "array" + "description": "The SID of the Trunk the credential list in associated with" }, - "cnam_lookup_enabled": { - "description": "Whether Caller ID Name (CNAM) lookup is enabled for the trunk", + "friendly_name": { + "type": "string", "nullable": true, - "type": "boolean" + "description": "The string that you assigned to describe the resource" }, "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" - }, - "disaster_recovery_method": { - "description": "The HTTP method we use to call the disaster_recovery_url", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "nullable": true, - "type": "string" - }, - "disaster_recovery_url": { - "description": "The HTTP URL that we call if an error occurs while sending SIP traffic towards your configured Origination URL", - "format": "uri", - "nullable": true, - "type": "string" - }, - "domain_name": { - "description": "The unique address you reserve on Twilio to which you route your SIP traffic", - "nullable": true, - "type": "string" - }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", - "nullable": true, - "type": "string" - }, - "links": { - "description": "The URLs of related resources", - "format": "uri-map", - "nullable": true, - "type": "object" - }, - "recording": { - "description": "The recording settings for the trunk", - "nullable": true - }, - "secure": { - "description": "Whether Secure Trunking is enabled for the trunk", - "nullable": true, - "type": "boolean" - }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" - }, - "transfer_caller_id": { - "description": "Caller Id for transfer target", - "enum": [ - "from-transferee", - "from-transferor" - ], - "nullable": true, - "type": "string" - }, - "transfer_mode": { - "description": "The call transfer settings for the trunk", - "enum": [ - "disable-all", - "enable-all", - "sip-only" - ], - "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" } - }, - "type": "object" + } }, - "trunking.v1.trunk.credential_list": { + "trunking.v1.trunk.ip_access_control_list": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "date_updated": { - "description": "The RFC 2822 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" + "description": "The SID of the Account that created the resource" }, "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^AL[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^CL[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, "trunk_sid": { - "description": "The SID of the Trunk the credential list in associated with", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" - }, - "url": { - "description": "The absolute URL of the resource", - "format": "uri", "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "trunking.v1.trunk.ip_access_control_list": { - "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, - "minLength": 34, + "description": "The SID of the Trunk the resource is associated with" + }, + "friendly_name": { + "type": "string", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The string that you assigned to describe the resource" }, "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" - }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", - "nullable": true, - "type": "string" - }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^AL[0-9a-fA-F]{32}$", - "type": "string" - }, - "trunk_sid": { - "description": "The SID of the Trunk the resource is associated with", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" } - }, - "type": "object" + } }, "trunking.v1.trunk.origination_url": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^OU[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", - "format": "date-time", + "trunk_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^TK[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Trunk that owns the Origination URL" }, - "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", - "format": "date-time", + "weight": { + "type": "integer", "nullable": true, - "type": "string" + "description": "The value that determines the relative load the URI should receive compared to others with the same priority" }, "enabled": { - "description": "Whether the URL is enabled", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Whether the URL is enabled" }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", + "sip_url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "string" + "description": "The SIP address you want Twilio to route your Origination calls to" }, - "priority": { - "description": "The relative importance of the URI", + "friendly_name": { + "type": "string", "nullable": true, - "type": "integer" + "description": "The string that you assigned to describe the resource" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "priority": { + "type": "integer", "nullable": true, - "pattern": "^OU[0-9a-fA-F]{32}$", - "type": "string" + "description": "The relative importance of the URI" }, - "sip_url": { - "description": "The SIP address you want Twilio to route your Origination calls to", - "format": "uri", + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was created" }, - "trunk_sid": { - "description": "The SID of the Trunk that owns the Origination URL", - "maxLength": 34, - "minLength": 34, + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" - }, - "weight": { - "description": "The value that determines the relative load the URI should receive compared to others with the same priority", - "nullable": true, - "type": "integer" + "description": "The absolute URL of the resource" } - }, - "type": "object" + } }, "trunking.v1.trunk.phone_number": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "address_requirements": { - "description": "Whether the phone number requires an Address registered with Twilio", + "type": "string", "enum": [ "none", "any", @@ -318,71 +198,72 @@ "foreign" ], "nullable": true, - "type": "string" + "description": "Whether the phone number requires an Address registered with Twilio" }, "api_version": { - "description": "The API version used to start a new TwiML session", + "type": "string", "nullable": true, - "type": "string" + "description": "The API version used to start a new TwiML session" }, "beta": { - "description": "Whether the phone number is new to the Twilio platform", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Whether the phone number is new to the Twilio platform" }, "capabilities": { - "description": "Indicate if a phone can receive calls or messages", + "type": "object", "format": "string-map", "nullable": true, - "type": "object" + "description": "Indicate if a phone can receive calls or messages" }, "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, "friendly_name": { - "description": "The string that you assigned to describe the resource", + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the resource" }, "links": { - "description": "The URLs of related resources", + "type": "object", "format": "uri-map", "nullable": true, - "type": "object" + "description": "The URLs of related resources" }, "phone_number": { - "description": "The phone number in E.164 format", + "type": "string", "format": "phone-number", "nullable": true, - "type": "string" + "description": "The phone number in E.164 format" }, "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^PN[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string that identifies the resource" }, "sms_application_sid": { - "description": "The SID of the application that handles SMS messages sent to the phone number", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AP[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the application that handles SMS messages sent to the phone number" }, "sms_fallback_method": { - "description": "The HTTP method used with sms_fallback_url", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -391,18 +272,18 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method used with sms_fallback_url" }, "sms_fallback_url": { - "description": "The URL that we call when an error occurs while retrieving or executing the TwiML", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL that we call when an error occurs while retrieving or executing the TwiML" }, "sms_method": { - "description": "The HTTP method to use with sms_url", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -411,24 +292,24 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method to use with sms_url" }, "sms_url": { - "description": "The URL we call when the phone number receives an incoming SMS message", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL we call when the phone number receives an incoming SMS message" }, "status_callback": { - "description": "The URL to send status information to your application", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL to send status information to your application" }, "status_callback_method": { - "description": "The HTTP method we use to call status_callback", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -437,39 +318,39 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method we use to call status_callback" }, "trunk_sid": { - "description": "The SID of the Trunk that handles calls to the phone number", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Trunk that handles calls to the phone number" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" }, "voice_application_sid": { - "description": "The SID of the application that handles calls to the phone number", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AP[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the application that handles calls to the phone number" }, "voice_caller_id_lookup": { - "description": "Whether to lookup the caller's name", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Whether to lookup the caller's name" }, "voice_fallback_method": { - "description": "The HTTP method that we use to call voice_fallback_url", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -478,18 +359,18 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method that we use to call voice_fallback_url" }, "voice_fallback_url": { - "description": "The URL we call when an error occurs in TwiML", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL we call when an error occurs in TwiML" }, "voice_method": { - "description": "The HTTP method used with the voice_url", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -498,23 +379,22 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method used with the voice_url" }, "voice_url": { - "description": "The URL we call when the phone number receives a call", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL we call when the phone number receives a call" } - }, - "type": "object" + } }, "trunking.v1.trunk.recording": { + "type": "object", "properties": { "mode": { - "description": "The recording mode for the trunk.", + "type": "string", "enum": [ "do-not-record", "record-from-ringing", @@ -523,271 +403,207 @@ "record-from-answer-dual" ], "nullable": true, - "type": "string" + "description": "The recording mode for the trunk." }, "trim": { - "description": "The recording trim setting for the trunk.", + "type": "string", "enum": [ "trim-silence", "do-not-trim" ], "nullable": true, - "type": "string" - } - }, - "type": "object" - } - }, - "securitySchemes": { - "accountSid_authToken": { - "scheme": "basic", - "type": "http" - } - } - }, - "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 - Trunking", - "version": "1.30.0" - }, - "openapi": "3.0.1", - "paths": { - "/v1/Trunks": { - "description": "Represents a SIP trunk", - "get": { - "description": "", - "operationId": "ListTrunk", - "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 recording trim setting for the trunk." } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "trunks": { - "items": { - "$ref": "#/components/schemas/trunking.v1.trunk" - }, - "type": "array" - } - }, - "title": "ListTrunkResponse", - "type": "object" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] + } }, - "post": { - "description": "", - "operationId": "CreateTrunk", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "CnamLookupEnabled": { - "description": "Whether Caller ID Name (CNAM) lookup should be enabled for the trunk. If enabled, all inbound calls to the SIP Trunk from the United States and Canada automatically perform a CNAM Lookup and display Caller ID data on your phone. See [CNAM Lookups](https://www.twilio.com/docs/sip-trunking#CNAM) for more information.", - "type": "boolean" - }, - "DisasterRecoveryMethod": { - "description": "The HTTP method we should use to call the `disaster_recovery_url`. Can be: `GET` or `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "DisasterRecoveryUrl": { - "description": "The URL we should call using the `disaster_recovery_method` if an error occurs while sending SIP traffic towards the configured Origination URL. We retrieve TwiML from the URL and execute the instructions like any other normal TwiML call. See [Disaster Recovery](https://www.twilio.com/docs/sip-trunking#disaster-recovery) for more information.", - "format": "uri", - "type": "string" - }, - "DomainName": { - "description": "The unique address you reserve on Twilio to which you route your SIP traffic. Domain names can contain letters, digits, and `-` and must end with `pstn.twilio.com`. See [Termination Settings](https://www.twilio.com/docs/sip-trunking#termination) for more information.", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long.", - "type": "string" - }, - "Secure": { - "description": "Whether Secure Trunking is enabled for the trunk. If enabled, all calls going through the trunk will be secure using SRTP for media and TLS for signaling. If disabled, then RTP will be used for media. See [Secure Trunking](https://www.twilio.com/docs/sip-trunking#securetrunking) for more information.", - "type": "boolean" - }, - "TransferCallerId": { - "description": "Caller Id for transfer target. Can be: `from-transferee` (default) or `from-transferor`.", - "enum": [ - "from-transferee", - "from-transferor" - ], - "type": "string" - }, - "TransferMode": { - "description": "The call transfer settings for the trunk. Can be: `enable-all`, `sip-only` and `disable-all`. See [Transfer](https://www.twilio.com/docs/sip-trunking/call-transfer) for more information.", - "enum": [ - "disable-all", - "enable-all", - "sip-only" - ], - "type": "string" - } - }, - "title": "CreateTrunkRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/trunking.v1.trunk" - } - } + "trunking.v1.trunk": { + "type": "object", + "properties": { + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "domain_name": { + "type": "string", + "nullable": true, + "description": "The unique address you reserve on Twilio to which you route your SIP traffic" + }, + "disaster_recovery_method": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "nullable": true, + "description": "The HTTP method we use to call the disaster_recovery_url" + }, + "disaster_recovery_url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The HTTP URL that we call if an error occurs while sending SIP traffic towards your configured Origination URL" + }, + "friendly_name": { + "type": "string", + "nullable": true, + "description": "The string that you assigned to describe the resource" + }, + "secure": { + "type": "boolean", + "nullable": true, + "description": "Whether Secure Trunking is enabled for the trunk" + }, + "recording": { + "nullable": true, + "description": "The recording settings for the trunk" + }, + "transfer_mode": { + "type": "string", + "enum": [ + "disable-all", + "enable-all", + "sip-only" + ], + "nullable": true, + "description": "The call transfer settings for the trunk" + }, + "transfer_caller_id": { + "type": "string", + "enum": [ + "from-transferee", + "from-transferor" + ], + "nullable": true, + "description": "Caller Id for transfer target" + }, + "cnam_lookup_enabled": { + "type": "boolean", + "nullable": true, + "description": "Whether Caller ID Name (CNAM) lookup is enabled for the trunk" + }, + "auth_type": { + "type": "string", + "nullable": true, + "description": "The types of authentication mapped to the domain" + }, + "auth_type_set": { + "type": "array", + "items": { + "type": "string" }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] + "nullable": true, + "description": "Reserved" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The RFC 2822 date and time in GMT when the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The RFC 2822 date and time in GMT when the resource was last updated" + }, + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^TK[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique string that identifies the resource" + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The absolute URL of the resource" + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "The URLs of related resources" } - ], - "x-maturity": [ - "GA" - ] - }, + } + } + }, + "securitySchemes": { + "accountSid_authToken": { + "type": "http", + "scheme": "basic" + } + } + }, + "info": { + "title": "Twilio - Trunking", + "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.30.0" + }, + "openapi": "3.0.1", + "paths": { + "/v1/Trunks/{TrunkSid}/CredentialLists/{Sid}": { "servers": [ { "url": "https://trunking.twilio.com" } ], + "description": "List of credentials for accessing a trunk", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name", - "domain_name" + "date_created" ], - "pathType": "list" - } - }, - "/v1/Trunks/{Sid}": { - "delete": { + "pathType": "instance", + "parent": "/Trunks" + }, + "get": { "description": "", - "operationId": "DeleteTrunk", "parameters": [ { - "description": "The unique string that we created to identify the Trunk resource to delete.", + "name": "TrunkSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the Trunk from which to fetch the credential list.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "description": "Represents a SIP trunk", - "get": { - "description": "", - "operationId": "FetchTrunk", - "parameters": [ + "maxLength": 34, + "pattern": "^TK[0-9a-fA-F]{32}$" + }, + "required": true + }, { - "description": "The unique string that we created to identify the Trunk resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The unique string that we created to identify the CredentialList resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CL[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -795,7 +611,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/trunking.v1.trunk" + "$ref": "#/components/schemas/trunking.v1.trunk.credential_list" } } }, @@ -807,100 +623,97 @@ "accountSid_authToken": [] } ], + "operationId": "FetchCredentialList", "x-maturity": [ "GA" ] }, - "post": { + "delete": { "description": "", - "operationId": "UpdateTrunk", "parameters": [ { - "description": "The unique string that we created to identify the OriginationUrl resource to update.", + "name": "TrunkSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the Trunk from which to delete the credential list.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^TK[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The unique string that we created to identify the CredentialList resource to delete.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CL[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "CnamLookupEnabled": { - "description": "Whether Caller ID Name (CNAM) lookup should be enabled for the trunk. If enabled, all inbound calls to the SIP Trunk from the United States and Canada automatically perform a CNAM Lookup and display Caller ID data on your phone. See [CNAM Lookups](https://www.twilio.com/docs/sip-trunking#CNAM) for more information.", - "type": "boolean" - }, - "DisasterRecoveryMethod": { - "description": "The HTTP method we should use to call the `disaster_recovery_url`. Can be: `GET` or `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "DisasterRecoveryUrl": { - "description": "The URL we should call using the `disaster_recovery_method` if an error occurs while sending SIP traffic towards the configured Origination URL. We retrieve TwiML from the URL and execute the instructions like any other normal TwiML call. See [Disaster Recovery](https://www.twilio.com/docs/sip-trunking#disaster-recovery) for more information.", - "format": "uri", - "type": "string" - }, - "DomainName": { - "description": "The unique address you reserve on Twilio to which you route your SIP traffic. Domain names can contain letters, digits, and `-` and must end with `pstn.twilio.com`. See [Termination Settings](https://www.twilio.com/docs/sip-trunking#termination) for more information.", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long.", - "type": "string" - }, - "Secure": { - "description": "Whether Secure Trunking is enabled for the trunk. If enabled, all calls going through the trunk will be secure using SRTP for media and TLS for signaling. If disabled, then RTP will be used for media. See [Secure Trunking](https://www.twilio.com/docs/sip-trunking#securetrunking) for more information.", - "type": "boolean" - }, - "TransferCallerId": { - "description": "Caller Id for transfer target. Can be: `from-transferee` (default) or `from-transferor`.", - "enum": [ - "from-transferee", - "from-transferor" - ], - "type": "string" - }, - "TransferMode": { - "description": "The call transfer settings for the trunk. Can be: `enable-all`, `sip-only` and `disable-all`. See [Transfer](https://www.twilio.com/docs/sip-trunking/call-transfer) for more information.", - "enum": [ - "disable-all", - "enable-all", - "sip-only" - ], - "type": "string" - } - }, - "title": "UpdateTrunkRequest", - "type": "object" - } - } + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteCredentialList", + "x-maturity": [ + "GA" + ] + } + }, + "/v1/Trunks/{TrunkSid}/CredentialLists": { + "servers": [ + { + "url": "https://trunking.twilio.com" + } + ], + "description": "List of credentials for accessing a trunk", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "date_created" + ], + "pathType": "list", + "parent": "/Trunks" + }, + "post": { + "description": "", + "parameters": [ + { + "name": "TrunkSid", + "in": "path", + "description": "The SID of the Trunk to associate the credential list with.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^TK[0-9a-fA-F]{32}$" + }, + "required": true } - }, + ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/trunking.v1.trunk" + "$ref": "#/components/schemas/trunking.v1.trunk.credential_list" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -908,50 +721,56 @@ "accountSid_authToken": [] } ], + "operationId": "CreateCredentialList", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://trunking.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "domain_name" ], - "pathType": "instance" - } - }, - "/v1/Trunks/{TrunkSid}/CredentialLists": { - "description": "List of credentials for accessing a trunk", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateCredentialListRequest", + "properties": { + "CredentialListSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CL[0-9a-fA-F]{32}$", + "description": "The SID of the [Credential List](https://www.twilio.com/docs/voice/sip/api/sip-credentiallist-resource) that you want to associate with the trunk. Once associated, we will authenticate access to the trunk against this list." + } + }, + "required": [ + "CredentialListSid" + ] + } + } + } + } + }, "get": { "description": "", - "operationId": "ListCredentialList", "parameters": [ { - "description": "The SID of the Trunk from which to read the credential lists.", - "in": "path", "name": "TrunkSid", - "required": true, + "in": "path", + "description": "The SID of the Trunk from which to read the credential lists.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^TK[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -960,25 +779,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListCredentialListResponse", "properties": { "credential_lists": { + "type": "array", "items": { "$ref": "#/components/schemas/trunking.v1.trunk.credential_list" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -987,19 +806,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListCredentialListResponse", - "type": "object" + } } } }, @@ -1011,59 +830,66 @@ "accountSid_authToken": [] } ], + "operationId": "ListCredentialList", "x-maturity": [ "GA" ] + } + }, + "/v1/Trunks/{TrunkSid}/IpAccessControlLists/{Sid}": { + "servers": [ + { + "url": "https://trunking.twilio.com" + } + ], + "description": "List of IP addresses for accessing a trunk", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "date_created" + ], + "pathType": "instance", + "parent": "/Trunks" }, - "post": { + "get": { "description": "", - "operationId": "CreateCredentialList", "parameters": [ { - "description": "The SID of the Trunk to associate the credential list with.", - "in": "path", "name": "TrunkSid", - "required": true, + "in": "path", + "description": "The SID of the Trunk from which to fetch the IP Access Control List.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^TK[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The unique string that we created to identify the IpAccessControlList resource to fetch.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AL[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "CredentialListSid": { - "description": "The SID of the [Credential List](https://www.twilio.com/docs/voice/sip/api/sip-credentiallist-resource) that you want to associate with the trunk. Once associated, we will authenticate access to the trunk against this list.", - "maxLength": 34, - "minLength": 34, - "pattern": "^CL[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "required": [ - "CredentialListSid" - ], - "title": "CreateCredentialListRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/trunking.v1.trunk.credential_list" + "$ref": "#/components/schemas/trunking.v1.trunk.ip_access_control_list" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -1071,53 +897,37 @@ "accountSid_authToken": [] } ], + "operationId": "FetchIpAccessControlList", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://trunking.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "date_created" - ], - "parent": "/Trunks", - "pathType": "list" - } - }, - "/v1/Trunks/{TrunkSid}/CredentialLists/{Sid}": { "delete": { - "description": "", - "operationId": "DeleteCredentialList", + "description": "Remove an associated IP Access Control List from a Trunk", "parameters": [ { - "description": "The SID of the Trunk from which to delete the credential list.", - "in": "path", "name": "TrunkSid", - "required": true, + "in": "path", + "description": "The SID of the Trunk from which to delete the IP Access Control List.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^TK[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique string that we created to identify the CredentialList resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The unique string that we created to identify the IpAccessControlList resource to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CL[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^AL[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1130,102 +940,111 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteIpAccessControlList", "x-maturity": [ "GA" ] + } + }, + "/v1/Trunks/{TrunkSid}/IpAccessControlLists": { + "servers": [ + { + "url": "https://trunking.twilio.com" + } + ], + "description": "List of IP addresses for accessing a trunk", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "date_created" + ], + "pathType": "list", + "parent": "/Trunks" }, - "description": "List of credentials for accessing a trunk", - "get": { - "description": "", - "operationId": "FetchCredentialList", + "post": { + "description": "Associate an IP Access Control List with a Trunk", "parameters": [ { - "description": "The SID of the Trunk from which to fetch the credential list.", - "in": "path", "name": "TrunkSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The unique string that we created to identify the CredentialList resource to fetch.", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the Trunk to associate the IP Access Control List with.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CL[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^TK[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/trunking.v1.trunk.credential_list" + "$ref": "#/components/schemas/trunking.v1.trunk.ip_access_control_list" } } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateIpAccessControlList", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateIpAccessControlListRequest", + "properties": { + "IpAccessControlListSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AL[0-9a-fA-F]{32}$", + "description": "The SID of the [IP Access Control List](https://www.twilio.com/docs/voice/sip/api/sip-ipaccesscontrollist-resource) that you want to associate with the trunk." + } + }, + "required": [ + "IpAccessControlListSid" + ] + } + } } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://trunking.twilio.com" } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "date_created" - ], - "parent": "/Trunks", - "pathType": "instance" - } - }, - "/v1/Trunks/{TrunkSid}/IpAccessControlLists": { - "description": "List of IP addresses for accessing a trunk", + }, "get": { "description": "List all IP Access Control Lists for a Trunk", - "operationId": "ListIpAccessControlList", "parameters": [ { - "description": "The SID of the Trunk from which to read the IP Access Control Lists.", - "in": "path", "name": "TrunkSid", - "required": true, + "in": "path", + "description": "The SID of the Trunk from which to read the IP Access Control Lists.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^TK[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1234,25 +1053,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListIpAccessControlListResponse", "properties": { "ip_access_control_lists": { + "type": "array", "items": { "$ref": "#/components/schemas/trunking.v1.trunk.ip_access_control_list" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1261,19 +1080,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListIpAccessControlListResponse", - "type": "object" + } } } }, @@ -1285,59 +1104,68 @@ "accountSid_authToken": [] } ], + "operationId": "ListIpAccessControlList", "x-maturity": [ "GA" ] + } + }, + "/v1/Trunks/{TrunkSid}/OriginationUrls/{Sid}": { + "servers": [ + { + "url": "https://trunking.twilio.com" + } + ], + "description": "Network element entry points into your communications infrastructure", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "sip_url", + "priority", + "weight" + ], + "pathType": "instance", + "parent": "/Trunks" }, - "post": { - "description": "Associate an IP Access Control List with a Trunk", - "operationId": "CreateIpAccessControlList", + "get": { + "description": "", "parameters": [ { - "description": "The SID of the Trunk to associate the IP Access Control List with.", - "in": "path", "name": "TrunkSid", - "required": true, + "in": "path", + "description": "The SID of the Trunk from which to fetch the OriginationUrl.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^TK[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The unique string that we created to identify the OriginationUrl resource to fetch.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^OU[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "IpAccessControlListSid": { - "description": "The SID of the [IP Access Control List](https://www.twilio.com/docs/voice/sip/api/sip-ipaccesscontrollist-resource) that you want to associate with the trunk.", - "maxLength": 34, - "minLength": 34, - "pattern": "^AL[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "required": [ - "IpAccessControlListSid" - ], - "title": "CreateIpAccessControlListRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/trunking.v1.trunk.ip_access_control_list" + "$ref": "#/components/schemas/trunking.v1.trunk.origination_url" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -1345,53 +1173,37 @@ "accountSid_authToken": [] } ], + "operationId": "FetchOriginationUrl", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://trunking.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "date_created" - ], - "parent": "/Trunks", - "pathType": "list" - } - }, - "/v1/Trunks/{TrunkSid}/IpAccessControlLists/{Sid}": { "delete": { - "description": "Remove an associated IP Access Control List from a Trunk", - "operationId": "DeleteIpAccessControlList", + "description": "", "parameters": [ { - "description": "The SID of the Trunk from which to delete the IP Access Control List.", - "in": "path", "name": "TrunkSid", - "required": true, + "in": "path", + "description": "The SID of the Trunk from which to delete the OriginationUrl.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^TK[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique string that we created to identify the IpAccessControlList resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The unique string that we created to identify the OriginationUrl resource to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AL[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^OU[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1404,38 +1216,37 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteOriginationUrl", "x-maturity": [ "GA" ] }, - "description": "List of IP addresses for accessing a trunk", - "get": { + "post": { "description": "", - "operationId": "FetchIpAccessControlList", "parameters": [ { - "description": "The SID of the Trunk from which to fetch the IP Access Control List.", - "in": "path", "name": "TrunkSid", - "required": true, + "in": "path", + "description": "The SID of the Trunk from which to update the OriginationUrl.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^TK[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique string that we created to identify the IpAccessControlList resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The unique string that we created to identify the OriginationUrl resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^AL[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^OU[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1443,11 +1254,101 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/trunking.v1.trunk.ip_access_control_list" + "$ref": "#/components/schemas/trunking.v1.trunk.origination_url" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "UpdateOriginationUrl", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateOriginationUrlRequest", + "properties": { + "Weight": { + "type": "integer", + "description": "The value that determines the relative share of the load the URI should receive compared to other URIs with the same priority. Can be an integer from 1 to 65535, inclusive, and the default is 10. URLs with higher values receive more load than those with lower ones with the same priority." + }, + "Priority": { + "type": "integer", + "description": "The relative importance of the URI. Can be an integer from 0 to 65535, inclusive, and the default is 10. The lowest number represents the most important URI." + }, + "Enabled": { + "type": "boolean", + "description": "Whether the URL is enabled. The default is `true`." + }, + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long." + }, + "SipUrl": { + "type": "string", + "format": "uri", + "description": "The SIP address you want Twilio to route your Origination calls to. This must be a `sip:` schema. `sips` is NOT supported." + } + } + } + } + } + } + } + }, + "/v1/Trunks/{TrunkSid}/OriginationUrls": { + "servers": [ + { + "url": "https://trunking.twilio.com" + } + ], + "description": "Network element entry points into your communications infrastructure", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "sip_url", + "priority", + "weight" + ], + "pathType": "list", + "parent": "/Trunks" + }, + "post": { + "description": "", + "parameters": [ + { + "name": "TrunkSid", + "in": "path", + "description": "The SID of the Trunk to associate the resource with.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^TK[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/trunking.v1.trunk.origination_url" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -1455,51 +1356,74 @@ "accountSid_authToken": [] } ], + "operationId": "CreateOriginationUrl", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://trunking.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "date_created" ], - "parent": "/Trunks", - "pathType": "instance" - } - }, - "/v1/Trunks/{TrunkSid}/OriginationUrls": { - "description": "Network element entry points into your communications infrastructure", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateOriginationUrlRequest", + "properties": { + "Weight": { + "type": "integer", + "description": "The value that determines the relative share of the load the URI should receive compared to other URIs with the same priority. Can be an integer from 1 to 65535, inclusive, and the default is 10. URLs with higher values receive more load than those with lower ones with the same priority." + }, + "Priority": { + "type": "integer", + "description": "The relative importance of the URI. Can be an integer from 0 to 65535, inclusive, and the default is 10. The lowest number represents the most important URI." + }, + "Enabled": { + "type": "boolean", + "description": "Whether the URL is enabled. The default is `true`." + }, + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long." + }, + "SipUrl": { + "type": "string", + "format": "uri", + "description": "The SIP address you want Twilio to route your Origination calls to. This must be a `sip:` schema." + } + }, + "required": [ + "Weight", + "Priority", + "Enabled", + "FriendlyName", + "SipUrl" + ] + } + } + } + } + }, "get": { "description": "", - "operationId": "ListOriginationUrl", "parameters": [ { - "description": "The SID of the Trunk from which to read the OriginationUrl.", - "in": "path", "name": "TrunkSid", - "required": true, + "in": "path", + "description": "The SID of the Trunk from which to read the OriginationUrl.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^TK[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1508,19 +1432,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListOriginationUrlResponse", "properties": { + "origination_urls": { + "type": "array", + "items": { + "$ref": "#/components/schemas/trunking.v1.trunk.origination_url" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1529,107 +1459,23 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "origination_urls": { - "items": { - "$ref": "#/components/schemas/trunking.v1.trunk.origination_url" - }, - "type": "array" + } } - }, - "title": "ListOriginationUrlResponse", - "type": "object" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "", - "operationId": "CreateOriginationUrl", - "parameters": [ - { - "description": "The SID of the Trunk to associate the resource with.", - "in": "path", - "name": "TrunkSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Enabled": { - "description": "Whether the URL is enabled. The default is `true`.", - "type": "boolean" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long.", - "type": "string" - }, - "Priority": { - "description": "The relative importance of the URI. Can be an integer from 0 to 65535, inclusive, and the default is 10. The lowest number represents the most important URI.", - "type": "integer" - }, - "SipUrl": { - "description": "The SIP address you want Twilio to route your Origination calls to. This must be a `sip:` schema.", - "format": "uri", - "type": "string" - }, - "Weight": { - "description": "The value that determines the relative share of the load the URI should receive compared to other URIs with the same priority. Can be an integer from 1 to 65535, inclusive, and the default is 10. URLs with higher values receive more load than those with lower ones with the same priority.", - "type": "integer" } - }, - "required": [ - "Weight", - "Priority", - "Enabled", - "FriendlyName", - "SipUrl" - ], - "title": "CreateOriginationUrlRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/trunking.v1.trunk.origination_url" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -1637,60 +1483,66 @@ "accountSid_authToken": [] } ], + "operationId": "ListOriginationUrl", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Trunks/{TrunkSid}/PhoneNumbers/{Sid}": { "servers": [ { "url": "https://trunking.twilio.com" } ], + "description": "Phone numbers associated with trunks", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name", - "sip_url", - "priority", - "weight" + "phone_number" ], - "parent": "/Trunks", - "pathType": "list" - } - }, - "/v1/Trunks/{TrunkSid}/OriginationUrls/{Sid}": { - "delete": { + "pathType": "instance", + "parent": "/Trunks" + }, + "get": { "description": "", - "operationId": "DeleteOriginationUrl", "parameters": [ { - "description": "The SID of the Trunk from which to delete the OriginationUrl.", - "in": "path", "name": "TrunkSid", - "required": true, + "in": "path", + "description": "The SID of the Trunk from which to fetch the PhoneNumber resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^TK[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique string that we created to identify the OriginationUrl resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The unique string that we created to identify the PhoneNumber resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^OU[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^PN[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/trunking.v1.trunk.phone_number" + } + } + }, + "description": "OK" } }, "security": [ @@ -1698,50 +1550,42 @@ "accountSid_authToken": [] } ], + "operationId": "FetchPhoneNumber", "x-maturity": [ "GA" ] }, - "description": "Network element entry points into your communications infrastructure", - "get": { + "delete": { "description": "", - "operationId": "FetchOriginationUrl", "parameters": [ { - "description": "The SID of the Trunk from which to fetch the OriginationUrl.", - "in": "path", "name": "TrunkSid", - "required": true, + "in": "path", + "description": "The SID of the Trunk from which to delete the PhoneNumber resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^TK[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique string that we created to identify the OriginationUrl resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The unique string that we created to identify the PhoneNumber resource to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^OU[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^PN[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/trunking.v1.trunk.origination_url" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -1749,82 +1593,54 @@ "accountSid_authToken": [] } ], + "operationId": "DeletePhoneNumber", "x-maturity": [ "GA" ] + } + }, + "/v1/Trunks/{TrunkSid}/PhoneNumbers": { + "servers": [ + { + "url": "https://trunking.twilio.com" + } + ], + "description": "Phone numbers associated with trunks", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "phone_number" + ], + "pathType": "list", + "parent": "/Trunks" }, "post": { "description": "", - "operationId": "UpdateOriginationUrl", "parameters": [ { - "description": "The SID of the Trunk from which to update the OriginationUrl.", - "in": "path", - "name": "TrunkSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The unique string that we created to identify the OriginationUrl resource to update.", + "name": "TrunkSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the Trunk to associate the phone number with.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^OU[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^TK[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Enabled": { - "description": "Whether the URL is enabled. The default is `true`.", - "type": "boolean" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long.", - "type": "string" - }, - "Priority": { - "description": "The relative importance of the URI. Can be an integer from 0 to 65535, inclusive, and the default is 10. The lowest number represents the most important URI.", - "type": "integer" - }, - "SipUrl": { - "description": "The SIP address you want Twilio to route your Origination calls to. This must be a `sip:` schema. `sips` is NOT supported.", - "format": "uri", - "type": "string" - }, - "Weight": { - "description": "The value that determines the relative share of the load the URI should receive compared to other URIs with the same priority. Can be an integer from 1 to 65535, inclusive, and the default is 10. URLs with higher values receive more load than those with lower ones with the same priority.", - "type": "integer" - } - }, - "title": "UpdateOriginationUrlRequest", - "type": "object" - } - } - } - }, "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/trunking.v1.trunk.origination_url" + "$ref": "#/components/schemas/trunking.v1.trunk.phone_number" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -1832,53 +1648,56 @@ "accountSid_authToken": [] } ], + "operationId": "CreatePhoneNumber", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://trunking.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "sip_url", - "priority", - "weight" ], - "parent": "/Trunks", - "pathType": "instance" - } - }, - "/v1/Trunks/{TrunkSid}/PhoneNumbers": { - "description": "Phone numbers associated with trunks", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreatePhoneNumberRequest", + "properties": { + "PhoneNumberSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^PN[0-9a-fA-F]{32}$", + "description": "The SID of the [Incoming Phone Number](https://www.twilio.com/docs/phone-numbers/api/incomingphonenumber-resource) that you want to associate with the trunk." + } + }, + "required": [ + "PhoneNumberSid" + ] + } + } + } + } + }, "get": { "description": "", - "operationId": "ListPhoneNumber", "parameters": [ { - "description": "The SID of the Trunk from which to read the PhoneNumber resources.", - "in": "path", "name": "TrunkSid", - "required": true, + "in": "path", + "description": "The SID of the Trunk from which to read the PhoneNumber resources.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^TK[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1887,19 +1706,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListPhoneNumberResponse", "properties": { + "phone_numbers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/trunking.v1.trunk.phone_number" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1908,25 +1733,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "phone_numbers": { - "items": { - "$ref": "#/components/schemas/trunking.v1.trunk.phone_number" - }, - "type": "array" + } } - }, - "title": "ListPhoneNumberResponse", - "type": "object" + } } } }, @@ -1938,59 +1757,91 @@ "accountSid_authToken": [] } ], + "operationId": "ListPhoneNumber", "x-maturity": [ "GA" ] + } + }, + "/v1/Trunks/{TrunkSid}/Recording": { + "servers": [ + { + "url": "https://trunking.twilio.com" + } + ], + "description": "Recording settings for a trunk", + "x-twilio": { + "defaultOutputProperties": [ + "mode", + "trim" + ], + "pathType": "instance", + "parent": "/Trunks" }, - "post": { + "get": { "description": "", - "operationId": "CreatePhoneNumber", "parameters": [ { - "description": "The SID of the Trunk to associate the phone number with.", - "in": "path", "name": "TrunkSid", - "required": true, + "in": "path", + "description": "The SID of the Trunk from which to fetch the recording settings.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^TK[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "PhoneNumberSid": { - "description": "The SID of the [Incoming Phone Number](https://www.twilio.com/docs/phone-numbers/api/incomingphonenumber-resource) that you want to associate with the trunk.", - "maxLength": 34, - "minLength": 34, - "pattern": "^PN[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "required": [ - "PhoneNumberSid" - ], - "title": "CreatePhoneNumberRequest", - "type": "object" + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/trunking.v1.trunk.recording" + } } - } + }, + "description": "OK" } }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "FetchRecording", + "x-maturity": [ + "GA" + ] + }, + "post": { + "description": "", + "parameters": [ + { + "name": "TrunkSid", + "in": "path", + "description": "The SID of the Trunk that will have its recording settings updated.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^TK[0-9a-fA-F]{32}$" + }, + "required": true + } + ], "responses": { - "201": { + "202": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/trunking.v1.trunk.phone_number" + "$ref": "#/components/schemas/trunking.v1.trunk.recording" } } }, - "description": "Created" + "description": "Accepted" } }, "security": [ @@ -1998,53 +1849,110 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateRecording", "x-maturity": [ "GA" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateRecordingRequest", + "properties": { + "Mode": { + "type": "string", + "enum": [ + "do-not-record", + "record-from-ringing", + "record-from-answer", + "record-from-ringing-dual", + "record-from-answer-dual" + ], + "description": "The recording mode for the trunk. Can be do-not-record (default), record-from-ringing, record-from-answer, record-from-ringing-dual, or record-from-answer-dual." + }, + "Trim": { + "type": "string", + "enum": [ + "trim-silence", + "do-not-trim" + ], + "description": "The recording trim setting for the trunk. Can be do-not-trim (default) or trim-silence." + } + } + } + } + } + } + } + }, + "/v1/Trunks/{Sid}": { "servers": [ { "url": "https://trunking.twilio.com" } ], + "description": "Represents a SIP trunk", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name", - "phone_number" + "domain_name" + ], + "pathType": "instance" + }, + "get": { + "description": "", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The unique string that we created to identify the Trunk resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^TK[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/trunking.v1.trunk" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } ], - "parent": "/Trunks", - "pathType": "list" - } - }, - "/v1/Trunks/{TrunkSid}/PhoneNumbers/{Sid}": { + "operationId": "FetchTrunk", + "x-maturity": [ + "GA" + ] + }, "delete": { "description": "", - "operationId": "DeletePhoneNumber", "parameters": [ { - "description": "The SID of the Trunk from which to delete the PhoneNumber resource.", + "name": "Sid", "in": "path", - "name": "TrunkSid", - "required": true, + "description": "The unique string that we created to identify the Trunk resource to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The unique string that we created to identify 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" - } + "pattern": "^TK[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2057,38 +1965,25 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteTrunk", "x-maturity": [ "GA" ] }, - "description": "Phone numbers associated with trunks", - "get": { + "post": { "description": "", - "operationId": "FetchPhoneNumber", "parameters": [ { - "description": "The SID of the Trunk from which to fetch the PhoneNumber resource.", + "name": "Sid", "in": "path", - "name": "TrunkSid", - "required": true, + "description": "The unique string that we created to identify the OriginationUrl resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The unique string that we created to identify 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" - } + "pattern": "^TK[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2096,7 +1991,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/trunking.v1.trunk.phone_number" + "$ref": "#/components/schemas/trunking.v1.trunk" } } }, @@ -2108,54 +2003,102 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateTrunk", "x-maturity": [ "GA" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateTrunkRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long." + }, + "DomainName": { + "type": "string", + "description": "The unique address you reserve on Twilio to which you route your SIP traffic. Domain names can contain letters, digits, and `-` and must end with `pstn.twilio.com`. See [Termination Settings](https://www.twilio.com/docs/sip-trunking#termination) for more information." + }, + "DisasterRecoveryUrl": { + "type": "string", + "format": "uri", + "description": "The URL we should call using the `disaster_recovery_method` if an error occurs while sending SIP traffic towards the configured Origination URL. We retrieve TwiML from the URL and execute the instructions like any other normal TwiML call. See [Disaster Recovery](https://www.twilio.com/docs/sip-trunking#disaster-recovery) for more information." + }, + "DisasterRecoveryMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method we should use to call the `disaster_recovery_url`. Can be: `GET` or `POST`." + }, + "TransferMode": { + "type": "string", + "enum": [ + "disable-all", + "enable-all", + "sip-only" + ], + "description": "The call transfer settings for the trunk. Can be: `enable-all`, `sip-only` and `disable-all`. See [Transfer](https://www.twilio.com/docs/sip-trunking/call-transfer) for more information." + }, + "Secure": { + "type": "boolean", + "description": "Whether Secure Trunking is enabled for the trunk. If enabled, all calls going through the trunk will be secure using SRTP for media and TLS for signaling. If disabled, then RTP will be used for media. See [Secure Trunking](https://www.twilio.com/docs/sip-trunking#securetrunking) for more information." + }, + "CnamLookupEnabled": { + "type": "boolean", + "description": "Whether Caller ID Name (CNAM) lookup should be enabled for the trunk. If enabled, all inbound calls to the SIP Trunk from the United States and Canada automatically perform a CNAM Lookup and display Caller ID data on your phone. See [CNAM Lookups](https://www.twilio.com/docs/sip-trunking#CNAM) for more information." + }, + "TransferCallerId": { + "type": "string", + "enum": [ + "from-transferee", + "from-transferor" + ], + "description": "Caller Id for transfer target. Can be: `from-transferee` (default) or `from-transferor`." + } + } + } + } + } + } + } + }, + "/v1/Trunks": { "servers": [ { "url": "https://trunking.twilio.com" } ], + "description": "Represents a SIP trunk", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name", - "phone_number" + "domain_name" ], - "parent": "/Trunks", - "pathType": "instance" - } - }, - "/v1/Trunks/{TrunkSid}/Recording": { - "description": "Recording settings for a trunk", - "get": { + "pathType": "list" + }, + "post": { "description": "", - "operationId": "FetchRecording", - "parameters": [ - { - "description": "The SID of the Trunk from which to fetch the recording settings.", - "in": "path", - "name": "TrunkSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/trunking.v1.trunk.recording" + "$ref": "#/components/schemas/trunking.v1.trunk" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -2163,68 +2106,137 @@ "accountSid_authToken": [] } ], + "operationId": "CreateTrunk", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "", - "operationId": "UpdateRecording", - "parameters": [ - { - "description": "The SID of the Trunk that will have its recording settings updated.", - "in": "path", - "name": "TrunkSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^TK[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateTrunkRequest", "properties": { - "Mode": { - "description": "The recording mode for the trunk. Can be do-not-record (default), record-from-ringing, record-from-answer, record-from-ringing-dual, or record-from-answer-dual.", + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long." + }, + "DomainName": { + "type": "string", + "description": "The unique address you reserve on Twilio to which you route your SIP traffic. Domain names can contain letters, digits, and `-` and must end with `pstn.twilio.com`. See [Termination Settings](https://www.twilio.com/docs/sip-trunking#termination) for more information." + }, + "DisasterRecoveryUrl": { + "type": "string", + "format": "uri", + "description": "The URL we should call using the `disaster_recovery_method` if an error occurs while sending SIP traffic towards the configured Origination URL. We retrieve TwiML from the URL and execute the instructions like any other normal TwiML call. See [Disaster Recovery](https://www.twilio.com/docs/sip-trunking#disaster-recovery) for more information." + }, + "DisasterRecoveryMethod": { + "type": "string", + "format": "http-method", "enum": [ - "do-not-record", - "record-from-ringing", - "record-from-answer", - "record-from-ringing-dual", - "record-from-answer-dual" + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" ], - "type": "string" + "description": "The HTTP method we should use to call the `disaster_recovery_url`. Can be: `GET` or `POST`." }, - "Trim": { - "description": "The recording trim setting for the trunk. Can be do-not-trim (default) or trim-silence.", + "TransferMode": { + "type": "string", "enum": [ - "trim-silence", - "do-not-trim" + "disable-all", + "enable-all", + "sip-only" + ], + "description": "The call transfer settings for the trunk. Can be: `enable-all`, `sip-only` and `disable-all`. See [Transfer](https://www.twilio.com/docs/sip-trunking/call-transfer) for more information." + }, + "Secure": { + "type": "boolean", + "description": "Whether Secure Trunking is enabled for the trunk. If enabled, all calls going through the trunk will be secure using SRTP for media and TLS for signaling. If disabled, then RTP will be used for media. See [Secure Trunking](https://www.twilio.com/docs/sip-trunking#securetrunking) for more information." + }, + "CnamLookupEnabled": { + "type": "boolean", + "description": "Whether Caller ID Name (CNAM) lookup should be enabled for the trunk. If enabled, all inbound calls to the SIP Trunk from the United States and Canada automatically perform a CNAM Lookup and display Caller ID data on your phone. See [CNAM Lookups](https://www.twilio.com/docs/sip-trunking#CNAM) for more information." + }, + "TransferCallerId": { + "type": "string", + "enum": [ + "from-transferee", + "from-transferor" ], - "type": "string" + "description": "Caller Id for transfer target. Can be: `from-transferee` (default) or `from-transferor`." } - }, - "title": "UpdateRecordingRequest", - "type": "object" + } } } } - }, + } + }, + "get": { + "description": "", + "parameters": [ + { + "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 + } + } + ], "responses": { - "202": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/trunking.v1.trunk.recording" + "type": "object", + "title": "ListTrunkResponse", + "properties": { + "trunks": { + "type": "array", + "items": { + "$ref": "#/components/schemas/trunking.v1.trunk" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, - "description": "Accepted" + "description": "OK" } }, "security": [ @@ -2232,22 +2244,10 @@ "accountSid_authToken": [] } ], + "operationId": "ListTrunk", "x-maturity": [ "GA" ] - }, - "servers": [ - { - "url": "https://trunking.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "mode", - "trim" - ], - "parent": "/Trunks", - "pathType": "instance" } } }, @@ -2258,8 +2258,8 @@ ], "x-maturity": [ { - "description": "This product is Generally Available.", - "name": "GA" + "name": "GA", + "description": "This product is Generally Available." } ] } \ No newline at end of file diff --git a/spec/json/twilio_trusthub_v1.json b/spec/json/twilio_trusthub_v1.json index 2334ef43..1434cc4d 100644 --- a/spec/json/twilio_trusthub_v1.json +++ b/spec/json/twilio_trusthub_v1.json @@ -2,61 +2,39 @@ "components": { "schemas": { "trusthub.v1.customer_profile": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "description": "The 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 date and time in GMT when the resource was last updated", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "email": { - "description": "The email address", - "nullable": true, - "type": "string" - }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", - "nullable": true, - "type": "string" + "description": "The unique string that identifies the resource." }, - "links": { - "description": "The URLs of the Assigned Items of the Customer-Profile resource", - "format": "uri-map", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "object" + "description": "The SID of the Account that created the resource" }, "policy_sid": { - "description": "The unique string of a policy.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^RN[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string of a policy." }, - "sid": { - "description": "The unique string that identifies the resource.", - "maxLength": 34, - "minLength": 34, + "friendly_name": { + "type": "string", "nullable": true, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" + "description": "The string that you assigned to describe the resource" }, "status": { - "description": "The verification status of the Customer-Profile resource", + "type": "string", "enum": [ "draft", "pending-review", @@ -65,356 +43,363 @@ "twilio-approved" ], "nullable": true, - "type": "string" + "description": "The verification status of the Customer-Profile resource" + }, + "valid_until": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource will be valid until." + }, + "email": { + "type": "string", + "nullable": true, + "description": "The email address" }, "status_callback": { - "description": "The URL we call to inform your application of status changes.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL we call to inform your application of status changes." + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, "url": { - "description": "The absolute URL of the Customer-Profile resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Customer-Profile resource" }, - "valid_until": { - "description": "The ISO 8601 date and time in GMT when the resource will be valid until.", - "format": "date-time", + "links": { + "type": "object", + "format": "uri-map", "nullable": true, - "type": "string" + "description": "The URLs of the Assigned Items of the Customer-Profile resource" } - }, - "type": "object" + } }, "trusthub.v1.customer_profile.customer_profile_channel_endpoint_assignment": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^RA[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "channel_endpoint_sid": { - "description": "The sid of an channel endpoint", + "customer_profile_sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique string that identifies the CustomerProfile resource." + }, + "account_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Account that created the resource" }, "channel_endpoint_type": { - "description": "The type of channel endpoint", + "type": "string", "nullable": true, - "type": "string" + "description": "The type of channel endpoint" }, - "customer_profile_sid": { - "description": "The unique string that identifies the CustomerProfile resource.", - "maxLength": 34, + "channel_endpoint_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" + "description": "The sid of an channel endpoint" }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" - }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^RA[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, "url": { - "description": "The absolute URL of the Identity resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Identity resource" } - }, - "type": "object" + } }, "trusthub.v1.customer_profile.customer_profile_entity_assignment": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^BV[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, "customer_profile_sid": { - "description": "The unique string that identifies the CustomerProfile resource.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string that identifies the CustomerProfile resource." }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", - "format": "date-time", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, "object_sid": { - "description": "The sid of an object bag", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The sid of an object bag" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^BV[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, "url": { - "description": "The absolute URL of the Identity resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Identity resource" } - }, - "type": "object" + } }, "trusthub.v1.customer_profile.customer_profile_evaluation": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "customer_profile_sid": { - "description": "The unique string that identifies the resource", "maxLength": 34, - "minLength": 34, + "pattern": "^EL[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the Evaluation resource" }, - "date_created": { - "format": "date-time", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, "policy_sid": { - "description": "The unique string of a policy", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^RN[0-9a-fA-F]{32}$", - "type": "string" - }, - "results": { - "description": "The results of the Evaluation resource", - "items": {}, "nullable": true, - "type": "array" + "description": "The unique string of a policy" }, - "sid": { - "description": "The unique string that identifies the Evaluation resource", - "maxLength": 34, + "customer_profile_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^EL[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, "status": { - "description": "The compliance status of the Evaluation resource", + "type": "string", "enum": [ "compliant", "noncompliant" ], "nullable": true, - "type": "string" + "description": "The compliance status of the Evaluation resource" + }, + "results": { + "type": "array", + "items": {}, + "nullable": true, + "description": "The results of the Evaluation resource" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true }, "url": { + "type": "string", "format": "uri", - "nullable": true, - "type": "string" + "nullable": true } - }, - "type": "object" + } }, "trusthub.v1.end_user": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^IT[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "attributes": { - "description": "The set of parameters that compose the End Users resource", - "nullable": true + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", - "format": "date-time", + "friendly_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the resource" }, - "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", - "format": "date-time", + "type": { + "type": "string", "nullable": true, - "type": "string" + "description": "The type of end user of the Bundle resource" }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", + "attributes": { "nullable": true, - "type": "string" + "description": "The set of parameters that compose the End Users resource" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^IT[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, - "type": { - "description": "The type of end user of the Bundle resource", + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, "url": { - "description": "The absolute URL of the End User resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the End User resource" } - }, - "type": "object" + } }, "trusthub.v1.end_user_type": { + "type": "object", "properties": { - "fields": { - "description": "The required information for creating an End-User.", - "items": {}, + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^OY[0-9a-fA-F]{32}$", "nullable": true, - "type": "array" + "description": "The unique string that identifies the End-User Type resource" }, "friendly_name": { - "description": "A human-readable description of the End-User Type resource", + "type": "string", "nullable": true, - "type": "string" + "description": "A human-readable description of the End-User Type resource" }, "machine_name": { - "description": "A machine-readable description of the End-User Type resource", + "type": "string", "nullable": true, - "type": "string" + "description": "A machine-readable description of the End-User Type resource" }, - "sid": { - "description": "The unique string that identifies the End-User Type resource", - "maxLength": 34, - "minLength": 34, + "fields": { + "type": "array", + "items": {}, "nullable": true, - "pattern": "^OY[0-9a-fA-F]{32}$", - "type": "string" + "description": "The required information for creating an End-User." }, "url": { - "description": "The absolute URL of the End-User Type resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the End-User Type resource" } - }, - "type": "object" + } }, "trusthub.v1.policies": { + "type": "object", "properties": { + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RN[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique string that identifies the Policy resource" + }, "friendly_name": { - "description": "A human-readable description of the Policy resource", + "type": "string", "nullable": true, - "type": "string" + "description": "A human-readable description of the Policy resource" }, "requirements": { - "description": "The sid of a Policy object that dictates requirements", - "nullable": true - }, - "sid": { - "description": "The unique string that identifies the Policy resource", - "maxLength": 34, - "minLength": 34, "nullable": true, - "pattern": "^RN[0-9a-fA-F]{32}$", - "type": "string" + "description": "The sid of a Policy object that dictates requirements" }, "url": { - "description": "The absolute URL of the Policy resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Policy resource" } - }, - "type": "object" + } }, "trusthub.v1.supporting_document": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^RD[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "attributes": { - "description": "The set of parameters that compose the Supporting Documents resource", - "nullable": true - }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", - "format": "date-time", - "nullable": true, - "type": "string" + "description": "The unique string that identifies the resource" }, - "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", - "format": "date-time", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, "friendly_name": { - "description": "The string that you assigned to describe the resource", + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the resource" }, "mime_type": { - "description": "The image type of the file", - "nullable": true, - "type": "string" - }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "type": "string", "nullable": true, - "pattern": "^RD[0-9a-fA-F]{32}$", - "type": "string" + "description": "The image type of the file" }, "status": { - "description": "The verification status of the Supporting Document resource", + "type": "string", "enum": [ "draft", "pending-review", @@ -424,113 +409,106 @@ "provisionally-approved" ], "nullable": true, - "type": "string" + "description": "The verification status of the Supporting Document resource" }, "type": { - "description": "The type of the Supporting Document", + "type": "string", + "nullable": true, + "description": "The type of the Supporting Document" + }, + "attributes": { + "nullable": true, + "description": "The set of parameters that compose the Supporting Documents resource" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, "url": { - "description": "The absolute URL of the Supporting Document resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Supporting Document resource" } - }, - "type": "object" + } }, "trusthub.v1.supporting_document_type": { + "type": "object", "properties": { - "fields": { - "description": "The required information for creating a Supporting Document", - "items": {}, - "nullable": true, - "type": "array" - }, + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^OY[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique string that identifies the Supporting Document Type resource" + }, "friendly_name": { - "description": "A human-readable description of the Supporting Document Type resource", + "type": "string", "nullable": true, - "type": "string" + "description": "A human-readable description of the Supporting Document Type resource" }, "machine_name": { - "description": "The machine-readable description of the Supporting Document Type resource", + "type": "string", "nullable": true, - "type": "string" + "description": "The machine-readable description of the Supporting Document Type resource" }, - "sid": { - "description": "The unique string that identifies the Supporting Document Type resource", - "maxLength": 34, - "minLength": 34, + "fields": { + "type": "array", + "items": {}, "nullable": true, - "pattern": "^OY[0-9a-fA-F]{32}$", - "type": "string" + "description": "The required information for creating a Supporting Document" }, "url": { - "description": "The absolute URL of the Supporting Document Type resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Supporting Document Type resource" } - }, - "type": "object" + } }, "trusthub.v1.trust_product": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "description": "The 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 date and time in GMT when the resource was last updated", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "email": { - "description": "The email address", - "nullable": true, - "type": "string" - }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", - "nullable": true, - "type": "string" + "description": "The unique string that identifies the resource." }, - "links": { - "description": "The URLs of the Assigned Items of the Customer-Profile resource", - "format": "uri-map", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "object" + "description": "The SID of the Account that created the resource" }, "policy_sid": { - "description": "The unique string of a policy.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^RN[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string of a policy." }, - "sid": { - "description": "The unique string that identifies the resource.", - "maxLength": 34, - "minLength": 34, + "friendly_name": { + "type": "string", "nullable": true, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" + "description": "The string that you assigned to describe the resource" }, "status": { - "description": "The verification status of the Customer-Profile resource", + "type": "string", "enum": [ "draft", "pending-review", @@ -539,267 +517,363 @@ "twilio-approved" ], "nullable": true, - "type": "string" + "description": "The verification status of the Customer-Profile resource" + }, + "valid_until": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource will be valid until." + }, + "email": { + "type": "string", + "nullable": true, + "description": "The email address" }, "status_callback": { - "description": "The URL we call to inform your application of status changes.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL we call to inform your application of status changes." + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, "url": { - "description": "The absolute URL of the Customer-Profile resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Customer-Profile resource" }, - "valid_until": { - "description": "The ISO 8601 date and time in GMT when the resource will be valid until.", - "format": "date-time", + "links": { + "type": "object", + "format": "uri-map", "nullable": true, - "type": "string" + "description": "The URLs of the Assigned Items of the Customer-Profile resource" } - }, - "type": "object" + } }, "trusthub.v1.trust_product.trust_product_channel_endpoint_assignment": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^RA[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "channel_endpoint_sid": { - "description": "The sid of an channel endpoint", - "maxLength": 34, + "trust_product_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the CustomerProfile resource." }, - "channel_endpoint_type": { - "description": "The type of channel endpoint", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", - "format": "date-time", + "channel_endpoint_type": { + "type": "string", "nullable": true, - "type": "string" + "description": "The type of channel endpoint" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "channel_endpoint_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^RA[0-9a-fA-F]{32}$", - "type": "string" + "description": "The sid of an channel endpoint" }, - "trust_product_sid": { - "description": "The unique string that identifies the CustomerProfile resource.", - "maxLength": 34, - "minLength": 34, + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, "url": { - "description": "The absolute URL of the Identity resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Identity resource" } - }, - "type": "object" + } }, "trusthub.v1.trust_product.trust_product_entity_assignment": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^BV[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", - "format": "date-time", + "trust_product_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique string that identifies the TrustProduct resource." }, - "object_sid": { - "description": "The sid of an object bag", - "maxLength": 34, + "account_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Account that created the resource" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "object_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^BV[0-9a-fA-F]{32}$", - "type": "string" + "description": "The sid of an object bag" }, - "trust_product_sid": { - "description": "The unique string that identifies the TrustProduct resource.", - "maxLength": 34, - "minLength": 34, + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, "url": { - "description": "The absolute URL of the Identity resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the Identity resource" } - }, - "type": "object" + } }, "trusthub.v1.trust_product.trust_product_evaluation": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^EL[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the Evaluation resource" }, - "date_created": { - "format": "date-time", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, "policy_sid": { - "description": "The unique string of a policy", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^RN[0-9a-fA-F]{32}$", - "type": "string" - }, - "results": { - "description": "The results of the Evaluation resource", - "items": {}, "nullable": true, - "type": "array" + "description": "The unique string of a policy" }, - "sid": { - "description": "The unique string that identifies the Evaluation resource", - "maxLength": 34, + "trust_product_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^EL[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, "status": { - "description": "The compliance status of the Evaluation resource", + "type": "string", "enum": [ "compliant", "noncompliant" ], "nullable": true, - "type": "string" + "description": "The compliance status of the Evaluation resource" }, - "trust_product_sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "results": { + "type": "array", + "items": {}, "nullable": true, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" + "description": "The results of the Evaluation resource" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true }, "url": { + "type": "string", "format": "uri", - "nullable": true, - "type": "string" + "nullable": true } - }, - "type": "object" + } } }, "securitySchemes": { "accountSid_authToken": { - "scheme": "basic", - "type": "http" + "type": "http", + "scheme": "basic" } } }, "info": { + "title": "Twilio - Trusthub", + "description": "This is the public Twilio REST API.", + "termsOfService": "https://www.twilio.com/legal/tos", "contact": { - "email": "support@twilio.com", "name": "Twilio Support", - "url": "https://support.twilio.com" + "url": "https://support.twilio.com", + "email": "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 - Trusthub", "version": "1.30.0" }, "openapi": "3.0.1", "paths": { "/v1/CustomerProfiles": { + "servers": [ + { + "url": "https://trusthub.twilio.com" + } + ], "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "policy_sid", + "friendly_name" + ], + "pathType": "list", + "className": "customer_profiles" + }, + "post": { + "description": "Create a new Customer-Profile.", + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/trusthub.v1.customer_profile" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateCustomerProfile", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateCustomerProfileRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "The string that you assigned to describe the resource." + }, + "Email": { + "type": "string", + "description": "The email address that will receive updates when the Customer-Profile resource changes status." + }, + "PolicySid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RN[0-9a-fA-F]{32}$", + "description": "The unique string of a policy that is associated to the Customer-Profile resource." + }, + "StatusCallback": { + "type": "string", + "format": "uri", + "description": "The URL we call to inform your application of status changes." + } + }, + "required": [ + "FriendlyName", + "Email", + "PolicySid" + ] + } + } + } + } + }, "get": { "description": "Retrieve a list of all Customer-Profiles for an account.", - "operationId": "ListCustomerProfile", "parameters": [ { - "description": "The verification status of the Customer-Profile resource.", - "in": "query", "name": "Status", + "in": "query", + "description": "The verification status of the Customer-Profile resource.", "schema": { + "type": "string", "enum": [ "draft", "pending-review", "in-review", "twilio-rejected", "twilio-approved" - ], - "type": "string" + ] } }, { - "description": "The string that you assigned to describe the resource.", - "in": "query", "name": "FriendlyName", + "in": "query", + "description": "The string that you assigned to describe the resource.", "schema": { "type": "string" } }, { - "description": "The unique string of a policy that is associated to the Customer-Profile resource.", - "in": "query", "name": "PolicySid", - "schema": { - "maxLength": 34, + "in": "query", + "description": "The unique string of a policy that is associated to the Customer-Profile resource.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^RN[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^RN[0-9a-fA-F]{32}$" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -808,19 +882,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListCustomerProfileResponse", "properties": { + "results": { + "type": "array", + "items": { + "$ref": "#/components/schemas/trusthub.v1.customer_profile" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -829,25 +909,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "results": { - "items": { - "$ref": "#/components/schemas/trusthub.v1.customer_profile" - }, - "type": "array" + } } - }, - "title": "ListCustomerProfileResponse", - "type": "object" + } } } }, @@ -859,52 +933,46 @@ "accountSid_authToken": [] } ], + "operationId": "ListCustomerProfile", "x-maturity": [ "GA" ] + } + }, + "/v1/CustomerProfiles/{Sid}": { + "servers": [ + { + "url": "https://trusthub.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "policy_sid", + "friendly_name" + ], + "pathType": "instance", + "className": "customer_profiles" }, - "post": { - "description": "Create a new Customer-Profile.", - "operationId": "CreateCustomerProfile", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Email": { - "description": "The email address that will receive updates when the Customer-Profile resource changes status.", - "type": "string" - }, - "FriendlyName": { - "description": "The string that you assigned to describe the resource.", - "type": "string" - }, - "PolicySid": { - "description": "The unique string of a policy that is associated to the Customer-Profile resource.", - "maxLength": 34, - "minLength": 34, - "pattern": "^RN[0-9a-fA-F]{32}$", - "type": "string" - }, - "StatusCallback": { - "description": "The URL we call to inform your application of status changes.", - "format": "uri", - "type": "string" - } - }, - "required": [ - "FriendlyName", - "Email", - "PolicySid" - ], - "title": "CreateCustomerProfileRequest", - "type": "object" - } - } + "get": { + "description": "Fetch a specific Customer-Profile instance.", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The unique string that we created to identify the Customer-Profile resource.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true } - }, + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { @@ -912,7 +980,7 @@ } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -920,71 +988,25 @@ "accountSid_authToken": [] } ], + "operationId": "FetchCustomerProfile", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://trusthub.twilio.com" - } - ], - "x-twilio": { - "className": "customer_profiles", - "defaultOutputProperties": [ - "sid", - "policy_sid", - "friendly_name" - ], - "pathType": "list" - } - }, - "/v1/CustomerProfiles/{CustomerProfileSid}/ChannelEndpointAssignments": { - "description": "TODO: Resource-level docs", - "get": { - "description": "Retrieve a list of all Assigned Items for an account.", - "operationId": "ListCustomerProfileChannelEndpointAssignment", + "post": { + "description": "Updates a Customer-Profile in an account.", "parameters": [ { - "description": "The unique string that we created to identify the CustomerProfile resource.", + "name": "Sid", "in": "path", - "name": "CustomerProfileSid", - "required": true, + "description": "The unique string that we created to identify the Customer-Profile resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of an channel endpoint", - "in": "query", - "name": "ChannelEndpointSid", - "schema": { "maxLength": 34, - "minLength": 34, - "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "comma separated list of channel endpoint sids", - "in": "query", - "name": "ChannelEndpointSids", - "schema": { - "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" - } + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -992,46 +1014,7 @@ "content": { "application/json": { "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "results": { - "items": { - "$ref": "#/components/schemas/trusthub.v1.customer_profile.customer_profile_channel_endpoint_assignment" - }, - "type": "array" - } - }, - "title": "ListCustomerProfileChannelEndpointAssignmentResponse", - "type": "object" + "$ref": "#/components/schemas/trusthub.v1.customer_profile" } } }, @@ -1043,64 +1026,253 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateCustomerProfile", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateCustomerProfileRequest", + "properties": { + "Status": { + "type": "string", + "enum": [ + "draft", + "pending-review", + "in-review", + "twilio-rejected", + "twilio-approved" + ], + "description": "The verification status of the Customer-Profile resource." + }, + "StatusCallback": { + "type": "string", + "format": "uri", + "description": "The URL we call to inform your application of status changes." + }, + "FriendlyName": { + "type": "string", + "description": "The string that you assigned to describe the resource." + }, + "Email": { + "type": "string", + "description": "The email address that will receive updates when the Customer-Profile resource changes status." + } + } + } + } + } + } + }, + "delete": { + "description": "Delete a specific Customer-Profile.", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The unique string that we created to identify the Customer-Profile resource.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteCustomerProfile", "x-maturity": [ "GA" ] + } + }, + "/v1/CustomerProfiles/{CustomerProfileSid}/ChannelEndpointAssignments": { + "servers": [ + { + "url": "https://trusthub.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid" + ], + "pathType": "list", + "parent": "/CustomerProfiles", + "className": "customer_profiles_channel_endpoint_assignment" }, "post": { "description": "Create a new Assigned Item.", - "operationId": "CreateCustomerProfileChannelEndpointAssignment", "parameters": [ { - "description": "The unique string that we created to identify the CustomerProfile resource.", - "in": "path", "name": "CustomerProfileSid", - "required": true, + "in": "path", + "description": "The unique string that we created to identify the CustomerProfile resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true } ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/trusthub.v1.customer_profile.customer_profile_channel_endpoint_assignment" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateCustomerProfileChannelEndpointAssignment", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateCustomerProfileChannelEndpointAssignmentRequest", "properties": { + "ChannelEndpointType": { + "type": "string", + "description": "The type of channel endpoint. eg: phone-number" + }, "ChannelEndpointSid": { - "description": "The SID of an channel endpoint", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", - "type": "string" - }, - "ChannelEndpointType": { - "description": "The type of channel endpoint. eg: phone-number", - "type": "string" + "description": "The SID of an channel endpoint" } }, "required": [ "ChannelEndpointType", "ChannelEndpointSid" - ], - "title": "CreateCustomerProfileChannelEndpointAssignmentRequest", - "type": "object" + ] } } } - }, + } + }, + "get": { + "description": "Retrieve a list of all Assigned Items for an account.", + "parameters": [ + { + "name": "CustomerProfileSid", + "in": "path", + "description": "The unique string that we created to identify the CustomerProfile resource.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "ChannelEndpointSid", + "in": "query", + "description": "The SID of an channel endpoint", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$" + } + }, + { + "name": "ChannelEndpointSids", + "in": "query", + "description": "comma separated list of channel endpoint sids", + "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 + } + } + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/trusthub.v1.customer_profile.customer_profile_channel_endpoint_assignment" + "type": "object", + "title": "ListCustomerProfileChannelEndpointAssignmentResponse", + "properties": { + "results": { + "type": "array", + "items": { + "$ref": "#/components/schemas/trusthub.v1.customer_profile.customer_profile_channel_endpoint_assignment" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -1108,57 +1280,65 @@ "accountSid_authToken": [] } ], + "operationId": "ListCustomerProfileChannelEndpointAssignment", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/CustomerProfiles/{CustomerProfileSid}/ChannelEndpointAssignments/{Sid}": { "servers": [ { "url": "https://trusthub.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { - "className": "customer_profiles_channel_endpoint_assignment", "defaultOutputProperties": [ "sid" ], + "pathType": "instance", "parent": "/CustomerProfiles", - "pathType": "list" - } - }, - "/v1/CustomerProfiles/{CustomerProfileSid}/ChannelEndpointAssignments/{Sid}": { - "delete": { - "description": "Remove an Assignment Item Instance.", - "operationId": "DeleteCustomerProfileChannelEndpointAssignment", + "className": "customer_profiles_channel_endpoint_assignment" + }, + "get": { + "description": "Fetch specific Assigned Item Instance.", "parameters": [ { - "description": "The unique string that we created to identify the CustomerProfile resource.", - "in": "path", "name": "CustomerProfileSid", - "required": true, + "in": "path", + "description": "The unique string that we created to identify the CustomerProfile resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique string that we created to identify the resource.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The unique string that we created to identify the resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^RA[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^RA[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/trusthub.v1.customer_profile.customer_profile_channel_endpoint_assignment" + } + } + }, + "description": "OK" } }, "security": [ @@ -1166,50 +1346,42 @@ "accountSid_authToken": [] } ], + "operationId": "FetchCustomerProfileChannelEndpointAssignment", "x-maturity": [ "GA" ] }, - "description": "TODO: Resource-level docs", - "get": { - "description": "Fetch specific Assigned Item Instance.", - "operationId": "FetchCustomerProfileChannelEndpointAssignment", + "delete": { + "description": "Remove an Assignment Item Instance.", "parameters": [ { - "description": "The unique string that we created to identify the CustomerProfile resource.", - "in": "path", "name": "CustomerProfileSid", - "required": true, + "in": "path", + "description": "The unique string that we created to identify the CustomerProfile resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique string that we created to identify the resource.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The unique string that we created to identify the resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^RA[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^RA[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/trusthub.v1.customer_profile.customer_profile_channel_endpoint_assignment" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -1217,102 +1389,53 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteCustomerProfileChannelEndpointAssignment", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/CustomerProfiles/{CustomerProfileSid}/EntityAssignments": { "servers": [ { "url": "https://trusthub.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { - "className": "customer_profiles_channel_endpoint_assignment", "defaultOutputProperties": [ "sid" ], + "pathType": "list", "parent": "/CustomerProfiles", - "pathType": "instance" - } - }, - "/v1/CustomerProfiles/{CustomerProfileSid}/EntityAssignments": { - "description": "TODO: Resource-level docs", - "get": { - "description": "Retrieve a list of all Assigned Items for an account.", - "operationId": "ListCustomerProfileEntityAssignment", + "className": "customer_profiles_entity_assignments" + }, + "post": { + "description": "Create a new Assigned Item.", "parameters": [ { - "description": "The unique string that we created to identify the CustomerProfile resource.", - "in": "path", "name": "CustomerProfileSid", - "required": true, + "in": "path", + "description": "The unique string that we created to identify the CustomerProfile resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BU[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" - } + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "results": { - "items": { - "$ref": "#/components/schemas/trusthub.v1.customer_profile.customer_profile_entity_assignment" - }, - "type": "array" - } - }, - "title": "ListCustomerProfileEntityAssignmentResponse", - "type": "object" + "$ref": "#/components/schemas/trusthub.v1.customer_profile.customer_profile_entity_assignment" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -1320,59 +1443,108 @@ "accountSid_authToken": [] } ], + "operationId": "CreateCustomerProfileEntityAssignment", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "Create a new Assigned Item.", - "operationId": "CreateCustomerProfileEntityAssignment", - "parameters": [ - { - "description": "The unique string that we created to identify the CustomerProfile resource.", - "in": "path", - "name": "CustomerProfileSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateCustomerProfileEntityAssignmentRequest", "properties": { "ObjectSid": { - "description": "The SID of an object bag that holds information of the different items.", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of an object bag that holds information of the different items." } }, "required": [ "ObjectSid" - ], - "title": "CreateCustomerProfileEntityAssignmentRequest", - "type": "object" + ] } } } - }, + } + }, + "get": { + "description": "Retrieve a list of all Assigned Items for an account.", + "parameters": [ + { + "name": "CustomerProfileSid", + "in": "path", + "description": "The unique string that we created to identify the CustomerProfile resource.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "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 + } + } + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/trusthub.v1.customer_profile.customer_profile_entity_assignment" + "type": "object", + "title": "ListCustomerProfileEntityAssignmentResponse", + "properties": { + "results": { + "type": "array", + "items": { + "$ref": "#/components/schemas/trusthub.v1.customer_profile.customer_profile_entity_assignment" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -1380,57 +1552,65 @@ "accountSid_authToken": [] } ], + "operationId": "ListCustomerProfileEntityAssignment", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/CustomerProfiles/{CustomerProfileSid}/EntityAssignments/{Sid}": { "servers": [ { "url": "https://trusthub.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { - "className": "customer_profiles_entity_assignments", "defaultOutputProperties": [ "sid" ], + "pathType": "instance", "parent": "/CustomerProfiles", - "pathType": "list" - } - }, - "/v1/CustomerProfiles/{CustomerProfileSid}/EntityAssignments/{Sid}": { - "delete": { - "description": "Remove an Assignment Item Instance.", - "operationId": "DeleteCustomerProfileEntityAssignment", + "className": "customer_profiles_entity_assignments" + }, + "get": { + "description": "Fetch specific Assigned Item Instance.", "parameters": [ { - "description": "The unique string that we created to identify the CustomerProfile resource.", - "in": "path", "name": "CustomerProfileSid", - "required": true, + "in": "path", + "description": "The unique string that we created to identify the CustomerProfile resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique string that we created to identify the Identity resource.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The unique string that we created to identify the Identity resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BV[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BV[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/trusthub.v1.customer_profile.customer_profile_entity_assignment" + } + } + }, + "description": "OK" } }, "security": [ @@ -1438,50 +1618,42 @@ "accountSid_authToken": [] } ], + "operationId": "FetchCustomerProfileEntityAssignment", "x-maturity": [ "GA" ] }, - "description": "TODO: Resource-level docs", - "get": { - "description": "Fetch specific Assigned Item Instance.", - "operationId": "FetchCustomerProfileEntityAssignment", + "delete": { + "description": "Remove an Assignment Item Instance.", "parameters": [ { - "description": "The unique string that we created to identify the CustomerProfile resource.", - "in": "path", "name": "CustomerProfileSid", - "required": true, + "in": "path", + "description": "The unique string that we created to identify the CustomerProfile resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique string that we created to identify the Identity resource.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The unique string that we created to identify the Identity resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BV[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BV[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/trusthub.v1.customer_profile.customer_profile_entity_assignment" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -1489,102 +1661,53 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteCustomerProfileEntityAssignment", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/CustomerProfiles/{CustomerProfileSid}/Evaluations": { "servers": [ { "url": "https://trusthub.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { - "className": "customer_profiles_entity_assignments", "defaultOutputProperties": [ "sid" ], + "pathType": "list", "parent": "/CustomerProfiles", - "pathType": "instance" - } - }, - "/v1/CustomerProfiles/{CustomerProfileSid}/Evaluations": { - "description": "TODO: Resource-level docs", - "get": { - "description": "Retrieve a list of Evaluations associated to the customer_profile resource.", - "operationId": "ListCustomerProfileEvaluation", + "className": "customer_profiles_evaluations" + }, + "post": { + "description": "Create a new Evaluation", "parameters": [ { - "description": "The unique string that we created to identify the CustomerProfile resource.", - "in": "path", "name": "CustomerProfileSid", - "required": true, + "in": "path", + "description": "The unique string that we created to identify the CustomerProfile resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BU[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" - } + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "results": { - "items": { - "$ref": "#/components/schemas/trusthub.v1.customer_profile.customer_profile_evaluation" - }, - "type": "array" - } - }, - "title": "ListCustomerProfileEvaluationResponse", - "type": "object" + "$ref": "#/components/schemas/trusthub.v1.customer_profile.customer_profile_evaluation" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -1592,112 +1715,56 @@ "accountSid_authToken": [] } ], + "operationId": "CreateCustomerProfileEvaluation", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "Create a new Evaluation", - "operationId": "CreateCustomerProfileEvaluation", - "parameters": [ - { - "description": "The unique string that we created to identify the CustomerProfile resource.", - "in": "path", - "name": "CustomerProfileSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateCustomerProfileEvaluationRequest", "properties": { "PolicySid": { - "description": "The unique string of a policy that is associated to the customer_profile resource.", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, "pattern": "^RN[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string of a policy that is associated to the customer_profile resource." } }, "required": [ "PolicySid" - ], - "title": "CreateCustomerProfileEvaluationRequest", - "type": "object" + ] } } } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/trusthub.v1.customer_profile.customer_profile_evaluation" - } - } - }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://trusthub.twilio.com" } - ], - "x-twilio": { - "className": "customer_profiles_evaluations", - "defaultOutputProperties": [ - "sid" - ], - "parent": "/CustomerProfiles", - "pathType": "list" - } - }, - "/v1/CustomerProfiles/{CustomerProfileSid}/Evaluations/{Sid}": { - "description": "TODO: Resource-level docs", + }, "get": { - "description": "Fetch specific Evaluation Instance.", - "operationId": "FetchCustomerProfileEvaluation", + "description": "Retrieve a list of Evaluations associated to the customer_profile resource.", "parameters": [ { - "description": "The unique string that we created to identify the customer_profile resource.", - "in": "path", "name": "CustomerProfileSid", - "required": true, + "in": "path", + "description": "The unique string that we created to identify the CustomerProfile resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique string that identifies the Evaluation resource.", - "in": "path", - "name": "Sid", - "required": true, + "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^EL[0-9a-fA-F]{32}$", - "type": "string" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], @@ -1706,7 +1773,46 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/trusthub.v1.customer_profile.customer_profile_evaluation" + "type": "object", + "title": "ListCustomerProfileEvaluationResponse", + "properties": { + "results": { + "type": "array", + "items": { + "$ref": "#/components/schemas/trusthub.v1.customer_profile.customer_profile_evaluation" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -1718,45 +1824,65 @@ "accountSid_authToken": [] } ], + "operationId": "ListCustomerProfileEvaluation", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/CustomerProfiles/{CustomerProfileSid}/Evaluations/{Sid}": { "servers": [ { "url": "https://trusthub.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { - "className": "customer_profiles_evaluations", "defaultOutputProperties": [ "sid" ], + "pathType": "instance", "parent": "/CustomerProfiles", - "pathType": "instance" - } - }, - "/v1/CustomerProfiles/{Sid}": { - "delete": { - "description": "Delete a specific Customer-Profile.", - "operationId": "DeleteCustomerProfile", + "className": "customer_profiles_evaluations" + }, + "get": { + "description": "Fetch specific Evaluation Instance.", "parameters": [ { - "description": "The unique string that we created to identify the Customer-Profile resource.", + "name": "CustomerProfileSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The unique string that we created to identify the customer_profile resource.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The unique string that identifies the Evaluation resource.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^EL[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/trusthub.v1.customer_profile.customer_profile_evaluation" + } + } + }, + "description": "OK" } }, "security": [ @@ -1764,38 +1890,38 @@ "accountSid_authToken": [] } ], + "operationId": "FetchCustomerProfileEvaluation", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/EndUsers": { + "servers": [ + { + "url": "https://trusthub.twilio.com" + } + ], "description": "TODO: Resource-level docs", - "get": { - "description": "Fetch a specific Customer-Profile instance.", - "operationId": "FetchCustomerProfile", - "parameters": [ - { - "description": "The unique string that we created to identify the Customer-Profile resource.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - } - } + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name" ], + "pathType": "list" + }, + "post": { + "description": "Create a new End User.", "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/trusthub.v1.customer_profile" + "$ref": "#/components/schemas/trusthub.v1.end_user" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -1803,113 +1929,49 @@ "accountSid_authToken": [] } ], + "operationId": "CreateEndUser", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "Updates a Customer-Profile in an account.", - "operationId": "UpdateCustomerProfile", - "parameters": [ - { - "description": "The unique string that we created to identify the Customer-Profile resource.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateEndUserRequest", "properties": { - "Email": { - "description": "The email address that will receive updates when the Customer-Profile resource changes status.", - "type": "string" - }, "FriendlyName": { - "description": "The string that you assigned to describe the resource.", - "type": "string" + "type": "string", + "description": "The string that you assigned to describe the resource." }, - "Status": { - "description": "The verification status of the Customer-Profile resource.", - "enum": [ - "draft", - "pending-review", - "in-review", - "twilio-rejected", - "twilio-approved" - ], - "type": "string" + "Type": { + "type": "string", + "description": "The type of end user of the Bundle resource - can be `individual` or `business`." }, - "StatusCallback": { - "description": "The URL we call to inform your application of status changes.", - "format": "uri", - "type": "string" + "Attributes": { + "description": "The set of parameters that are the attributes of the End User resource which are derived End User Types." } }, - "title": "UpdateCustomerProfileRequest", - "type": "object" + "required": [ + "FriendlyName", + "Type" + ] } } } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/trusthub.v1.customer_profile" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://trusthub.twilio.com" } - ], - "x-twilio": { - "className": "customer_profiles", - "defaultOutputProperties": [ - "sid", - "policy_sid", - "friendly_name" - ], - "pathType": "instance" - } - }, - "/v1/EndUserTypes": { - "description": "TODO: Resource-level docs", + }, "get": { - "description": "Retrieve a list of all End-User Types.", - "operationId": "ListEndUserType", + "description": "Retrieve a list of all End User for an account.", "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1918,25 +1980,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListEndUserResponse", "properties": { - "end_user_types": { + "results": { + "type": "array", "items": { - "$ref": "#/components/schemas/trusthub.v1.end_user_type" - }, - "type": "array" + "$ref": "#/components/schemas/trusthub.v1.end_user" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1945,19 +2007,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListEndUserTypeResponse", - "type": "object" + } } } }, @@ -1969,88 +2031,40 @@ "accountSid_authToken": [] } ], + "operationId": "ListEndUser", "x-maturity": [ "GA" ] - }, - "servers": [ - { - "url": "https://trusthub.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name" - ], - "pathType": "list" } }, - "/v1/EndUserTypes/{Sid}": { - "description": "TODO: Resource-level docs", - "get": { - "description": "Fetch a specific End-User Type Instance.", - "operationId": "FetchEndUserType", - "parameters": [ - { - "description": "The unique string that identifies the End-User Type resource.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/trusthub.v1.end_user_type" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, + "/v1/EndUsers/{Sid}": { "servers": [ { "url": "https://trusthub.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name" ], "pathType": "instance" - } - }, - "/v1/EndUsers": { - "description": "TODO: Resource-level docs", + }, "get": { - "description": "Retrieve a list of all End User for an account.", - "operationId": "ListEndUser", + "description": "Fetch specific End User Instance.", "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", - "name": "PageSize", + "name": "Sid", + "in": "path", + "description": "The unique string created by Twilio to identify the End User resource.", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IT[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2058,46 +2072,7 @@ "content": { "application/json": { "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "results": { - "items": { - "$ref": "#/components/schemas/trusthub.v1.end_user" - }, - "type": "array" - } - }, - "title": "ListEndUserResponse", - "type": "object" + "$ref": "#/components/schemas/trusthub.v1.end_user" } } }, @@ -2109,42 +2084,29 @@ "accountSid_authToken": [] } ], + "operationId": "FetchEndUser", "x-maturity": [ "GA" ] }, "post": { - "description": "Create a new End User.", - "operationId": "CreateEndUser", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Attributes": { - "description": "The set of parameters that are the attributes of the End User resource which are derived End User Types." - }, - "FriendlyName": { - "description": "The string that you assigned to describe the resource.", - "type": "string" - }, - "Type": { - "description": "The type of end user of the Bundle resource - can be `individual` or `business`.", - "type": "string" - } - }, - "required": [ - "FriendlyName", - "Type" - ], - "title": "CreateEndUserRequest", - "type": "object" - } - } + "description": "Update an existing End User.", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The unique string created by Twilio to identify the End User resource.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IT[0-9a-fA-F]{32}$" + }, + "required": true } - }, + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { @@ -2152,7 +2114,7 @@ } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -2160,39 +2122,44 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateEndUser", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://trusthub.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name" ], - "pathType": "list" - } - }, - "/v1/EndUsers/{Sid}": { + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateEndUserRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "The string that you assigned to describe the resource." + }, + "Attributes": { + "description": "The set of parameters that are the attributes of the End User resource which are derived End User Types." + } + } + } + } + } + } + }, "delete": { "description": "Delete a specific End User.", - "operationId": "DeleteEndUser", "parameters": [ { - "description": "The unique string created by Twilio to identify the End User resource.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The unique string created by Twilio to identify the End User resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IT[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IT[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2205,25 +2172,37 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteEndUser", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/EndUserTypes": { + "servers": [ + { + "url": "https://trusthub.twilio.com" + } + ], "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name" + ], + "pathType": "list" + }, "get": { - "description": "Fetch specific End User Instance.", - "operationId": "FetchEndUser", + "description": "Retrieve a list of all End-User Types.", "parameters": [ { - "description": "The unique string created by Twilio to identify the End User resource.", - "in": "path", - "name": "Sid", - "required": true, + "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IT[0-9a-fA-F]{32}$", - "type": "string" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], @@ -2232,7 +2211,46 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/trusthub.v1.end_user" + "type": "object", + "title": "ListEndUserTypeResponse", + "properties": { + "end_user_types": { + "type": "array", + "items": { + "$ref": "#/components/schemas/trusthub.v1.end_user_type" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -2244,52 +2262,45 @@ "accountSid_authToken": [] } ], + "operationId": "ListEndUserType", "x-maturity": [ "GA" ] + } + }, + "/v1/EndUserTypes/{Sid}": { + "servers": [ + { + "url": "https://trusthub.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name" + ], + "pathType": "instance" }, - "post": { - "description": "Update an existing End User.", - "operationId": "UpdateEndUser", + "get": { + "description": "Fetch a specific End-User Type Instance.", "parameters": [ { - "description": "The unique string created by Twilio to identify the End User resource.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The unique string that identifies the End-User Type resource.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IT[0-9a-fA-F]{32}$", "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Attributes": { - "description": "The set of parameters that are the attributes of the End User resource which are derived End User Types." - }, - "FriendlyName": { - "description": "The string that you assigned to describe the resource.", - "type": "string" - } - }, - "title": "UpdateEndUserRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/trusthub.v1.end_user" + "$ref": "#/components/schemas/trusthub.v1.end_user_type" } } }, @@ -2301,37 +2312,38 @@ "accountSid_authToken": [] } ], + "operationId": "FetchEndUserType", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Policies": { "servers": [ { "url": "https://trusthub.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name" ], - "pathType": "instance" - } - }, - "/v1/Policies": { - "description": "TODO: Resource-level docs", + "pathType": "list", + "className": "policies" + }, "get": { "description": "Retrieve a list of all Policys.", - "operationId": "ListPolicies", "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -2340,19 +2352,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListPoliciesResponse", "properties": { + "results": { + "type": "array", + "items": { + "$ref": "#/components/schemas/trusthub.v1.policies" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -2361,25 +2379,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "results": { - "items": { - "$ref": "#/components/schemas/trusthub.v1.policies" - }, - "type": "array" - } - }, - "title": "ListPoliciesResponse", - "type": "object" + } + } + } } } }, @@ -2391,41 +2403,41 @@ "accountSid_authToken": [] } ], + "operationId": "ListPolicies", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Policies/{Sid}": { "servers": [ { "url": "https://trusthub.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { - "className": "policies", "defaultOutputProperties": [ "sid", "friendly_name" ], - "pathType": "list" - } - }, - "/v1/Policies/{Sid}": { - "description": "TODO: Resource-level docs", + "pathType": "instance", + "className": "policies" + }, "get": { "description": "Fetch specific Policy Instance.", - "operationId": "FetchPolicies", "parameters": [ { - "description": "The unique string that identifies the Policy resource.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The unique string that identifies the Policy resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^RN[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^RN[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2445,38 +2457,88 @@ "accountSid_authToken": [] } ], + "operationId": "FetchPolicies", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/SupportingDocuments": { "servers": [ { "url": "https://trusthub.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { - "className": "policies", "defaultOutputProperties": [ "sid", "friendly_name" ], - "pathType": "instance" - } - }, - "/v1/SupportingDocumentTypes": { - "description": "TODO: Resource-level docs", + "pathType": "list" + }, + "post": { + "description": "Create a new Supporting Document.", + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/trusthub.v1.supporting_document" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateSupportingDocument", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateSupportingDocumentRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "The string that you assigned to describe the resource." + }, + "Type": { + "type": "string", + "description": "The type of the Supporting Document." + }, + "Attributes": { + "description": "The set of parameters that are the attributes of the Supporting Documents resource which are derived Supporting Document Types." + } + }, + "required": [ + "FriendlyName", + "Type" + ] + } + } + } + } + }, "get": { - "description": "Retrieve a list of all Supporting Document Types.", - "operationId": "ListSupportingDocumentType", + "description": "Retrieve a list of all Supporting Document for an account.", "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -2485,19 +2547,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListSupportingDocumentResponse", "properties": { + "results": { + "type": "array", + "items": { + "$ref": "#/components/schemas/trusthub.v1.supporting_document" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -2506,25 +2574,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "supporting_document_types": { - "items": { - "$ref": "#/components/schemas/trusthub.v1.supporting_document_type" - }, - "type": "array" + } } - }, - "title": "ListSupportingDocumentTypeResponse", - "type": "object" + } } } }, @@ -2536,37 +2598,40 @@ "accountSid_authToken": [] } ], + "operationId": "ListSupportingDocument", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/SupportingDocuments/{Sid}": { "servers": [ { "url": "https://trusthub.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name" ], - "pathType": "list" - } - }, - "/v1/SupportingDocumentTypes/{Sid}": { - "description": "TODO: Resource-level docs", + "pathType": "instance" + }, "get": { - "description": "Fetch a specific Supporting Document Type Instance.", - "operationId": "FetchSupportingDocumentType", + "description": "Fetch specific Supporting Document Instance.", "parameters": [ { - "description": "The unique string that identifies the Supporting Document Type resource.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The unique string created by Twilio to identify the Supporting Document resource.", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RD[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2574,7 +2639,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/trusthub.v1.supporting_document_type" + "$ref": "#/components/schemas/trusthub.v1.supporting_document" } } }, @@ -2586,38 +2651,25 @@ "accountSid_authToken": [] } ], + "operationId": "FetchSupportingDocument", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://trusthub.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name" - ], - "pathType": "instance" - } - }, - "/v1/SupportingDocuments": { - "description": "TODO: Resource-level docs", - "get": { - "description": "Retrieve a list of all Supporting Document for an account.", - "operationId": "ListSupportingDocument", + "post": { + "description": "Update an existing Supporting Document.", "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", - "name": "PageSize", + "name": "Sid", + "in": "path", + "description": "The unique string created by Twilio to identify the Supporting Document resource.", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RD[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2625,46 +2677,7 @@ "content": { "application/json": { "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "results": { - "items": { - "$ref": "#/components/schemas/trusthub.v1.supporting_document" - }, - "type": "array" - } - }, - "title": "ListSupportingDocumentResponse", - "type": "object" + "$ref": "#/components/schemas/trusthub.v1.supporting_document" } } }, @@ -2676,90 +2689,44 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateSupportingDocument", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "Create a new Supporting Document.", - "operationId": "CreateSupportingDocument", + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateSupportingDocumentRequest", "properties": { - "Attributes": { - "description": "The set of parameters that are the attributes of the Supporting Documents resource which are derived Supporting Document Types." - }, "FriendlyName": { - "description": "The string that you assigned to describe the resource.", - "type": "string" + "type": "string", + "description": "The string that you assigned to describe the resource." }, - "Type": { - "description": "The type of the Supporting Document.", - "type": "string" + "Attributes": { + "description": "The set of parameters that are the attributes of the Supporting Document resource which are derived Supporting Document Types." } - }, - "required": [ - "FriendlyName", - "Type" - ], - "title": "CreateSupportingDocumentRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/trusthub.v1.supporting_document" } } - }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] + } } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://trusthub.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name" - ], - "pathType": "list" - } - }, - "/v1/SupportingDocuments/{Sid}": { + } + }, "delete": { "description": "Delete a specific Supporting Document.", - "operationId": "DeleteSupportingDocument", "parameters": [ { - "description": "The unique string created by Twilio to identify the Supporting Document resource.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The unique string created by Twilio to identify the Supporting Document resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^RD[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^RD[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2772,25 +2739,37 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteSupportingDocument", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/SupportingDocumentTypes": { + "servers": [ + { + "url": "https://trusthub.twilio.com" + } + ], "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name" + ], + "pathType": "list" + }, "get": { - "description": "Fetch specific Supporting Document Instance.", - "operationId": "FetchSupportingDocument", + "description": "Retrieve a list of all Supporting Document Types.", "parameters": [ { - "description": "The unique string created by Twilio to identify the Supporting Document resource.", - "in": "path", - "name": "Sid", - "required": true, + "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^RD[0-9a-fA-F]{32}$", - "type": "string" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], @@ -2799,7 +2778,46 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/trusthub.v1.supporting_document" + "type": "object", + "title": "ListSupportingDocumentTypeResponse", + "properties": { + "supporting_document_types": { + "type": "array", + "items": { + "$ref": "#/components/schemas/trusthub.v1.supporting_document_type" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -2811,52 +2829,45 @@ "accountSid_authToken": [] } ], + "operationId": "ListSupportingDocumentType", "x-maturity": [ "GA" ] + } + }, + "/v1/SupportingDocumentTypes/{Sid}": { + "servers": [ + { + "url": "https://trusthub.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name" + ], + "pathType": "instance" }, - "post": { - "description": "Update an existing Supporting Document.", - "operationId": "UpdateSupportingDocument", + "get": { + "description": "Fetch a specific Supporting Document Type Instance.", "parameters": [ { - "description": "The unique string created by Twilio to identify the Supporting Document resource.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The unique string that identifies the Supporting Document Type resource.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^RD[0-9a-fA-F]{32}$", "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Attributes": { - "description": "The set of parameters that are the attributes of the Supporting Document resource which are derived Supporting Document Types." - }, - "FriendlyName": { - "description": "The string that you assigned to describe the resource.", - "type": "string" - } - }, - "title": "UpdateSupportingDocumentRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/trusthub.v1.supporting_document" + "$ref": "#/components/schemas/trusthub.v1.supporting_document_type" } } }, @@ -2868,71 +2879,134 @@ "accountSid_authToken": [] } ], + "operationId": "FetchSupportingDocumentType", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/TrustProducts": { "servers": [ { "url": "https://trusthub.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", + "policy_sid", "friendly_name" ], - "pathType": "instance" - } - }, - "/v1/TrustProducts": { - "description": "TODO: Resource-level docs", + "pathType": "list", + "className": "trust_products" + }, + "post": { + "description": "Create a new Customer-Profile.", + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/trusthub.v1.trust_product" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateTrustProduct", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateTrustProductRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "The string that you assigned to describe the resource." + }, + "Email": { + "type": "string", + "description": "The email address that will receive updates when the Customer-Profile resource changes status." + }, + "PolicySid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RN[0-9a-fA-F]{32}$", + "description": "The unique string of a policy that is associated to the Customer-Profile resource." + }, + "StatusCallback": { + "type": "string", + "format": "uri", + "description": "The URL we call to inform your application of status changes." + } + }, + "required": [ + "FriendlyName", + "Email", + "PolicySid" + ] + } + } + } + } + }, "get": { "description": "Retrieve a list of all Customer-Profiles for an account.", - "operationId": "ListTrustProduct", "parameters": [ { - "description": "The verification status of the Customer-Profile resource.", - "in": "query", "name": "Status", + "in": "query", + "description": "The verification status of the Customer-Profile resource.", "schema": { + "type": "string", "enum": [ "draft", "pending-review", "in-review", "twilio-rejected", "twilio-approved" - ], - "type": "string" + ] } }, { - "description": "The string that you assigned to describe the resource.", - "in": "query", "name": "FriendlyName", + "in": "query", + "description": "The string that you assigned to describe the resource.", "schema": { "type": "string" } }, { - "description": "The unique string of a policy that is associated to the Customer-Profile resource.", - "in": "query", "name": "PolicySid", + "in": "query", + "description": "The unique string of a policy that is associated to the Customer-Profile resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^RN[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^RN[0-9a-fA-F]{32}$" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -2941,19 +3015,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListTrustProductResponse", "properties": { + "results": { + "type": "array", + "items": { + "$ref": "#/components/schemas/trusthub.v1.trust_product" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -2962,90 +3042,23 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "results": { - "items": { - "$ref": "#/components/schemas/trusthub.v1.trust_product" - }, - "type": "array" - } - }, - "title": "ListTrustProductResponse", - "type": "object" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "Create a new Customer-Profile.", - "operationId": "CreateTrustProduct", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Email": { - "description": "The email address that will receive updates when the Customer-Profile resource changes status.", - "type": "string" - }, - "FriendlyName": { - "description": "The string that you assigned to describe the resource.", - "type": "string" - }, - "PolicySid": { - "description": "The unique string of a policy that is associated to the Customer-Profile resource.", - "maxLength": 34, - "minLength": 34, - "pattern": "^RN[0-9a-fA-F]{32}$", - "type": "string" - }, - "StatusCallback": { - "description": "The URL we call to inform your application of status changes.", - "format": "uri", - "type": "string" + } + } } - }, - "required": [ - "FriendlyName", - "Email", - "PolicySid" - ], - "title": "CreateTrustProductRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/trusthub.v1.trust_product" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -3053,46 +3066,54 @@ "accountSid_authToken": [] } ], + "operationId": "ListTrustProduct", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/TrustProducts/{Sid}": { "servers": [ { "url": "https://trusthub.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { - "className": "trust_products", "defaultOutputProperties": [ "sid", "policy_sid", "friendly_name" ], - "pathType": "list" - } - }, - "/v1/TrustProducts/{Sid}": { - "delete": { - "description": "Delete a specific Customer-Profile.", - "operationId": "DeleteTrustProduct", + "pathType": "instance", + "className": "trust_products" + }, + "get": { + "description": "Fetch a specific Customer-Profile instance.", "parameters": [ { - "description": "The unique string that we created to identify the Customer-Profile resource.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The unique string that we created to identify the Customer-Profile resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/trusthub.v1.trust_product" + } + } + }, + "description": "OK" } }, "security": [ @@ -3100,26 +3121,25 @@ "accountSid_authToken": [] } ], + "operationId": "FetchTrustProduct", "x-maturity": [ "GA" ] }, - "description": "TODO: Resource-level docs", - "get": { - "description": "Fetch a specific Customer-Profile instance.", - "operationId": "FetchTrustProduct", + "post": { + "description": "Updates a Customer-Profile in an account.", "parameters": [ { - "description": "The unique string that we created to identify the Customer-Profile resource.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The unique string that we created to identify the Customer-Profile resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -3139,42 +3159,19 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateTrustProduct", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "Updates a Customer-Profile in an account.", - "operationId": "UpdateTrustProduct", - "parameters": [ - { - "description": "The unique string that we created to identify the Customer-Profile resource.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateTrustProductRequest", "properties": { - "Email": { - "description": "The email address that will receive updates when the Customer-Profile resource changes status.", - "type": "string" - }, - "FriendlyName": { - "description": "The string that you assigned to describe the resource.", - "type": "string" - }, "Status": { - "description": "The verification status of the Customer-Profile resource.", + "type": "string", "enum": [ "draft", "pending-review", @@ -3182,30 +3179,46 @@ "twilio-rejected", "twilio-approved" ], - "type": "string" + "description": "The verification status of the Customer-Profile resource." }, "StatusCallback": { - "description": "The URL we call to inform your application of status changes.", + "type": "string", "format": "uri", - "type": "string" + "description": "The URL we call to inform your application of status changes." + }, + "FriendlyName": { + "type": "string", + "description": "The string that you assigned to describe the resource." + }, + "Email": { + "type": "string", + "description": "The email address that will receive updates when the Customer-Profile resource changes status." } - }, - "title": "UpdateTrustProductRequest", - "type": "object" + } } } } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/trusthub.v1.trust_product" - } - } + } + }, + "delete": { + "description": "Delete a specific Customer-Profile.", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The unique string that we created to identify the Customer-Profile resource.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" }, - "description": "OK" + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -3213,70 +3226,134 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteTrustProduct", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/TrustProducts/{TrustProductSid}/ChannelEndpointAssignments": { "servers": [ { "url": "https://trusthub.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { - "className": "trust_products", "defaultOutputProperties": [ - "sid", - "policy_sid", - "friendly_name" + "sid" ], - "pathType": "instance" - } - }, - "/v1/TrustProducts/{TrustProductSid}/ChannelEndpointAssignments": { - "description": "TODO: Resource-level docs", + "pathType": "list", + "parent": "/TrustProducts", + "className": "trust_products_channel_endpoint_assignment" + }, + "post": { + "description": "Create a new Assigned Item.", + "parameters": [ + { + "name": "TrustProductSid", + "in": "path", + "description": "The unique string that we created to identify the CustomerProfile resource.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/trusthub.v1.trust_product.trust_product_channel_endpoint_assignment" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateTrustProductChannelEndpointAssignment", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateTrustProductChannelEndpointAssignmentRequest", + "properties": { + "ChannelEndpointType": { + "type": "string", + "description": "The type of channel endpoint. eg: phone-number" + }, + "ChannelEndpointSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", + "description": "The SID of an channel endpoint" + } + }, + "required": [ + "ChannelEndpointType", + "ChannelEndpointSid" + ] + } + } + } + } + }, "get": { "description": "Retrieve a list of all Assigned Items for an account.", - "operationId": "ListTrustProductChannelEndpointAssignment", "parameters": [ { - "description": "The unique string that we created to identify the CustomerProfile resource.", - "in": "path", "name": "TrustProductSid", - "required": true, + "in": "path", + "description": "The unique string that we created to identify the CustomerProfile resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The SID of an channel endpoint", - "in": "query", "name": "ChannelEndpointSid", + "in": "query", + "description": "The SID of an channel endpoint", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$" } }, { - "description": "comma separated list of channel endpoint sids", - "in": "query", "name": "ChannelEndpointSids", + "in": "query", + "description": "comma separated list of channel endpoint sids", "schema": { "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", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -3285,19 +3362,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListTrustProductChannelEndpointAssignmentResponse", "properties": { + "results": { + "type": "array", + "items": { + "$ref": "#/components/schemas/trusthub.v1.trust_product.trust_product_channel_endpoint_assignment" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -3306,25 +3389,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "results": { - "items": { - "$ref": "#/components/schemas/trusthub.v1.trust_product.trust_product_channel_endpoint_assignment" - }, - "type": "array" + } } - }, - "title": "ListTrustProductChannelEndpointAssignmentResponse", - "type": "object" + } } } }, @@ -3336,56 +3413,57 @@ "accountSid_authToken": [] } ], - "x-maturity": [ - "GA" - ] + "operationId": "ListTrustProductChannelEndpointAssignment", + "x-maturity": [ + "GA" + ] + } + }, + "/v1/TrustProducts/{TrustProductSid}/ChannelEndpointAssignments/{Sid}": { + "servers": [ + { + "url": "https://trusthub.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid" + ], + "pathType": "instance", + "parent": "/TrustProducts", + "className": "trust_products_channel_endpoint_assignment" }, - "post": { - "description": "Create a new Assigned Item.", - "operationId": "CreateTrustProductChannelEndpointAssignment", + "get": { + "description": "Fetch specific Assigned Item Instance.", "parameters": [ { - "description": "The unique string that we created to identify the CustomerProfile resource.", - "in": "path", "name": "TrustProductSid", - "required": true, + "in": "path", + "description": "The unique string that we created to identify the CustomerProfile resource.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The unique string that we created to identify the resource.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^RA[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "ChannelEndpointSid": { - "description": "The SID of an channel endpoint", - "maxLength": 34, - "minLength": 34, - "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", - "type": "string" - }, - "ChannelEndpointType": { - "description": "The type of channel endpoint. eg: phone-number", - "type": "string" - } - }, - "required": [ - "ChannelEndpointType", - "ChannelEndpointSid" - ], - "title": "CreateTrustProductChannelEndpointAssignmentRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { @@ -3393,7 +3471,7 @@ } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -3401,52 +3479,37 @@ "accountSid_authToken": [] } ], + "operationId": "FetchTrustProductChannelEndpointAssignment", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://trusthub.twilio.com" - } - ], - "x-twilio": { - "className": "trust_products_channel_endpoint_assignment", - "defaultOutputProperties": [ - "sid" - ], - "parent": "/TrustProducts", - "pathType": "list" - } - }, - "/v1/TrustProducts/{TrustProductSid}/ChannelEndpointAssignments/{Sid}": { "delete": { "description": "Remove an Assignment Item Instance.", - "operationId": "DeleteTrustProductChannelEndpointAssignment", "parameters": [ { - "description": "The unique string that we created to identify the CustomerProfile resource.", - "in": "path", "name": "TrustProductSid", - "required": true, + "in": "path", + "description": "The unique string that we created to identify the CustomerProfile resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique string that we created to identify the resource.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The unique string that we created to identify the resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^RA[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^RA[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -3459,50 +3522,53 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteTrustProductChannelEndpointAssignment", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/TrustProducts/{TrustProductSid}/EntityAssignments": { + "servers": [ + { + "url": "https://trusthub.twilio.com" + } + ], "description": "TODO: Resource-level docs", - "get": { - "description": "Fetch specific Assigned Item Instance.", - "operationId": "FetchTrustProductChannelEndpointAssignment", + "x-twilio": { + "defaultOutputProperties": [ + "sid" + ], + "pathType": "list", + "parent": "/TrustProducts", + "className": "trust_products_entity_assignments" + }, + "post": { + "description": "Create a new Assigned Item.", "parameters": [ { - "description": "The unique string that we created to identify the CustomerProfile resource.", - "in": "path", "name": "TrustProductSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The unique string that we created to identify the resource.", "in": "path", - "name": "Sid", - "required": true, + "description": "The unique string that we created to identify the TrustProduct resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^RA[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/trusthub.v1.trust_product.trust_product_channel_endpoint_assignment" + "$ref": "#/components/schemas/trusthub.v1.trust_product.trust_product_entity_assignment" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -3510,50 +3576,56 @@ "accountSid_authToken": [] } ], + "operationId": "CreateTrustProductEntityAssignment", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://trusthub.twilio.com" - } - ], - "x-twilio": { - "className": "trust_products_channel_endpoint_assignment", - "defaultOutputProperties": [ - "sid" ], - "parent": "/TrustProducts", - "pathType": "instance" - } - }, - "/v1/TrustProducts/{TrustProductSid}/EntityAssignments": { - "description": "TODO: Resource-level docs", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateTrustProductEntityAssignmentRequest", + "properties": { + "ObjectSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", + "description": "The SID of an object bag that holds information of the different items." + } + }, + "required": [ + "ObjectSid" + ] + } + } + } + } + }, "get": { "description": "Retrieve a list of all Assigned Items for an account.", - "operationId": "ListTrustProductEntityAssignment", "parameters": [ { - "description": "The unique string that we created to identify the TrustProduct resource.", - "in": "path", "name": "TrustProductSid", - "required": true, + "in": "path", + "description": "The unique string that we created to identify the TrustProduct resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -3562,19 +3634,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListTrustProductEntityAssignmentResponse", "properties": { + "results": { + "type": "array", + "items": { + "$ref": "#/components/schemas/trusthub.v1.trust_product.trust_product_entity_assignment" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -3583,25 +3661,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "results": { - "items": { - "$ref": "#/components/schemas/trusthub.v1.trust_product.trust_product_entity_assignment" - }, - "type": "array" + } } - }, - "title": "ListTrustProductEntityAssignmentResponse", - "type": "object" + } } } }, @@ -3613,51 +3685,57 @@ "accountSid_authToken": [] } ], + "operationId": "ListTrustProductEntityAssignment", "x-maturity": [ "GA" ] + } + }, + "/v1/TrustProducts/{TrustProductSid}/EntityAssignments/{Sid}": { + "servers": [ + { + "url": "https://trusthub.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid" + ], + "pathType": "instance", + "parent": "/TrustProducts", + "className": "trust_products_entity_assignments" }, - "post": { - "description": "Create a new Assigned Item.", - "operationId": "CreateTrustProductEntityAssignment", + "get": { + "description": "Fetch specific Assigned Item Instance.", "parameters": [ { - "description": "The unique string that we created to identify the TrustProduct resource.", - "in": "path", "name": "TrustProductSid", - "required": true, + "in": "path", + "description": "The unique string that we created to identify the TrustProduct resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "ObjectSid": { - "description": "The SID of an object bag that holds information of the different items.", - "maxLength": 34, - "minLength": 34, - "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", - "type": "string" - } - }, - "required": [ - "ObjectSid" - ], - "title": "CreateTrustProductEntityAssignmentRequest", - "type": "object" - } - } + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The unique string that we created to identify the Identity resource.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BV[0-9a-fA-F]{32}$" + }, + "required": true } - }, + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { @@ -3665,7 +3743,7 @@ } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -3673,52 +3751,37 @@ "accountSid_authToken": [] } ], + "operationId": "FetchTrustProductEntityAssignment", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://trusthub.twilio.com" - } - ], - "x-twilio": { - "className": "trust_products_entity_assignments", - "defaultOutputProperties": [ - "sid" - ], - "parent": "/TrustProducts", - "pathType": "list" - } - }, - "/v1/TrustProducts/{TrustProductSid}/EntityAssignments/{Sid}": { "delete": { "description": "Remove an Assignment Item Instance.", - "operationId": "DeleteTrustProductEntityAssignment", "parameters": [ { - "description": "The unique string that we created to identify the TrustProduct resource.", - "in": "path", "name": "TrustProductSid", - "required": true, + "in": "path", + "description": "The unique string that we created to identify the TrustProduct resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique string that we created to identify the Identity resource.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The unique string that we created to identify the Identity resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BV[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BV[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -3731,50 +3794,53 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteTrustProductEntityAssignment", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/TrustProducts/{TrustProductSid}/Evaluations": { + "servers": [ + { + "url": "https://trusthub.twilio.com" + } + ], "description": "TODO: Resource-level docs", - "get": { - "description": "Fetch specific Assigned Item Instance.", - "operationId": "FetchTrustProductEntityAssignment", + "x-twilio": { + "defaultOutputProperties": [ + "sid" + ], + "pathType": "list", + "parent": "/TrustProducts", + "className": "trust_products_evaluations" + }, + "post": { + "description": "Create a new Evaluation", "parameters": [ { - "description": "The unique string that we created to identify the TrustProduct resource.", - "in": "path", "name": "TrustProductSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The unique string that we created to identify the Identity resource.", "in": "path", - "name": "Sid", - "required": true, + "description": "The unique string that we created to identify the trust_product resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BV[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/trusthub.v1.trust_product.trust_product_entity_assignment" + "$ref": "#/components/schemas/trusthub.v1.trust_product.trust_product_evaluation" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -3782,50 +3848,56 @@ "accountSid_authToken": [] } ], + "operationId": "CreateTrustProductEvaluation", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://trusthub.twilio.com" - } - ], - "x-twilio": { - "className": "trust_products_entity_assignments", - "defaultOutputProperties": [ - "sid" ], - "parent": "/TrustProducts", - "pathType": "instance" - } - }, - "/v1/TrustProducts/{TrustProductSid}/Evaluations": { - "description": "TODO: Resource-level docs", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateTrustProductEvaluationRequest", + "properties": { + "PolicySid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RN[0-9a-fA-F]{32}$", + "description": "The unique string of a policy that is associated to the customer_profile resource." + } + }, + "required": [ + "PolicySid" + ] + } + } + } + } + }, "get": { "description": "Retrieve a list of Evaluations associated to the trust_product resource.", - "operationId": "ListTrustProductEvaluation", "parameters": [ { - "description": "The unique string that we created to identify the trust_product resource.", - "in": "path", "name": "TrustProductSid", - "required": true, + "in": "path", + "description": "The unique string that we created to identify the trust_product resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -3834,19 +3906,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListTrustProductEvaluationResponse", "properties": { + "results": { + "type": "array", + "items": { + "$ref": "#/components/schemas/trusthub.v1.trust_product.trust_product_evaluation" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -3855,89 +3933,23 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "results": { - "items": { - "$ref": "#/components/schemas/trusthub.v1.trust_product.trust_product_evaluation" - }, - "type": "array" + } } - }, - "title": "ListTrustProductEvaluationResponse", - "type": "object" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "Create a new Evaluation", - "operationId": "CreateTrustProductEvaluation", - "parameters": [ - { - "description": "The unique string that we created to identify the trust_product resource.", - "in": "path", - "name": "TrustProductSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "PolicySid": { - "description": "The unique string of a policy that is associated to the customer_profile resource.", - "maxLength": 34, - "minLength": 34, - "pattern": "^RN[0-9a-fA-F]{32}$", - "type": "string" } - }, - "required": [ - "PolicySid" - ], - "title": "CreateTrustProductEvaluationRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/trusthub.v1.trust_product.trust_product_evaluation" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -3945,53 +3957,53 @@ "accountSid_authToken": [] } ], + "operationId": "ListTrustProductEvaluation", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/TrustProducts/{TrustProductSid}/Evaluations/{Sid}": { "servers": [ { "url": "https://trusthub.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { - "className": "trust_products_evaluations", "defaultOutputProperties": [ "sid" ], + "pathType": "instance", "parent": "/TrustProducts", - "pathType": "list" - } - }, - "/v1/TrustProducts/{TrustProductSid}/Evaluations/{Sid}": { - "description": "TODO: Resource-level docs", + "className": "trust_products_evaluations" + }, "get": { "description": "Fetch specific Evaluation Instance.", - "operationId": "FetchTrustProductEvaluation", "parameters": [ { - "description": "The unique string that we created to identify the trust_product resource.", - "in": "path", "name": "TrustProductSid", - "required": true, + "in": "path", + "description": "The unique string that we created to identify the trust_product resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BU[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BU[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique string that identifies the Evaluation resource.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The unique string that identifies the Evaluation resource.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^EL[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^EL[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -4011,22 +4023,10 @@ "accountSid_authToken": [] } ], + "operationId": "FetchTrustProductEvaluation", "x-maturity": [ "GA" ] - }, - "servers": [ - { - "url": "https://trusthub.twilio.com" - } - ], - "x-twilio": { - "className": "trust_products_evaluations", - "defaultOutputProperties": [ - "sid" - ], - "parent": "/TrustProducts", - "pathType": "instance" } } }, @@ -4037,8 +4037,8 @@ ], "x-maturity": [ { - "description": "This product is Generally Available.", - "name": "GA" + "name": "GA", + "description": "This product is Generally Available." } ] } \ No newline at end of file diff --git a/spec/json/twilio_verify_v2.json b/spec/json/twilio_verify_v2.json index 9dd3256b..b90435a7 100644 --- a/spec/json/twilio_verify_v2.json +++ b/spec/json/twilio_verify_v2.json @@ -1,842 +1,859 @@ { "components": { "schemas": { - "verify.v2.form": { + "verify.v2.service.access_token": { + "type": "object", "properties": { - "form_meta": { - "description": "Additional information for the available forms for this type.", - "nullable": true - }, - "form_type": { - "description": "The Type of this Form", - "enum": [ - "form-push" - ], + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^YK[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" - }, - "forms": { - "description": "Object that contains the available forms for this type.", - "nullable": true + "description": "A string that uniquely identifies this Access Token." }, - "url": { - "description": "The URL to access the forms for this type.", - "format": "uri", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "verify.v2.service": { - "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "code_length": { - "description": "The length of the verification code", "nullable": true, - "type": "integer" + "description": "Account Sid." }, - "custom_code_enabled": { - "description": "Whether to allow sending verifications with a custom code.", + "service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$", "nullable": true, - "type": "boolean" + "description": "Verify Service Sid." }, - "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", - "format": "date-time", + "entity_identity": { + "type": "string", "nullable": true, - "type": "string" + "description": "Unique external identifier of the Entity" }, - "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", - "format": "date-time", + "factor_type": { + "type": "string", + "enum": [ + "push" + ], "nullable": true, - "type": "string" + "description": "The Type of the Factor" }, - "default_template_sid": { - "maxLength": 34, - "minLength": 34, + "factor_friendly_name": { + "type": "string", "nullable": true, - "pattern": "^HJ[0-9a-fA-F]{32}$", - "type": "string" + "description": "A human readable description of this factor." }, - "do_not_share_warning_enabled": { - "description": "Whether to add a security warning at the end of an SMS.", + "token": { + "type": "string", "nullable": true, - "type": "boolean" + "description": "Generated access token." }, - "dtmf_input_required": { - "description": "Whether to ask the user to press a number before delivering the verify code in a phone call", + "url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "boolean" + "description": "The URL of this resource." }, - "friendly_name": { - "description": "The string that you assigned to describe the verification service", + "ttl": { + "type": "integer", "nullable": true, - "type": "string" + "description": "How long, in seconds, the access token is valid." }, - "links": { - "description": "The URLs of related resources", - "format": "uri-map", + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "object" - }, - "lookup_enabled": { - "description": "Whether to perform a lookup with each verification", + "description": "The date this access token was created" + } + } + }, + "verify.v2.service.rate_limit.bucket": { + "type": "object", + "properties": { + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BL[0-9a-fA-F]{32}$", "nullable": true, - "type": "boolean" + "description": "A string that uniquely identifies this Bucket." }, - "psd2_enabled": { - "description": "Whether to pass PSD2 transaction parameters when starting a verification", + "rate_limit_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RK[0-9a-fA-F]{32}$", "nullable": true, - "type": "boolean" - }, - "push": { - "description": "The service level configuration of factor push type.", - "nullable": true + "description": "Rate Limit Sid." }, - "sid": { - "description": "The unique string that identifies the resource", + "service_sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Service that the resource is associated with" + }, + "account_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Account that created the resource" }, - "skip_sms_to_landlines": { - "description": "Whether to skip sending SMS verifications to landlines", + "max": { + "type": "integer", "nullable": true, - "type": "boolean" + "description": "Max number of requests." }, - "totp": { - "description": "The service level configuration of factor TOTP type.", - "nullable": true + "interval": { + "type": "integer", + "nullable": true, + "description": "Number of seconds that the rate limit will be enforced over." }, - "tts_name": { - "description": "The name of an alternative text-to-speech service to use in phone calls", + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The RFC 2822 date and time in GMT when the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL of this resource." } - }, - "type": "object" + } }, - "verify.v2.service.access_token": { + "verify.v2.service.entity.challenge": { + "type": "object", "properties": { + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^YC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "A string that uniquely identifies this Challenge." + }, "account_sid": { - "description": "Account Sid.", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "Account Sid." + }, + "service_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "Service Sid." + }, + "entity_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^YE[0-9a-fA-F]{32}$", + "nullable": true, + "description": "Entity Sid." + }, + "identity": { + "type": "string", + "nullable": true, + "description": "Unique external identifier of the Entity" + }, + "factor_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^YF[0-9a-fA-F]{32}$", + "nullable": true, + "description": "Factor Sid." }, "date_created": { - "description": "The date this access token was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The date this Challenge was created" }, - "entity_identity": { - "description": "Unique external identifier of the Entity", + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "string" + "description": "The date this Challenge was updated" }, - "factor_friendly_name": { - "description": "A human readable description of this factor.", + "date_responded": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "string" + "description": "The date this Challenge was responded" }, - "factor_type": { - "description": "The Type of the Factor", + "expiration_date": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The date-time when this Challenge expires" + }, + "status": { + "type": "string", "enum": [ - "push" + "pending", + "expired", + "approved", + "denied" ], "nullable": true, - "type": "string" + "description": "The Status of this Challenge" }, - "service_sid": { - "description": "Verify Service Sid.", - "maxLength": 34, - "minLength": 34, + "responded_reason": { + "type": "string", + "enum": [ + "none", + "not_needed", + "not_requested" + ], "nullable": true, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" + "description": "The Reason of this Challenge `status`" }, - "sid": { - "description": "A string that uniquely identifies this Access Token.", - "maxLength": 34, - "minLength": 34, + "details": { "nullable": true, - "pattern": "^YK[0-9a-fA-F]{32}$", - "type": "string" + "description": "Details about the Challenge." }, - "token": { - "description": "Generated access token.", + "hidden_details": { "nullable": true, - "type": "string" + "description": "Hidden details about the Challenge" }, - "ttl": { - "description": "How long, in seconds, the access token is valid.", + "metadata": { + "nullable": true, + "description": "Metadata of the challenge." + }, + "factor_type": { + "type": "string", + "enum": [ + "push", + "totp" + ], "nullable": true, - "type": "integer" + "description": "The Factor Type of this Challenge" }, "url": { - "description": "The URL of this resource.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL of this resource." + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "Nested resource URLs." } - }, - "type": "object" + } }, "verify.v2.service.entity": { + "type": "object", "properties": { + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^YE[0-9a-fA-F]{32}$", + "nullable": true, + "description": "A string that uniquely identifies this Entity." + }, + "identity": { + "type": "string", + "nullable": true, + "description": "Unique external identifier of the Entity" + }, "account_sid": { - "description": "Account Sid.", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "Account Sid." + }, + "service_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "Service Sid." }, "date_created": { - "description": "The date this Entity was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The date this Entity was created" }, "date_updated": { - "description": "The date this Entity was updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The date this Entity was updated" }, - "identity": { - "description": "Unique external identifier of the Entity", + "url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "string" + "description": "The URL of this resource." }, "links": { - "description": "Nested resource URLs.", + "type": "object", "format": "uri-map", "nullable": true, - "type": "object" - }, - "service_sid": { - "description": "Service Sid.", - "maxLength": 34, + "description": "Nested resource URLs." + } + } + }, + "verify.v2.service.entity.factor": { + "type": "object", + "properties": { + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^YF[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" + "description": "A string that uniquely identifies this Factor." }, - "sid": { - "description": "A string that uniquely identifies this Entity.", - "maxLength": 34, + "account_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^YE[0-9a-fA-F]{32}$", - "type": "string" + "description": "Account Sid." }, - "url": { - "description": "The URL of this resource.", - "format": "uri", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "verify.v2.service.entity.challenge": { - "properties": { - "account_sid": { - "description": "Account Sid.", + "service_sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$", + "nullable": true, + "description": "Service Sid." + }, + "entity_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^YE[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "Entity Sid." }, - "date_created": { - "description": "The date this Challenge was created", - "format": "date-time", + "identity": { + "type": "string", "nullable": true, - "type": "string" + "description": "Unique external identifier of the Entity" }, - "date_responded": { - "description": "The date this Challenge was responded", + "date_created": { + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The date this Factor was created" }, "date_updated": { - "description": "The date this Challenge was updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" - }, - "details": { - "description": "Details about the Challenge.", - "nullable": true - }, - "entity_sid": { - "description": "Entity Sid.", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^YE[0-9a-fA-F]{32}$", - "type": "string" + "description": "The date this Factor was updated" }, - "expiration_date": { - "description": "The date-time when this Challenge expires", - "format": "date-time", + "friendly_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "A human readable description of this resource." }, - "factor_sid": { - "description": "Factor Sid.", - "maxLength": 34, - "minLength": 34, + "status": { + "type": "string", + "enum": [ + "unverified", + "verified" + ], "nullable": true, - "pattern": "^YF[0-9a-fA-F]{32}$", - "type": "string" + "description": "The Status of this Factor" }, "factor_type": { - "description": "The Factor Type of this Challenge", + "type": "string", "enum": [ "push", "totp" ], "nullable": true, - "type": "string" - }, - "hidden_details": { - "description": "Hidden details about the Challenge", - "nullable": true - }, - "identity": { - "description": "Unique external identifier of the Entity", - "nullable": true, - "type": "string" + "description": "The Type of this Factor" }, - "links": { - "description": "Nested resource URLs.", - "format": "uri-map", + "config": { "nullable": true, - "type": "object" + "description": "Configurations for a `factor_type`." }, "metadata": { - "description": "Metadata of the challenge.", - "nullable": true + "nullable": true, + "description": "Metadata of the factor." }, - "responded_reason": { - "description": "The Reason of this Challenge `status`", + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The URL of this resource." + } + } + }, + "verify.v2.form": { + "type": "object", + "properties": { + "form_type": { + "type": "string", "enum": [ - "none", - "not_needed", - "not_requested" + "form-push" ], "nullable": true, - "type": "string" - }, - "service_sid": { - "description": "Service Sid.", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" + "description": "The Type of this Form" }, - "sid": { - "description": "A string that uniquely identifies this Challenge.", - "maxLength": 34, - "minLength": 34, + "forms": { "nullable": true, - "pattern": "^YC[0-9a-fA-F]{32}$", - "type": "string" + "description": "Object that contains the available forms for this type." }, - "status": { - "description": "The Status of this Challenge", - "enum": [ - "pending", - "expired", - "approved", - "denied" - ], + "form_meta": { "nullable": true, - "type": "string" + "description": "Additional information for the available forms for this type." }, "url": { - "description": "The URL of this resource.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL to access the forms for this type." } - }, - "type": "object" + } }, - "verify.v2.service.entity.challenge.notification": { + "verify.v2.service.messaging_configuration": { + "type": "object", "properties": { "account_sid": { - "description": "Account Sid.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, - "challenge_sid": { - "description": "Challenge Sid.", + "service_sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Service that the resource is associated with" + }, + "country": { + "type": "string", + "nullable": true, + "description": "The ISO-3166-1 country code of the country or `all`." + }, + "messaging_service_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^YC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Messaging Service used for this configuration." }, "date_created": { - "description": "The date this Notification was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was created" }, - "entity_sid": { - "description": "Entity Sid.", - "maxLength": 34, - "minLength": 34, + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^YE[0-9a-fA-F]{32}$", - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, - "identity": { - "description": "Unique external identifier of the Entity", + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The URL of this resource." + } + } + }, + "verify.v2.service.entity.new_factor": { + "type": "object", + "properties": { + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^YF[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "A string that uniquely identifies this Factor." }, - "priority": { - "description": "The priority of the notification.", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "Account Sid." }, "service_sid": { - "description": "Service Sid.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "Service Sid." }, - "sid": { - "description": "A string that uniquely identifies this Notification.", - "maxLength": 34, + "entity_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^YE[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^NT[0-9a-fA-F]{32}$", - "type": "string" + "description": "Entity Sid." }, - "ttl": { - "description": "How long, in seconds, the notification is valid.", - "nullable": true, - "type": "integer" - } - }, - "type": "object" - }, - "verify.v2.service.entity.factor": { - "properties": { - "account_sid": { - "description": "Account Sid.", - "maxLength": 34, - "minLength": 34, + "identity": { + "type": "string", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "Unique external identifier of the Entity" }, - "config": { - "description": "Configurations for a `factor_type`.", - "nullable": true + "binding": { + "nullable": true, + "description": "Binding of the factor" }, "date_created": { - "description": "The date this Factor was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The date this Factor was created" }, "date_updated": { - "description": "The date this Factor was updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The date this Factor was updated" }, - "entity_sid": { - "description": "Entity Sid.", - "maxLength": 34, - "minLength": 34, + "friendly_name": { + "type": "string", "nullable": true, - "pattern": "^YE[0-9a-fA-F]{32}$", - "type": "string" + "description": "A human readable description of this resource." + }, + "status": { + "type": "string", + "enum": [ + "unverified", + "verified" + ], + "nullable": true, + "description": "The Status of this Factor" }, "factor_type": { - "description": "The Type of this Factor", + "type": "string", "enum": [ "push", "totp" ], "nullable": true, - "type": "string" + "description": "The Type of this Factor" }, - "friendly_name": { - "description": "A human readable description of this resource.", - "nullable": true, - "type": "string" - }, - "identity": { - "description": "Unique external identifier of the Entity", + "config": { "nullable": true, - "type": "string" + "description": "Configurations for a `factor_type`." }, "metadata": { - "description": "Metadata of the factor.", - "nullable": true - }, - "service_sid": { - "description": "Service Sid.", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - }, - "sid": { - "description": "A string that uniquely identifies this Factor.", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^YF[0-9a-fA-F]{32}$", - "type": "string" - }, - "status": { - "description": "The Status of this Factor", - "enum": [ - "unverified", - "verified" - ], "nullable": true, - "type": "string" + "description": "Metadata of the factor." }, "url": { - "description": "The URL of this resource.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL of this resource." } - }, - "type": "object" + } }, - "verify.v2.service.entity.new_factor": { + "verify.v2.service.entity.challenge.notification": { + "type": "object", "properties": { - "account_sid": { - "description": "Account Sid.", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^NT[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "binding": { - "description": "Binding of the factor", - "nullable": true - }, - "config": { - "description": "Configurations for a `factor_type`.", - "nullable": true + "description": "A string that uniquely identifies this Notification." }, - "date_created": { - "description": "The date this Factor was created", - "format": "date-time", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "Account Sid." }, - "date_updated": { - "description": "The date this Factor was updated", - "format": "date-time", + "service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "Service Sid." }, "entity_sid": { - "description": "Entity Sid.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^YE[0-9a-fA-F]{32}$", - "type": "string" - }, - "factor_type": { - "description": "The Type of this Factor", - "enum": [ - "push", - "totp" - ], - "nullable": true, - "type": "string" - }, - "friendly_name": { - "description": "A human readable description of this resource.", "nullable": true, - "type": "string" + "description": "Entity Sid." }, "identity": { - "description": "Unique external identifier of the Entity", + "type": "string", "nullable": true, - "type": "string" + "description": "Unique external identifier of the Entity" }, - "metadata": { - "description": "Metadata of the factor.", - "nullable": true - }, - "service_sid": { - "description": "Service Sid.", - "maxLength": 34, + "challenge_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^YC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" + "description": "Challenge Sid." }, - "sid": { - "description": "A string that uniquely identifies this Factor.", - "maxLength": 34, - "minLength": 34, + "priority": { + "type": "string", "nullable": true, - "pattern": "^YF[0-9a-fA-F]{32}$", - "type": "string" + "description": "The priority of the notification." }, - "status": { - "description": "The Status of this Factor", - "enum": [ - "unverified", - "verified" - ], + "ttl": { + "type": "integer", "nullable": true, - "type": "string" + "description": "How long, in seconds, the notification is valid." }, - "url": { - "description": "The URL of this resource.", - "format": "uri", + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "string" + "description": "The date this Notification was created" } - }, - "type": "object" + } }, - "verify.v2.service.messaging_configuration": { + "verify.v2.service.rate_limit": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", + "sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^RK[0-9a-fA-F]{32}$", + "nullable": true, + "description": "A string that uniquely identifies this Rate Limit." + }, + "service_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$", "nullable": true, + "description": "The SID of the Service that the resource is associated with" + }, + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, - "country": { - "description": "The ISO-3166-1 country code of the country or `all`.", + "unique_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "A unique, developer assigned name of this Rate Limit." + }, + "description": { + "type": "string", + "nullable": true, + "description": "Description of this Rate Limit" }, "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, - "messaging_service_sid": { - "description": "The SID of the Messaging Service used for this configuration.", - "maxLength": 34, - "minLength": 34, + "url": { + "type": "string", + "format": "uri", "nullable": true, - "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" + "description": "The URL of this resource." }, - "service_sid": { - "description": "The SID of the Service that the resource is associated with", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - }, - "url": { - "description": "The URL of this resource.", - "format": "uri", + "links": { + "type": "object", + "format": "uri-map", "nullable": true, - "type": "string" + "description": "The URLs of related resources" } - }, - "type": "object" + } }, - "verify.v2.service.rate_limit": { + "verify.v2.service": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", - "format": "date-time", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, - "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", - "format": "date-time", + "friendly_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the verification service" }, - "description": { - "description": "Description of this Rate Limit", + "code_length": { + "type": "integer", "nullable": true, - "type": "string" + "description": "The length of the verification code" }, - "links": { - "description": "The URLs of related resources", - "format": "uri-map", + "lookup_enabled": { + "type": "boolean", "nullable": true, - "type": "object" + "description": "Whether to perform a lookup with each verification" }, - "service_sid": { - "description": "The SID of the Service that the resource is associated with", - "maxLength": 34, - "minLength": 34, + "psd2_enabled": { + "type": "boolean", "nullable": true, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" + "description": "Whether to pass PSD2 transaction parameters when starting a verification" }, - "sid": { - "description": "A string that uniquely identifies this Rate Limit.", - "maxLength": 34, - "minLength": 34, + "skip_sms_to_landlines": { + "type": "boolean", "nullable": true, - "pattern": "^RK[0-9a-fA-F]{32}$", - "type": "string" + "description": "Whether to skip sending SMS verifications to landlines" }, - "unique_name": { - "description": "A unique, developer assigned name of this Rate Limit.", + "dtmf_input_required": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Whether to ask the user to press a number before delivering the verify code in a phone call" }, - "url": { - "description": "The URL of this resource.", - "format": "uri", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "verify.v2.service.rate_limit.bucket": { - "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, - "minLength": 34, + "tts_name": { + "type": "string", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The name of an alternative text-to-speech service to use in phone calls" }, - "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", - "format": "date-time", + "do_not_share_warning_enabled": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Whether to add a security warning at the end of an SMS." }, - "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", - "format": "date-time", + "custom_code_enabled": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Whether to allow sending verifications with a custom code." }, - "interval": { - "description": "Number of seconds that the rate limit will be enforced over.", + "push": { "nullable": true, - "type": "integer" + "description": "The service level configuration of factor push type." }, - "max": { - "description": "Max number of requests.", + "totp": { "nullable": true, - "type": "integer" + "description": "The service level configuration of factor TOTP type." }, - "rate_limit_sid": { - "description": "Rate Limit Sid.", - "maxLength": 34, + "default_template_sid": { + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^RK[0-9a-fA-F]{32}$", - "type": "string" - }, - "service_sid": { - "description": "The SID of the Service that the resource is associated with", "maxLength": 34, - "minLength": 34, + "pattern": "^HJ[0-9a-fA-F]{32}$", + "nullable": true + }, + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was created" }, - "sid": { - "description": "A string that uniquely identifies this Bucket.", - "maxLength": 34, - "minLength": 34, + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^BL[0-9a-fA-F]{32}$", - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, "url": { - "description": "The URL of this resource.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "The URLs of related resources" } - }, - "type": "object" + } }, "verify.v2.service.verification": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", + "sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^VE[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique string that identifies the resource" + }, + "service_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$", "nullable": true, + "description": "The SID of the Service that the resource is associated with" + }, + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, - "amount": { - "description": "The amount of the associated PSD2 compliant transaction.", + "to": { + "type": "string", "nullable": true, - "type": "string" + "description": "The phone number or email being verified" }, "channel": { - "description": "The verification method used.", + "type": "string", "enum": [ "sms", "call", @@ -845,566 +862,448 @@ "sna" ], "nullable": true, - "type": "string" + "description": "The verification method used." }, - "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", - "format": "date-time", + "status": { + "type": "string", "nullable": true, - "type": "string" + "description": "The status of the verification resource" }, - "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", - "format": "date-time", + "valid": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Whether the verification was successful" }, "lookup": { - "description": "Information about the phone number being verified", - "nullable": true + "nullable": true, + "description": "Information about the phone number being verified" + }, + "amount": { + "type": "string", + "nullable": true, + "description": "The amount of the associated PSD2 compliant transaction." }, "payee": { - "description": "The payee of the associated PSD2 compliant transaction", + "type": "string", "nullable": true, - "type": "string" + "description": "The payee of the associated PSD2 compliant transaction" }, "send_code_attempts": { - "description": "An array of verification attempt objects.", + "type": "array", "items": {}, "nullable": true, - "type": "array" + "description": "An array of verification attempt objects." }, - "service_sid": { - "description": "The SID of the Service that the resource is associated with", - "maxLength": 34, - "minLength": 34, + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was created" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^VE[0-9a-fA-F]{32}$", - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, "sna": { - "description": "The set of fields used for a silent network auth (`sna`) verification", - "nullable": true - }, - "status": { - "description": "The status of the verification resource", - "nullable": true, - "type": "string" - }, - "to": { - "description": "The phone number or email being verified", "nullable": true, - "type": "string" + "description": "The set of fields used for a silent network auth (`sna`) verification" }, "url": { - "description": "The absolute URL of the Verification resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" - }, - "valid": { - "description": "Whether the verification was successful", - "nullable": true, - "type": "boolean" + "description": "The absolute URL of the Verification resource" } - }, - "type": "object" + } }, - "verify.v2.service.verification_check": { + "verify.v2.verification_attempt": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^VL[0-9a-fA-F]{32}$", "nullable": true, + "description": "The SID that uniquely identifies the verification attempt." + }, + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the verification." }, - "amount": { - "description": "The amount of the associated PSD2 compliant transaction.", + "service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the verify service that generated this attempt." }, - "channel": { - "description": "The verification method to use", - "enum": [ - "sms", - "call", - "email", - "whatsapp", - "sna" - ], + "verification_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^VE[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the verification that generated this attempt." }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the Verification Check resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The date this Attempt was created" }, "date_updated": { - "description": "The ISO 8601 date and time in GMT when the Verification Check resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" - }, - "payee": { - "description": "The payee of the associated PSD2 compliant transaction", - "nullable": true, - "type": "string" + "description": "The date this Attempt was updated" }, - "service_sid": { - "description": "The SID of the Service that the resource is associated with", - "maxLength": 34, - "minLength": 34, + "conversion_status": { + "type": "string", + "enum": [ + "converted", + "unconverted" + ], "nullable": true, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" + "description": "Status of the conversion for the verification." }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "channel": { + "type": "string", + "enum": [ + "sms", + "call", + "email", + "whatsapp" + ], "nullable": true, - "pattern": "^VE[0-9a-fA-F]{32}$", - "type": "string" + "description": "Communication channel used for the attempt." }, - "status": { - "description": "The status of the verification resource", + "price": { "nullable": true, - "type": "string" + "description": "An object containing the charge for this verification attempt." }, - "to": { - "description": "The phone number or email being verified", + "channel_data": { "nullable": true, - "type": "string" + "description": "An object containing the channel specific information for an attempt." }, - "valid": { - "description": "Whether the verification was successful", - "nullable": true, - "type": "boolean" + "url": { + "type": "string", + "format": "uri", + "nullable": true } - }, - "type": "object" + } }, - "verify.v2.service.webhook": { + "verify.v2.verification_attempts_summary": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, - "minLength": 34, + "total_attempts": { + "type": "integer", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "Total of attempts made." }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", - "format": "date-time", + "total_converted": { + "type": "integer", "nullable": true, - "type": "string" + "description": "Total of attempts confirmed by the end user." }, - "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", - "format": "date-time", + "total_unconverted": { + "type": "integer", "nullable": true, - "type": "string" + "description": "Total of attempts made that were not confirmed by the end user." }, - "event_types": { - "description": "The array of events that this Webhook is subscribed to.", - "items": { - "type": "string" - }, + "conversion_rate_percentage": { + "type": "number", "nullable": true, - "type": "array" + "description": "Percentage of the confirmed messages over the total." }, - "friendly_name": { - "description": "The string that you assigned to describe the webhook", + "url": { + "type": "string", + "format": "uri", + "nullable": true + } + } + }, + "verify.v2.service.verification_check": { + "type": "object", + "properties": { + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^VE[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique string that identifies the resource" }, "service_sid": { - "description": "Service Sid.", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - }, - "sid": { - "description": "The unique string that identifies the resource", "maxLength": 34, - "minLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^YW[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Service that the resource is associated with" }, - "status": { - "description": "The webhook status", - "enum": [ - "enabled", - "disabled" - ], + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, - "url": { - "description": "The absolute URL of the Webhook resource", - "format": "uri", + "to": { + "type": "string", "nullable": true, - "type": "string" + "description": "The phone number or email being verified" }, - "version": { - "description": "The webhook version", + "channel": { + "type": "string", "enum": [ - "v1", - "v2" + "sms", + "call", + "email", + "whatsapp", + "sna" ], "nullable": true, - "type": "string" + "description": "The verification method to use" }, - "webhook_method": { - "description": "The method used when calling the webhook's URL.", - "enum": [ - "GET", - "POST" - ], + "status": { + "type": "string", "nullable": true, - "type": "string" + "description": "The status of the verification resource" }, - "webhook_url": { - "description": "The URL associated with this Webhook.", - "format": "uri", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "verify.v2.verification_attempt": { - "properties": { - "account_sid": { - "description": "The SID of the Account that created the verification.", - "maxLength": 34, - "minLength": 34, + "valid": { + "type": "boolean", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "Whether the verification was successful" }, - "channel": { - "description": "Communication channel used for the attempt.", - "enum": [ - "sms", - "call", - "email", - "whatsapp" - ], + "amount": { + "type": "string", "nullable": true, - "type": "string" + "description": "The amount of the associated PSD2 compliant transaction." }, - "channel_data": { - "description": "An object containing the channel specific information for an attempt.", - "nullable": true - }, - "conversion_status": { - "description": "Status of the conversion for the verification.", - "enum": [ - "converted", - "unconverted" - ], + "payee": { + "type": "string", "nullable": true, - "type": "string" + "description": "The payee of the associated PSD2 compliant transaction" }, "date_created": { - "description": "The date this Attempt was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the Verification Check resource was created" }, "date_updated": { - "description": "The date this Attempt was updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" - }, - "price": { - "description": "An object containing the charge for this verification attempt.", - "nullable": true - }, - "service_sid": { - "description": "The SID of the verify service that generated this attempt.", - "maxLength": 34, + "description": "The ISO 8601 date and time in GMT when the Verification Check resource was last updated" + } + } + }, + "verify.v2.verification_template": { + "type": "object", + "properties": { + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^HJ[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" + "description": "A string that uniquely identifies this Template" }, - "sid": { - "description": "The SID that uniquely identifies the verification attempt.", - "maxLength": 34, + "account_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^VL[0-9a-fA-F]{32}$", - "type": "string" + "description": "Account Sid" }, - "url": { - "format": "uri", + "friendly_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "A string to describe the verification template" }, - "verification_sid": { - "description": "The SID of the verification that generated this attempt.", - "maxLength": 34, - "minLength": 34, + "translations": { "nullable": true, - "pattern": "^VE[0-9a-fA-F]{32}$", - "type": "string" + "description": "Object with the template translations." } - }, - "type": "object" + } }, - "verify.v2.verification_attempts_summary": { + "verify.v2.service.webhook": { + "type": "object", "properties": { - "conversion_rate_percentage": { - "description": "Percentage of the confirmed messages over the total.", + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^YW[0-9a-fA-F]{32}$", "nullable": true, - "type": "number" + "description": "The unique string that identifies the resource" }, - "total_attempts": { - "description": "Total of attempts made.", + "service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$", "nullable": true, - "type": "integer" + "description": "Service Sid." }, - "total_converted": { - "description": "Total of attempts confirmed by the end user.", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "integer" + "description": "The SID of the Account that created the resource" }, - "total_unconverted": { - "description": "Total of attempts made that were not confirmed by the end user.", + "friendly_name": { + "type": "string", "nullable": true, - "type": "integer" + "description": "The string that you assigned to describe the webhook" }, - "url": { + "event_types": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true, + "description": "The array of events that this Webhook is subscribed to." + }, + "status": { + "type": "string", + "enum": [ + "enabled", + "disabled" + ], + "nullable": true, + "description": "The webhook status" + }, + "version": { + "type": "string", + "enum": [ + "v1", + "v2" + ], + "nullable": true, + "description": "The webhook version" + }, + "webhook_url": { + "type": "string", "format": "uri", "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "verify.v2.verification_template": { - "properties": { - "account_sid": { - "description": "Account Sid", - "maxLength": 34, - "minLength": 34, + "description": "The URL associated with this Webhook." + }, + "webhook_method": { + "type": "string", + "enum": [ + "GET", + "POST" + ], "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The method used when calling the webhook's URL." }, - "friendly_name": { - "description": "A string to describe the verification template", + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, - "sid": { - "description": "A string that uniquely identifies this Template", - "maxLength": 34, - "minLength": 34, + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^HJ[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, - "translations": { - "description": "Object with the template translations.", - "nullable": true + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The absolute URL of the Webhook resource" } - }, - "type": "object" + } } }, "securitySchemes": { "accountSid_authToken": { - "scheme": "basic", - "type": "http" + "type": "http", + "scheme": "basic" } } }, "info": { + "title": "Twilio - Verify", + "description": "This is the public Twilio REST API.", + "termsOfService": "https://www.twilio.com/legal/tos", "contact": { - "email": "support@twilio.com", "name": "Twilio Support", - "url": "https://support.twilio.com" + "url": "https://support.twilio.com", + "email": "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 - Verify", "version": "1.30.0" }, "openapi": "3.0.1", "paths": { - "/v2/Attempts": { + "/v2/Services/{ServiceSid}/AccessTokens": { + "servers": [ + { + "url": "https://verify.twilio.com" + } + ], "description": "TODO: Resource-level docs", - "get": { - "description": "List all the verification attempts for a given Account.", - "operationId": "ListVerificationAttempt", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "account_sid", + "service_sid", + "entity_identity", + "factor_type", + "factor_friendly_name", + "token", + "ttl", + "date_created" + ], + "pathType": "list", + "parent": "/Services" + }, + "post": { + "description": "Create a new enrollment Access Token for the Entity", "parameters": [ { - "description": "Datetime filter used to query Verification Attempts created after this datetime. Given as GMT in RFC 2822 format.", - "in": "query", - "name": "DateCreatedAfter", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "description": "Datetime filter used to query Verification Attempts created before this datetime. Given as GMT in RFC 2822 format.", - "in": "query", - "name": "DateCreatedBefore", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "description": "Destination of a verification. It is phone number in E.164 format.", - "in": "query", - "name": "ChannelData.To", - "schema": { - "type": "string" - } - }, - { - "description": "Filter used to query Verification Attempts sent to the specified destination country.", - "in": "query", - "name": "Country", - "schema": { - "format": "iso-country-code", - "type": "string" - } - }, - { - "description": "Filter used to query Verification Attempts by communication channel. Valid values are `SMS` and `CALL`", - "in": "query", - "name": "Channel", - "schema": { - "enum": [ - "sms", - "call", - "email", - "whatsapp" - ], - "type": "string" - } - }, - { - "description": "Filter used to query Verification Attempts by verify service. Only attempts of the provided SID will be returned.", - "in": "query", - "name": "VerifyServiceSid", + "name": "ServiceSid", + "in": "path", + "description": "The unique SID identifier of the Service.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "Filter used to return all the Verification Attempts of a single verification. Only attempts of the provided verification SID will be returned.", - "in": "query", - "name": "VerificationSid", - "schema": { "maxLength": 34, - "minLength": 34, - "pattern": "^VE[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "Filter used to query Verification Attempts by conversion status. Valid values are `UNCONVERTED`, for attempts that were not converted, and `CONVERTED`, for attempts that were confirmed.", - "in": "query", - "name": "Status", - "schema": { - "enum": [ - "converted", - "unconverted" - ], - "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" - } + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "properties": { - "attempts": { - "items": { - "$ref": "#/components/schemas/verify.v2.verification_attempt" - }, - "type": "array" - }, - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - } - }, - "title": "ListVerificationAttemptResponse", - "type": "object" + "$ref": "#/components/schemas/verify.v2.service.access_token" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -1412,92 +1311,95 @@ "accountSid_authToken": [] } ], + "operationId": "CreateAccessToken", "x-maturity": [ - "GA" - ] - }, + "Beta" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateAccessTokenRequest", + "properties": { + "Identity": { + "type": "string", + "description": "The unique external identifier for the Entity of the Service. This identifier should be immutable, not PII, and generated by your external system, such as your user's UUID, GUID, or SID." + }, + "FactorType": { + "type": "string", + "enum": [ + "push" + ], + "description": "The Type of this Factor. Eg. `push`" + }, + "FactorFriendlyName": { + "type": "string", + "description": "The friendly name of the factor that is going to be created with this access token" + }, + "Ttl": { + "type": "integer", + "description": "How long, in seconds, the access token is valid. Can be an integer between 60 and 300. Default is 60." + } + }, + "required": [ + "Identity", + "FactorType" + ] + } + } + } + } + } + }, + "/v2/Services/{ServiceSid}/AccessTokens/{Sid}": { "servers": [ { "url": "https://verify.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { - "className": "verification_attempt", "defaultOutputProperties": [ "sid", - "date_created", - "date_updated", - "conversion_status", - "channel" + "account_sid", + "service_sid", + "entity_identity", + "factor_type", + "factor_friendly_name", + "token", + "ttl", + "date_created" ], - "pathType": "list" - } - }, - "/v2/Attempts/Summary": { - "description": "TODO: Resource-level docs", + "pathType": "instance", + "parent": "/Services" + }, "get": { - "description": "Get a summary of how many attempts were made and how many were converted.", - "operationId": "FetchVerificationAttemptsSummary", + "description": "Fetch an Access Token for the Entity", "parameters": [ { - "description": "Filter used to consider only Verification Attempts of the given verify service on the summary aggregation.", - "in": "query", "name": "ServiceSid", + "in": "path", + "description": "The unique SID identifier of the Service.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "Datetime filter used to consider only Verification Attempts created after this datetime on the summary aggregation. Given as GMT in RFC 2822 format.", - "in": "query", - "name": "DateCreatedAfter", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "description": "Datetime filter used to consider only Verification Attempts created before this datetime on the summary aggregation. Given as GMT in RFC 2822 format.", - "in": "query", - "name": "DateCreatedBefore", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "description": "Filter used to consider only Verification Attempts sent to the specified destination country on the summary aggregation.", - "in": "query", - "name": "Country", - "schema": { - "format": "iso-country-code", - "type": "string" - } - }, - { - "description": "Filter Verification Attempts considered on the summary aggregation by communication channel. Valid values are `SMS` and `CALL`", - "in": "query", - "name": "Channel", - "schema": { - "enum": [ - "sms", - "call", - "email", - "whatsapp" - ], - "type": "string" - } + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "Filter the Verification Attempts considered on the summary aggregation by Destination prefix. It is the prefix of a phone number in E.164 format.", - "in": "query", - "name": "DestinationPrefix", + "name": "Sid", + "in": "path", + "description": "A 34 character string that uniquely identifies this Access Token.", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^YK[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1505,7 +1407,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/verify.v2.verification_attempts_summary" + "$ref": "#/components/schemas/verify.v2.service.access_token" } } }, @@ -1517,55 +1419,71 @@ "accountSid_authToken": [] } ], + "operationId": "FetchAccessToken", "x-maturity": [ - "GA" + "Beta" ] - }, + } + }, + "/v2/Services/{ServiceSid}/RateLimits/{RateLimitSid}/Buckets": { "servers": [ { "url": "https://verify.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { - "className": "verification_attempts_summary", "defaultOutputProperties": [ - "total_attempts", - "total_converted", - "total_unconverted", - "conversion_rate_percentage" + "sid", + "service_sid", + "rate_limit_sid", + "account_sid", + "max", + "interval", + "date_created", + "date_updated" ], - "pathType": "instance" - } - }, - "/v2/Attempts/{Sid}": { - "description": "TODO: Resource-level docs", - "get": { - "description": "Fetch a specific verification attempt.", - "operationId": "FetchVerificationAttempt", + "pathType": "list", + "parent": "/Services/{ServiceSid}/RateLimits" + }, + "post": { + "description": "Create a new Bucket for a Rate Limit", "parameters": [ { - "description": "The unique SID identifier of a Verification Attempt", + "name": "ServiceSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Service](https://www.twilio.com/docs/verify/api/service) the resource is associated with.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "RateLimitSid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Rate Limit resource.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^VL[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^RK[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/verify.v2.verification_attempt" + "$ref": "#/components/schemas/verify.v2.service.rate_limit.bucket" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -1573,93 +1491,70 @@ "accountSid_authToken": [] } ], + "operationId": "CreateBucket", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://verify.twilio.com" - } - ], - "x-twilio": { - "className": "verification_attempt", - "defaultOutputProperties": [ - "sid", - "date_created", - "date_updated", - "conversion_status", - "channel" ], - "pathType": "instance" - } - }, - "/v2/Forms/{FormType}": { - "description": "TODO: Resource-level docs", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateBucketRequest", + "properties": { + "Max": { + "type": "integer", + "description": "Maximum number of requests permitted in during the interval." + }, + "Interval": { + "type": "integer", + "description": "Number of seconds that the rate limit will be enforced over." + } + }, + "required": [ + "Max", + "Interval" + ] + } + } + } + } + }, "get": { - "description": "Fetch the forms for a specific Form Type.", - "operationId": "FetchForm", + "description": "Retrieve a list of all Buckets for a Rate Limit.", "parameters": [ { - "description": "The Type of this Form. Currently only `form-push` is supported.", + "name": "ServiceSid", "in": "path", - "name": "FormType", - "required": true, + "description": "The SID of the [Service](https://www.twilio.com/docs/verify/api/service) the resource is associated with.", "schema": { - "enum": [ - "form-push" - ], - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/verify.v2.form" - } - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" }, - "description": "OK" - } - }, - "security": [ + "required": true + }, { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "Beta" - ] - }, - "servers": [ - { - "url": "https://verify.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "form_type" - ], - "pathType": "instance" - } - }, - "/v2/Services": { - "description": "TODO: Resource-level docs", - "get": { - "description": "Retrieve a list of all Verification Services for an account.", - "operationId": "ListService", - "parameters": [ + "name": "RateLimitSid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Rate Limit resource.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RK[0-9a-fA-F]{32}$" + }, + "required": true + }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1668,19 +1563,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListBucketResponse", "properties": { + "buckets": { + "type": "array", + "items": { + "$ref": "#/components/schemas/verify.v2.service.rate_limit.bucket" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1689,145 +1590,23 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "services": { - "items": { - "$ref": "#/components/schemas/verify.v2.service" - }, - "type": "array" + } } - }, - "title": "ListServiceResponse", - "type": "object" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "Create a new Verification Service.", - "operationId": "CreateService", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "CodeLength": { - "description": "The length of the verification code to generate. Must be an integer value between 4 and 10, inclusive.", - "type": "integer" - }, - "CustomCodeEnabled": { - "description": "Whether to allow sending verifications with a custom code instead of a randomly generated one. Not available for all customers.", - "type": "boolean" - }, - "DefaultTemplateSid": { - "description": "The default message [template](https://www.twilio.com/docs/verify/api/templates). Will be used for all SMS verifications unless explicitly overriden. SMS channel only.", - "maxLength": 34, - "minLength": 34, - "pattern": "^HJ[0-9a-fA-F]{32}$", - "type": "string" - }, - "DoNotShareWarningEnabled": { - "description": "Whether to add a security warning at the end of an SMS verification body. Disabled by default and applies only to SMS. Example SMS body: `Your AppName verification code is: 1234. Don\u2019t share this code with anyone; our employees will never ask for the code`", - "type": "boolean" - }, - "DtmfInputRequired": { - "description": "Whether to ask the user to press a number before delivering the verify code in a phone call.", - "type": "boolean" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the verification service. It can be up to 30 characters long. **This value should not contain PII.**", - "type": "string" - }, - "LookupEnabled": { - "description": "Whether to perform a lookup with each verification started and return info about the phone number.", - "type": "boolean" - }, - "Psd2Enabled": { - "description": "Whether to pass PSD2 transaction parameters when starting a verification.", - "type": "boolean" - }, - "Push.ApnCredentialSid": { - "description": "Optional configuration for the Push factors. Set the APN Credential for this service. This will allow to send push notifications to iOS devices. See [Credential Resource](https://www.twilio.com/docs/notify/api/credential-resource)", - "maxLength": 34, - "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" - }, - "Push.FcmCredentialSid": { - "description": "Optional configuration for the Push factors. Set the FCM Credential for this service. This will allow to send push notifications to Android devices. See [Credential Resource](https://www.twilio.com/docs/notify/api/credential-resource)", - "maxLength": 34, - "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" - }, - "Push.IncludeDate": { - "description": "Optional configuration for the Push factors. If true, include the date in the Challenge's response. Otherwise, the date is omitted from the response. See [Challenge](https://www.twilio.com/docs/verify/api/challenge) resource\u2019s details parameter for more info. Default: false. **Deprecated** do not use this parameter. This timestamp value is the same one as the one found in `date_created`, please use that one instead.", - "type": "boolean" - }, - "SkipSmsToLandlines": { - "description": "Whether to skip sending SMS verifications to landlines. Requires `lookup_enabled`.", - "type": "boolean" - }, - "Totp.CodeLength": { - "description": "Optional configuration for the TOTP factors. Number of digits for generated TOTP codes. Must be between 3 and 8, inclusive. Defaults to 6", - "type": "integer" - }, - "Totp.Issuer": { - "description": "Optional configuration for the TOTP factors. Set TOTP Issuer for this service. This will allow to configure the issuer of the TOTP URI. Defaults to the service friendly name if not provided.", - "type": "string" - }, - "Totp.Skew": { - "description": "Optional configuration for the TOTP factors. The number of time-steps, past and future, that are valid for validation of TOTP codes. Must be between 0 and 2, inclusive. Defaults to 1", - "type": "integer" - }, - "Totp.TimeStep": { - "description": "Optional configuration for the TOTP factors. Defines how often, in seconds, are TOTP codes generated. i.e, a new TOTP code is generated every time_step seconds. Must be between 20 and 60 seconds, inclusive. Defaults to 30 seconds", - "type": "integer" - }, - "TtsName": { - "description": "The name of an alternative text-to-speech service to use in phone calls. Applies only to TTS languages.", - "type": "string" } - }, - "required": [ - "FriendlyName" - ], - "title": "CreateServiceRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/verify.v2.service" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -1835,88 +1614,83 @@ "accountSid_authToken": [] } ], + "operationId": "ListBucket", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/Services/{ServiceSid}/RateLimits/{RateLimitSid}/Buckets/{Sid}": { "servers": [ { "url": "https://verify.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", - "friendly_name", - "date_created" + "service_sid", + "rate_limit_sid", + "account_sid", + "max", + "interval", + "date_created", + "date_updated" ], - "pathType": "list" - } - }, - "/v2/Services/{ServiceSid}/AccessTokens": { - "description": "TODO: Resource-level docs", + "pathType": "instance", + "parent": "/Services/{ServiceSid}/RateLimits" + }, "post": { - "description": "Create a new enrollment Access Token for the Entity", - "operationId": "CreateAccessToken", + "description": "Update a specific Bucket.", "parameters": [ { - "description": "The unique SID identifier of the Service.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/verify/api/service) the resource is associated with.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "RateLimitSid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Rate Limit resource.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^RK[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "A 34 character string that uniquely identifies this Bucket.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BL[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "FactorFriendlyName": { - "description": "The friendly name of the factor that is going to be created with this access token", - "type": "string" - }, - "FactorType": { - "description": "The Type of this Factor. Eg. `push`", - "enum": [ - "push" - ], - "type": "string" - }, - "Identity": { - "description": "The unique external identifier for the Entity of the Service. This identifier should be immutable, not PII, and generated by your external system, such as your user's UUID, GUID, or SID.", - "type": "string" - }, - "Ttl": { - "description": "How long, in seconds, the access token is valid. Can be an integer between 60 and 300. Default is 60.", - "type": "integer" - } - }, - "required": [ - "Identity", - "FactorType" - ], - "title": "CreateAccessTokenRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/verify.v2.service.access_token" + "$ref": "#/components/schemas/verify.v2.service.rate_limit.bucket" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -1924,60 +1698,69 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateBucket", "x-maturity": [ - "Beta" - ] - }, - "servers": [ - { - "url": "https://verify.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "account_sid", - "service_sid", - "entity_identity", - "factor_type", - "factor_friendly_name", - "token", - "ttl", - "date_created" + "GA" ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v2/Services/{ServiceSid}/AccessTokens/{Sid}": { - "description": "TODO: Resource-level docs", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateBucketRequest", + "properties": { + "Max": { + "type": "integer", + "description": "Maximum number of requests permitted in during the interval." + }, + "Interval": { + "type": "integer", + "description": "Number of seconds that the rate limit will be enforced over." + } + } + } + } + } + } + }, "get": { - "description": "Fetch an Access Token for the Entity", - "operationId": "FetchAccessToken", + "description": "Fetch a specific Bucket.", "parameters": [ { - "description": "The unique SID identifier of the Service.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/verify/api/service) the resource is associated with.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "A 34 character string that uniquely identifies this Access Token.", + "name": "RateLimitSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The Twilio-provided string that uniquely identifies the Rate Limit resource.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^RK[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "A 34 character string that uniquely identifies this Bucket.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^YK[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BL[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1985,7 +1768,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/verify.v2.service.access_token" + "$ref": "#/components/schemas/verify.v2.service.rate_limit.bucket" } } }, @@ -1997,166 +1780,54 @@ "accountSid_authToken": [] } ], + "operationId": "FetchBucket", "x-maturity": [ - "Beta" + "GA" ] }, - "servers": [ - { - "url": "https://verify.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "account_sid", - "service_sid", - "entity_identity", - "factor_type", - "factor_friendly_name", - "token", - "ttl", - "date_created" - ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v2/Services/{ServiceSid}/Entities": { - "description": "TODO: Resource-level docs", - "get": { - "description": "Retrieve a list of all Entities for a Service.", - "operationId": "ListEntity", + "delete": { + "description": "Delete a specific Bucket.", "parameters": [ { - "description": "The unique SID identifier of the Service.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/verify/api/service) the resource is associated with.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", - "name": "PageSize", + "name": "RateLimitSid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Rate Limit resource.", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "entities": { - "items": { - "$ref": "#/components/schemas/verify.v2.service.entity" - }, - "type": "array" - }, - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - } - }, - "title": "ListEntityResponse", - "type": "object" - } - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RK[0-9a-fA-F]{32}$" }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "Beta" - ] - }, - "post": { - "description": "Create a new Entity for the Service", - "operationId": "CreateEntity", - "parameters": [ + "required": true + }, { - "description": "The unique SID identifier of the Service.", + "name": "Sid", "in": "path", - "name": "ServiceSid", - "required": true, + "description": "A 34 character string that uniquely identifies this Bucket.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BL[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Identity": { - "description": "The unique external identifier for the Entity of the Service. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user's UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters.", - "type": "string" - } - }, - "required": [ - "Identity" - ], - "title": "CreateEntityRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/verify.v2.service.entity" - } - } - }, - "description": "Created" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -2164,55 +1835,64 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteBucket", "x-maturity": [ - "Beta" + "GA" ] - }, + } + }, + "/v2/Services/{ServiceSid}/Entities/{Identity}/Challenges": { "servers": [ { "url": "https://verify.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ - "sid", - "identity", + "factor_type", + "status", + "responded_reason", "date_created" ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v2/Services/{ServiceSid}/Entities/{Identity}": { - "delete": { - "description": "Delete a specific Entity.", - "operationId": "DeleteEntity", + "pathType": "list", + "parent": "/Services/{ServiceSid}/Entities" + }, + "post": { + "description": "Create a new Challenge for the Factor", "parameters": [ { - "description": "The unique SID identifier of the Service.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The unique SID identifier of the Service.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The unique external identifier for the Entity of the Service. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user's UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters.", - "in": "path", "name": "Identity", - "required": true, + "in": "path", + "description": "Customer unique identity for the Entity owner of the Challenge. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user's UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters.", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/verify.v2.service.entity.challenge" + } + } + }, + "description": "Created" } }, "security": [ @@ -2220,145 +1900,123 @@ "accountSid_authToken": [] } ], + "operationId": "CreateChallenge", "x-maturity": [ "Beta" - ] - }, - "description": "TODO: Resource-level docs", - "get": { - "description": "Fetch a specific Entity.", - "operationId": "FetchEntity", - "parameters": [ - { - "description": "The unique SID identifier of the Service.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The unique external identifier for the Entity of the Service. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user's UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters.", - "in": "path", - "name": "Identity", - "required": true, - "schema": { - "type": "string" - } - } ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/verify.v2.service.entity" - } + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateChallengeRequest", + "properties": { + "FactorSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^YF[0-9a-fA-F]{32}$", + "description": "The unique SID identifier of the Factor." + }, + "ExpirationDate": { + "type": "string", + "format": "date-time", + "description": "The date-time when this Challenge expires, given in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. The default value is five (5) minutes after Challenge creation. The max value is sixty (60) minutes after creation." + }, + "Details.Message": { + "type": "string", + "description": "Shown to the user when the push notification arrives. Required when `factor_type` is `push`. Can be up to 256 characters in length" + }, + "Details.Fields": { + "type": "array", + "items": {}, + "description": "A list of objects that describe the Fields included in the Challenge. Each object contains the label and value of the field, the label can be up to 36 characters in length and the value can be up to 128 characters in length. Used when `factor_type` is `push`. There can be up to 20 details fields." + }, + "HiddenDetails": { + "description": "Details provided to give context about the Challenge. Not shown to the end user. It must be a stringified JSON with only strings values eg. `{\"ip\": \"172.168.1.234\"}`. Can be up to 1024 characters in length" + }, + "AuthPayload": { + "type": "string", + "description": "Optional payload used to verify the Challenge upon creation. Only used with a Factor of type `totp` to carry the TOTP code that needs to be verified. For `TOTP` this value must be between 3 and 8 characters long." + } + }, + "required": [ + "FactorSid" + ] } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] + } } - ], - "x-maturity": [ - "Beta" - ] - }, - "servers": [ - { - "url": "https://verify.twilio.com" } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "identity", - "date_created" - ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v2/Services/{ServiceSid}/Entities/{Identity}/Challenges": { - "description": "TODO: Resource-level docs", + }, "get": { "description": "Retrieve a list of all Challenges for a Factor.", - "operationId": "ListChallenge", "parameters": [ { - "description": "The unique SID identifier of the Service.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The unique SID identifier of the Service.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "Customer unique identity for the Entity owner of the Challenge. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user's UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters.", - "in": "path", "name": "Identity", - "required": true, + "in": "path", + "description": "Customer unique identity for the Entity owner of the Challenge. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user's UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The unique SID identifier of the Factor.", - "in": "query", "name": "FactorSid", + "in": "query", + "description": "The unique SID identifier of the Factor.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^YF[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^YF[0-9a-fA-F]{32}$" } }, { - "description": "The Status of the Challenges to fetch. One of `pending`, `expired`, `approved` or `denied`.", - "in": "query", "name": "Status", + "in": "query", + "description": "The Status of the Challenges to fetch. One of `pending`, `expired`, `approved` or `denied`.", "schema": { + "type": "string", "enum": [ "pending", "expired", "approved", "denied" - ], - "type": "string" + ] } }, { - "description": "The desired sort order of the Challenges list. One of `asc` or `desc` for ascending and descending respectively. Defaults to `asc`.", - "in": "query", "name": "Order", + "in": "query", + "description": "The desired sort order of the Challenges list. One of `asc` or `desc` for ascending and descending respectively. Defaults to `asc`.", "schema": { + "type": "string", "enum": [ "asc", "desc" - ], - "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", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -2367,25 +2025,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListChallengeResponse", "properties": { "challenges": { + "type": "array", "items": { "$ref": "#/components/schemas/verify.v2.service.entity.challenge" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -2394,19 +2052,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListChallengeResponse", - "type": "object" + } } } }, @@ -2418,81 +2076,68 @@ "accountSid_authToken": [] } ], + "operationId": "ListChallenge", "x-maturity": [ "Beta" ] + } + }, + "/v2/Services/{ServiceSid}/Entities/{Identity}/Challenges/{Sid}": { + "servers": [ + { + "url": "https://verify.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "factor_type", + "status", + "responded_reason", + "date_created" + ], + "pathType": "instance", + "parent": "/Services/{ServiceSid}/Entities" }, - "post": { - "description": "Create a new Challenge for the Factor", - "operationId": "CreateChallenge", + "get": { + "description": "Fetch a specific Challenge.", "parameters": [ { - "description": "The unique SID identifier of the Service.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The unique SID identifier of the Service.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "Customer unique identity for the Entity owner of the Challenge. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user's UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters.", - "in": "path", "name": "Identity", - "required": true, + "in": "path", + "description": "Customer unique identity for the Entity owner of the Challenges. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user's UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters.", "schema": { "type": "string" - } + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "A 34 character string that uniquely identifies this Challenge.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^YC[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "AuthPayload": { - "description": "Optional payload used to verify the Challenge upon creation. Only used with a Factor of type `totp` to carry the TOTP code that needs to be verified. For `TOTP` this value must be between 3 and 8 characters long.", - "type": "string" - }, - "Details.Fields": { - "description": "A list of objects that describe the Fields included in the Challenge. Each object contains the label and value of the field, the label can be up to 36 characters in length and the value can be up to 128 characters in length. Used when `factor_type` is `push`. There can be up to 20 details fields.", - "items": {}, - "type": "array" - }, - "Details.Message": { - "description": "Shown to the user when the push notification arrives. Required when `factor_type` is `push`. Can be up to 256 characters in length", - "type": "string" - }, - "ExpirationDate": { - "description": "The date-time when this Challenge expires, given in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. The default value is five (5) minutes after Challenge creation. The max value is sixty (60) minutes after creation.", - "format": "date-time", - "type": "string" - }, - "FactorSid": { - "description": "The unique SID identifier of the Factor.", - "maxLength": 34, - "minLength": 34, - "pattern": "^YF[0-9a-fA-F]{32}$", - "type": "string" - }, - "HiddenDetails": { - "description": "Details provided to give context about the Challenge. Not shown to the end user. It must be a stringified JSON with only strings values eg. `{\"ip\": \"172.168.1.234\"}`. Can be up to 1024 characters in length" - } - }, - "required": [ - "FactorSid" - ], - "title": "CreateChallengeRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { @@ -2500,7 +2145,7 @@ } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -2508,92 +2153,58 @@ "accountSid_authToken": [] } ], + "operationId": "FetchChallenge", "x-maturity": [ "Beta" ] }, - "servers": [ - { - "url": "https://verify.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "factor_type", - "status", - "responded_reason", - "date_created" - ], - "parent": "/Services/{ServiceSid}/Entities", - "pathType": "list" - } - }, - "/v2/Services/{ServiceSid}/Entities/{Identity}/Challenges/{ChallengeSid}/Notifications": { - "description": "TODO: Resource-level docs", "post": { - "description": "Create a new Notification for the corresponding Challenge", - "operationId": "CreateNotification", + "description": "Verify a specific Challenge.", "parameters": [ { - "description": "The unique SID identifier of the Service.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The unique SID identifier of the Service.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "Customer unique identity for the Entity owner of the Challenge. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user's UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters.", - "in": "path", "name": "Identity", - "required": true, + "in": "path", + "description": "Customer unique identity for the Entity owner of the Challenge. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user's UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The unique SID identifier of the Challenge.", + "name": "Sid", "in": "path", - "name": "ChallengeSid", - "required": true, + "description": "A 34 character string that uniquely identifies this Challenge.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^YC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^YC[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Ttl": { - "description": "How long, in seconds, the notification is valid. Can be an integer between 0 and 300. Default is 300. Delivery is attempted until the TTL elapses, even if the device is offline. 0 means that the notification delivery is attempted immediately, only once, and is not stored for future delivery.", - "type": "integer" - } - }, - "title": "CreateNotificationRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/verify.v2.service.entity.challenge.notification" + "$ref": "#/components/schemas/verify.v2.service.entity.challenge" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -2601,76 +2212,73 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateChallenge", "x-maturity": [ "Beta" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateChallengeRequest", + "properties": { + "AuthPayload": { + "type": "string", + "description": "The optional payload needed to verify the Challenge. E.g., a TOTP would use the numeric code. For `TOTP` this value must be between 3 and 8 characters long. For `Push` this value can be up to 5456 characters in length" + }, + "Metadata": { + "description": "Custom metadata associated with the challenge. This is added by the Device/SDK directly to allow for the inclusion of device information. It must be a stringified JSON with only strings values eg. `{\"os\": \"Android\"}`. Can be up to 1024 characters in length." + } + } + } + } + } + } + } + }, + "/v2/Services/{ServiceSid}/Entities": { "servers": [ { "url": "https://verify.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", "identity", - "challenge_sid", "date_created" ], - "parent": "/Services/{ServiceSid}/Entities/{Identity}/Challenges", - "pathType": "list" - } - }, - "/v2/Services/{ServiceSid}/Entities/{Identity}/Challenges/{Sid}": { - "description": "TODO: Resource-level docs", - "get": { - "description": "Fetch a specific Challenge.", - "operationId": "FetchChallenge", + "pathType": "list", + "parent": "/Services" + }, + "post": { + "description": "Create a new Entity for the Service", "parameters": [ { - "description": "The unique SID identifier of the Service.", - "in": "path", "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "Customer unique identity for the Entity owner of the Challenges. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user's UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters.", - "in": "path", - "name": "Identity", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "A 34 character string that uniquely identifies this Challenge.", "in": "path", - "name": "Sid", - "required": true, + "description": "The unique SID identifier of the Service.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^YC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/verify.v2.service.entity.challenge" + "$ref": "#/components/schemas/verify.v2.service.entity" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -2678,139 +2286,53 @@ "accountSid_authToken": [] } ], + "operationId": "CreateEntity", "x-maturity": [ "Beta" - ] - }, - "post": { - "description": "Verify a specific Challenge.", - "operationId": "UpdateChallenge", - "parameters": [ - { - "description": "The unique SID identifier of the Service.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "Customer unique identity for the Entity owner of the Challenge. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user's UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters.", - "in": "path", - "name": "Identity", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "A 34 character string that uniquely identifies this Challenge.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^YC[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateEntityRequest", "properties": { - "AuthPayload": { - "description": "The optional payload needed to verify the Challenge. E.g., a TOTP would use the numeric code. For `TOTP` this value must be between 3 and 8 characters long. For `Push` this value can be up to 5456 characters in length", - "type": "string" - }, - "Metadata": { - "description": "Custom metadata associated with the challenge. This is added by the Device/SDK directly to allow for the inclusion of device information. It must be a stringified JSON with only strings values eg. `{\"os\": \"Android\"}`. Can be up to 1024 characters in length." + "Identity": { + "type": "string", + "description": "The unique external identifier for the Entity of the Service. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user's UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters." } }, - "title": "UpdateChallengeRequest", - "type": "object" + "required": [ + "Identity" + ] } } } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/verify.v2.service.entity.challenge" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "Beta" - ] - }, - "servers": [ - { - "url": "https://verify.twilio.com" } - ], - "x-twilio": { - "defaultOutputProperties": [ - "factor_type", - "status", - "responded_reason", - "date_created" - ], - "parent": "/Services/{ServiceSid}/Entities", - "pathType": "instance" - } - }, - "/v2/Services/{ServiceSid}/Entities/{Identity}/Factors": { - "description": "TODO: Resource-level docs", + }, "get": { - "description": "Retrieve a list of all Factors for an Entity.", - "operationId": "ListFactor", + "description": "Retrieve a list of all Entities for a Service.", "parameters": [ { - "description": "The unique SID identifier of the Service.", - "in": "path", "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "Customer unique identity for the Entity owner of the Factors. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user's UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters.", "in": "path", - "name": "Identity", - "required": true, + "description": "The unique SID identifier of the Service.", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -2819,25 +2341,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListEntityResponse", "properties": { - "factors": { + "entities": { + "type": "array", "items": { - "$ref": "#/components/schemas/verify.v2.service.entity.factor" - }, - "type": "array" + "$ref": "#/components/schemas/verify.v2.service.entity" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -2846,19 +2368,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListFactorResponse", - "type": "object" + } } } }, @@ -2870,131 +2392,103 @@ "accountSid_authToken": [] } ], + "operationId": "ListEntity", "x-maturity": [ "Beta" ] + } + }, + "/v2/Services/{ServiceSid}/Entities/{Identity}": { + "servers": [ + { + "url": "https://verify.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "identity", + "date_created" + ], + "pathType": "instance", + "parent": "/Services" }, - "post": { - "description": "Create a new Factor for the Entity", - "operationId": "CreateNewFactor", + "delete": { + "description": "Delete a specific Entity.", "parameters": [ { - "description": "The unique SID identifier of the Service.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The unique SID identifier of the Service.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "Customer unique identity for the Entity owner of the Factor. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user's UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters.", - "in": "path", "name": "Identity", - "required": true, + "in": "path", + "description": "The unique external identifier for the Entity of the Service. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user's UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters.", "schema": { "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Binding.Alg": { - "description": "The algorithm used when `factor_type` is `push`. Algorithm supported: `ES256`", - "type": "string" - }, - "Binding.PublicKey": { - "description": "The Ecdsa public key in PKIX, ASN.1 DER format encoded in Base64.\n\nRequired when `factor_type` is `push`", - "type": "string" - }, - "Binding.Secret": { - "description": "The shared secret for TOTP factors encoded in Base32. This can be provided when creating the Factor, otherwise it will be generated.\n\nUsed when `factor_type` is `totp`", - "type": "string" - }, - "Config.Alg": { - "description": "The algorithm used to derive the TOTP codes. Can be `sha1`, `sha256` or `sha512`. Defaults to `sha1`.\n\nUsed when `factor_type` is `totp`", - "enum": [ - "sha1", - "sha256", - "sha512" - ], - "type": "string" - }, - "Config.AppId": { - "description": "The ID that uniquely identifies your app in the Google or Apple store, such as `com.example.myapp`. It can be up to 100 characters long.\n\nRequired when `factor_type` is `push`.", - "type": "string" - }, - "Config.CodeLength": { - "description": "Number of digits for generated TOTP codes. Must be between 3 and 8, inclusive. The default value is defined at the service level in the property `totp.code_length`. If not configured defaults to 6.\n\nUsed when `factor_type` is `totp`", - "type": "integer" - }, - "Config.NotificationPlatform": { - "description": "The transport technology used to generate the Notification Token. Can be `apn`, `fcm` or `none`.\n\nRequired when `factor_type` is `push`.", - "enum": [ - "apn", - "fcm", - "none" - ], - "type": "string" - }, - "Config.NotificationToken": { - "description": "For APN, the device token. For FCM, the registration token. It is used to send the push notifications. Must be between 32 and 255 characters long.\n\nRequired when `factor_type` is `push`.", - "type": "string" - }, - "Config.SdkVersion": { - "description": "The Verify Push SDK version used to configure the factor\n\nRequired when `factor_type` is `push`", - "type": "string" - }, - "Config.Skew": { - "description": "The number of time-steps, past and future, that are valid for validation of TOTP codes. Must be between 0 and 2, inclusive. The default value is defined at the service level in the property `totp.skew`. If not configured defaults to 1.\n\nUsed when `factor_type` is `totp`", - "type": "integer" - }, - "Config.TimeStep": { - "description": "Defines how often, in seconds, are TOTP codes generated. i.e, a new TOTP code is generated every time_step seconds. Must be between 20 and 60 seconds, inclusive. The default value is defined at the service level in the property `totp.time_step`. Defaults to 30 seconds if not configured.\n\nUsed when `factor_type` is `totp`", - "type": "integer" - }, - "FactorType": { - "description": "The Type of this Factor. Currently `push` and `totp` are supported.", - "enum": [ - "push", - "totp" - ], - "type": "string" - }, - "FriendlyName": { - "description": "The friendly name of this Factor. This can be any string up to 64 characters, meant for humans to distinguish between Factors.\nFor `factor_type` `push`, this could be a device name.\nFor `factor_type` `totp`, this value is used as the \u201caccount name\u201d in constructing the `binding.uri` property.\nAt the same time, we recommend avoiding providing PII.", - "type": "string" - }, - "Metadata": { - "description": "Custom metadata associated with the factor. This is added by the Device/SDK directly to allow for the inclusion of device information. It must be a stringified JSON with only strings values eg. `{\"os\": \"Android\"}`. Can be up to 1024 characters in length." - } - }, - "required": [ - "FriendlyName", - "FactorType" - ], - "title": "CreateNewFactorRequest", - "type": "object" - } - } + "responses": { + "204": { + "description": "The resource was deleted successfully." } }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteEntity", + "x-maturity": [ + "Beta" + ] + }, + "get": { + "description": "Fetch a specific Entity.", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The unique SID identifier of the Service.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Identity", + "in": "path", + "description": "The unique external identifier for the Entity of the Service. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user's UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters.", + "schema": { + "type": "string" + }, + "required": true + } + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/verify.v2.service.entity.new_factor" + "$ref": "#/components/schemas/verify.v2.service.entity" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -3002,18 +2496,19 @@ "accountSid_authToken": [] } ], + "operationId": "FetchEntity", "x-maturity": [ "Beta" - ], - "x-twilio": { - "className": "new_factor" - } - }, + ] + } + }, + "/v2/Services/{ServiceSid}/Entities/{Identity}/Factors/{Sid}": { "servers": [ { "url": "https://verify.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", @@ -3021,47 +2516,44 @@ "status", "factor_type" ], - "parent": "/Services/{ServiceSid}/Entities", - "pathType": "list" - } - }, - "/v2/Services/{ServiceSid}/Entities/{Identity}/Factors/{Sid}": { + "pathType": "instance", + "parent": "/Services/{ServiceSid}/Entities" + }, "delete": { "description": "Delete a specific Factor.", - "operationId": "DeleteFactor", "parameters": [ { - "description": "The unique SID identifier of the Service.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The unique SID identifier of the Service.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "Customer unique identity for the Entity owner of the Factor. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user's UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters.", - "in": "path", "name": "Identity", - "required": true, + "in": "path", + "description": "Customer unique identity for the Entity owner of the Factor. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user's UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "A 34 character string that uniquely identifies this Factor.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "A 34 character string that uniquely identifies this Factor.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^YF[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^YF[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -3074,47 +2566,46 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteFactor", "x-maturity": [ "Beta" ] }, - "description": "TODO: Resource-level docs", "get": { "description": "Fetch a specific Factor.", - "operationId": "FetchFactor", "parameters": [ { - "description": "The unique SID identifier of the Service.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The unique SID identifier of the Service.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "Customer unique identity for the Entity owner of the Factor. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user's UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters.", - "in": "path", "name": "Identity", - "required": true, + "in": "path", + "description": "Customer unique identity for the Entity owner of the Factor. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user's UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "A 34 character string that uniquely identifies this Factor.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "A 34 character string that uniquely identifies this Factor.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^YF[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^YF[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -3134,101 +2625,48 @@ "accountSid_authToken": [] } ], + "operationId": "FetchFactor", "x-maturity": [ "Beta" ] }, "post": { "description": "Update a specific Factor. This endpoint can be used to Verify a Factor if passed an `AuthPayload` param.", - "operationId": "UpdateFactor", "parameters": [ { - "description": "The unique SID identifier of the Service.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The unique SID identifier of the Service.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "Customer unique identity for the Entity owner of the Factor. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user's UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters.", - "in": "path", "name": "Identity", - "required": true, + "in": "path", + "description": "Customer unique identity for the Entity owner of the Factor. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user's UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "A 34 character string that uniquely identifies this Factor.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "A 34 character string that uniquely identifies this Factor.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^YF[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^YF[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "AuthPayload": { - "description": "The optional payload needed to verify the Factor for the first time. E.g. for a TOTP, the numeric code.", - "type": "string" - }, - "Config.Alg": { - "description": "The algorithm used to derive the TOTP codes. Can be `sha1`, `sha256` or `sha512`", - "enum": [ - "sha1", - "sha256", - "sha512" - ], - "type": "string" - }, - "Config.CodeLength": { - "description": "Number of digits for generated TOTP codes. Must be between 3 and 8, inclusive", - "type": "integer" - }, - "Config.NotificationPlatform": { - "description": "The transport technology used to generate the Notification Token. Can be `apn`, `fcm` or `none`.\n\nRequired when `factor_type` is `push`.", - "type": "string" - }, - "Config.NotificationToken": { - "description": "For APN, the device token. For FCM, the registration token. It is used to send the push notifications. Required when `factor_type` is `push`. If specified, this value must be between 32 and 255 characters long.", - "type": "string" - }, - "Config.SdkVersion": { - "description": "The Verify Push SDK version used to configure the factor", - "type": "string" - }, - "Config.Skew": { - "description": "The number of time-steps, past and future, that are valid for validation of TOTP codes. Must be between 0 and 2, inclusive", - "type": "integer" - }, - "Config.TimeStep": { - "description": "Defines how often, in seconds, are TOTP codes generated. i.e, a new TOTP code is generated every time_step seconds. Must be between 20 and 60 seconds, inclusive", - "type": "integer" - }, - "FriendlyName": { - "description": "The new friendly name of this Factor. It can be up to 64 characters.", - "type": "string" - } - }, - "title": "UpdateFactorRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { @@ -3246,15 +2684,72 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateFactor", "x-maturity": [ "Beta" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateFactorRequest", + "properties": { + "AuthPayload": { + "type": "string", + "description": "The optional payload needed to verify the Factor for the first time. E.g. for a TOTP, the numeric code." + }, + "FriendlyName": { + "type": "string", + "description": "The new friendly name of this Factor. It can be up to 64 characters." + }, + "Config.NotificationToken": { + "type": "string", + "description": "For APN, the device token. For FCM, the registration token. It is used to send the push notifications. Required when `factor_type` is `push`. If specified, this value must be between 32 and 255 characters long." + }, + "Config.SdkVersion": { + "type": "string", + "description": "The Verify Push SDK version used to configure the factor" + }, + "Config.TimeStep": { + "type": "integer", + "description": "Defines how often, in seconds, are TOTP codes generated. i.e, a new TOTP code is generated every time_step seconds. Must be between 20 and 60 seconds, inclusive" + }, + "Config.Skew": { + "type": "integer", + "description": "The number of time-steps, past and future, that are valid for validation of TOTP codes. Must be between 0 and 2, inclusive" + }, + "Config.CodeLength": { + "type": "integer", + "description": "Number of digits for generated TOTP codes. Must be between 3 and 8, inclusive" + }, + "Config.Alg": { + "type": "string", + "enum": [ + "sha1", + "sha256", + "sha512" + ], + "description": "The algorithm used to derive the TOTP codes. Can be `sha1`, `sha256` or `sha512`" + }, + "Config.NotificationPlatform": { + "type": "string", + "description": "The transport technology used to generate the Notification Token. Can be `apn`, `fcm` or `none`.\n\nRequired when `factor_type` is `push`." + } + } + } + } + } + } + } + }, + "/v2/Services/{ServiceSid}/Entities/{Identity}/Factors": { "servers": [ { "url": "https://verify.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", @@ -3262,36 +2757,41 @@ "status", "factor_type" ], - "parent": "/Services/{ServiceSid}/Entities", - "pathType": "instance" - } - }, - "/v2/Services/{ServiceSid}/MessagingConfigurations": { - "description": "TODO: Resource-level docs", + "pathType": "list", + "parent": "/Services/{ServiceSid}/Entities" + }, "get": { - "description": "Retrieve a list of all Messaging Configurations for a Service.", - "operationId": "ListMessagingConfiguration", + "description": "Retrieve a list of all Factors for an Entity.", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/verify/api/service) that the resource is associated with.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The unique SID identifier of the Service.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Identity", + "in": "path", + "description": "Customer unique identity for the Entity owner of the Factors. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user's UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters.", + "schema": { "type": "string" - } + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -3300,25 +2800,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListFactorResponse", "properties": { - "messaging_configurations": { + "factors": { + "type": "array", "items": { - "$ref": "#/components/schemas/verify.v2.service.messaging_configuration" - }, - "type": "array" + "$ref": "#/components/schemas/verify.v2.service.entity.factor" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -3327,19 +2827,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListMessagingConfigurationResponse", - "type": "object" + } } } }, @@ -3351,64 +2851,186 @@ "accountSid_authToken": [] } ], + "operationId": "ListFactor", "x-maturity": [ - "GA" + "Beta" ] }, "post": { - "description": "Create a new MessagingConfiguration for a service.", - "operationId": "CreateMessagingConfiguration", + "description": "Create a new Factor for the Entity", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/verify/api/service) that the resource is associated with.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The unique SID identifier of the Service.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Identity", + "in": "path", + "description": "Customer unique identity for the Entity owner of the Factor. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user's UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters.", + "schema": { "type": "string" - } + }, + "required": true + } + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/verify.v2.service.entity.new_factor" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] } ], + "operationId": "CreateNewFactor", + "x-maturity": [ + "Beta" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateNewFactorRequest", "properties": { - "Country": { - "description": "The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code of the country this configuration will be applied to. If this is a global configuration, Country will take the value `all`.", - "type": "string" + "FriendlyName": { + "type": "string", + "description": "The friendly name of this Factor. This can be any string up to 64 characters, meant for humans to distinguish between Factors.\nFor `factor_type` `push`, this could be a device name.\nFor `factor_type` `totp`, this value is used as the \u201caccount name\u201d in constructing the `binding.uri` property.\nAt the same time, we recommend avoiding providing PII." }, - "MessagingServiceSid": { - "description": "The SID of the [Messaging Service](https://www.twilio.com/docs/sms/services/api) to be used to send SMS to the country of this configuration.", - "maxLength": 34, - "minLength": 34, - "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" + "FactorType": { + "type": "string", + "enum": [ + "push", + "totp" + ], + "description": "The Type of this Factor. Currently `push` and `totp` are supported." + }, + "Binding.Alg": { + "type": "string", + "description": "The algorithm used when `factor_type` is `push`. Algorithm supported: `ES256`" + }, + "Binding.PublicKey": { + "type": "string", + "description": "The Ecdsa public key in PKIX, ASN.1 DER format encoded in Base64.\n\nRequired when `factor_type` is `push`" + }, + "Config.AppId": { + "type": "string", + "description": "The ID that uniquely identifies your app in the Google or Apple store, such as `com.example.myapp`. It can be up to 100 characters long.\n\nRequired when `factor_type` is `push`." + }, + "Config.NotificationPlatform": { + "type": "string", + "enum": [ + "apn", + "fcm", + "none" + ], + "description": "The transport technology used to generate the Notification Token. Can be `apn`, `fcm` or `none`.\n\nRequired when `factor_type` is `push`." + }, + "Config.NotificationToken": { + "type": "string", + "description": "For APN, the device token. For FCM, the registration token. It is used to send the push notifications. Must be between 32 and 255 characters long.\n\nRequired when `factor_type` is `push`." + }, + "Config.SdkVersion": { + "type": "string", + "description": "The Verify Push SDK version used to configure the factor\n\nRequired when `factor_type` is `push`" + }, + "Binding.Secret": { + "type": "string", + "description": "The shared secret for TOTP factors encoded in Base32. This can be provided when creating the Factor, otherwise it will be generated.\n\nUsed when `factor_type` is `totp`" + }, + "Config.TimeStep": { + "type": "integer", + "description": "Defines how often, in seconds, are TOTP codes generated. i.e, a new TOTP code is generated every time_step seconds. Must be between 20 and 60 seconds, inclusive. The default value is defined at the service level in the property `totp.time_step`. Defaults to 30 seconds if not configured.\n\nUsed when `factor_type` is `totp`" + }, + "Config.Skew": { + "type": "integer", + "description": "The number of time-steps, past and future, that are valid for validation of TOTP codes. Must be between 0 and 2, inclusive. The default value is defined at the service level in the property `totp.skew`. If not configured defaults to 1.\n\nUsed when `factor_type` is `totp`" + }, + "Config.CodeLength": { + "type": "integer", + "description": "Number of digits for generated TOTP codes. Must be between 3 and 8, inclusive. The default value is defined at the service level in the property `totp.code_length`. If not configured defaults to 6.\n\nUsed when `factor_type` is `totp`" + }, + "Config.Alg": { + "type": "string", + "enum": [ + "sha1", + "sha256", + "sha512" + ], + "description": "The algorithm used to derive the TOTP codes. Can be `sha1`, `sha256` or `sha512`. Defaults to `sha1`.\n\nUsed when `factor_type` is `totp`" + }, + "Metadata": { + "description": "Custom metadata associated with the factor. This is added by the Device/SDK directly to allow for the inclusion of device information. It must be a stringified JSON with only strings values eg. `{\"os\": \"Android\"}`. Can be up to 1024 characters in length." } }, "required": [ - "Country", - "MessagingServiceSid" - ], - "title": "CreateMessagingConfigurationRequest", - "type": "object" + "FriendlyName", + "FactorType" + ] } } } }, + "x-twilio": { + "className": "new_factor" + } + } + }, + "/v2/Forms/{FormType}": { + "servers": [ + { + "url": "https://verify.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "form_type" + ], + "pathType": "instance" + }, + "get": { + "description": "Fetch the forms for a specific Form Type.", + "parameters": [ + { + "name": "FormType", + "in": "path", + "description": "The Type of this Form. Currently only `form-push` is supported.", + "schema": { + "type": "string", + "enum": [ + "form-push" + ] + }, + "required": true + } + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/verify.v2.service.messaging_configuration" + "$ref": "#/components/schemas/verify.v2.form" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -3416,15 +3038,19 @@ "accountSid_authToken": [] } ], + "operationId": "FetchForm", "x-maturity": [ - "GA" + "Beta" ] - }, + } + }, + "/v2/Services/{ServiceSid}/MessagingConfigurations": { "servers": [ { "url": "https://verify.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "account_sid", @@ -3434,80 +3060,27 @@ "date_created", "date_updated" ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v2/Services/{ServiceSid}/MessagingConfigurations/{Country}": { - "delete": { - "description": "Delete a specific MessagingConfiguration.", - "operationId": "DeleteMessagingConfiguration", + "pathType": "list", + "parent": "/Services" + }, + "post": { + "description": "Create a new MessagingConfiguration for a service.", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/verify/api/service) that the resource is associated with.", - "in": "path", "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code of the country this configuration will be applied to. If this is a global configuration, Country will take the value `all`.", "in": "path", - "name": "Country", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "description": "TODO: Resource-level docs", - "get": { - "description": "Fetch a specific MessagingConfiguration.", - "operationId": "FetchMessagingConfiguration", - "parameters": [ - { "description": "The SID of the [Service](https://www.twilio.com/docs/verify/api/service) that the resource is associated with.", - "in": "path", - "name": "ServiceSid", - "required": true, "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code of the country this configuration will be applied to. If this is a global configuration, Country will take the value `all`.", - "in": "path", - "name": "Country", - "required": true, - "schema": { - "type": "string" - } + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { @@ -3515,7 +3088,7 @@ } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -3523,123 +3096,61 @@ "accountSid_authToken": [] } ], + "operationId": "CreateMessagingConfiguration", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "Update a specific MessagingConfiguration", - "operationId": "UpdateMessagingConfiguration", - "parameters": [ - { - "description": "The SID of the [Service](https://www.twilio.com/docs/verify/api/service) that the resource is associated with.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code of the country this configuration will be applied to. If this is a global configuration, Country will take the value `all`.", - "in": "path", - "name": "Country", - "required": true, - "schema": { - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateMessagingConfigurationRequest", "properties": { + "Country": { + "type": "string", + "description": "The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code of the country this configuration will be applied to. If this is a global configuration, Country will take the value `all`." + }, "MessagingServiceSid": { - "description": "The SID of the [Messaging Service](https://www.twilio.com/docs/sms/services/api) to be used to send SMS to the country of this configuration.", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, "pattern": "^MG[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the [Messaging Service](https://www.twilio.com/docs/sms/services/api) to be used to send SMS to the country of this configuration." } }, "required": [ + "Country", "MessagingServiceSid" - ], - "title": "UpdateMessagingConfigurationRequest", - "type": "object" + ] } } } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/verify.v2.service.messaging_configuration" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://verify.twilio.com" } - ], - "x-twilio": { - "defaultOutputProperties": [ - "account_sid", - "service_sid", - "country", - "messaging_service_sid", - "date_created", - "date_updated" - ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v2/Services/{ServiceSid}/RateLimits": { - "description": "TODO: Resource-level docs", + }, "get": { - "description": "Retrieve a list of all Rate Limits for a service.", - "operationId": "ListRateLimit", + "description": "Retrieve a list of all Messaging Configurations for a Service.", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/verify/api/service) the resource is associated with.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/verify/api/service) that the resource is associated with.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -3648,19 +3159,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListMessagingConfigurationResponse", "properties": { + "messaging_configurations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/verify.v2.service.messaging_configuration" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -3669,25 +3186,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "rate_limits": { - "items": { - "$ref": "#/components/schemas/verify.v2.service.rate_limit" - }, - "type": "array" + } } - }, - "title": "ListRateLimitResponse", - "type": "object" + } } } }, @@ -3699,60 +3210,66 @@ "accountSid_authToken": [] } ], + "operationId": "ListMessagingConfiguration", "x-maturity": [ "GA" ] + } + }, + "/v2/Services/{ServiceSid}/MessagingConfigurations/{Country}": { + "servers": [ + { + "url": "https://verify.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "account_sid", + "service_sid", + "country", + "messaging_service_sid", + "date_created", + "date_updated" + ], + "pathType": "instance", + "parent": "/Services" }, "post": { - "description": "Create a new Rate Limit for a Service", - "operationId": "CreateRateLimit", + "description": "Update a specific MessagingConfiguration", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/verify/api/service) the resource is associated with.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/verify/api/service) that the resource is associated with.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Country", + "in": "path", + "description": "The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code of the country this configuration will be applied to. If this is a global configuration, Country will take the value `all`.", + "schema": { "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Description": { - "description": "Description of this Rate Limit", - "type": "string" - }, - "UniqueName": { - "description": "Provides a unique and addressable name to be assigned to this Rate Limit, assigned by the developer, to be optionally used in addition to SID. **This value should not contain PII.**", - "type": "string" - } - }, - "required": [ - "UniqueName" - ], - "title": "CreateRateLimitRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/verify.v2.service.rate_limit" + "$ref": "#/components/schemas/verify.v2.service.messaging_configuration" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -3760,68 +3277,56 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateMessagingConfiguration", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://verify.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "service_sid", - "account_sid", - "unique_name", - "description", - "date_created", - "date_updated" ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v2/Services/{ServiceSid}/RateLimits/{RateLimitSid}/Buckets": { - "description": "TODO: Resource-level docs", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateMessagingConfigurationRequest", + "properties": { + "MessagingServiceSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$", + "description": "The SID of the [Messaging Service](https://www.twilio.com/docs/sms/services/api) to be used to send SMS to the country of this configuration." + } + }, + "required": [ + "MessagingServiceSid" + ] + } + } + } + } + }, "get": { - "description": "Retrieve a list of all Buckets for a Rate Limit.", - "operationId": "ListBucket", + "description": "Fetch a specific MessagingConfiguration.", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/verify/api/service) the resource is associated with.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/verify/api/service) that the resource is associated with.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Rate Limit resource.", + "name": "Country", "in": "path", - "name": "RateLimitSid", - "required": true, + "description": "The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code of the country this configuration will be applied to. If this is a global configuration, Country will take the value `all`.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^RK[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" - } + }, + "required": true } ], "responses": { @@ -3829,46 +3334,7 @@ "content": { "application/json": { "schema": { - "properties": { - "buckets": { - "items": { - "$ref": "#/components/schemas/verify.v2.service.rate_limit.bucket" - }, - "type": "array" - }, - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - } - }, - "title": "ListBucketResponse", - "type": "object" + "$ref": "#/components/schemas/verify.v2.service.messaging_configuration" } } }, @@ -3880,73 +3346,39 @@ "accountSid_authToken": [] } ], + "operationId": "FetchMessagingConfiguration", "x-maturity": [ "GA" ] }, - "post": { - "description": "Create a new Bucket for a Rate Limit", - "operationId": "CreateBucket", + "delete": { + "description": "Delete a specific MessagingConfiguration.", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/verify/api/service) the resource is associated with.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/verify/api/service) that the resource is associated with.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Rate Limit resource.", + "name": "Country", "in": "path", - "name": "RateLimitSid", - "required": true, + "description": "The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code of the country this configuration will be applied to. If this is a global configuration, Country will take the value `all`.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^RK[0-9a-fA-F]{32}$", "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Interval": { - "description": "Number of seconds that the rate limit will be enforced over.", - "type": "integer" - }, - "Max": { - "description": "Maximum number of requests permitted in during the interval.", - "type": "integer" - } - }, - "required": [ - "Max", - "Interval" - ], - "title": "CreateBucketRequest", - "type": "object" - } - } - } - }, "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/verify.v2.service.rate_limit.bucket" - } - } - }, - "description": "Created" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -3954,75 +3386,76 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteMessagingConfiguration", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/Services/{ServiceSid}/Entities/{Identity}/Challenges/{ChallengeSid}/Notifications": { "servers": [ { "url": "https://verify.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", - "service_sid", - "rate_limit_sid", - "account_sid", - "max", - "interval", - "date_created", - "date_updated" + "identity", + "challenge_sid", + "date_created" ], - "parent": "/Services/{ServiceSid}/RateLimits", - "pathType": "list" - } - }, - "/v2/Services/{ServiceSid}/RateLimits/{RateLimitSid}/Buckets/{Sid}": { - "delete": { - "description": "Delete a specific Bucket.", - "operationId": "DeleteBucket", + "pathType": "list", + "parent": "/Services/{ServiceSid}/Entities/{Identity}/Challenges" + }, + "post": { + "description": "Create a new Notification for the corresponding Challenge", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/verify/api/service) the resource is associated with.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The unique SID identifier of the Service.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "The Twilio-provided string that uniquely identifies the Rate Limit resource.", + "name": "Identity", "in": "path", - "name": "RateLimitSid", - "required": true, + "description": "Customer unique identity for the Entity owner of the Challenge. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user's UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^RK[0-9a-fA-F]{32}$", "type": "string" - } + }, + "required": true }, { - "description": "A 34 character string that uniquely identifies this Bucket.", + "name": "ChallengeSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The unique SID identifier of the Challenge.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BL[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^YC[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/verify.v2.service.entity.challenge.notification" + } + } + }, + "description": "Created" } }, "security": [ @@ -4030,62 +3463,74 @@ "accountSid_authToken": [] } ], + "operationId": "CreateNotification", "x-maturity": [ - "GA" - ] - }, + "Beta" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateNotificationRequest", + "properties": { + "Ttl": { + "type": "integer", + "description": "How long, in seconds, the notification is valid. Can be an integer between 0 and 300. Default is 300. Delivery is attempted until the TTL elapses, even if the device is offline. 0 means that the notification delivery is attempted immediately, only once, and is not stored for future delivery." + } + } + } + } + } + } + } + }, + "/v2/Services/{ServiceSid}/RateLimits": { + "servers": [ + { + "url": "https://verify.twilio.com" + } + ], "description": "TODO: Resource-level docs", - "get": { - "description": "Fetch a specific Bucket.", - "operationId": "FetchBucket", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "service_sid", + "account_sid", + "unique_name", + "description", + "date_created", + "date_updated" + ], + "pathType": "list", + "parent": "/Services" + }, + "post": { + "description": "Create a new Rate Limit for a Service", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/verify/api/service) the resource is associated with.", - "in": "path", "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the Rate Limit resource.", "in": "path", - "name": "RateLimitSid", - "required": true, + "description": "The SID of the [Service](https://www.twilio.com/docs/verify/api/service) the resource is associated with.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^RK[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "A 34 character string that uniquely identifies this Bucket.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { "maxLength": 34, - "minLength": 34, - "pattern": "^BL[0-9a-fA-F]{32}$", - "type": "string" - } + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/verify.v2.service.rate_limit.bucket" + "$ref": "#/components/schemas/verify.v2.service.rate_limit" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -4093,77 +3538,546 @@ "accountSid_authToken": [] } ], + "operationId": "CreateRateLimit", "x-maturity": [ "GA" - ] + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateRateLimitRequest", + "properties": { + "UniqueName": { + "type": "string", + "description": "Provides a unique and addressable name to be assigned to this Rate Limit, assigned by the developer, to be optionally used in addition to SID. **This value should not contain PII.**" + }, + "Description": { + "type": "string", + "description": "Description of this Rate Limit" + } + }, + "required": [ + "UniqueName" + ] + } + } + } + } }, - "post": { - "description": "Update a specific Bucket.", - "operationId": "UpdateBucket", + "get": { + "description": "Retrieve a list of all Rate Limits for a service.", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/verify/api/service) the resource is associated with.", - "in": "path", "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the Rate Limit resource.", "in": "path", - "name": "RateLimitSid", - "required": true, + "description": "The SID of the [Service](https://www.twilio.com/docs/verify/api/service) the resource is associated with.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^RK[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "A 34 character string that uniquely identifies this Bucket.", - "in": "path", - "name": "Sid", - "required": true, + "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^BL[0-9a-fA-F]{32}$", - "type": "string" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Interval": { - "description": "Number of seconds that the rate limit will be enforced over.", - "type": "integer" - }, - "Max": { - "description": "Maximum number of requests permitted in during the interval.", - "type": "integer" - } - }, - "title": "UpdateBucketRequest", - "type": "object" - } - } + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "ListRateLimitResponse", + "properties": { + "rate_limits": { + "type": "array", + "items": { + "$ref": "#/components/schemas/verify.v2.service.rate_limit" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "ListRateLimit", + "x-maturity": [ + "GA" + ] + } + }, + "/v2/Services/{ServiceSid}/RateLimits/{Sid}": { + "servers": [ + { + "url": "https://verify.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "service_sid", + "account_sid", + "unique_name", + "description", + "date_created", + "date_updated" + ], + "pathType": "instance", + "parent": "/Services" + }, + "post": { + "description": "Update a specific Rate Limit.", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/verify/api/service) the resource is associated with.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Rate Limit resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RK[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/verify.v2.service.rate_limit" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "UpdateRateLimit", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateRateLimitRequest", + "properties": { + "Description": { + "type": "string", + "description": "Description of this Rate Limit" + } + } + } + } + } + } + }, + "get": { + "description": "Fetch a specific Rate Limit.", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/verify/api/service) the resource is associated with.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Rate Limit resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RK[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/verify.v2.service.rate_limit" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "FetchRateLimit", + "x-maturity": [ + "GA" + ] + }, + "delete": { + "description": "Delete a specific Rate Limit.", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the [Service](https://www.twilio.com/docs/verify/api/service) the resource is associated with.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Rate Limit resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RK[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteRateLimit", + "x-maturity": [ + "GA" + ] + } + }, + "/v2/Services": { + "servers": [ + { + "url": "https://verify.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "date_created" + ], + "pathType": "list" + }, + "post": { + "description": "Create a new Verification Service.", + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/verify.v2.service" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateService", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateServiceRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the verification service. It can be up to 30 characters long. **This value should not contain PII.**" + }, + "CodeLength": { + "type": "integer", + "description": "The length of the verification code to generate. Must be an integer value between 4 and 10, inclusive." + }, + "LookupEnabled": { + "type": "boolean", + "description": "Whether to perform a lookup with each verification started and return info about the phone number." + }, + "SkipSmsToLandlines": { + "type": "boolean", + "description": "Whether to skip sending SMS verifications to landlines. Requires `lookup_enabled`." + }, + "DtmfInputRequired": { + "type": "boolean", + "description": "Whether to ask the user to press a number before delivering the verify code in a phone call." + }, + "TtsName": { + "type": "string", + "description": "The name of an alternative text-to-speech service to use in phone calls. Applies only to TTS languages." + }, + "Psd2Enabled": { + "type": "boolean", + "description": "Whether to pass PSD2 transaction parameters when starting a verification." + }, + "DoNotShareWarningEnabled": { + "type": "boolean", + "description": "Whether to add a security warning at the end of an SMS verification body. Disabled by default and applies only to SMS. Example SMS body: `Your AppName verification code is: 1234. Don\u2019t share this code with anyone; our employees will never ask for the code`" + }, + "CustomCodeEnabled": { + "type": "boolean", + "description": "Whether to allow sending verifications with a custom code instead of a randomly generated one. Not available for all customers." + }, + "Push.IncludeDate": { + "type": "boolean", + "description": "Optional configuration for the Push factors. If true, include the date in the Challenge's response. Otherwise, the date is omitted from the response. See [Challenge](https://www.twilio.com/docs/verify/api/challenge) resource\u2019s details parameter for more info. Default: false. **Deprecated** do not use this parameter. This timestamp value is the same one as the one found in `date_created`, please use that one instead." + }, + "Push.ApnCredentialSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$", + "description": "Optional configuration for the Push factors. Set the APN Credential for this service. This will allow to send push notifications to iOS devices. See [Credential Resource](https://www.twilio.com/docs/notify/api/credential-resource)" + }, + "Push.FcmCredentialSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$", + "description": "Optional configuration for the Push factors. Set the FCM Credential for this service. This will allow to send push notifications to Android devices. See [Credential Resource](https://www.twilio.com/docs/notify/api/credential-resource)" + }, + "Totp.Issuer": { + "type": "string", + "description": "Optional configuration for the TOTP factors. Set TOTP Issuer for this service. This will allow to configure the issuer of the TOTP URI. Defaults to the service friendly name if not provided." + }, + "Totp.TimeStep": { + "type": "integer", + "description": "Optional configuration for the TOTP factors. Defines how often, in seconds, are TOTP codes generated. i.e, a new TOTP code is generated every time_step seconds. Must be between 20 and 60 seconds, inclusive. Defaults to 30 seconds" + }, + "Totp.CodeLength": { + "type": "integer", + "description": "Optional configuration for the TOTP factors. Number of digits for generated TOTP codes. Must be between 3 and 8, inclusive. Defaults to 6" + }, + "Totp.Skew": { + "type": "integer", + "description": "Optional configuration for the TOTP factors. The number of time-steps, past and future, that are valid for validation of TOTP codes. Must be between 0 and 2, inclusive. Defaults to 1" + }, + "DefaultTemplateSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^HJ[0-9a-fA-F]{32}$", + "description": "The default message [template](https://www.twilio.com/docs/verify/api/templates). Will be used for all SMS verifications unless explicitly overriden. SMS channel only." + } + }, + "required": [ + "FriendlyName" + ] + } + } + } + } + }, + "get": { + "description": "Retrieve a list of all Verification Services for an account.", + "parameters": [ + { + "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 + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "ListServiceResponse", + "properties": { + "services": { + "type": "array", + "items": { + "$ref": "#/components/schemas/verify.v2.service" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "ListService", + "x-maturity": [ + "GA" + ] + } + }, + "/v2/Services/{Sid}": { + "servers": [ + { + "url": "https://verify.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "date_created" + ], + "pathType": "instance" + }, + "get": { + "description": "Fetch specific Verification Service Instance.", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Verification Service resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true } - }, + ], "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/verify.v2.service.rate_limit.bucket" + "$ref": "#/components/schemas/verify.v2.service" } } }, @@ -4175,58 +4089,25 @@ "accountSid_authToken": [] } ], + "operationId": "FetchService", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://verify.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "service_sid", - "rate_limit_sid", - "account_sid", - "max", - "interval", - "date_created", - "date_updated" - ], - "parent": "/Services/{ServiceSid}/RateLimits", - "pathType": "instance" - } - }, - "/v2/Services/{ServiceSid}/RateLimits/{Sid}": { "delete": { - "description": "Delete a specific Rate Limit.", - "operationId": "DeleteRateLimit", + "description": "Delete a specific Verification Service Instance.", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/verify/api/service) the resource is associated with.", + "name": "Sid", "in": "path", - "name": "ServiceSid", - "required": true, + "description": "The Twilio-provided string that uniquely identifies the Verification Service resource to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the Rate Limit resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { "maxLength": 34, - "minLength": 34, - "pattern": "^RK[0-9a-fA-F]{32}$", - "type": "string" - } + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -4239,38 +4120,25 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteService", "x-maturity": [ "GA" ] }, - "description": "TODO: Resource-level docs", - "get": { - "description": "Fetch a specific Rate Limit.", - "operationId": "FetchRateLimit", + "post": { + "description": "Update a specific Verification Service.", "parameters": [ { - "description": "The SID of the [Service](https://www.twilio.com/docs/verify/api/service) the resource is associated with.", + "name": "Sid", "in": "path", - "name": "ServiceSid", - "required": true, + "description": "The Twilio-provided string that uniquely identifies the Service resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the Rate Limit resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { "maxLength": 34, - "minLength": 34, - "pattern": "^RK[0-9a-fA-F]{32}$", - "type": "string" - } + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -4278,7 +4146,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/verify.v2.service.rate_limit" + "$ref": "#/components/schemas/verify.v2.service" } } }, @@ -4290,178 +4158,239 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateService", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "Update a specific Rate Limit.", - "operationId": "UpdateRateLimit", - "parameters": [ - { - "description": "The SID of the [Service](https://www.twilio.com/docs/verify/api/service) the resource is associated with.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the Rate Limit resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^RK[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateServiceRequest", "properties": { - "Description": { - "description": "Description of this Rate Limit", - "type": "string" + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the verification service. It can be up to 30 characters long. **This value should not contain PII.**" + }, + "CodeLength": { + "type": "integer", + "description": "The length of the verification code to generate. Must be an integer value between 4 and 10, inclusive." + }, + "LookupEnabled": { + "type": "boolean", + "description": "Whether to perform a lookup with each verification started and return info about the phone number." + }, + "SkipSmsToLandlines": { + "type": "boolean", + "description": "Whether to skip sending SMS verifications to landlines. Requires `lookup_enabled`." + }, + "DtmfInputRequired": { + "type": "boolean", + "description": "Whether to ask the user to press a number before delivering the verify code in a phone call." + }, + "TtsName": { + "type": "string", + "description": "The name of an alternative text-to-speech service to use in phone calls. Applies only to TTS languages." + }, + "Psd2Enabled": { + "type": "boolean", + "description": "Whether to pass PSD2 transaction parameters when starting a verification." + }, + "DoNotShareWarningEnabled": { + "type": "boolean", + "description": "Whether to add a privacy warning at the end of an SMS. **Disabled by default and applies only for SMS.**" + }, + "CustomCodeEnabled": { + "type": "boolean", + "description": "Whether to allow sending verifications with a custom code instead of a randomly generated one. Not available for all customers." + }, + "Push.IncludeDate": { + "type": "boolean", + "description": "Optional configuration for the Push factors. If true, include the date in the Challenge's response. Otherwise, the date is omitted from the response. See [Challenge](https://www.twilio.com/docs/verify/api/challenge) resource\u2019s details parameter for more info. Default: false. **Deprecated** do not use this parameter." + }, + "Push.ApnCredentialSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$", + "description": "Optional configuration for the Push factors. Set the APN Credential for this service. This will allow to send push notifications to iOS devices. See [Credential Resource](https://www.twilio.com/docs/notify/api/credential-resource)" + }, + "Push.FcmCredentialSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$", + "description": "Optional configuration for the Push factors. Set the FCM Credential for this service. This will allow to send push notifications to Android devices. See [Credential Resource](https://www.twilio.com/docs/notify/api/credential-resource)" + }, + "Totp.Issuer": { + "type": "string", + "description": "Optional configuration for the TOTP factors. Set TOTP Issuer for this service. This will allow to configure the issuer of the TOTP URI." + }, + "Totp.TimeStep": { + "type": "integer", + "description": "Optional configuration for the TOTP factors. Defines how often, in seconds, are TOTP codes generated. i.e, a new TOTP code is generated every time_step seconds. Must be between 20 and 60 seconds, inclusive. Defaults to 30 seconds" + }, + "Totp.CodeLength": { + "type": "integer", + "description": "Optional configuration for the TOTP factors. Number of digits for generated TOTP codes. Must be between 3 and 8, inclusive. Defaults to 6" + }, + "Totp.Skew": { + "type": "integer", + "description": "Optional configuration for the TOTP factors. The number of time-steps, past and future, that are valid for validation of TOTP codes. Must be between 0 and 2, inclusive. Defaults to 1" + }, + "DefaultTemplateSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^HJ[0-9a-fA-F]{32}$", + "description": "The default message [template](https://www.twilio.com/docs/verify/api/templates). Will be used for all SMS verifications unless explicitly overriden. SMS channel only." } - }, - "title": "UpdateRateLimitRequest", - "type": "object" - } - } - } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/verify.v2.service.rate_limit" } } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] + } } - ], - "x-maturity": [ - "GA" - ] - }, + } + } + }, + "/v2/Services/{ServiceSid}/Verifications": { "servers": [ { "url": "https://verify.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", - "service_sid", - "account_sid", - "unique_name", - "description", - "date_created", - "date_updated" + "to", + "channel", + "status", + "valid", + "date_created" ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v2/Services/{ServiceSid}/VerificationCheck": { - "description": "TODO: Resource-level docs", + "pathType": "list", + "parent": "/Services" + }, "post": { - "description": "challenge a specific Verification Check.", - "operationId": "CreateVerificationCheck", + "description": "Create a new Verification using a Service", "parameters": [ { - "description": "The SID of the verification [Service](https://www.twilio.com/docs/verify/api/service) to create the resource under.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the verification [Service](https://www.twilio.com/docs/verify/api/service) to create the resource under.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/verify.v2.service.verification" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] } ], + "operationId": "CreateVerification", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateVerificationRequest", "properties": { - "Amount": { - "description": "The amount of the associated PSD2 compliant transaction. Requires the PSD2 Service flag enabled.", - "type": "string" + "To": { + "type": "string", + "description": "The phone number or [email](https://www.twilio.com/docs/verify/email) to verify. Phone numbers must be in [E.164 format](https://www.twilio.com/docs/glossary/what-e164)." }, - "Code": { - "description": "The 4-10 character string being verified.", - "type": "string" + "Channel": { + "type": "string", + "description": "The verification method to use. Can be: [`email`](https://www.twilio.com/docs/verify/email), `sms`, `whatsapp` or `call`." + }, + "CustomFriendlyName": { + "type": "string", + "description": "A custom user defined friendly name that overwrites the existing one in the verification message" + }, + "CustomMessage": { + "type": "string", + "description": "The text of a custom message to use for the verification." + }, + "SendDigits": { + "type": "string", + "description": "The digits to send after a phone call is answered, for example, to dial an extension. For more information, see the Programmable Voice documentation of [sendDigits](https://www.twilio.com/docs/voice/twiml/number#attributes-sendDigits)." + }, + "Locale": { + "type": "string", + "description": "The locale to use for the verification SMS, WhatsApp or call. Can be: `af`, `ar`, `ca`, `cs`, `da`, `de`, `el`, `en`, `en-GB`, `es`, `fi`, `fr`, `he`, `hi`, `hr`, `hu`, `id`, `it`, `ja`, `ko`, `ms`, `nb`, `nl`, `pl`, `pt`, `pr-BR`, `ro`, `ru`, `sv`, `th`, `tl`, `tr`, `vi`, `zh`, `zh-CN`, or `zh-HK.`" + }, + "CustomCode": { + "type": "string", + "description": "A pre-generated code to use for verification. The code can be between 4 and 10 characters, inclusive." + }, + "Amount": { + "type": "string", + "description": "The amount of the associated PSD2 compliant transaction. Requires the PSD2 Service flag enabled." }, "Payee": { - "description": "The payee of the associated PSD2 compliant transaction. Requires the PSD2 Service flag enabled.", - "type": "string" + "type": "string", + "description": "The payee of the associated PSD2 compliant transaction. Requires the PSD2 Service flag enabled." }, - "To": { - "description": "The phone number or [email](https://www.twilio.com/docs/verify/email) to verify. Either this parameter or the `verification_sid` must be specified. Phone numbers must be in [E.164 format](https://www.twilio.com/docs/glossary/what-e164).", - "type": "string" + "RateLimits": { + "description": "The custom key-value pairs of Programmable Rate Limits. Keys correspond to `unique_name` fields defined when [creating your Rate Limit](https://www.twilio.com/docs/verify/api/service-rate-limits). Associated value pairs represent values in the request that you are rate limiting on. You may include multiple Rate Limit values in each request." }, - "VerificationSid": { - "description": "A SID that uniquely identifies the Verification Check. Either this parameter or the `to` phone number/[email](https://www.twilio.com/docs/verify/email) must be specified.", - "maxLength": 34, + "ChannelConfiguration": { + "description": "[`email`](https://www.twilio.com/docs/verify/email) channel configuration in json format. The fields 'from' and 'from_name' are optional but if included the 'from' field must have a valid email address." + }, + "AppHash": { + "type": "string", + "description": "Your [App Hash](https://developers.google.com/identity/sms-retriever/verify#computing_your_apps_hash_string) to be appended at the end of your verification SMS body. Applies only to SMS. Example SMS body: `<#> Your AppName verification code is: 1234 He42w354ol9`." + }, + "TemplateSid": { + "type": "string", "minLength": 34, - "pattern": "^VE[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^HJ[0-9a-fA-F]{32}$", + "description": "The message [template](https://www.twilio.com/docs/verify/api/templates). If provided, will override the default template for the Service. SMS channel only." + }, + "TemplateCustomSubstitutions": { + "type": "string", + "description": "A stringified JSON object in which the keys are the template's special variables and the values are the variables substitutions." } }, "required": [ - "Code" - ], - "title": "CreateVerificationCheckRequest", - "type": "object" + "To", + "Channel" + ] } } } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/verify.v2.service.verification_check" - } - } - }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, + } + } + }, + "/v2/Services/{ServiceSid}/Verifications/{Sid}": { "servers": [ { "url": "https://verify.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", @@ -4471,104 +4400,106 @@ "valid", "date_created" ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v2/Services/{ServiceSid}/Verifications": { - "description": "TODO: Resource-level docs", + "pathType": "instance", + "parent": "/Services" + }, "post": { - "description": "Create a new Verification using a Service", - "operationId": "CreateVerification", + "description": "Update a Verification status", "parameters": [ { - "description": "The SID of the verification [Service](https://www.twilio.com/docs/verify/api/service) to create the resource under.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the verification [Service](https://www.twilio.com/docs/verify/api/service) to update the resource from.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Verification resource to update.", + "schema": { "type": "string" - } + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/verify.v2.service.verification" + } + } + }, + "description": "OK" } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "UpdateVerification", + "x-maturity": [ + "GA" ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateVerificationRequest", "properties": { - "Amount": { - "description": "The amount of the associated PSD2 compliant transaction. Requires the PSD2 Service flag enabled.", - "type": "string" - }, - "AppHash": { - "description": "Your [App Hash](https://developers.google.com/identity/sms-retriever/verify#computing_your_apps_hash_string) to be appended at the end of your verification SMS body. Applies only to SMS. Example SMS body: `<#> Your AppName verification code is: 1234 He42w354ol9`.", - "type": "string" - }, - "Channel": { - "description": "The verification method to use. Can be: [`email`](https://www.twilio.com/docs/verify/email), `sms`, `whatsapp` or `call`.", - "type": "string" - }, - "ChannelConfiguration": { - "description": "[`email`](https://www.twilio.com/docs/verify/email) channel configuration in json format. The fields 'from' and 'from_name' are optional but if included the 'from' field must have a valid email address." - }, - "CustomCode": { - "description": "A pre-generated code to use for verification. The code can be between 4 and 10 characters, inclusive.", - "type": "string" - }, - "CustomFriendlyName": { - "description": "A custom user defined friendly name that overwrites the existing one in the verification message", - "type": "string" - }, - "CustomMessage": { - "description": "The text of a custom message to use for the verification.", - "type": "string" - }, - "Locale": { - "description": "The locale to use for the verification SMS, WhatsApp or call. Can be: `af`, `ar`, `ca`, `cs`, `da`, `de`, `el`, `en`, `en-GB`, `es`, `fi`, `fr`, `he`, `hi`, `hr`, `hu`, `id`, `it`, `ja`, `ko`, `ms`, `nb`, `nl`, `pl`, `pt`, `pr-BR`, `ro`, `ru`, `sv`, `th`, `tl`, `tr`, `vi`, `zh`, `zh-CN`, or `zh-HK.`", - "type": "string" - }, - "Payee": { - "description": "The payee of the associated PSD2 compliant transaction. Requires the PSD2 Service flag enabled.", - "type": "string" - }, - "RateLimits": { - "description": "The custom key-value pairs of Programmable Rate Limits. Keys correspond to `unique_name` fields defined when [creating your Rate Limit](https://www.twilio.com/docs/verify/api/service-rate-limits). Associated value pairs represent values in the request that you are rate limiting on. You may include multiple Rate Limit values in each request." - }, - "SendDigits": { - "description": "The digits to send after a phone call is answered, for example, to dial an extension. For more information, see the Programmable Voice documentation of [sendDigits](https://www.twilio.com/docs/voice/twiml/number#attributes-sendDigits).", - "type": "string" - }, - "TemplateCustomSubstitutions": { - "description": "A stringified JSON object in which the keys are the template's special variables and the values are the variables substitutions.", - "type": "string" - }, - "TemplateSid": { - "description": "The message [template](https://www.twilio.com/docs/verify/api/templates). If provided, will override the default template for the Service. SMS channel only.", - "maxLength": 34, - "minLength": 34, - "pattern": "^HJ[0-9a-fA-F]{32}$", - "type": "string" - }, - "To": { - "description": "The phone number or [email](https://www.twilio.com/docs/verify/email) to verify. Phone numbers must be in [E.164 format](https://www.twilio.com/docs/glossary/what-e164).", - "type": "string" + "Status": { + "type": "string", + "enum": [ + "canceled", + "approved" + ], + "description": "The new status of the resource. Can be: `canceled` or `approved`." } }, "required": [ - "To", - "Channel" - ], - "title": "CreateVerificationRequest", - "type": "object" + "Status" + ] } } } - }, + } + }, + "get": { + "description": "Fetch a specific Verification", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The SID of the verification [Service](https://www.twilio.com/docs/verify/api/service) to fetch the resource from.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Verification resource to fetch.", + "schema": { + "type": "string" + }, + "required": true + } + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { @@ -4576,7 +4507,7 @@ } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -4584,53 +4515,124 @@ "accountSid_authToken": [] } ], + "operationId": "FetchVerification", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/Attempts": { "servers": [ { "url": "https://verify.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", - "to", - "channel", - "status", - "valid", - "date_created" + "date_created", + "date_updated", + "conversion_status", + "channel" ], - "parent": "/Services", - "pathType": "list" - } - }, - "/v2/Services/{ServiceSid}/Verifications/{Sid}": { - "description": "TODO: Resource-level docs", + "pathType": "list", + "className": "verification_attempt" + }, "get": { - "description": "Fetch a specific Verification", - "operationId": "FetchVerification", + "description": "List all the verification attempts for a given Account.", "parameters": [ { - "description": "The SID of the verification [Service](https://www.twilio.com/docs/verify/api/service) to fetch the resource from.", - "in": "path", - "name": "ServiceSid", - "required": true, + "name": "DateCreatedAfter", + "in": "query", + "description": "Datetime filter used to query Verification Attempts created after this datetime. Given as GMT in RFC 2822 format.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "DateCreatedBefore", + "in": "query", + "description": "Datetime filter used to query Verification Attempts created before this datetime. Given as GMT in RFC 2822 format.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "ChannelData.To", + "in": "query", + "description": "Destination of a verification. It is phone number in E.164 format.", + "schema": { + "type": "string" + } + }, + { + "name": "Country", + "in": "query", + "description": "Filter used to query Verification Attempts sent to the specified destination country.", + "schema": { + "type": "string", + "format": "iso-country-code" + } + }, + { + "name": "Channel", + "in": "query", + "description": "Filter used to query Verification Attempts by communication channel. Valid values are `SMS` and `CALL`", + "schema": { + "type": "string", + "enum": [ + "sms", + "call", + "email", + "whatsapp" + ] + } + }, + { + "name": "VerifyServiceSid", + "in": "query", + "description": "Filter used to query Verification Attempts by verify service. Only attempts of the provided SID will be returned.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + } + }, + { + "name": "VerificationSid", + "in": "query", + "description": "Filter used to return all the Verification Attempts of a single verification. Only attempts of the provided verification SID will be returned.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^VE[0-9a-fA-F]{32}$" } }, { - "description": "The Twilio-provided string that uniquely identifies the Verification resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, + "name": "Status", + "in": "query", + "description": "Filter used to query Verification Attempts by conversion status. Valid values are `UNCONVERTED`, for attempts that were not converted, and `CONVERTED`, for attempts that were confirmed.", "schema": { - "type": "string" + "type": "string", + "enum": [ + "converted", + "unconverted" + ] + } + }, + { + "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 } } ], @@ -4639,7 +4641,46 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/verify.v2.service.verification" + "type": "object", + "title": "ListVerificationAttemptResponse", + "properties": { + "attempts": { + "type": "array", + "items": { + "$ref": "#/components/schemas/verify.v2.verification_attempt" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -4651,65 +4692,52 @@ "accountSid_authToken": [] } ], + "operationId": "ListVerificationAttempt", "x-maturity": [ "GA" ] + } + }, + "/v2/Attempts/{Sid}": { + "servers": [ + { + "url": "https://verify.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "date_created", + "date_updated", + "conversion_status", + "channel" + ], + "pathType": "instance", + "className": "verification_attempt" }, - "post": { - "description": "Update a Verification status", - "operationId": "UpdateVerification", + "get": { + "description": "Fetch a specific verification attempt.", "parameters": [ { - "description": "The SID of the verification [Service](https://www.twilio.com/docs/verify/api/service) to update the resource from.", + "name": "Sid", "in": "path", - "name": "ServiceSid", - "required": true, + "description": "The unique SID identifier of a Verification Attempt", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the Verification resource to update.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "type": "string" - } + "maxLength": 34, + "pattern": "^VL[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Status": { - "description": "The new status of the resource. Can be: `canceled` or `approved`.", - "enum": [ - "canceled", - "approved" - ], - "type": "string" - } - }, - "required": [ - "Status" - ], - "title": "UpdateVerificationRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/verify.v2.service.verification" + "$ref": "#/components/schemas/verify.v2.verification_attempt" } } }, @@ -4721,54 +4749,90 @@ "accountSid_authToken": [] } ], + "operationId": "FetchVerificationAttempt", "x-maturity": [ "GA" ] - }, + } + }, + "/v2/Attempts/Summary": { "servers": [ { "url": "https://verify.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ - "sid", - "to", - "channel", - "status", - "valid", - "date_created" + "total_attempts", + "total_converted", + "total_unconverted", + "conversion_rate_percentage" ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v2/Services/{ServiceSid}/Webhooks": { - "description": "TODO: Resource-level docs", + "pathType": "instance", + "className": "verification_attempts_summary" + }, "get": { - "description": "Retrieve a list of all Webhooks for a Service.", - "operationId": "ListWebhook", + "description": "Get a summary of how many attempts were made and how many were converted.", "parameters": [ { - "description": "The unique SID identifier of the Service.", - "in": "path", - "name": "ServiceSid", - "required": true, + "name": "VerifyServiceSid", + "in": "query", + "description": "Filter used to consider only Verification Attempts of the given verify service on the summary aggregation.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", + "name": "DateCreatedAfter", "in": "query", - "name": "PageSize", + "description": "Datetime filter used to consider only Verification Attempts created after this datetime on the summary aggregation. Given as GMT in RFC 2822 format.", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" + "type": "string", + "format": "date-time" + } + }, + { + "name": "DateCreatedBefore", + "in": "query", + "description": "Datetime filter used to consider only Verification Attempts created before this datetime on the summary aggregation. Given as GMT in RFC 2822 format.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "Country", + "in": "query", + "description": "Filter used to consider only Verification Attempts sent to the specified destination country on the summary aggregation.", + "schema": { + "type": "string", + "format": "iso-country-code" + } + }, + { + "name": "Channel", + "in": "query", + "description": "Filter Verification Attempts considered on the summary aggregation by communication channel. Valid values are `SMS` and `CALL`", + "schema": { + "type": "string", + "enum": [ + "sms", + "call", + "email", + "whatsapp" + ] + } + }, + { + "name": "DestinationPrefix", + "in": "query", + "description": "Filter the Verification Attempts considered on the summary aggregation by Destination prefix. It is the prefix of a phone number in E.164 format.", + "schema": { + "type": "string" } } ], @@ -4777,46 +4841,7 @@ "content": { "application/json": { "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "webhooks": { - "items": { - "$ref": "#/components/schemas/verify.v2.service.webhook" - }, - "type": "array" - } - }, - "title": "ListWebhookResponse", - "type": "object" + "$ref": "#/components/schemas/verify.v2.verification_attempts_summary" } } }, @@ -4828,81 +4853,53 @@ "accountSid_authToken": [] } ], + "operationId": "FetchVerificationAttemptsSummary", "x-maturity": [ - "Beta" + "GA" ] + } + }, + "/v2/Services/{ServiceSid}/VerificationCheck": { + "servers": [ + { + "url": "https://verify.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "to", + "channel", + "status", + "valid", + "date_created" + ], + "pathType": "list", + "parent": "/Services" }, "post": { - "description": "Create a new Webhook for the Service", - "operationId": "CreateWebhook", + "description": "challenge a specific Verification Check.", "parameters": [ { - "description": "The unique SID identifier of the Service.", - "in": "path", "name": "ServiceSid", - "required": true, + "in": "path", + "description": "The SID of the verification [Service](https://www.twilio.com/docs/verify/api/service) to create the resource under.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "EventTypes": { - "description": "The array of events that this Webhook is subscribed to. Possible event types: `*, factor.deleted, factor.created, factor.verified, challenge.approved, challenge.denied`", - "items": { - "type": "string" - }, - "type": "array" - }, - "FriendlyName": { - "description": "The string that you assigned to describe the webhook. **This value should not contain PII.**", - "type": "string" - }, - "Status": { - "description": "The webhook status. Default value is `enabled`. One of: `enabled` or `disabled`", - "enum": [ - "enabled", - "disabled" - ], - "type": "string" - }, - "Version": { - "description": "The webhook version. Default value is `v2` which includes all the latest fields. Version `v1` is legacy and may be removed in the future.", - "enum": [ - "v1", - "v2" - ], - "type": "string" - }, - "WebhookUrl": { - "description": "The URL associated with this Webhook.", - "type": "string" - } - }, - "required": [ - "FriendlyName", - "EventTypes", - "WebhookUrl" - ], - "title": "CreateWebhookRequest", - "type": "object" - } - } + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true } - }, + ], "responses": { "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/verify.v2.service.webhook" + "$ref": "#/components/schemas/verify.v2.service.verification_check" } } }, @@ -4914,63 +4911,132 @@ "accountSid_authToken": [] } ], + "operationId": "CreateVerificationCheck", "x-maturity": [ - "Beta" - ] - }, + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateVerificationCheckRequest", + "properties": { + "To": { + "type": "string", + "description": "The phone number or [email](https://www.twilio.com/docs/verify/email) to verify. Either this parameter or the `verification_sid` must be specified. Phone numbers must be in [E.164 format](https://www.twilio.com/docs/glossary/what-e164)." + }, + "VerificationSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^VE[0-9a-fA-F]{32}$", + "description": "A SID that uniquely identifies the Verification Check. Either this parameter or the `to` phone number/[email](https://www.twilio.com/docs/verify/email) must be specified." + }, + "Amount": { + "type": "string", + "description": "The amount of the associated PSD2 compliant transaction. Requires the PSD2 Service flag enabled." + }, + "Payee": { + "type": "string", + "description": "The payee of the associated PSD2 compliant transaction. Requires the PSD2 Service flag enabled." + }, + "Code": { + "type": "string", + "description": "The 4-10 character string being verified." + } + } + } + } + } + } + } + }, + "/v2/Templates": { "servers": [ { "url": "https://verify.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", - "service_sid", - "friendly_name", - "event_types", - "webhook_url", - "webhook_method", - "status", - "date_created" + "friendly_name" ], - "parent": "/Services", "pathType": "list" - } - }, - "/v2/Services/{ServiceSid}/Webhooks/{Sid}": { - "delete": { - "description": "Delete a specific Webhook.", - "operationId": "DeleteWebhook", + }, + "get": { + "description": "List all the available templates for a given Account.", "parameters": [ { - "description": "The unique SID identifier of the Service.", - "in": "path", - "name": "ServiceSid", - "required": true, + "name": "FriendlyName", + "in": "query", + "description": "String filter used to query templates with a given friendly name", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", "type": "string" } }, { - "description": "The Twilio-provided string that uniquely identifies the Webhook resource to delete.", - "in": "path", - "name": "Sid", - "required": true, + "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^YW[0-9a-fA-F]{32}$", - "type": "string" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "ListVerificationTemplateResponse", + "properties": { + "templates": { + "type": "array", + "items": { + "$ref": "#/components/schemas/verify.v2.verification_template" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } + } + } + }, + "description": "OK" } }, "security": [ @@ -4978,42 +5044,51 @@ "accountSid_authToken": [] } ], + "operationId": "ListVerificationTemplate", "x-maturity": [ - "Beta" + "GA" ] - }, + } + }, + "/v2/Services/{ServiceSid}/Webhooks": { + "servers": [ + { + "url": "https://verify.twilio.com" + } + ], "description": "TODO: Resource-level docs", - "get": { - "description": "Fetch a specific Webhook.", - "operationId": "FetchWebhook", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "service_sid", + "friendly_name", + "event_types", + "webhook_url", + "webhook_method", + "status", + "date_created" + ], + "pathType": "list", + "parent": "/Services" + }, + "post": { + "description": "Create a new Webhook for the Service", "parameters": [ { - "description": "The unique SID identifier of the Service.", - "in": "path", "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the Webhook resource to fetch.", "in": "path", - "name": "Sid", - "required": true, + "description": "The unique SID identifier of the Service.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^YW[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { @@ -5021,7 +5096,7 @@ } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -5029,88 +5104,130 @@ "accountSid_authToken": [] } ], + "operationId": "CreateWebhook", "x-maturity": [ "Beta" - ] - }, - "post": { - "description": "", - "operationId": "UpdateWebhook", - "parameters": [ - { - "description": "The unique SID identifier of the Service.", - "in": "path", - "name": "ServiceSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The Twilio-provided string that uniquely identifies the Webhook resource to update.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^YW[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateWebhookRequest", "properties": { + "FriendlyName": { + "type": "string", + "description": "The string that you assigned to describe the webhook. **This value should not contain PII.**" + }, "EventTypes": { - "description": "The array of events that this Webhook is subscribed to. Possible event types: `*, factor.deleted, factor.created, factor.verified, challenge.approved, challenge.denied`", + "type": "array", "items": { "type": "string" }, - "type": "array" + "description": "The array of events that this Webhook is subscribed to. Possible event types: `*, factor.deleted, factor.created, factor.verified, challenge.approved, challenge.denied`" }, - "FriendlyName": { - "description": "The string that you assigned to describe the webhook. **This value should not contain PII.**", - "type": "string" + "WebhookUrl": { + "type": "string", + "description": "The URL associated with this Webhook." }, "Status": { - "description": "The webhook status. Default value is `enabled`. One of: `enabled` or `disabled`", + "type": "string", "enum": [ "enabled", "disabled" ], - "type": "string" + "description": "The webhook status. Default value is `enabled`. One of: `enabled` or `disabled`" }, "Version": { - "description": "The webhook version. Default value is `v2` which includes all the latest fields. Version `v1` is legacy and may be removed in the future.", + "type": "string", "enum": [ "v1", "v2" ], - "type": "string" - }, - "WebhookUrl": { - "description": "The URL associated with this Webhook.", - "type": "string" + "description": "The webhook version. Default value is `v2` which includes all the latest fields. Version `v1` is legacy and may be removed in the future." } }, - "title": "UpdateWebhookRequest", - "type": "object" + "required": [ + "FriendlyName", + "EventTypes", + "WebhookUrl" + ] } } } - }, + } + }, + "get": { + "description": "Retrieve a list of all Webhooks for a Service.", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The unique SID identifier of the Service.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "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 + } + } + ], "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/verify.v2.service.webhook" + "type": "object", + "title": "ListWebhookResponse", + "properties": { + "webhooks": { + "type": "array", + "items": { + "$ref": "#/components/schemas/verify.v2.service.webhook" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -5122,15 +5239,19 @@ "accountSid_authToken": [] } ], + "operationId": "ListWebhook", "x-maturity": [ "Beta" ] - }, + } + }, + "/v2/Services/{ServiceSid}/Webhooks/{Sid}": { "servers": [ { "url": "https://verify.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", @@ -5142,58 +5263,35 @@ "status", "date_created" ], - "parent": "/Services", - "pathType": "instance" - } - }, - "/v2/Services/{Sid}": { - "delete": { - "description": "Delete a specific Verification Service Instance.", - "operationId": "DeleteService", + "pathType": "instance", + "parent": "/Services" + }, + "post": { + "description": "", "parameters": [ { - "description": "The Twilio-provided string that uniquely identifies the Verification Service resource to delete.", + "name": "ServiceSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The unique SID identifier of the Service.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "description": "TODO: Resource-level docs", - "get": { - "description": "Fetch specific Verification Service Instance.", - "operationId": "FetchService", - "parameters": [ + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true + }, { - "description": "The Twilio-provided string that uniquely identifies the Verification Service resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Webhook resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^YW[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -5201,7 +5299,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/verify.v2.service" + "$ref": "#/components/schemas/verify.v2.service.webhook" } } }, @@ -5213,126 +5311,85 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateWebhook", "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "Update a specific Verification 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": "^VA[0-9a-fA-F]{32}$", - "type": "string" - } - } + "Beta" ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateWebhookRequest", "properties": { - "CodeLength": { - "description": "The length of the verification code to generate. Must be an integer value between 4 and 10, inclusive.", - "type": "integer" - }, - "CustomCodeEnabled": { - "description": "Whether to allow sending verifications with a custom code instead of a randomly generated one. Not available for all customers.", - "type": "boolean" - }, - "DefaultTemplateSid": { - "description": "The default message [template](https://www.twilio.com/docs/verify/api/templates). Will be used for all SMS verifications unless explicitly overriden. SMS channel only.", - "maxLength": 34, - "minLength": 34, - "pattern": "^HJ[0-9a-fA-F]{32}$", - "type": "string" - }, - "DoNotShareWarningEnabled": { - "description": "Whether to add a privacy warning at the end of an SMS. **Disabled by default and applies only for SMS.**", - "type": "boolean" - }, - "DtmfInputRequired": { - "description": "Whether to ask the user to press a number before delivering the verify code in a phone call.", - "type": "boolean" - }, "FriendlyName": { - "description": "A descriptive string that you create to describe the verification service. It can be up to 30 characters long. **This value should not contain PII.**", - "type": "string" - }, - "LookupEnabled": { - "description": "Whether to perform a lookup with each verification started and return info about the phone number.", - "type": "boolean" - }, - "Psd2Enabled": { - "description": "Whether to pass PSD2 transaction parameters when starting a verification.", - "type": "boolean" - }, - "Push.ApnCredentialSid": { - "description": "Optional configuration for the Push factors. Set the APN Credential for this service. This will allow to send push notifications to iOS devices. See [Credential Resource](https://www.twilio.com/docs/notify/api/credential-resource)", - "maxLength": 34, - "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" + "type": "string", + "description": "The string that you assigned to describe the webhook. **This value should not contain PII.**" }, - "Push.FcmCredentialSid": { - "description": "Optional configuration for the Push factors. Set the FCM Credential for this service. This will allow to send push notifications to Android devices. See [Credential Resource](https://www.twilio.com/docs/notify/api/credential-resource)", - "maxLength": 34, - "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" - }, - "Push.IncludeDate": { - "description": "Optional configuration for the Push factors. If true, include the date in the Challenge's response. Otherwise, the date is omitted from the response. See [Challenge](https://www.twilio.com/docs/verify/api/challenge) resource\u2019s details parameter for more info. Default: false. **Deprecated** do not use this parameter.", - "type": "boolean" - }, - "SkipSmsToLandlines": { - "description": "Whether to skip sending SMS verifications to landlines. Requires `lookup_enabled`.", - "type": "boolean" - }, - "Totp.CodeLength": { - "description": "Optional configuration for the TOTP factors. Number of digits for generated TOTP codes. Must be between 3 and 8, inclusive. Defaults to 6", - "type": "integer" - }, - "Totp.Issuer": { - "description": "Optional configuration for the TOTP factors. Set TOTP Issuer for this service. This will allow to configure the issuer of the TOTP URI.", - "type": "string" + "EventTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The array of events that this Webhook is subscribed to. Possible event types: `*, factor.deleted, factor.created, factor.verified, challenge.approved, challenge.denied`" }, - "Totp.Skew": { - "description": "Optional configuration for the TOTP factors. The number of time-steps, past and future, that are valid for validation of TOTP codes. Must be between 0 and 2, inclusive. Defaults to 1", - "type": "integer" + "WebhookUrl": { + "type": "string", + "description": "The URL associated with this Webhook." }, - "Totp.TimeStep": { - "description": "Optional configuration for the TOTP factors. Defines how often, in seconds, are TOTP codes generated. i.e, a new TOTP code is generated every time_step seconds. Must be between 20 and 60 seconds, inclusive. Defaults to 30 seconds", - "type": "integer" + "Status": { + "type": "string", + "enum": [ + "enabled", + "disabled" + ], + "description": "The webhook status. Default value is `enabled`. One of: `enabled` or `disabled`" }, - "TtsName": { - "description": "The name of an alternative text-to-speech service to use in phone calls. Applies only to TTS languages.", - "type": "string" + "Version": { + "type": "string", + "enum": [ + "v1", + "v2" + ], + "description": "The webhook version. Default value is `v2` which includes all the latest fields. Version `v1` is legacy and may be removed in the future." } - }, - "title": "UpdateServiceRequest", - "type": "object" + } } } } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/verify.v2.service" - } - } + } + }, + "delete": { + "description": "Delete a specific Webhook.", + "parameters": [ + { + "name": "ServiceSid", + "in": "path", + "description": "The unique SID identifier of the Service.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" }, - "description": "OK" + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Webhook resource to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^YW[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -5340,47 +5397,37 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteWebhook", "x-maturity": [ - "GA" + "Beta" ] }, - "servers": [ - { - "url": "https://verify.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "date_created" - ], - "pathType": "instance" - } - }, - "/v2/Templates": { - "description": "TODO: Resource-level docs", "get": { - "description": "List all the available templates for a given Account.", - "operationId": "ListVerificationTemplate", + "description": "Fetch a specific Webhook.", "parameters": [ { - "description": "String filter used to query templates with a given friendly name", - "in": "query", - "name": "FriendlyName", + "name": "ServiceSid", + "in": "path", + "description": "The unique SID identifier of the Service.", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^VA[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", - "name": "PageSize", + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the Webhook resource to fetch.", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^YW[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -5388,46 +5435,7 @@ "content": { "application/json": { "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "templates": { - "items": { - "$ref": "#/components/schemas/verify.v2.verification_template" - }, - "type": "array" - } - }, - "title": "ListVerificationTemplateResponse", - "type": "object" + "$ref": "#/components/schemas/verify.v2.service.webhook" } } }, @@ -5439,21 +5447,10 @@ "accountSid_authToken": [] } ], + "operationId": "FetchWebhook", "x-maturity": [ - "GA" + "Beta" ] - }, - "servers": [ - { - "url": "https://verify.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name" - ], - "pathType": "list" } } }, @@ -5464,12 +5461,12 @@ ], "x-maturity": [ { - "description": "This product is Generally Available.", - "name": "GA" + "name": "GA", + "description": "This product is Generally Available." }, { - "description": "PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution.", - "name": "Beta" + "name": "Beta", + "description": "PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution." } ] } \ No newline at end of file diff --git a/spec/json/twilio_video_v1.json b/spec/json/twilio_video_v1.json index 59a375e4..4f31ac23 100644 --- a/spec/json/twilio_video_v1.json +++ b/spec/json/twilio_video_v1.json @@ -2,126 +2,131 @@ "components": { "schemas": { "video.v1.composition": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "audio_sources": { - "description": "The array of track names to include in the composition", - "items": { - "type": "string" - }, "nullable": true, - "type": "array" + "description": "The SID of the Account that created the resource" }, - "audio_sources_excluded": { - "description": "The array of track names to exclude from the composition", - "items": { - "type": "string" - }, + "status": { + "type": "string", + "enum": [ + "enqueued", + "processing", + "completed", + "deleted", + "failed" + ], "nullable": true, - "type": "array" + "description": "The status of the composition" }, - "bitrate": { - "description": "The average bit rate of the composition's media", + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "integer" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, "date_completed": { - "description": "Date when the media processing task finished", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "Date when the media processing task finished" }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "date_deleted": { + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the composition generated media was deleted" }, - "date_deleted": { - "description": "The ISO 8601 date and time in GMT when the composition generated media was deleted", - "format": "date-time", + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CJ[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique string that identifies the resource" }, - "duration": { - "description": "The duration of the composition's media file in seconds", + "room_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RM[0-9a-fA-F]{32}$", "nullable": true, - "type": "integer" + "description": "The SID of the Group Room that generated the audio and video tracks used in the composition" }, - "format": { - "description": "The container format of the composition's media files as specified in the POST request that created the Composition resource", - "enum": [ - "mp4", - "webm" - ], + "audio_sources": { + "type": "array", + "items": { + "type": "string" + }, "nullable": true, - "type": "string" + "description": "The array of track names to include in the composition" }, - "links": { - "description": "The URL of the media file associated with the composition", - "format": "uri-map", + "audio_sources_excluded": { + "type": "array", + "items": { + "type": "string" + }, "nullable": true, - "type": "object" + "description": "The array of track names to exclude from the composition" }, - "media_external_location": { - "description": "The URL of the media file associated with the composition when stored externally", - "format": "uri", + "video_layout": { "nullable": true, - "type": "string" + "description": "An object that describes the video layout of the composition" }, "resolution": { - "description": "The dimensions of the video image in pixels expressed as columns (width) and rows (height)", + "type": "string", "nullable": true, - "type": "string" + "description": "The dimensions of the video image in pixels expressed as columns (width) and rows (height)" }, - "room_sid": { - "description": "The SID of the Group Room that generated the audio and video tracks used in the composition", - "maxLength": 34, - "minLength": 34, + "trim": { + "type": "boolean", "nullable": true, - "pattern": "^RM[0-9a-fA-F]{32}$", - "type": "string" + "description": "Whether to remove intervals with no media" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "format": { + "type": "string", + "enum": [ + "mp4", + "webm" + ], "nullable": true, - "pattern": "^CJ[0-9a-fA-F]{32}$", - "type": "string" + "description": "The container format of the composition's media files as specified in the POST request that created the Composition resource" + }, + "bitrate": { + "type": "integer", + "nullable": true, + "description": "The average bit rate of the composition's media" }, "size": { - "description": "The size of the composed media file in bytes", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The size of the composed media file in bytes" }, - "status": { - "description": "The status of the composition", - "enum": [ - "enqueued", - "processing", - "completed", - "deleted", - "failed" - ], + "duration": { + "type": "integer", "nullable": true, - "type": "string" + "description": "The duration of the composition's media file in seconds" + }, + "media_external_location": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The URL of the media file associated with the composition when stored externally" }, "status_callback": { - "description": "The URL called to send status information on every composition event.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL called to send status information on every composition event." }, "status_callback_method": { - "description": "The HTTP method used to call `status_callback`", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -130,106 +135,112 @@ "PUT", "DELETE" ], - "format": "http-method", - "nullable": true, - "type": "string" - }, - "trim": { - "description": "Whether to remove intervals with no media", "nullable": true, - "type": "boolean" + "description": "The HTTP method used to call `status_callback`" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" }, - "video_layout": { - "description": "An object that describes the video layout of the composition", - "nullable": true + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "The URL of the media file associated with the composition" } - }, - "type": "object" + } }, "video.v1.composition_hook": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "friendly_name": { + "type": "string", + "nullable": true, + "description": "The string that you assigned to describe the resource" + }, + "enabled": { + "type": "boolean", + "nullable": true, + "description": "Whether the CompositionHook is active" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was last updated" + }, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^HK[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, "audio_sources": { - "description": "The array of track names to include in the compositions created by the composition hook", + "type": "array", "items": { "type": "string" }, "nullable": true, - "type": "array" + "description": "The array of track names to include in the compositions created by the composition hook" }, "audio_sources_excluded": { - "description": "The array of track names to exclude from the compositions created by the composition hook", + "type": "array", "items": { "type": "string" }, "nullable": true, - "type": "array" + "description": "The array of track names to exclude from the compositions created by the composition hook" }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", - "format": "date-time", + "video_layout": { "nullable": true, - "type": "string" + "description": "A JSON object that describes the video layout of the Composition" }, - "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", - "format": "date-time", + "resolution": { + "type": "string", "nullable": true, - "type": "string" + "description": "The dimensions of the video image in pixels expressed as columns (width) and rows (height)" }, - "enabled": { - "description": "Whether the CompositionHook is active", + "trim": { + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Whether intervals with no media are clipped" }, "format": { - "description": "The container format of the media files used by the compositions created by the composition hook", + "type": "string", "enum": [ "mp4", "webm" ], "nullable": true, - "type": "string" - }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", - "nullable": true, - "type": "string" - }, - "resolution": { - "description": "The dimensions of the video image in pixels expressed as columns (width) and rows (height)", - "nullable": true, - "type": "string" - }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^HK[0-9a-fA-F]{32}$", - "type": "string" + "description": "The container format of the media files used by the compositions created by the composition hook" }, "status_callback": { - "description": "The URL to send status information to your application", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL to send status information to your application" }, "status_callback_method": { - "description": "The HTTP method we should use to call status_callback", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -238,186 +249,192 @@ "PUT", "DELETE" ], - "format": "http-method", - "nullable": true, - "type": "string" - }, - "trim": { - "description": "Whether intervals with no media are clipped", "nullable": true, - "type": "boolean" + "description": "The HTTP method we should use to call status_callback" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" - }, - "video_layout": { - "description": "A JSON object that describes the video layout of the Composition", - "nullable": true + "description": "The absolute URL of the resource" } - }, - "type": "object" + } }, "video.v1.composition_settings": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "friendly_name": { + "type": "string", + "nullable": true, + "description": "The string that you assigned to describe the resource" }, "aws_credentials_sid": { - "description": "The SID of the stored Credential resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the stored Credential resource" }, "aws_s3_url": { - "description": "The URL of the AWS S3 bucket where the compositions are stored", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL of the AWS S3 bucket where the compositions are stored" }, "aws_storage_enabled": { - "description": "Whether all compositions are written to the aws_s3_url", - "nullable": true, - "type": "boolean" - }, - "encryption_enabled": { - "description": "Whether all compositions are stored in an encrypted form", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Whether all compositions are written to the aws_s3_url" }, "encryption_key_sid": { - "description": "The SID of the Public Key resource used for encryption", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Public Key resource used for encryption" }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", + "encryption_enabled": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Whether all compositions are stored in an encrypted form" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" } - }, - "type": "object" + } }, "video.v1.recording": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "codec": { - "description": "The codec used to encode the track", - "enum": [ - "VP8", - "H264", - "OPUS", - "PCMU" - ], "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, - "container_format": { - "description": "The file format for the recording", + "status": { + "type": "string", "enum": [ - "mka", - "mkv" + "processing", + "completed", + "deleted", + "failed" ], "nullable": true, - "type": "string" + "description": "The status of the recording" }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, - "duration": { - "description": "The duration of the recording in seconds", + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RT[0-9a-fA-F]{32}$", "nullable": true, - "type": "integer" + "description": "The unique string that identifies the resource" }, - "grouping_sids": { - "description": "A list of SIDs related to the recording", - "nullable": true - }, - "links": { - "description": "The URLs of related resources", - "format": "uri-map", + "source_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", "nullable": true, - "type": "object" + "description": "The SID of the recording source" }, - "media_external_location": { - "description": "The URL of the media file associated with the recording when stored externally", - "format": "uri", + "size": { + "type": "integer", "nullable": true, - "type": "string" + "description": "The size of the recorded track, in bytes" }, - "offset": { - "description": "The number of milliseconds between a point in time that is common to all rooms in a group and when the source room of the recording started", + "url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "integer" + "description": "The absolute URL of the resource" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "type": { + "type": "string", + "enum": [ + "audio", + "video", + "data" + ], "nullable": true, - "pattern": "^RT[0-9a-fA-F]{32}$", - "type": "string" + "description": "The recording's media type" }, - "size": { - "description": "The size of the recorded track, in bytes", + "duration": { + "type": "integer", "nullable": true, - "type": "integer" + "description": "The duration of the recording in seconds" }, - "source_sid": { - "description": "The SID of the recording source", - "maxLength": 34, - "minLength": 34, + "container_format": { + "type": "string", + "enum": [ + "mka", + "mkv" + ], "nullable": true, - "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", - "type": "string" + "description": "The file format for the recording" }, - "status": { - "description": "The status of the recording", + "codec": { + "type": "string", "enum": [ - "processing", - "completed", - "deleted", - "failed" + "VP8", + "H264", + "OPUS", + "PCMU" ], "nullable": true, - "type": "string" + "description": "The codec used to encode the track" + }, + "grouping_sids": { + "nullable": true, + "description": "A list of SIDs related to the recording" + }, + "track_name": { + "type": "string", + "nullable": true, + "description": "The name that was given to the source track of the recording" + }, + "offset": { + "type": "integer", + "nullable": true, + "description": "The number of milliseconds between a point in time that is common to all rooms in a group and when the source room of the recording started" + }, + "media_external_location": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The URL of the media file associated with the recording when stored externally" }, "status_callback": { - "description": "The URL called to send status information on every recording event.", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL called to send status information on every recording event." }, "status_callback_method": { - "description": "The HTTP method used to call `status_callback`", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -426,200 +443,133 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method used to call `status_callback`" }, - "track_name": { - "description": "The name that was given to the source track of the recording", + "links": { + "type": "object", + "format": "uri-map", "nullable": true, - "type": "string" - }, - "type": { - "description": "The recording's media type", - "enum": [ - "audio", - "video", - "data" - ], - "nullable": true, - "type": "string" - }, - "url": { - "description": "The absolute URL of the resource", - "format": "uri", - "nullable": true, - "type": "string" + "description": "The URLs of related resources" } - }, - "type": "object" + } }, "video.v1.recording_settings": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "friendly_name": { + "type": "string", + "nullable": true, + "description": "The string that you assigned to describe the resource" }, "aws_credentials_sid": { - "description": "The SID of the stored Credential resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the stored Credential resource" }, "aws_s3_url": { - "description": "The URL of the AWS S3 bucket where the recordings are stored", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL of the AWS S3 bucket where the recordings are stored" }, "aws_storage_enabled": { - "description": "Whether all recordings are written to the aws_s3_url", + "type": "boolean", "nullable": true, - "type": "boolean" - }, - "encryption_enabled": { - "description": "Whether all recordings are stored in an encrypted form", - "nullable": true, - "type": "boolean" + "description": "Whether all recordings are written to the aws_s3_url" }, "encryption_key_sid": { - "description": "The SID of the Public Key resource used for encryption", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Public Key resource used for encryption" }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", + "encryption_enabled": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Whether all recordings are stored in an encrypted form" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" } - }, - "type": "object" + } }, "video.v1.room": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^RM[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "audio_only": { - "description": "Indicates whether the room will only contain audio track participants for group rooms.", + "status": { + "type": "string", + "enum": [ + "in-progress", + "completed", + "failed" + ], "nullable": true, - "type": "boolean" + "description": "The status of the room" }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, - "duration": { - "description": "The duration of the room in seconds", - "nullable": true, - "type": "integer" - }, - "empty_room_timeout": { - "description": "The time a room will remain active after last participant leaves.", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "integer" + "description": "The SID of the Account that created the resource" }, "enable_turn": { - "description": "Enable Twilio's Network Traversal TURN service", - "nullable": true, - "type": "boolean" - }, - "end_time": { - "description": "The UTC end time of the room in UTC ISO 8601 format", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "large_room": { - "description": "Indicates if this is a large room.", - "nullable": true, - "type": "boolean" - }, - "links": { - "description": "The URLs of related resources", - "format": "uri-map", - "nullable": true, - "type": "object" - }, - "max_concurrent_published_tracks": { - "description": "The maximum number of published tracks allowed in the room at the same time", - "nullable": true, - "type": "integer" - }, - "max_participant_duration": { - "description": "The maximum number of seconds a Participant can be connected to the room", - "nullable": true, - "type": "integer" - }, - "max_participants": { - "description": "The maximum number of concurrent Participants allowed in the room", - "nullable": true, - "type": "integer" - }, - "media_region": { - "description": "The region for the media server in Group Rooms", - "nullable": true, - "type": "string" - }, - "record_participants_on_connect": { - "description": "Whether to start recording when Participants connect", - "nullable": true, - "type": "boolean" - }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "type": "boolean", "nullable": true, - "pattern": "^RM[0-9a-fA-F]{32}$", - "type": "string" + "description": "Enable Twilio's Network Traversal TURN service" }, - "status": { - "description": "The status of the room", - "enum": [ - "in-progress", - "completed", - "failed" - ], + "unique_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "An application-defined string that uniquely identifies the resource" }, "status_callback": { - "description": "The URL to send status information to your application", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL to send status information to your application" }, "status_callback_method": { - "description": "The HTTP method we use to call status_callback", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -628,12 +578,22 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method we use to call status_callback" + }, + "end_time": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The UTC end time of the room in UTC ISO 8601 format" + }, + "duration": { + "type": "integer", + "nullable": true, + "description": "The duration of the room in seconds" }, "type": { - "description": "The type of room", + "type": "string", "enum": [ "go", "peer-to-peer", @@ -641,557 +601,706 @@ "group-small" ], "nullable": true, - "type": "string" + "description": "The type of room" }, - "unique_name": { - "description": "An application-defined string that uniquely identifies the resource", + "max_participants": { + "type": "integer", "nullable": true, - "type": "string" + "description": "The maximum number of concurrent Participants allowed in the room" }, - "unused_room_timeout": { - "description": "The time a room will remain active when no one joins.", + "max_participant_duration": { + "type": "integer", "nullable": true, - "type": "integer" + "description": "The maximum number of seconds a Participant can be connected to the room" }, - "url": { - "description": "The absolute URL of the resource", - "format": "uri", + "max_concurrent_published_tracks": { + "type": "integer", + "nullable": true, + "description": "The maximum number of published tracks allowed in the room at the same time" + }, + "record_participants_on_connect": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Whether to start recording when Participants connect" }, "video_codecs": { - "description": "An array of the video codecs that are supported when publishing a track in the room", + "type": "array", "items": { + "type": "string", "enum": [ "VP8", "H264" - ], - "type": "string" + ] }, "nullable": true, - "type": "array" - } - }, - "type": "object" - }, - "video.v1.room.room_participant": { - "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, - "minLength": 34, + "description": "An array of the video codecs that are supported when publishing a track in the room" + }, + "media_region": { + "type": "string", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The region for the media server in Group Rooms" }, - "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", - "format": "date-time", + "audio_only": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Indicates whether the room will only contain audio track participants for group rooms." }, - "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", - "format": "date-time", + "empty_room_timeout": { + "type": "integer", "nullable": true, - "type": "string" + "description": "The time a room will remain active after last participant leaves." }, - "duration": { - "description": "Duration of time in seconds the participant was connected", + "unused_room_timeout": { + "type": "integer", "nullable": true, - "type": "integer" + "description": "The time a room will remain active when no one joins." }, - "end_time": { - "description": "The time when the participant disconnected from the room in ISO 8601 format", - "format": "date-time", + "large_room": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Indicates if this is a large room." }, - "identity": { - "description": "The string that identifies the resource's User", + "url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" }, "links": { - "description": "The URLs of related resources", + "type": "object", "format": "uri-map", "nullable": true, - "type": "object" - }, - "room_sid": { - "description": "The SID of the participant's room", - "maxLength": 34, + "description": "The URLs of related resources" + } + } + }, + "video.v1.room.room_participant": { + "type": "object", + "properties": { + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^PA[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^RM[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "room_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^RM[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^PA[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the participant's room" }, - "start_time": { - "description": "The time of participant connected to the room in ISO 8601 format", - "format": "date-time", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account that created the resource" }, "status": { - "description": "The status of the Participant", + "type": "string", "enum": [ "connected", "disconnected" ], "nullable": true, - "type": "string" + "description": "The status of the Participant" }, - "url": { - "description": "The absolute URL of the resource", - "format": "uri", + "identity": { + "type": "string", "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "video.v1.room.room_participant.room_participant_published_track": { - "properties": { + "description": "The string that identifies the resource's User" + }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" - }, - "enabled": { - "description": "Whether the track is enabled", - "nullable": true, - "type": "boolean" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, - "kind": { - "description": "The track type", - "enum": [ - "audio", - "video", - "data" - ], - "nullable": true, - "type": "string" - }, - "name": { - "description": "The track name", - "nullable": true, - "type": "string" - }, - "participant_sid": { - "description": "The SID of the Participant resource with the published track", - "maxLength": 34, - "minLength": 34, + "start_time": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^PA[0-9a-fA-F]{32}$", - "type": "string" + "description": "The time of participant connected to the room in ISO 8601 format" }, - "room_sid": { - "description": "The SID of the Room resource where the track is published", - "maxLength": 34, - "minLength": 34, + "end_time": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^RM[0-9a-fA-F]{32}$", - "type": "string" + "description": "The time when the participant disconnected from the room in ISO 8601 format" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "duration": { + "type": "integer", "nullable": true, - "pattern": "^MT[0-9a-fA-F]{32}$", - "type": "string" + "description": "Duration of time in seconds the participant was connected" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "The URLs of related resources" } - }, - "type": "object" + } }, - "video.v1.room.room_participant.room_participant_subscribe_rule": { + "video.v1.room.room_participant.room_participant_published_track": { + "type": "object", "properties": { - "date_created": { - "description": "The 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 date and time in GMT when the resource was last updated", - "format": "date-time", + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^MT[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique string that identifies the resource" }, "participant_sid": { - "description": "The SID of the Participant resource for the Subscribe Rules", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^PA[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Participant resource with the published track" }, "room_sid": { - "description": "The SID of the Room resource for the Subscribe Rules", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^RM[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Room resource where the track is published" }, - "rules": { - "description": "A collection of Subscribe Rules that describe how to include or exclude matching tracks", - "items": { - "format": "object", - "type": "object" - }, + "name": { + "type": "string", "nullable": true, - "type": "array" - } - }, - "type": "object" - }, - "video.v1.room.room_participant.room_participant_subscribed_track": { - "properties": { + "description": "The track name" + }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, "enabled": { - "description": "Whether the track is enabled", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Whether the track is enabled" }, "kind": { - "description": "The track type", + "type": "string", "enum": [ "audio", "video", "data" ], "nullable": true, - "type": "string" + "description": "The track type" }, - "name": { - "description": "The track name", + "url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "string" - }, + "description": "The absolute URL of the resource" + } + } + }, + "video.v1.room.room_participant.room_participant_subscribe_rule": { + "type": "object", + "properties": { "participant_sid": { - "description": "The SID of the participant that subscribes to the track", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^PA[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Participant resource for the Subscribe Rules" }, - "publisher_sid": { - "description": "The SID of the participant that publishes the track", - "maxLength": 34, + "room_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^RM[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^PA[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Room resource for the Subscribe Rules" }, - "room_sid": { - "description": "The SID of the room where the track is published", - "maxLength": 34, - "minLength": 34, + "rules": { + "type": "array", + "items": { + "type": "object", + "format": "object" + }, "nullable": true, - "pattern": "^RM[0-9a-fA-F]{32}$", - "type": "string" + "description": "A collection of Subscribe Rules that describe how to include or exclude matching tracks" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^MT[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, - "url": { - "description": "The absolute URL of the resource", - "format": "uri", + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" } - }, - "type": "object" + } }, - "video.v1.room.room_recording": { + "video.v1.room.room_participant.room_participant_subscribed_track": { + "type": "object", "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^MT[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique string that identifies the resource" + }, + "participant_sid": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^PA[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the participant that subscribes to the track" + }, + "publisher_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^PA[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the participant that publishes the track" }, - "codec": { - "description": "The codec used for the recording", - "enum": [ - "VP8", - "H264", - "OPUS", - "PCMU" - ], + "room_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RM[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the room where the track is published" }, - "container_format": { - "description": "The file format for the recording", - "enum": [ - "mka", - "mkv" - ], + "name": { + "type": "string", "nullable": true, - "type": "string" + "description": "The track name" }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, - "duration": { - "description": "The duration of the recording in seconds", + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "integer" + "description": "The ISO 8601 date and time in GMT when the resource was last updated" }, - "grouping_sids": { - "description": "A list of SIDs related to the Recording", - "nullable": true + "enabled": { + "type": "boolean", + "nullable": true, + "description": "Whether the track is enabled" }, - "links": { - "description": "The URLs of related resources", - "format": "uri-map", + "kind": { + "type": "string", + "enum": [ + "audio", + "video", + "data" + ], "nullable": true, - "type": "object" + "description": "The track type" }, - "media_external_location": { - "description": "The URL of the media file associated with the recording when stored externally", + "url": { + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" + } + } + }, + "video.v1.room.room_recording": { + "type": "object", + "properties": { + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" }, - "offset": { - "description": "The number of milliseconds between a point in time that is common to all rooms in a group and when the source room of the recording started", + "status": { + "type": "string", + "enum": [ + "processing", + "completed", + "deleted", + "failed" + ], "nullable": true, - "type": "integer" + "description": "The status of the recording" }, - "room_sid": { - "description": "The SID of the Room resource the recording is associated with", - "maxLength": 34, - "minLength": 34, + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^RM[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^RT[0-9a-fA-F]{32}$", - "type": "string" - }, - "size": { - "description": "The size of the recorded track in bytes", "nullable": true, - "type": "integer" + "description": "The unique string that identifies the resource" }, "source_sid": { - "description": "The SID of the recording source", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the recording source" }, - "status": { - "description": "The status of the recording", - "enum": [ - "processing", - "completed", - "deleted", - "failed" - ], + "size": { + "type": "integer", "nullable": true, - "type": "string" + "description": "The size of the recorded track in bytes" }, - "track_name": { - "description": "The name that was given to the source track of the recording", + "url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" }, "type": { - "description": "The recording's media type", + "type": "string", "enum": [ "audio", "video", "data" ], "nullable": true, - "type": "string" + "description": "The recording's media type" }, - "url": { - "description": "The absolute URL of the resource", - "format": "uri", + "duration": { + "type": "integer", "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "video.v1.room.room_recording_rule": { - "properties": { - "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", - "format": "date-time", + "description": "The duration of the recording in seconds" + }, + "container_format": { + "type": "string", + "enum": [ + "mka", + "mkv" + ], "nullable": true, - "type": "string" + "description": "The file format for the recording" }, - "date_updated": { - "description": "The ISO 8601 date and time in GMT when the resource was last updated", - "format": "date-time", + "codec": { + "type": "string", + "enum": [ + "VP8", + "H264", + "OPUS", + "PCMU" + ], + "nullable": true, + "description": "The codec used for the recording" + }, + "grouping_sids": { + "nullable": true, + "description": "A list of SIDs related to the Recording" + }, + "track_name": { + "type": "string", + "nullable": true, + "description": "The name that was given to the source track of the recording" + }, + "offset": { + "type": "integer", + "nullable": true, + "description": "The number of milliseconds between a point in time that is common to all rooms in a group and when the source room of the recording started" + }, + "media_external_location": { + "type": "string", + "format": "uri", "nullable": true, - "type": "string" + "description": "The URL of the media file associated with the recording when stored externally" }, "room_sid": { - "description": "The SID of the Room resource for the Recording Rules", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^RM[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Room resource the recording is associated with" + }, + "links": { + "type": "object", + "format": "uri-map", "nullable": true, + "description": "The URLs of related resources" + } + } + }, + "video.v1.room.room_recording_rule": { + "type": "object", + "properties": { + "room_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, "pattern": "^RM[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Room resource for the Recording Rules" }, "rules": { - "description": "A collection of recording Rules that describe how to include or exclude matching tracks for recording", + "type": "array", "items": { + "type": "object", "format": "recording-rule", "properties": { + "type": { + "type": "string" + }, "all": { "type": "boolean" }, - "kind": { - "type": "string" - }, "publisher": { "type": "string" }, "track": { "type": "string" }, - "type": { + "kind": { "type": "string" } - }, - "type": "object" + } }, "nullable": true, - "type": "array" + "description": "A collection of recording Rules that describe how to include or exclude matching tracks for recording" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was last updated" } - }, - "type": "object" + } } }, "securitySchemes": { "accountSid_authToken": { - "scheme": "basic", - "type": "http" + "type": "http", + "scheme": "basic" } } }, "info": { + "title": "Twilio - Video", + "description": "This is the public Twilio REST API.", + "termsOfService": "https://www.twilio.com/legal/tos", "contact": { - "email": "support@twilio.com", "name": "Twilio Support", - "url": "https://support.twilio.com" + "url": "https://support.twilio.com", + "email": "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 - Video", "version": "1.30.0" }, "openapi": "3.0.1", "paths": { - "/v1/CompositionHooks": { - "description": "Recording composition hooks", + "/v1/Compositions/{Sid}": { + "servers": [ + { + "url": "https://video.twilio.com" + } + ], + "description": "Recording compositions", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "status", + "resolution", + "format" + ], + "pathType": "instance" + }, "get": { - "description": "List of all Recording CompositionHook resources.", - "operationId": "ListCompositionHook", + "description": "Returns a single Composition resource identified by a Composition SID.", "parameters": [ { - "description": "Read only CompositionHook resources with an `enabled` value that matches this parameter.", - "in": "query", - "name": "Enabled", - "schema": { - "type": "boolean" - } - }, - { - "description": "Read only CompositionHook resources created on or after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with time zone.", - "in": "query", - "name": "DateCreatedAfter", + "name": "Sid", + "in": "path", + "description": "The SID of the Composition resource to fetch.", "schema": { - "format": "date-time", - "type": "string" - } - }, + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CJ[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/video.v1.composition" + } + } + }, + "description": "OK" + } + }, + "security": [ { - "description": "Read only CompositionHook resources created before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with time zone.", - "in": "query", - "name": "DateCreatedBefore", - "schema": { - "format": "date-time", - "type": "string" + "accountSid_authToken": [] + } + ], + "operationId": "FetchComposition", + "x-maturity": [ + "GA" + ] + }, + "delete": { + "description": "Delete a Recording Composition resource identified by a Composition SID.", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The SID of the Composition resource to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CJ[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteComposition", + "x-maturity": [ + "GA" + ] + } + }, + "/v1/Compositions": { + "servers": [ + { + "url": "https://video.twilio.com" + } + ], + "description": "Recording compositions", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "status", + "resolution", + "format" + ], + "pathType": "list" + }, + "get": { + "description": "List of all Recording compositions.", + "parameters": [ + { + "name": "Status", + "in": "query", + "description": "Read only Composition resources with this status. Can be: `enqueued`, `processing`, `completed`, `deleted`, or `failed`.", + "schema": { + "type": "string", + "enum": [ + "enqueued", + "processing", + "completed", + "deleted", + "failed" + ] } }, { - "description": "Read only CompositionHook resources with friendly names that match this string. The match is not case sensitive and can include asterisk `*` characters as wildcard match.", + "name": "DateCreatedAfter", "in": "query", - "name": "FriendlyName", + "description": "Read only Composition resources created on or after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time with time zone.", "schema": { - "type": "string" + "type": "string", + "format": "date-time" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", + "name": "DateCreatedBefore", + "in": "query", + "description": "Read only Composition resources created before this ISO 8601 date-time with time zone.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "RoomSid", "in": "query", + "description": "Read only Composition resources with this Room SID.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RM[0-9a-fA-F]{32}$" + } + }, + { "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1200,25 +1309,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListCompositionResponse", "properties": { - "composition_hooks": { + "compositions": { + "type": "array", "items": { - "$ref": "#/components/schemas/video.v1.composition_hook" - }, - "type": "array" + "$ref": "#/components/schemas/video.v1.composition" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1227,19 +1336,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListCompositionHookResponse", - "type": "object" + } } } }, @@ -1251,59 +1360,85 @@ "accountSid_authToken": [] } ], + "operationId": "ListComposition", "x-maturity": [ "GA" ] }, "post": { "description": "", - "operationId": "CreateCompositionHook", + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/video.v1.composition" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateComposition", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateCompositionRequest", "properties": { + "RoomSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RM[0-9a-fA-F]{32}$", + "description": "The SID of the Group Room with the media tracks to be used as composition sources." + }, + "VideoLayout": { + "description": "An object that describes the video layout of the composition in terms of regions. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info. Please, be aware that either video_layout or audio_sources have to be provided to get a valid creation request" + }, "AudioSources": { - "description": "An array of track names from the same group room to merge into the compositions created by the composition hook. Can include zero or more track names. A composition triggered by the composition hook includes all audio sources specified in `audio_sources` except those specified in `audio_sources_excluded`. The track names in this parameter can include an asterisk as a wild card character, which matches zero or more characters in a track name. For example, `student*` includes tracks named `student` as well as `studentTeam`.", + "type": "array", "items": { "type": "string" }, - "type": "array" + "description": "An array of track names from the same group room to merge into the new composition. Can include zero or more track names. The new composition includes all audio sources specified in `audio_sources` except for those specified in `audio_sources_excluded`. The track names in this parameter can include an asterisk as a wild card character, which will match zero or more characters in a track name. For example, `student*` includes `student` as well as `studentTeam`. Please, be aware that either video_layout or audio_sources have to be provided to get a valid creation request" }, "AudioSourcesExcluded": { - "description": "An array of track names to exclude. A composition triggered by the composition hook includes all audio sources specified in `audio_sources` except for those specified in `audio_sources_excluded`. The track names in this parameter can include an asterisk as a wild card character, which matches zero or more characters in a track name. For example, `student*` excludes `student` as well as `studentTeam`. This parameter can also be empty.", + "type": "array", "items": { "type": "string" }, - "type": "array" + "description": "An array of track names to exclude. The new composition includes all audio sources specified in `audio_sources` except for those specified in `audio_sources_excluded`. The track names in this parameter can include an asterisk as a wild card character, which will match zero or more characters in a track name. For example, `student*` excludes `student` as well as `studentTeam`. This parameter can also be empty." }, - "Enabled": { - "description": "Whether the composition hook is active. When `true`, the composition hook will be triggered for every completed Group Room in the account. When `false`, the composition hook will never be triggered.", - "type": "boolean" + "Resolution": { + "type": "string", + "description": "A string that describes the columns (width) and rows (height) of the generated composed video in pixels. Defaults to `640x480`. \nThe string's format is `{width}x{height}` where: \n\n* 16 <= `{width}` <= 1280\n* 16 <= `{height}` <= 1280\n* `{width}` * `{height}` <= 921,600\n\nTypical values are: \n\n* HD = `1280x720`\n* PAL = `1024x576`\n* VGA = `640x480`\n* CIF = `320x240`\n\nNote that the `resolution` imposes an aspect ratio to the resulting composition. When the original video tracks are constrained by the aspect ratio, they are scaled to fit. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info." }, "Format": { - "description": "The container format of the media files used by the compositions created by the composition hook. Can be: `mp4` or `webm` and the default is `webm`. If `mp4` or `webm`, `audio_sources` must have one or more tracks and/or a `video_layout` element must contain a valid `video_sources` list, otherwise an error occurs.", + "type": "string", "enum": [ "mp4", "webm" ], - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It can be up to 100 characters long and it must be unique within the account.", - "type": "string" - }, - "Resolution": { - "description": "A string that describes the columns (width) and rows (height) of the generated composed video in pixels. Defaults to `640x480`. \nThe string's format is `{width}x{height}` where: \n\n* 16 <= `{width}` <= 1280\n* 16 <= `{height}` <= 1280\n* `{width}` * `{height}` <= 921,600\n\nTypical values are: \n\n* HD = `1280x720`\n* PAL = `1024x576`\n* VGA = `640x480`\n* CIF = `320x240`\n\nNote that the `resolution` imposes an aspect ratio to the resulting composition. When the original video tracks are constrained by the aspect ratio, they are scaled to fit. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.", - "type": "string" + "description": "The container format of the composition's media files. Can be: `mp4` or `webm` and the default is `webm`. If you specify `mp4` or `webm`, you must also specify one or more `audio_sources` and/or a `video_layout` element that contains a valid `video_sources` list, otherwise an error occurs." }, "StatusCallback": { - "description": "The URL we should call using the `status_callback_method` to send status information to your application on every composition event. If not provided, status callback events will not be dispatched.", + "type": "string", "format": "uri", - "type": "string" + "description": "The URL we should call using the `status_callback_method` to send status information to your application on every composition event. If not provided, status callback events will not be dispatched." }, "StatusCallbackMethod": { - "description": "The HTTP method we should use to call `status_callback`. Can be: `POST` or `GET` and the default is `POST`.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -1312,28 +1447,55 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method we should use to call `status_callback`. Can be: `POST` or `GET` and the default is `POST`." }, "Trim": { - "description": "Whether to clip the intervals where there is no active media in the Compositions triggered by the composition hook. The default is `true`. Compositions with `trim` enabled are shorter when the Room is created and no Participant joins for a while as well as if all the Participants leave the room and join later, because those gaps will be removed. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.", - "type": "boolean" - }, - "VideoLayout": { - "description": "An object that describes the video layout of the composition hook in terms of regions. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info." + "type": "boolean", + "description": "Whether to clip the intervals where there is no active media in the composition. The default is `true`. Compositions with `trim` enabled are shorter when the Room is created and no Participant joins for a while as well as if all the Participants leave the room and join later, because those gaps will be removed. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info." } }, "required": [ - "FriendlyName" - ], - "title": "CreateCompositionHookRequest", - "type": "object" + "RoomSid" + ] } } } - }, + } + } + }, + "/v1/CompositionHooks/{Sid}": { + "servers": [ + { + "url": "https://video.twilio.com" + } + ], + "description": "Recording composition hooks", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "date_created" + ], + "pathType": "instance" + }, + "get": { + "description": "Returns a single CompositionHook resource identified by a CompositionHook SID.", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The SID of the CompositionHook resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^HK[0-9a-fA-F]{32}$" + }, + "required": true + } + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { @@ -1341,7 +1503,7 @@ } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -1349,40 +1511,25 @@ "accountSid_authToken": [] } ], + "operationId": "FetchCompositionHook", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://video.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "date_created" - ], - "pathType": "list" - } - }, - "/v1/CompositionHooks/{Sid}": { "delete": { "description": "Delete a Recording CompositionHook resource identified by a `CompositionHook SID`.", - "operationId": "DeleteCompositionHook", "parameters": [ { - "description": "The SID of the CompositionHook resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the CompositionHook resource to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^HK[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^HK[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1395,26 +1542,25 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteCompositionHook", "x-maturity": [ "GA" ] }, - "description": "Recording composition hooks", - "get": { - "description": "Returns a single CompositionHook resource identified by a CompositionHook SID.", - "operationId": "FetchCompositionHook", + "post": { + "description": "", "parameters": [ { - "description": "The SID of the CompositionHook resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the CompositionHook resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^HK[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^HK[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1434,73 +1580,66 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateCompositionHook", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "", - "operationId": "UpdateCompositionHook", - "parameters": [ - { - "description": "The SID of the CompositionHook resource to update.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^HK[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateCompositionHookRequest", "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the resource. It can be up to 100 characters long and it must be unique within the account." + }, + "Enabled": { + "type": "boolean", + "description": "Whether the composition hook is active. When `true`, the composition hook will be triggered for every completed Group Room in the account. When `false`, the composition hook never triggers." + }, + "VideoLayout": { + "description": "A JSON object that describes the video layout of the composition hook in terms of regions. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info." + }, "AudioSources": { - "description": "An array of track names from the same group room to merge into the compositions created by the composition hook. Can include zero or more track names. A composition triggered by the composition hook includes all audio sources specified in `audio_sources` except those specified in `audio_sources_excluded`. The track names in this parameter can include an asterisk as a wild card character, which matches zero or more characters in a track name. For example, `student*` includes tracks named `student` as well as `studentTeam`.", + "type": "array", "items": { "type": "string" }, - "type": "array" + "description": "An array of track names from the same group room to merge into the compositions created by the composition hook. Can include zero or more track names. A composition triggered by the composition hook includes all audio sources specified in `audio_sources` except those specified in `audio_sources_excluded`. The track names in this parameter can include an asterisk as a wild card character, which matches zero or more characters in a track name. For example, `student*` includes tracks named `student` as well as `studentTeam`." }, "AudioSourcesExcluded": { - "description": "An array of track names to exclude. A composition triggered by the composition hook includes all audio sources specified in `audio_sources` except for those specified in `audio_sources_excluded`. The track names in this parameter can include an asterisk as a wild card character, which matches zero or more characters in a track name. For example, `student*` excludes `student` as well as `studentTeam`. This parameter can also be empty.", + "type": "array", "items": { "type": "string" }, - "type": "array" + "description": "An array of track names to exclude. A composition triggered by the composition hook includes all audio sources specified in `audio_sources` except for those specified in `audio_sources_excluded`. The track names in this parameter can include an asterisk as a wild card character, which matches zero or more characters in a track name. For example, `student*` excludes `student` as well as `studentTeam`. This parameter can also be empty." }, - "Enabled": { - "description": "Whether the composition hook is active. When `true`, the composition hook will be triggered for every completed Group Room in the account. When `false`, the composition hook never triggers.", - "type": "boolean" + "Trim": { + "type": "boolean", + "description": "Whether to clip the intervals where there is no active media in the compositions triggered by the composition hook. The default is `true`. Compositions with `trim` enabled are shorter when the Room is created and no Participant joins for a while as well as if all the Participants leave the room and join later, because those gaps will be removed. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info." }, "Format": { - "description": "The container format of the media files used by the compositions created by the composition hook. Can be: `mp4` or `webm` and the default is `webm`. If `mp4` or `webm`, `audio_sources` must have one or more tracks and/or a `video_layout` element must contain a valid `video_sources` list, otherwise an error occurs.", + "type": "string", "enum": [ "mp4", "webm" ], - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It can be up to 100 characters long and it must be unique within the account.", - "type": "string" + "description": "The container format of the media files used by the compositions created by the composition hook. Can be: `mp4` or `webm` and the default is `webm`. If `mp4` or `webm`, `audio_sources` must have one or more tracks and/or a `video_layout` element must contain a valid `video_sources` list, otherwise an error occurs." }, "Resolution": { - "description": "A string that describes the columns (width) and rows (height) of the generated composed video in pixels. Defaults to `640x480`. \nThe string's format is `{width}x{height}` where: \n\n* 16 <= `{width}` <= 1280\n* 16 <= `{height}` <= 1280\n* `{width}` * `{height}` <= 921,600\n\nTypical values are: \n\n* HD = `1280x720`\n* PAL = `1024x576`\n* VGA = `640x480`\n* CIF = `320x240`\n\nNote that the `resolution` imposes an aspect ratio to the resulting composition. When the original video tracks are constrained by the aspect ratio, they are scaled to fit. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.", - "type": "string" + "type": "string", + "description": "A string that describes the columns (width) and rows (height) of the generated composed video in pixels. Defaults to `640x480`. \nThe string's format is `{width}x{height}` where: \n\n* 16 <= `{width}` <= 1280\n* 16 <= `{height}` <= 1280\n* `{width}` * `{height}` <= 921,600\n\nTypical values are: \n\n* HD = `1280x720`\n* PAL = `1024x576`\n* VGA = `640x480`\n* CIF = `320x240`\n\nNote that the `resolution` imposes an aspect ratio to the resulting composition. When the original video tracks are constrained by the aspect ratio, they are scaled to fit. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info." }, "StatusCallback": { - "description": "The URL we should call using the `status_callback_method` to send status information to your application on every composition event. If not provided, status callback events will not be dispatched.", + "type": "string", "format": "uri", - "type": "string" + "description": "The URL we should call using the `status_callback_method` to send status information to your application on every composition event. If not provided, status callback events will not be dispatched." }, "StatusCallbackMethod": { - "description": "The HTTP method we should use to call `status_callback`. Can be: `POST` or `GET` and the default is `POST`.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -1509,230 +1648,78 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" - }, - "Trim": { - "description": "Whether to clip the intervals where there is no active media in the compositions triggered by the composition hook. The default is `true`. Compositions with `trim` enabled are shorter when the Room is created and no Participant joins for a while as well as if all the Participants leave the room and join later, because those gaps will be removed. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.", - "type": "boolean" - }, - "VideoLayout": { - "description": "A JSON object that describes the video layout of the composition hook in terms of regions. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info." + "description": "The HTTP method we should use to call `status_callback`. Can be: `POST` or `GET` and the default is `POST`." } }, "required": [ "FriendlyName" - ], - "title": "UpdateCompositionHookRequest", - "type": "object" + ] } } } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/video.v1.composition_hook" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://video.twilio.com" } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "date_created" - ], - "pathType": "instance" } }, - "/v1/CompositionSettings/Default": { - "description": "Recording composition settings", - "get": { - "description": "", - "operationId": "FetchCompositionSettings", - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/video.v1.composition_settings" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "", - "operationId": "CreateCompositionSettings", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "AwsCredentialsSid": { - "description": "The SID of the stored Credential resource.", - "maxLength": 34, - "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" - }, - "AwsS3Url": { - "description": "The URL of the AWS S3 bucket where the compositions should be stored. We only support DNS-compliant URLs like `https://documentation-example-twilio-bucket/compositions`, where `compositions` is the path in which you want the compositions to be stored. This URL accepts only URI-valid characters, as described in the RFC 3986.", - "format": "uri", - "type": "string" - }, - "AwsStorageEnabled": { - "description": "Whether all compositions should be written to the `aws_s3_url`. When `false`, all compositions are stored in our cloud.", - "type": "boolean" - }, - "EncryptionEnabled": { - "description": "Whether all compositions should be stored in an encrypted form. The default is `false`.", - "type": "boolean" - }, - "EncryptionKeySid": { - "description": "The SID of the Public Key resource to use for encryption.", - "maxLength": 34, - "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the resource and show to the user in the console", - "type": "string" - } - }, - "required": [ - "FriendlyName" - ], - "title": "CreateCompositionSettingsRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/video.v1.composition_settings" - } - } - }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, + "/v1/CompositionHooks": { "servers": [ { "url": "https://video.twilio.com" } ], + "description": "Recording composition hooks", "x-twilio": { - "className": "composition_settings", "defaultOutputProperties": [ + "sid", "friendly_name", - "aws_storage_enabled", - "encryption_enabled" + "date_created" ], - "pathType": "instance" - } - }, - "/v1/Compositions": { - "description": "Recording compositions", + "pathType": "list" + }, "get": { - "description": "List of all Recording compositions.", - "operationId": "ListComposition", + "description": "List of all Recording CompositionHook resources.", "parameters": [ { - "description": "Read only Composition resources with this status. Can be: `enqueued`, `processing`, `completed`, `deleted`, or `failed`.", + "name": "Enabled", "in": "query", - "name": "Status", + "description": "Read only CompositionHook resources with an `enabled` value that matches this parameter.", "schema": { - "enum": [ - "enqueued", - "processing", - "completed", - "deleted", - "failed" - ], - "type": "string" + "type": "boolean" } }, { - "description": "Read only Composition resources created on or after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time with time zone.", - "in": "query", "name": "DateCreatedAfter", + "in": "query", + "description": "Read only CompositionHook resources created on or after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with time zone.", "schema": { - "format": "date-time", - "type": "string" + "type": "string", + "format": "date-time" } }, { - "description": "Read only Composition resources created before this ISO 8601 date-time with time zone.", - "in": "query", "name": "DateCreatedBefore", + "in": "query", + "description": "Read only CompositionHook resources created before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with time zone.", "schema": { - "format": "date-time", - "type": "string" + "type": "string", + "format": "date-time" } }, { - "description": "Read only Composition resources with this Room SID.", + "name": "FriendlyName", "in": "query", - "name": "RoomSid", + "description": "Read only CompositionHook resources with friendly names that match this string. The match is not case sensitive and can include asterisk `*` characters as wildcard match.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^RM[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", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1741,25 +1728,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListCompositionHookResponse", "properties": { - "compositions": { + "composition_hooks": { + "type": "array", "items": { - "$ref": "#/components/schemas/video.v1.composition" - }, - "type": "array" + "$ref": "#/components/schemas/video.v1.composition_hook" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1768,19 +1755,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListCompositionResponse", - "type": "object" + } } } }, @@ -1792,58 +1779,86 @@ "accountSid_authToken": [] } ], + "operationId": "ListCompositionHook", "x-maturity": [ "GA" ] }, "post": { "description": "", - "operationId": "CreateComposition", + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/video.v1.composition_hook" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateCompositionHook", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateCompositionHookRequest", "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the resource. It can be up to 100 characters long and it must be unique within the account." + }, + "Enabled": { + "type": "boolean", + "description": "Whether the composition hook is active. When `true`, the composition hook will be triggered for every completed Group Room in the account. When `false`, the composition hook will never be triggered." + }, + "VideoLayout": { + "description": "An object that describes the video layout of the composition hook in terms of regions. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info." + }, "AudioSources": { - "description": "An array of track names from the same group room to merge into the new composition. Can include zero or more track names. The new composition includes all audio sources specified in `audio_sources` except for those specified in `audio_sources_excluded`. The track names in this parameter can include an asterisk as a wild card character, which will match zero or more characters in a track name. For example, `student*` includes `student` as well as `studentTeam`. Please, be aware that either video_layout or audio_sources have to be provided to get a valid creation request", + "type": "array", "items": { "type": "string" }, - "type": "array" + "description": "An array of track names from the same group room to merge into the compositions created by the composition hook. Can include zero or more track names. A composition triggered by the composition hook includes all audio sources specified in `audio_sources` except those specified in `audio_sources_excluded`. The track names in this parameter can include an asterisk as a wild card character, which matches zero or more characters in a track name. For example, `student*` includes tracks named `student` as well as `studentTeam`." }, "AudioSourcesExcluded": { - "description": "An array of track names to exclude. The new composition includes all audio sources specified in `audio_sources` except for those specified in `audio_sources_excluded`. The track names in this parameter can include an asterisk as a wild card character, which will match zero or more characters in a track name. For example, `student*` excludes `student` as well as `studentTeam`. This parameter can also be empty.", + "type": "array", "items": { "type": "string" }, - "type": "array" + "description": "An array of track names to exclude. A composition triggered by the composition hook includes all audio sources specified in `audio_sources` except for those specified in `audio_sources_excluded`. The track names in this parameter can include an asterisk as a wild card character, which matches zero or more characters in a track name. For example, `student*` excludes `student` as well as `studentTeam`. This parameter can also be empty." + }, + "Resolution": { + "type": "string", + "description": "A string that describes the columns (width) and rows (height) of the generated composed video in pixels. Defaults to `640x480`. \nThe string's format is `{width}x{height}` where: \n\n* 16 <= `{width}` <= 1280\n* 16 <= `{height}` <= 1280\n* `{width}` * `{height}` <= 921,600\n\nTypical values are: \n\n* HD = `1280x720`\n* PAL = `1024x576`\n* VGA = `640x480`\n* CIF = `320x240`\n\nNote that the `resolution` imposes an aspect ratio to the resulting composition. When the original video tracks are constrained by the aspect ratio, they are scaled to fit. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info." }, "Format": { - "description": "The container format of the composition's media files. Can be: `mp4` or `webm` and the default is `webm`. If you specify `mp4` or `webm`, you must also specify one or more `audio_sources` and/or a `video_layout` element that contains a valid `video_sources` list, otherwise an error occurs.", + "type": "string", "enum": [ "mp4", "webm" ], - "type": "string" - }, - "Resolution": { - "description": "A string that describes the columns (width) and rows (height) of the generated composed video in pixels. Defaults to `640x480`. \nThe string's format is `{width}x{height}` where: \n\n* 16 <= `{width}` <= 1280\n* 16 <= `{height}` <= 1280\n* `{width}` * `{height}` <= 921,600\n\nTypical values are: \n\n* HD = `1280x720`\n* PAL = `1024x576`\n* VGA = `640x480`\n* CIF = `320x240`\n\nNote that the `resolution` imposes an aspect ratio to the resulting composition. When the original video tracks are constrained by the aspect ratio, they are scaled to fit. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.", - "type": "string" - }, - "RoomSid": { - "description": "The SID of the Group Room with the media tracks to be used as composition sources.", - "maxLength": 34, - "minLength": 34, - "pattern": "^RM[0-9a-fA-F]{32}$", - "type": "string" + "description": "The container format of the media files used by the compositions created by the composition hook. Can be: `mp4` or `webm` and the default is `webm`. If `mp4` or `webm`, `audio_sources` must have one or more tracks and/or a `video_layout` element must contain a valid `video_sources` list, otherwise an error occurs." }, "StatusCallback": { - "description": "The URL we should call using the `status_callback_method` to send status information to your application on every composition event. If not provided, status callback events will not be dispatched.", + "type": "string", "format": "uri", - "type": "string" + "description": "The URL we should call using the `status_callback_method` to send status information to your application on every composition event. If not provided, status callback events will not be dispatched." }, "StatusCallbackMethod": { - "description": "The HTTP method we should use to call `status_callback`. Can be: `POST` or `GET` and the default is `POST`.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -1852,118 +1867,46 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method we should use to call `status_callback`. Can be: `POST` or `GET` and the default is `POST`." }, "Trim": { - "description": "Whether to clip the intervals where there is no active media in the composition. The default is `true`. Compositions with `trim` enabled are shorter when the Room is created and no Participant joins for a while as well as if all the Participants leave the room and join later, because those gaps will be removed. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.", - "type": "boolean" - }, - "VideoLayout": { - "description": "An object that describes the video layout of the composition in terms of regions. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info. Please, be aware that either video_layout or audio_sources have to be provided to get a valid creation request" + "type": "boolean", + "description": "Whether to clip the intervals where there is no active media in the Compositions triggered by the composition hook. The default is `true`. Compositions with `trim` enabled are shorter when the Room is created and no Participant joins for a while as well as if all the Participants leave the room and join later, because those gaps will be removed. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info." } }, "required": [ - "RoomSid" - ], - "title": "CreateCompositionRequest", - "type": "object" + "FriendlyName" + ] } } } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/video.v1.composition" - } - } - }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, + } + } + }, + "/v1/CompositionSettings/Default": { "servers": [ { "url": "https://video.twilio.com" } ], + "description": "Recording composition settings", "x-twilio": { "defaultOutputProperties": [ - "sid", - "status", - "resolution", - "format" - ], - "pathType": "list" - } - }, - "/v1/Compositions/{Sid}": { - "delete": { - "description": "Delete a Recording Composition resource identified by a Composition SID.", - "operationId": "DeleteComposition", - "parameters": [ - { - "description": "The SID of the Composition resource to delete.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CJ[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } + "friendly_name", + "aws_storage_enabled", + "encryption_enabled" ], - "x-maturity": [ - "GA" - ] + "pathType": "instance", + "className": "composition_settings" }, - "description": "Recording compositions", "get": { - "description": "Returns a single Composition resource identified by a Composition SID.", - "operationId": "FetchComposition", - "parameters": [ - { - "description": "The SID of the Composition resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^CJ[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], + "description": "", "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/video.v1.composition" + "$ref": "#/components/schemas/video.v1.composition_settings" } } }, @@ -1975,40 +1918,23 @@ "accountSid_authToken": [] } ], + "operationId": "FetchCompositionSettings", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://video.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "status", - "resolution", - "format" - ], - "pathType": "instance" - } - }, - "/v1/RecordingSettings/Default": { - "description": "Recording settings", - "get": { + "post": { "description": "", - "operationId": "FetchRecordingSettings", "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/video.v1.recording_settings" + "$ref": "#/components/schemas/video.v1.composition_settings" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -2016,69 +1942,102 @@ "accountSid_authToken": [] } ], + "operationId": "CreateCompositionSettings", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "", - "operationId": "CreateRecordingSettings", + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateCompositionSettingsRequest", "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the resource and show to the user in the console" + }, "AwsCredentialsSid": { - "description": "The SID of the stored Credential resource.", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$", + "description": "The SID of the stored Credential resource." + }, + "EncryptionKeySid": { + "type": "string", "minLength": 34, + "maxLength": 34, "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Public Key resource to use for encryption." }, "AwsS3Url": { - "description": "The URL of the AWS S3 bucket where the recordings should be stored. We only support DNS-compliant URLs like `https://documentation-example-twilio-bucket/recordings`, where `recordings` is the path in which you want the recordings to be stored. This URL accepts only URI-valid characters, as described in the RFC 3986.", + "type": "string", "format": "uri", - "type": "string" + "description": "The URL of the AWS S3 bucket where the compositions should be stored. We only support DNS-compliant URLs like `https://documentation-example-twilio-bucket/compositions`, where `compositions` is the path in which you want the compositions to be stored. This URL accepts only URI-valid characters, as described in the RFC 3986." }, "AwsStorageEnabled": { - "description": "Whether all recordings should be written to the `aws_s3_url`. When `false`, all recordings are stored in our cloud.", - "type": "boolean" + "type": "boolean", + "description": "Whether all compositions should be written to the `aws_s3_url`. When `false`, all compositions are stored in our cloud." }, "EncryptionEnabled": { - "description": "Whether all recordings should be stored in an encrypted form. The default is `false`.", - "type": "boolean" - }, - "EncryptionKeySid": { - "description": "The SID of the Public Key resource to use for encryption.", - "maxLength": 34, - "minLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the resource and be shown to users in the console", - "type": "string" + "type": "boolean", + "description": "Whether all compositions should be stored in an encrypted form. The default is `false`." } }, "required": [ "FriendlyName" - ], - "title": "CreateRecordingSettingsRequest", - "type": "object" + ] } } } - }, + } + } + }, + "/v1/Recordings/{Sid}": { + "servers": [ + { + "url": "https://video.twilio.com" + } + ], + "description": "Single-track, single-media recordings", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "date_created", + "status", + "type", + "duration", + "codec" + ], + "pathType": "instance" + }, + "get": { + "description": "Returns a single Recording resource identified by a Recording SID.", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The SID of the Recording resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RT[0-9a-fA-F]{32}$" + }, + "required": true + } + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/video.v1.recording_settings" + "$ref": "#/components/schemas/video.v1.recording" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -2086,109 +2045,142 @@ "accountSid_authToken": [] } ], + "operationId": "FetchRecording", "x-maturity": [ "GA" ] }, + "delete": { + "description": "Delete a Recording resource identified by a Recording SID.", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The SID of the Recording resource to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RT[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteRecording", + "x-maturity": [ + "GA" + ] + } + }, + "/v1/Recordings": { "servers": [ { "url": "https://video.twilio.com" } ], + "description": "Single-track, single-media recordings", "x-twilio": { - "className": "recording_settings", "defaultOutputProperties": [ - "friendly_name", - "aws_storage_enabled", - "encryption_enabled" + "sid", + "date_created", + "status", + "type", + "duration", + "codec" ], - "pathType": "instance" - } - }, - "/v1/Recordings": { - "description": "Single-track, single-media recordings", + "pathType": "list" + }, "get": { "description": "List of all Track recordings.", - "operationId": "ListRecording", "parameters": [ { - "description": "Read only the recordings that have this status. Can be: `processing`, `completed`, or `deleted`.", - "in": "query", "name": "Status", + "in": "query", + "description": "Read only the recordings that have this status. Can be: `processing`, `completed`, or `deleted`.", "schema": { + "type": "string", "enum": [ "processing", "completed", "deleted", "failed" - ], - "type": "string" + ] } }, { - "description": "Read only the recordings that have this `source_sid`.", - "in": "query", "name": "SourceSid", + "in": "query", + "description": "Read only the recordings that have this `source_sid`.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$" } }, { - "description": "Read only recordings with this `grouping_sid`, which may include a `participant_sid` and/or a `room_sid`.", - "in": "query", "name": "GroupingSid", + "in": "query", + "description": "Read only recordings with this `grouping_sid`, which may include a `participant_sid` and/or a `room_sid`.", "schema": { + "type": "array", "items": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", - "type": "string" - }, - "type": "array" + "maxLength": 34, + "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$" + } } }, { - "description": "Read only recordings that started on or after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time with time zone.", - "in": "query", "name": "DateCreatedAfter", + "in": "query", + "description": "Read only recordings that started on or after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time with time zone.", "schema": { - "format": "date-time", - "type": "string" + "type": "string", + "format": "date-time" } }, { - "description": "Read only recordings that started before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time with time zone, given as `YYYY-MM-DDThh:mm:ss+|-hh:mm` or `YYYY-MM-DDThh:mm:ssZ`.", - "in": "query", "name": "DateCreatedBefore", + "in": "query", + "description": "Read only recordings that started before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time with time zone, given as `YYYY-MM-DDThh:mm:ss+|-hh:mm` or `YYYY-MM-DDThh:mm:ssZ`.", "schema": { - "format": "date-time", - "type": "string" + "type": "string", + "format": "date-time" } }, { - "description": "Read only recordings that have this media type. Can be either `audio` or `video`.", - "in": "query", "name": "MediaType", + "in": "query", + "description": "Read only recordings that have this media type. Can be either `audio` or `video`.", "schema": { + "type": "string", "enum": [ "audio", "video", "data" - ], - "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", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -2197,19 +2189,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListRecordingResponse", "properties": { + "recordings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/video.v1.recording" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -2218,25 +2216,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "recordings": { - "items": { - "$ref": "#/components/schemas/video.v1.recording" - }, - "type": "array" + } } - }, - "title": "ListRecordingResponse", - "type": "object" + } } } }, @@ -2248,48 +2240,40 @@ "accountSid_authToken": [] } ], + "operationId": "ListRecording", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/RecordingSettings/Default": { "servers": [ { "url": "https://video.twilio.com" } ], + "description": "Recording settings", "x-twilio": { "defaultOutputProperties": [ - "sid", - "date_created", - "status", - "type", - "duration", - "codec" - ], - "pathType": "list" - } - }, - "/v1/Recordings/{Sid}": { - "delete": { - "description": "Delete a Recording resource identified by a Recording SID.", - "operationId": "DeleteRecording", - "parameters": [ - { - "description": "The SID of the Recording resource to delete.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^RT[0-9a-fA-F]{32}$", - "type": "string" - } - } + "friendly_name", + "aws_storage_enabled", + "encryption_enabled" ], + "pathType": "instance", + "className": "recording_settings" + }, + "get": { + "description": "", "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/video.v1.recording_settings" + } + } + }, + "description": "OK" } }, "security": [ @@ -2297,38 +2281,23 @@ "accountSid_authToken": [] } ], + "operationId": "FetchRecordingSettings", "x-maturity": [ "GA" ] }, - "description": "Single-track, single-media recordings", - "get": { - "description": "Returns a single Recording resource identified by a Recording SID.", - "operationId": "FetchRecording", - "parameters": [ - { - "description": "The SID of the Recording resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^RT[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], + "post": { + "description": "", "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/video.v1.recording" + "$ref": "#/components/schemas/video.v1.recording_settings" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -2336,81 +2305,84 @@ "accountSid_authToken": [] } ], + "operationId": "CreateRecordingSettings", "x-maturity": [ "GA" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateRecordingSettingsRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the resource and be shown to users in the console" + }, + "AwsCredentialsSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$", + "description": "The SID of the stored Credential resource." + }, + "EncryptionKeySid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$", + "description": "The SID of the Public Key resource to use for encryption." + }, + "AwsS3Url": { + "type": "string", + "format": "uri", + "description": "The URL of the AWS S3 bucket where the recordings should be stored. We only support DNS-compliant URLs like `https://documentation-example-twilio-bucket/recordings`, where `recordings` is the path in which you want the recordings to be stored. This URL accepts only URI-valid characters, as described in the RFC 3986." + }, + "AwsStorageEnabled": { + "type": "boolean", + "description": "Whether all recordings should be written to the `aws_s3_url`. When `false`, all recordings are stored in our cloud." + }, + "EncryptionEnabled": { + "type": "boolean", + "description": "Whether all recordings should be stored in an encrypted form. The default is `false`." + } + }, + "required": [ + "FriendlyName" + ] + } + } + } + } + } + }, + "/v1/Rooms/{Sid}": { "servers": [ { "url": "https://video.twilio.com" } ], + "description": "Video rooms with one or more participants", "x-twilio": { "defaultOutputProperties": [ "sid", - "date_created", - "status", - "type", - "duration", - "codec" + "unique_name", + "status" ], "pathType": "instance" - } - }, - "/v1/Rooms": { - "description": "Video rooms with one or more participants", + }, "get": { "description": "", - "operationId": "ListRoom", "parameters": [ { - "description": "Read only the rooms with this status. Can be: `in-progress` (default) or `completed`", - "in": "query", - "name": "Status", - "schema": { - "enum": [ - "in-progress", - "completed", - "failed" - ], - "type": "string" - } - }, - { - "description": "Read only rooms with the this `unique_name`.", - "in": "query", - "name": "UniqueName", - "schema": { - "type": "string" - } - }, - { - "description": "Read only rooms that started on or after this date, given as `YYYY-MM-DD`.", - "in": "query", - "name": "DateCreatedAfter", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "description": "Read only rooms that started before this date, given as `YYYY-MM-DD`.", - "in": "query", - "name": "DateCreatedBefore", + "name": "Sid", + "in": "path", + "description": "The SID of the Room resource to fetch.", "schema": { - "format": "date-time", "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" - } + }, + "required": true } ], "responses": { @@ -2418,46 +2390,7 @@ "content": { "application/json": { "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "rooms": { - "items": { - "$ref": "#/components/schemas/video.v1.room" - }, - "type": "array" - } - }, - "title": "ListRoomResponse", - "type": "object" + "$ref": "#/components/schemas/video.v1.room" } } }, @@ -2469,60 +2402,142 @@ "accountSid_authToken": [] } ], + "operationId": "FetchRoom", "x-maturity": [ "GA" ] }, "post": { "description": "", - "operationId": "CreateRoom", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The SID of the Room resource to update.", + "schema": { + "type": "string" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/video.v1.room" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "UpdateRoom", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateRoomRequest", "properties": { - "AudioOnly": { - "description": "When set to true, indicates that the participants in the room will only publish audio. No video tracks will be allowed. Group rooms only.", - "type": "boolean" - }, - "EmptyRoomTimeout": { - "description": "Configures how long (in minutes) a room will remain active after last participant leaves. Valid values range from 1 to 60 minutes (no fractions).", - "type": "integer" - }, - "EnableTurn": { - "description": "Deprecated, now always considered to be true.", - "type": "boolean" - }, - "LargeRoom": { - "description": "When set to true, indicated that this is the large room.", - "type": "boolean" - }, - "MaxParticipantDuration": { - "description": "The maximum number of seconds a Participant can be connected to the room. The maximum possible value is 86400 seconds (24 hours). The default is 14400 seconds (4 hours).", - "type": "integer" - }, - "MaxParticipants": { - "description": "The maximum number of concurrent Participants allowed in the room. Peer-to-peer rooms can have up to 10 Participants. Small Group rooms can have up to 4 Participants. Group rooms can have up to 50 Participants.", - "type": "integer" - }, - "MediaRegion": { - "description": "The region for the media server in Group Rooms. Can be: one of the [available Media Regions](https://www.twilio.com/docs/video/ip-address-whitelisting#group-rooms-media-servers). ***This feature is not available in `peer-to-peer` rooms.***", - "type": "string" + "Status": { + "type": "string", + "enum": [ + "in-progress", + "completed", + "failed" + ], + "description": "The new status of the resource. Set to `completed` to end the room." + } + }, + "required": [ + "Status" + ] + } + } + } + } + } + }, + "/v1/Rooms": { + "servers": [ + { + "url": "https://video.twilio.com" + } + ], + "description": "Video rooms with one or more participants", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "unique_name", + "status" + ], + "pathType": "list" + }, + "post": { + "description": "", + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/video.v1.room" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateRoom", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateRoomRequest", + "properties": { + "EnableTurn": { + "type": "boolean", + "description": "Deprecated, now always considered to be true." }, - "RecordParticipantsOnConnect": { - "description": "Whether to start recording when Participants connect. ***This feature is not available in `peer-to-peer` rooms.***", - "type": "boolean" + "Type": { + "type": "string", + "enum": [ + "go", + "peer-to-peer", + "group", + "group-small" + ], + "description": "The type of room. Can be: `go`, `peer-to-peer`, `group-small`, or `group`. The default value is `group`." }, - "RecordingRules": { - "description": "A collection of Recording Rules that describe how to include or exclude matching tracks for recording" + "UniqueName": { + "type": "string", + "description": "An application-defined string that uniquely identifies the resource. It can be used as a `room_sid` in place of the resource's `sid` in the URL to address the resource, assuming it does not contain any [reserved characters](https://tools.ietf.org/html/rfc3986#section-2.2) that would need to be URL encoded. This value is unique for `in-progress` rooms. SDK clients can use this name to connect to the room. REST API clients can use this name in place of the Room SID to interact with the room as long as the room is `in-progress`." }, "StatusCallback": { - "description": "The URL we should call using the `status_callback_method` to send status information to your application on every room event. See [Status Callbacks](https://www.twilio.com/docs/video/api/status-callbacks) for more info.", + "type": "string", "format": "uri", - "type": "string" + "description": "The URL we should call using the `status_callback_method` to send status information to your application on every room event. See [Status Callbacks](https://www.twilio.com/docs/video/api/status-callbacks) for more info." }, "StatusCallbackMethod": { - "description": "The HTTP method we should use to call `status_callback`. Can be `POST` or `GET`.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -2531,141 +2546,110 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" - }, - "Type": { - "description": "The type of room. Can be: `go`, `peer-to-peer`, `group-small`, or `group`. The default value is `group`.", - "enum": [ - "go", - "peer-to-peer", - "group", - "group-small" - ], - "type": "string" + "description": "The HTTP method we should use to call `status_callback`. Can be `POST` or `GET`." }, - "UniqueName": { - "description": "An application-defined string that uniquely identifies the resource. It can be used as a `room_sid` in place of the resource's `sid` in the URL to address the resource, assuming it does not contain any [reserved characters](https://tools.ietf.org/html/rfc3986#section-2.2) that would need to be URL encoded. This value is unique for `in-progress` rooms. SDK clients can use this name to connect to the room. REST API clients can use this name in place of the Room SID to interact with the room as long as the room is `in-progress`.", - "type": "string" + "MaxParticipants": { + "type": "integer", + "description": "The maximum number of concurrent Participants allowed in the room. Peer-to-peer rooms can have up to 10 Participants. Small Group rooms can have up to 4 Participants. Group rooms can have up to 50 Participants." }, - "UnusedRoomTimeout": { - "description": "Configures how long (in minutes) a room will remain active if no one joins. Valid values range from 1 to 60 minutes (no fractions).", - "type": "integer" + "RecordParticipantsOnConnect": { + "type": "boolean", + "description": "Whether to start recording when Participants connect. ***This feature is not available in `peer-to-peer` rooms.***" }, "VideoCodecs": { - "description": "An array of the video codecs that are supported when publishing a track in the room. Can be: `VP8` and `H264`. ***This feature is not available in `peer-to-peer` rooms***", + "type": "array", "items": { + "type": "string", "enum": [ "VP8", "H264" - ], - "type": "string" + ] }, - "type": "array" + "description": "An array of the video codecs that are supported when publishing a track in the room. Can be: `VP8` and `H264`. ***This feature is not available in `peer-to-peer` rooms***" + }, + "MediaRegion": { + "type": "string", + "description": "The region for the media server in Group Rooms. Can be: one of the [available Media Regions](https://www.twilio.com/docs/video/ip-address-whitelisting#group-rooms-media-servers). ***This feature is not available in `peer-to-peer` rooms.***" + }, + "RecordingRules": { + "description": "A collection of Recording Rules that describe how to include or exclude matching tracks for recording" + }, + "AudioOnly": { + "type": "boolean", + "description": "When set to true, indicates that the participants in the room will only publish audio. No video tracks will be allowed. Group rooms only." + }, + "MaxParticipantDuration": { + "type": "integer", + "description": "The maximum number of seconds a Participant can be connected to the room. The maximum possible value is 86400 seconds (24 hours). The default is 14400 seconds (4 hours)." + }, + "EmptyRoomTimeout": { + "type": "integer", + "description": "Configures how long (in minutes) a room will remain active after last participant leaves. Valid values range from 1 to 60 minutes (no fractions)." + }, + "UnusedRoomTimeout": { + "type": "integer", + "description": "Configures how long (in minutes) a room will remain active if no one joins. Valid values range from 1 to 60 minutes (no fractions)." + }, + "LargeRoom": { + "type": "boolean", + "description": "When set to true, indicated that this is the large room." } - }, - "title": "CreateRoomRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/video.v1.room" } } - }, - "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] + } } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://video.twilio.com" } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "unique_name", - "status" - ], - "pathType": "list" - } - }, - "/v1/Rooms/{RoomSid}/Participants": { - "description": "Participants in video rooms", + }, "get": { "description": "", - "operationId": "ListRoomParticipant", "parameters": [ { - "description": "The SID of the room with the Participant resources to read.", - "in": "path", - "name": "RoomSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "Read only the participants with this status. Can be: `connected` or `disconnected`. For `in-progress` Rooms the default Status is `connected`, for `completed` Rooms only `disconnected` Participants are returned.", - "in": "query", "name": "Status", + "in": "query", + "description": "Read only the rooms with this status. Can be: `in-progress` (default) or `completed`", "schema": { + "type": "string", "enum": [ - "connected", - "disconnected" - ], - "type": "string" + "in-progress", + "completed", + "failed" + ] } }, { - "description": "Read only the Participants with this [User](https://www.twilio.com/docs/chat/rest/user-resource) `identity` value.", + "name": "UniqueName", "in": "query", - "name": "Identity", + "description": "Read only rooms with the this `unique_name`.", "schema": { "type": "string" } }, { - "description": "Read only Participants that started after this date in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#UTC) format.", - "in": "query", "name": "DateCreatedAfter", + "in": "query", + "description": "Read only rooms that started on or after this date, given as `YYYY-MM-DD`.", "schema": { - "format": "date-time", - "type": "string" + "type": "string", + "format": "date-time" } }, { - "description": "Read only Participants that started before this date in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#UTC) format.", - "in": "query", "name": "DateCreatedBefore", + "in": "query", + "description": "Read only rooms that started before this date, given as `YYYY-MM-DD`.", "schema": { - "format": "date-time", - "type": "string" + "type": "string", + "format": "date-time" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -2674,19 +2658,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListRoomResponse", "properties": { + "rooms": { + "type": "array", + "items": { + "$ref": "#/components/schemas/video.v1.room" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -2695,25 +2685,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "participants": { - "items": { - "$ref": "#/components/schemas/video.v1.room.room_participant" - }, - "type": "array" + } } - }, - "title": "ListRoomParticipantResponse", - "type": "object" + } } } }, @@ -2725,57 +2709,211 @@ "accountSid_authToken": [] } ], + "operationId": "ListRoom", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Rooms/{RoomSid}/Participants/{Sid}": { "servers": [ { "url": "https://video.twilio.com" } ], + "description": "Participants in video rooms", "x-twilio": { "defaultOutputProperties": [ "sid", "identity", "status" ], - "parent": "/Rooms", - "pathType": "list" + "pathType": "instance", + "parent": "/Rooms" + }, + "get": { + "description": "", + "parameters": [ + { + "name": "RoomSid", + "in": "path", + "description": "The SID of the room with the Participant resource to fetch.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the RoomParticipant resource to fetch.", + "schema": { + "type": "string" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/video.v1.room.room_participant" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "FetchRoomParticipant", + "x-maturity": [ + "GA" + ] + }, + "post": { + "description": "", + "parameters": [ + { + "name": "RoomSid", + "in": "path", + "description": "The SID of the room with the participant to update.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the RoomParticipant resource to update.", + "schema": { + "type": "string" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/video.v1.room.room_participant" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "UpdateRoomParticipant", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateRoomParticipantRequest", + "properties": { + "Status": { + "type": "string", + "enum": [ + "connected", + "disconnected" + ], + "description": "The new status of the resource. Can be: `connected` or `disconnected`. For `in-progress` Rooms the default Status is `connected`, for `completed` Rooms only `disconnected` Participants are returned." + } + } + } + } + } + } } }, - "/v1/Rooms/{RoomSid}/Participants/{ParticipantSid}/PublishedTracks": { - "description": "TODO: Resource-level docs", + "/v1/Rooms/{RoomSid}/Participants": { + "servers": [ + { + "url": "https://video.twilio.com" + } + ], + "description": "Participants in video rooms", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "identity", + "status" + ], + "pathType": "list", + "parent": "/Rooms" + }, "get": { - "description": "Returns a list of tracks associated with a given Participant. Only `currently` Published Tracks are in the list resource.", - "operationId": "ListRoomParticipantPublishedTrack", + "description": "", "parameters": [ { - "description": "The SID of the Room resource where the Track resources to read are published.", - "in": "path", "name": "RoomSid", - "required": true, + "in": "path", + "description": "The SID of the room with the Participant resources to read.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "Status", + "in": "query", + "description": "Read only the participants with this status. Can be: `connected` or `disconnected`. For `in-progress` Rooms the default Status is `connected`, for `completed` Rooms only `disconnected` Participants are returned.", + "schema": { + "type": "string", + "enum": [ + "connected", + "disconnected" + ] + } + }, + { + "name": "Identity", + "in": "query", + "description": "Read only the Participants with this [User](https://www.twilio.com/docs/chat/rest/user-resource) `identity` value.", + "schema": { + "type": "string" + } + }, + { + "name": "DateCreatedAfter", + "in": "query", + "description": "Read only Participants that started after this date in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#UTC) format.", "schema": { - "type": "string" + "type": "string", + "format": "date-time" } }, { - "description": "The SID of the Participant resource with the published tracks to read.", - "in": "path", - "name": "ParticipantSid", - "required": true, + "name": "DateCreatedBefore", + "in": "query", + "description": "Read only Participants that started before this date in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#UTC) format.", "schema": { - "type": "string" + "type": "string", + "format": "date-time" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -2784,19 +2922,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListRoomParticipantResponse", "properties": { + "participants": { + "type": "array", + "items": { + "$ref": "#/components/schemas/video.v1.room.room_participant" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -2805,25 +2949,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "published_tracks": { - "items": { - "$ref": "#/components/schemas/video.v1.room.room_participant.room_participant_published_track" - }, - "type": "array" + } } - }, - "title": "ListRoomParticipantPublishedTrackResponse", - "type": "object" + } } } }, @@ -2835,15 +2973,19 @@ "accountSid_authToken": [] } ], + "operationId": "ListRoomParticipant", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Rooms/{RoomSid}/Participants/{ParticipantSid}/PublishedTracks/{Sid}": { "servers": [ { "url": "https://video.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", @@ -2851,42 +2993,38 @@ "enabled", "kind" ], - "parent": "/Rooms/{RoomSid}/Participants", - "pathType": "list" - } - }, - "/v1/Rooms/{RoomSid}/Participants/{ParticipantSid}/PublishedTracks/{Sid}": { - "description": "TODO: Resource-level docs", + "pathType": "instance", + "parent": "/Rooms/{RoomSid}/Participants" + }, "get": { "description": "Returns a single Track resource represented by TrackName or SID.", - "operationId": "FetchRoomParticipantPublishedTrack", "parameters": [ { - "description": "The SID of the Room resource where the Track resource to fetch is published.", - "in": "path", "name": "RoomSid", - "required": true, + "in": "path", + "description": "The SID of the Room resource where the Track resource to fetch is published.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Participant resource with the published track to fetch.", - "in": "path", "name": "ParticipantSid", - "required": true, + "in": "path", + "description": "The SID of the Participant resource with the published track to fetch.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the RoomParticipantPublishedTrack resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the RoomParticipantPublishedTrack resource to fetch.", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -2906,15 +3044,19 @@ "accountSid_authToken": [] } ], + "operationId": "FetchRoomParticipantPublishedTrack", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Rooms/{RoomSid}/Participants/{ParticipantSid}/PublishedTracks": { "servers": [ { "url": "https://video.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", @@ -2922,32 +3064,38 @@ "enabled", "kind" ], - "parent": "/Rooms/{RoomSid}/Participants", - "pathType": "instance" - } - }, - "/v1/Rooms/{RoomSid}/Participants/{ParticipantSid}/SubscribeRules": { - "description": "TODO: Resource-level docs", + "pathType": "list", + "parent": "/Rooms/{RoomSid}/Participants" + }, "get": { - "description": "Returns a list of Subscribe Rules for the Participant.", - "operationId": "FetchRoomParticipantSubscribeRule", + "description": "Returns a list of tracks associated with a given Participant. Only `currently` Published Tracks are in the list resource.", "parameters": [ { - "description": "The SID of the Room resource where the subscribe rules to fetch apply.", - "in": "path", "name": "RoomSid", - "required": true, + "in": "path", + "description": "The SID of the Room resource where the Track resources to read are published.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Participant resource with the subscribe rules to fetch.", - "in": "path", "name": "ParticipantSid", - "required": true, + "in": "path", + "description": "The SID of the Participant resource with the published tracks to read.", "schema": { "type": "string" + }, + "required": true + }, + { + "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 } } ], @@ -2956,7 +3104,46 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/video.v1.room.room_participant.room_participant_subscribe_rule" + "type": "object", + "title": "ListRoomParticipantPublishedTrackResponse", + "properties": { + "published_tracks": { + "type": "array", + "items": { + "$ref": "#/components/schemas/video.v1.room.room_participant.room_participant_published_track" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -2968,50 +3155,53 @@ "accountSid_authToken": [] } ], + "operationId": "ListRoomParticipantPublishedTrack", "x-maturity": [ "GA" ] + } + }, + "/v1/Rooms/{RoomSid}/Participants/{ParticipantSid}/SubscribeRules": { + "servers": [ + { + "url": "https://video.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "participant_sid", + "room_sid", + "rules" + ], + "pathType": "list", + "parent": "/Rooms/{RoomSid}/Participants", + "className": "subscribe_rules" }, - "post": { - "description": "Update the Subscribe Rules for the Participant", - "operationId": "UpdateRoomParticipantSubscribeRule", + "get": { + "description": "Returns a list of Subscribe Rules for the Participant.", "parameters": [ { - "description": "The SID of the Room resource where the subscribe rules to update apply.", - "in": "path", "name": "RoomSid", - "required": true, + "in": "path", + "description": "The SID of the Room resource where the subscribe rules to fetch apply.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the Participant resource to update the Subscribe Rules.", - "in": "path", "name": "ParticipantSid", - "required": true, + "in": "path", + "description": "The SID of the Participant resource with the subscribe rules to fetch.", "schema": { "type": "string" - } + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Rules": { - "description": "A JSON-encoded array of subscribe rules. See the [Specifying Subscribe Rules](https://www.twilio.com/docs/video/api/track-subscriptions#specifying-sr) section for further information." - } - }, - "title": "UpdateRoomParticipantSubscribeRuleRequest", - "type": "object" - } - } - } - }, "responses": { - "202": { + "200": { "content": { "application/json": { "schema": { @@ -3019,7 +3209,7 @@ } } }, - "description": "Accepted" + "description": "OK" } }, "security": [ @@ -3027,110 +3217,43 @@ "accountSid_authToken": [] } ], + "operationId": "FetchRoomParticipantSubscribeRule", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://video.twilio.com" - } - ], - "x-twilio": { - "className": "subscribe_rules", - "defaultOutputProperties": [ - "participant_sid", - "room_sid", - "rules" - ], - "parent": "/Rooms/{RoomSid}/Participants", - "pathType": "list" - } - }, - "/v1/Rooms/{RoomSid}/Participants/{ParticipantSid}/SubscribedTracks": { - "description": "TODO: Resource-level docs", - "get": { - "description": "Returns a list of tracks that are subscribed for the participant.", - "operationId": "ListRoomParticipantSubscribedTrack", + "post": { + "description": "Update the Subscribe Rules for the Participant", "parameters": [ { - "description": "The SID of the Room resource with the Track resources to read.", - "in": "path", "name": "RoomSid", - "required": true, + "in": "path", + "description": "The SID of the Room resource where the subscribe rules to update apply.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the participant that subscribes to the Track resources to read.", - "in": "path", "name": "ParticipantSid", - "required": true, + "in": "path", + "description": "The SID of the Participant resource to update the Subscribe Rules.", "schema": { "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" - } + }, + "required": true } ], "responses": { - "200": { + "202": { "content": { "application/json": { "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "subscribed_tracks": { - "items": { - "$ref": "#/components/schemas/video.v1.room.room_participant.room_participant_subscribed_track" - }, - "type": "array" - } - }, - "title": "ListRoomParticipantSubscribedTrackResponse", - "type": "object" + "$ref": "#/components/schemas/video.v1.room.room_participant.room_participant_subscribe_rule" } } }, - "description": "OK" + "description": "Accepted" } }, "security": [ @@ -3138,15 +3261,34 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateRoomParticipantSubscribeRule", "x-maturity": [ "GA" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateRoomParticipantSubscribeRuleRequest", + "properties": { + "Rules": { + "description": "A JSON-encoded array of subscribe rules. See the [Specifying Subscribe Rules](https://www.twilio.com/docs/video/api/track-subscriptions#specifying-sr) section for further information." + } + } + } + } + } + } + } + }, + "/v1/Rooms/{RoomSid}/Participants/{ParticipantSid}/SubscribedTracks/{Sid}": { "servers": [ { "url": "https://video.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", @@ -3154,45 +3296,41 @@ "enabled", "kind" ], - "parent": "/Rooms/{RoomSid}/Participants", - "pathType": "list" - } - }, - "/v1/Rooms/{RoomSid}/Participants/{ParticipantSid}/SubscribedTracks/{Sid}": { - "description": "TODO: Resource-level docs", + "pathType": "instance", + "parent": "/Rooms/{RoomSid}/Participants" + }, "get": { "description": "Returns a single Track resource represented by `track_sid`. Note: This is one resource with the Video API that requires a SID, be Track Name on the subscriber side is not guaranteed to be unique.", - "operationId": "FetchRoomParticipantSubscribedTrack", "parameters": [ { - "description": "The SID of the Room where the Track resource to fetch is subscribed.", - "in": "path", "name": "RoomSid", - "required": true, + "in": "path", + "description": "The SID of the Room where the Track resource to fetch is subscribed.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the participant that subscribes to the Track resource to fetch.", - "in": "path", "name": "ParticipantSid", - "required": true, + "in": "path", + "description": "The SID of the participant that subscribes to the Track resource to fetch.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the RoomParticipantSubscribedTrack resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the RoomParticipantSubscribedTrack resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^MT[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^MT[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -3212,15 +3350,19 @@ "accountSid_authToken": [] } ], + "operationId": "FetchRoomParticipantSubscribedTrack", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Rooms/{RoomSid}/Participants/{ParticipantSid}/SubscribedTracks": { "servers": [ { "url": "https://video.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", @@ -3228,105 +3370,86 @@ "enabled", "kind" ], - "parent": "/Rooms/{RoomSid}/Participants", - "pathType": "instance" - } - }, - "/v1/Rooms/{RoomSid}/Participants/{Sid}": { - "description": "Participants in video rooms", + "pathType": "list", + "parent": "/Rooms/{RoomSid}/Participants" + }, "get": { - "description": "", - "operationId": "FetchRoomParticipant", + "description": "Returns a list of tracks that are subscribed for the participant.", "parameters": [ { - "description": "The SID of the room with the Participant resource to fetch.", - "in": "path", "name": "RoomSid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The SID of the RoomParticipant resource to fetch.", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the Room resource with the Track resources to read.", "schema": { "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/video.v1.room.room_participant" - } - } }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "", - "operationId": "UpdateRoomParticipant", - "parameters": [ + "required": true + }, { - "description": "The SID of the room with the participant to update.", + "name": "ParticipantSid", "in": "path", - "name": "RoomSid", - "required": true, + "description": "The SID of the participant that subscribes to the Track resources to read.", "schema": { "type": "string" - } + }, + "required": true }, { - "description": "The SID of the RoomParticipant resource to update.", - "in": "path", - "name": "Sid", - "required": true, + "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": "string" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Status": { - "description": "The new status of the resource. Can be: `connected` or `disconnected`. For `in-progress` Rooms the default Status is `connected`, for `completed` Rooms only `disconnected` Participants are returned.", - "enum": [ - "connected", - "disconnected" - ], - "type": "string" - } - }, - "title": "UpdateRoomParticipantRequest", - "type": "object" - } - } - } - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/video.v1.room.room_participant" + "type": "object", + "title": "ListRoomParticipantSubscribedTrackResponse", + "properties": { + "subscribed_tracks": { + "type": "array", + "items": { + "$ref": "#/components/schemas/video.v1.room.room_participant.room_participant_subscribed_track" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -3338,39 +3461,58 @@ "accountSid_authToken": [] } ], + "operationId": "ListRoomParticipantSubscribedTrack", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Rooms/{RoomSid}/Recordings/{Sid}": { "servers": [ { "url": "https://video.twilio.com" } ], + "description": "Single-track, single-media room recordings", "x-twilio": { "defaultOutputProperties": [ "sid", - "identity", - "status" + "date_created", + "status", + "type", + "duration", + "codec" ], + "pathType": "instance", "parent": "/Rooms", - "pathType": "instance" - } - }, - "/v1/Rooms/{RoomSid}/RecordingRules": { - "description": "TODO: Resource-level docs", + "className": "room_recording" + }, "get": { - "description": "Returns a list of Recording Rules for the Room.", - "operationId": "FetchRoomRecordingRule", + "description": "", "parameters": [ { - "description": "The SID of the Room resource where the recording rules to fetch apply.", - "in": "path", "name": "RoomSid", - "required": true, + "in": "path", + "description": "The SID of the Room resource with the recording to fetch.", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RM[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the RoomRecording resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RT[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -3378,7 +3520,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/video.v1.room.room_recording_rule" + "$ref": "#/components/schemas/video.v1.room.room_recording" } } }, @@ -3390,49 +3532,42 @@ "accountSid_authToken": [] } ], + "operationId": "FetchRoomRecording", "x-maturity": [ "GA" ] }, - "post": { - "description": "Update the Recording Rules for the Room", - "operationId": "UpdateRoomRecordingRule", + "delete": { + "description": "", "parameters": [ { - "description": "The SID of the Room resource where the recording rules to update apply.", - "in": "path", "name": "RoomSid", - "required": true, + "in": "path", + "description": "The SID of the room with the RoomRecording resource to delete.", "schema": { - "type": "string" - } + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RM[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The SID of the RoomRecording resource to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^RT[0-9a-fA-F]{32}$" + }, + "required": true } ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "Rules": { - "description": "A JSON-encoded array of recording rules." - } - }, - "title": "UpdateRoomRecordingRuleRequest", - "type": "object" - } - } - } - }, "responses": { - "202": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/video.v1.room.room_recording_rule" - } - } - }, - "description": "Accepted" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -3440,94 +3575,98 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteRoomRecording", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Rooms/{RoomSid}/Recordings": { "servers": [ { "url": "https://video.twilio.com" } ], + "description": "Single-track, single-media room recordings", "x-twilio": { - "className": "recording_rules", "defaultOutputProperties": [ - "room_sid", - "rules" + "sid", + "date_created", + "status", + "type", + "duration", + "codec" ], + "pathType": "list", "parent": "/Rooms", - "pathType": "list" - } - }, - "/v1/Rooms/{RoomSid}/Recordings": { - "description": "Single-track, single-media room recordings", + "className": "room_recording" + }, "get": { "description": "", - "operationId": "ListRoomRecording", "parameters": [ { - "description": "The SID of the room with the RoomRecording resources to read.", - "in": "path", "name": "RoomSid", - "required": true, + "in": "path", + "description": "The SID of the room with the RoomRecording resources to read.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^RM[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^RM[0-9a-fA-F]{32}$" + }, + "required": true }, { - "description": "Read only the recordings with this status. Can be: `processing`, `completed`, or `deleted`.", - "in": "query", "name": "Status", + "in": "query", + "description": "Read only the recordings with this status. Can be: `processing`, `completed`, or `deleted`.", "schema": { + "type": "string", "enum": [ "processing", "completed", "deleted", "failed" - ], - "type": "string" + ] } }, { - "description": "Read only the recordings that have this `source_sid`.", - "in": "query", "name": "SourceSid", + "in": "query", + "description": "Read only the recordings that have this `source_sid`.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$", - "type": "string" + "maxLength": 34, + "pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$" } }, { - "description": "Read only recordings that started on or after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with time zone.", - "in": "query", "name": "DateCreatedAfter", + "in": "query", + "description": "Read only recordings that started on or after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with time zone.", "schema": { - "format": "date-time", - "type": "string" + "type": "string", + "format": "date-time" } }, { - "description": "Read only Recordings that started before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with time zone.", - "in": "query", "name": "DateCreatedBefore", + "in": "query", + "description": "Read only Recordings that started before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with time zone.", "schema": { - "format": "date-time", - "type": "string" + "type": "string", + "format": "date-time" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -3536,19 +3675,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListRoomRecordingResponse", "properties": { + "recordings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/video.v1.room.room_recording" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -3557,25 +3702,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "recordings": { - "items": { - "$ref": "#/components/schemas/video.v1.room.room_recording" - }, - "type": "array" + } } - }, - "title": "ListRoomRecordingResponse", - "type": "object" + } } } }, @@ -3587,101 +3726,39 @@ "accountSid_authToken": [] } ], + "operationId": "ListRoomRecording", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Rooms/{RoomSid}/RecordingRules": { "servers": [ { "url": "https://video.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { - "className": "room_recording", "defaultOutputProperties": [ - "sid", - "date_created", - "status", - "type", - "duration", - "codec" + "room_sid", + "rules" ], + "pathType": "list", "parent": "/Rooms", - "pathType": "list" - } - }, - "/v1/Rooms/{RoomSid}/Recordings/{Sid}": { - "delete": { - "description": "", - "operationId": "DeleteRoomRecording", - "parameters": [ - { - "description": "The SID of the room with the RoomRecording resource to delete.", - "in": "path", - "name": "RoomSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^RM[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the RoomRecording resource to delete.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^RT[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] + "className": "recording_rules" }, - "description": "Single-track, single-media room recordings", "get": { - "description": "", - "operationId": "FetchRoomRecording", + "description": "Returns a list of Recording Rules for the Room.", "parameters": [ { - "description": "The SID of the Room resource with the recording to fetch.", - "in": "path", "name": "RoomSid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^RM[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The SID of the RoomRecording resource to fetch.", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the Room resource where the recording rules to fetch apply.", "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^RT[0-9a-fA-F]{32}$", "type": "string" - } + }, + "required": true } ], "responses": { @@ -3689,7 +3766,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/video.v1.room.room_recording" + "$ref": "#/components/schemas/video.v1.room.room_recording_rule" } } }, @@ -3701,55 +3778,34 @@ "accountSid_authToken": [] } ], + "operationId": "FetchRoomRecordingRule", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://video.twilio.com" - } - ], - "x-twilio": { - "className": "room_recording", - "defaultOutputProperties": [ - "sid", - "date_created", - "status", - "type", - "duration", - "codec" - ], - "parent": "/Rooms", - "pathType": "instance" - } - }, - "/v1/Rooms/{Sid}": { - "description": "Video rooms with one or more participants", - "get": { - "description": "", - "operationId": "FetchRoom", + "post": { + "description": "Update the Recording Rules for the Room", "parameters": [ { - "description": "The SID of the Room resource to fetch.", + "name": "RoomSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the Room resource where the recording rules to update apply.", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { - "200": { + "202": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/video.v1.room" + "$ref": "#/components/schemas/video.v1.room.room_recording_rule" } } }, - "description": "OK" + "description": "Accepted" } }, "security": [ @@ -3757,81 +3813,25 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateRoomRecordingRule", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "", - "operationId": "UpdateRoom", - "parameters": [ - { - "description": "The SID of the Room resource to update.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateRoomRecordingRuleRequest", "properties": { - "Status": { - "description": "The new status of the resource. Set to `completed` to end the room.", - "enum": [ - "in-progress", - "completed", - "failed" - ], - "type": "string" + "Rules": { + "description": "A JSON-encoded array of recording rules." } - }, - "required": [ - "Status" - ], - "title": "UpdateRoomRequest", - "type": "object" - } - } - } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/video.v1.room" } } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] + } } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://video.twilio.com" } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "unique_name", - "status" - ], - "pathType": "instance" } } }, @@ -3842,8 +3842,8 @@ ], "x-maturity": [ { - "description": "This product is Generally Available.", - "name": "GA" + "name": "GA", + "description": "This product is Generally Available." } ] } \ No newline at end of file diff --git a/spec/json/twilio_voice_v1.json b/spec/json/twilio_voice_v1.json index 27f53d0d..9c79154f 100644 --- a/spec/json/twilio_voice_v1.json +++ b/spec/json/twilio_voice_v1.json @@ -2,88 +2,63 @@ "components": { "schemas": { "voice.v1.archived_call": { + "type": "object", "properties": { "date": { - "description": "date", + "type": "string", "format": "date", "nullable": true, - "type": "string" + "description": "date" }, "sid": { - "description": "sid", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "sid" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" } - }, - "type": "object" + } }, "voice.v1.byoc_trunk": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "cnam_lookup_enabled": { - "description": "Whether Caller ID Name (CNAM) lookup is enabled for the trunk", "nullable": true, - "type": "boolean" + "description": "The SID of the Account that created the resource" }, - "connection_policy_sid": { - "description": "Origination Connection Policy (to your Carrier)", - "maxLength": 34, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^BY[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^NY[0-9a-fA-F]{32}$", - "type": "string" - }, - "date_created": { - "description": "The RFC 2822 date and time in GMT that the resource was created", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "date_updated": { - "description": "The RFC 2822 date and time in GMT that the resource was last updated", - "format": "date-time", - "nullable": true, - "type": "string" + "description": "The unique string that identifies the resource" }, "friendly_name": { - "description": "The string that you assigned to describe the resource", - "nullable": true, - "type": "string" - }, - "from_domain_sid": { - "description": "The SID of the SIP Domain that should be used in the `From` header of originating calls", - "maxLength": 34, - "minLength": 34, + "type": "string", "nullable": true, - "pattern": "^SD[0-9a-fA-F]{32}$", - "type": "string" + "description": "The string that you assigned to describe the resource" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "voice_url": { + "type": "string", + "format": "uri", "nullable": true, - "pattern": "^BY[0-9a-fA-F]{32}$", - "type": "string" + "description": "The URL we call when receiving a call" }, - "status_callback_method": { - "description": "The HTTP method we use to call status_callback_url", + "voice_method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -92,24 +67,18 @@ "PUT", "DELETE" ], - "format": "http-method", - "nullable": true, - "type": "string" - }, - "status_callback_url": { - "description": "The URL that we call with status updates", - "format": "uri", "nullable": true, - "type": "string" + "description": "The HTTP method to use with voice_url" }, - "url": { - "description": "The absolute URL of the resource", + "voice_fallback_url": { + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL we call when an error occurs while executing TwiML" }, "voice_fallback_method": { - "description": "The HTTP method used with voice_fallback_url", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -118,18 +87,18 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method used with voice_fallback_url" }, - "voice_fallback_url": { - "description": "The URL we call when an error occurs while executing TwiML", + "status_callback_url": { + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The URL that we call with status updates" }, - "voice_method": { - "description": "The HTTP method to use with voice_url", + "status_callback_method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -138,451 +107,492 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "The HTTP method we use to call status_callback_url" }, - "voice_url": { - "description": "The URL we call when receiving a call", + "cnam_lookup_enabled": { + "type": "boolean", + "nullable": true, + "description": "Whether Caller ID Name (CNAM) lookup is enabled for the trunk" + }, + "connection_policy_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^NY[0-9a-fA-F]{32}$", + "nullable": true, + "description": "Origination Connection Policy (to your Carrier)" + }, + "from_domain_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^SD[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the SIP Domain that should be used in the `From` header of originating calls" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The RFC 2822 date and time in GMT that the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The RFC 2822 date and time in GMT that the resource was last updated" + }, + "url": { + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" } - }, - "type": "object" + } }, "voice.v1.connection_policy": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^NY[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" + }, + "friendly_name": { + "type": "string", + "nullable": true, + "description": "The string that you assigned to describe the resource" }, "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was created" }, "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", + "url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" }, "links": { - "description": "The URLs of related resources", + "type": "object", "format": "uri-map", "nullable": true, - "type": "object" - }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^NY[0-9a-fA-F]{32}$", - "type": "string" - }, - "url": { - "description": "The absolute URL of the resource", - "format": "uri", - "nullable": true, - "type": "string" + "description": "The URLs of related resources" } - }, - "type": "object" + } }, "voice.v1.connection_policy.connection_policy_target": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, "connection_policy_sid": { - "description": "The SID of the Connection Policy that owns the Target", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^NY[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Connection Policy that owns the Target" + }, + "sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^NE[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^NY[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies the resource" }, - "date_created": { - "description": "The RFC 2822 date and time in GMT when the resource was created", - "format": "date-time", + "friendly_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the resource" }, - "date_updated": { - "description": "The RFC 2822 date and time in GMT when the resource was last updated", - "format": "date-time", + "target": { + "type": "string", + "format": "uri", "nullable": true, - "type": "string" + "description": "The SIP address you want Twilio to route your calls to" }, - "enabled": { - "description": "Whether the target is enabled", + "priority": { + "type": "integer", "nullable": true, - "type": "boolean" + "description": "The relative importance of the target" }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", + "weight": { + "type": "integer", "nullable": true, - "type": "string" + "description": "The value that determines the relative load the Target should receive compared to others with the same priority" }, - "priority": { - "description": "The relative importance of the target", + "enabled": { + "type": "boolean", "nullable": true, - "type": "integer" + "description": "Whether the target is enabled" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^NE[0-9a-fA-F]{32}$", - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was created" }, - "target": { - "description": "The SIP address you want Twilio to route your calls to", - "format": "uri", + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" - }, - "weight": { - "description": "The value that determines the relative load the Target should receive compared to others with the same priority", - "nullable": true, - "type": "integer" + "description": "The absolute URL of the resource" } - }, - "type": "object" + } }, "voice.v1.dialing_permissions": { - "properties": {}, - "type": "object" + "type": "object", + "properties": {} }, "voice.v1.dialing_permissions.dialing_permissions_country": { + "type": "object", "properties": { + "iso_code": { + "type": "string", + "format": "iso-country-code", + "nullable": true, + "description": "The ISO country code" + }, + "name": { + "type": "string", + "nullable": true, + "description": "The name of the country" + }, "continent": { - "description": "The name of the continent in which the country is located", + "type": "string", "nullable": true, - "type": "string" + "description": "The name of the continent in which the country is located" }, "country_codes": { - "description": "The E.164 assigned country codes(s)", + "type": "array", "items": { "type": "string" }, "nullable": true, - "type": "array" + "description": "The E.164 assigned country codes(s)" + }, + "low_risk_numbers_enabled": { + "type": "boolean", + "nullable": true, + "description": "Whether dialing to low-risk numbers is enabled" }, "high_risk_special_numbers_enabled": { - "description": "Whether dialing to high-risk special services numbers is enabled", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Whether dialing to high-risk special services numbers is enabled" }, "high_risk_tollfraud_numbers_enabled": { - "description": "Whether dialing to high-risk toll fraud numbers is enabled, else `false`", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Whether dialing to high-risk toll fraud numbers is enabled, else `false`" }, - "iso_code": { - "description": "The ISO country code", - "format": "iso-country-code", + "url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of this resource" }, "links": { - "description": "A list of URLs related to this resource", + "type": "object", "format": "uri-map", "nullable": true, - "type": "object" - }, - "low_risk_numbers_enabled": { - "description": "Whether dialing to low-risk numbers is enabled", + "description": "A list of URLs related to this resource" + } + } + }, + "voice.v1.dialing_permissions.dialing_permissions_country-instance": { + "type": "object", + "properties": { + "iso_code": { + "type": "string", + "format": "iso-country-code", "nullable": true, - "type": "boolean" + "description": "The ISO country code" }, "name": { - "description": "The name of the country", + "type": "string", "nullable": true, - "type": "string" + "description": "The name of the country" }, - "url": { - "description": "The absolute URL of this resource", - "format": "uri", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "voice.v1.dialing_permissions.dialing_permissions_country-instance": { - "properties": { "continent": { - "description": "The name of the continent in which the country is located", + "type": "string", "nullable": true, - "type": "string" + "description": "The name of the continent in which the country is located" }, "country_codes": { - "description": "The E.164 assigned country codes(s)", + "type": "array", "items": { "type": "string" }, "nullable": true, - "type": "array" + "description": "The E.164 assigned country codes(s)" + }, + "low_risk_numbers_enabled": { + "type": "boolean", + "nullable": true, + "description": "Whether dialing to low-risk numbers is enabled" }, "high_risk_special_numbers_enabled": { - "description": "Whether dialing to high-risk special services numbers is enabled", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Whether dialing to high-risk special services numbers is enabled" }, "high_risk_tollfraud_numbers_enabled": { - "description": "Whether dialing to high-risk toll fraud numbers is enabled, else `false`", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "Whether dialing to high-risk toll fraud numbers is enabled, else `false`" }, - "iso_code": { - "description": "The ISO country code", - "format": "iso-country-code", + "url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of this resource" }, "links": { - "description": "A list of URLs related to this resource", + "type": "object", "format": "uri-map", "nullable": true, - "type": "object" - }, - "low_risk_numbers_enabled": { - "description": "Whether dialing to low-risk numbers is enabled", - "nullable": true, - "type": "boolean" - }, - "name": { - "description": "The name of the country", - "nullable": true, - "type": "string" - }, - "url": { - "description": "The absolute URL of this resource", - "format": "uri", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "voice.v1.dialing_permissions.dialing_permissions_country.dialing_permissions_hrs_prefixes": { - "properties": { - "prefix": { - "description": "A prefix that includes the E.164 assigned country code", - "nullable": true, - "type": "string" + "description": "A list of URLs related to this resource" } - }, - "type": "object" + } }, "voice.v1.dialing_permissions.dialing_permissions_country_bulk_update": { + "type": "object", "properties": { "update_count": { - "description": "The number of countries updated", + "type": "integer", "nullable": true, - "type": "integer" + "description": "The number of countries updated" }, "update_request": { - "description": "A URL encoded JSON array of update objects", + "type": "string", "nullable": true, - "type": "string" + "description": "A URL encoded JSON array of update objects" } - }, - "type": "object" + } + }, + "voice.v1.dialing_permissions.dialing_permissions_country.dialing_permissions_hrs_prefixes": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "nullable": true, + "description": "A prefix that includes the E.164 assigned country code" + } + } }, "voice.v1.dialing_permissions.dialing_permissions_settings": { + "type": "object", "properties": { "dialing_permissions_inheritance": { - "description": "`true` if the sub-account will inherit voice dialing permissions from the Master Project; otherwise `false`", + "type": "boolean", "nullable": true, - "type": "boolean" + "description": "`true` if the sub-account will inherit voice dialing permissions from the Master Project; otherwise `false`" }, "url": { - "description": "The absolute URL of this resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of this resource" } - }, - "type": "object" + } }, "voice.v1.ip_record": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, - "cidr_prefix_length": { - "description": "An integer representing the length of the [CIDR](https://tools.ietf.org/html/rfc4632) prefix to use with this IP address. By default the entire IP address is used, which for IPv4 is value 32.", + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IL[0-9a-fA-F]{32}$", "nullable": true, - "type": "integer" + "description": "The unique string that identifies the resource" }, - "date_created": { - "description": "The RFC 2822 date and time in GMT that the resource was created", - "format": "date-time", + "friendly_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "The string that you assigned to describe the resource" }, - "date_updated": { - "description": "The RFC 2822 date and time in GMT that the resource was last updated", - "format": "date-time", + "ip_address": { + "type": "string", "nullable": true, - "type": "string" + "description": "An IP address in dotted decimal notation, IPv4 only." }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", + "cidr_prefix_length": { + "type": "integer", "nullable": true, - "type": "string" + "description": "An integer representing the length of the [CIDR](https://tools.ietf.org/html/rfc4632) prefix to use with this IP address. By default the entire IP address is used, which for IPv4 is value 32." }, - "ip_address": { - "description": "An IP address in dotted decimal notation, IPv4 only.", + "date_created": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was created" }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, + "date_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "pattern": "^IL[0-9a-fA-F]{32}$", - "type": "string" + "description": "The RFC 2822 date and time in GMT that the resource was last updated" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" } - }, - "type": "object" + } }, "voice.v1.source_ip_mapping": { + "type": "object", "properties": { - "date_created": { - "description": "The RFC 2822 date and time in GMT that the resource was created", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "date_updated": { - "description": "The RFC 2822 date and time in GMT that the resource was last updated", - "format": "date-time", + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IB[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique string that identifies the resource" }, "ip_record_sid": { - "description": "The unique string that identifies an IP Record", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, - "pattern": "^IL[0-9a-fA-F]{32}$", - "type": "string" - }, - "sid": { - "description": "The unique string that identifies the resource", "maxLength": 34, - "minLength": 34, + "pattern": "^IL[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^IB[0-9a-fA-F]{32}$", - "type": "string" + "description": "The unique string that identifies an IP Record" }, "sip_domain_sid": { - "description": "The unique string that identifies a SIP Domain", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^SD[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string that identifies a SIP Domain" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The RFC 2822 date and time in GMT that the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The RFC 2822 date and time in GMT that the resource was last updated" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" } - }, - "type": "object" + } } }, "securitySchemes": { "accountSid_authToken": { - "scheme": "basic", - "type": "http" + "type": "http", + "scheme": "basic" } } }, "info": { + "title": "Twilio - Voice", + "description": "This is the public Twilio REST API.", + "termsOfService": "https://www.twilio.com/legal/tos", "contact": { - "email": "support@twilio.com", "name": "Twilio Support", - "url": "https://support.twilio.com" + "url": "https://support.twilio.com", + "email": "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 - Voice", "version": "1.30.0" }, "openapi": "3.0.1", "paths": { "/v1/Archives/{Date}/Calls/{Sid}": { + "servers": [ + { + "url": "https://voice.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [], + "pathType": "instance", + "className": "archived_call" + }, "delete": { "description": "Delete an archived call record from Bulk Export. Note: this does not also delete the record from the Voice API.", - "operationId": "DeleteArchivedCall", "parameters": [ { - "description": "The date of the Call in UTC.", - "in": "path", "name": "Date", - "required": true, + "in": "path", + "description": "The date of the Call in UTC.", "schema": { - "format": "date", - "type": "string" - } + "type": "string", + "format": "date" + }, + "required": true }, { - "description": "The Twilio-provided Call SID that uniquely identifies the Call resource to delete", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided Call SID that uniquely identifies the Call resource to delete", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^CA[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^CA[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -595,88 +605,39 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteArchivedCall", "x-maturity": [ "Beta" ] - }, - "description": "TODO: Resource-level docs", + } + }, + "/v1/ByocTrunks": { "servers": [ { "url": "https://voice.twilio.com" } ], - "x-twilio": { - "className": "archived_call", - "defaultOutputProperties": [], - "pathType": "instance" - } - }, - "/v1/ByocTrunks": { "description": "BYOC Trunks allow you to bring your own voice carrier to Twilio, enabling your calls to use our Programmable Voice APIs.", - "get": { - "description": "", - "operationId": "ListByocTrunk", - "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" - } - } + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "voice_url" ], + "pathType": "list" + }, + "post": { + "description": "", "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "properties": { - "byoc_trunks": { - "items": { - "$ref": "#/components/schemas/voice.v1.byoc_trunk" - }, - "type": "array" - }, - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - } - }, - "title": "ListByocTrunkResponse", - "type": "object" + "$ref": "#/components/schemas/voice.v1.byoc_trunk" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -684,42 +645,29 @@ "accountSid_authToken": [] } ], + "operationId": "CreateByocTrunk", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "", - "operationId": "CreateByocTrunk", + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateByocTrunkRequest", "properties": { - "CnamLookupEnabled": { - "description": "Whether Caller ID Name (CNAM) lookup is enabled for the trunk. If enabled, all inbound calls to the BYOC Trunk from the United States and Canada automatically perform a CNAM Lookup and display Caller ID data on your phone. See [CNAM Lookups](https://www.twilio.com/docs/sip-trunking#CNAM) for more information.", - "type": "boolean" - }, - "ConnectionPolicySid": { - "description": "The SID of the Connection Policy that Twilio will use when routing traffic to your communications infrastructure.", - "maxLength": 34, - "minLength": 34, - "pattern": "^NY[0-9a-fA-F]{32}$", - "type": "string" - }, "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It is not unique and can be up to 255 characters long.", - "type": "string" + "type": "string", + "description": "A descriptive string that you create to describe the resource. It is not unique and can be up to 255 characters long." }, - "FromDomainSid": { - "description": "The SID of the SIP Domain that should be used in the `From` header of originating calls sent to your SIP infrastructure. If your SIP infrastructure allows users to \"call back\" an incoming call, configure this with a [SIP Domain](https://www.twilio.com/docs/voice/api/sending-sip) to ensure proper routing. If not configured, the from domain will default to \"sip.twilio.com\".", - "maxLength": 34, - "minLength": 34, - "pattern": "^SD[0-9a-fA-F]{32}$", - "type": "string" + "VoiceUrl": { + "type": "string", + "format": "uri", + "description": "The URL we should call when the BYOC Trunk receives a call." }, - "StatusCallbackMethod": { - "description": "The HTTP method we should use to call `status_callback_url`. Can be: `GET` or `POST`.", + "VoiceMethod": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -728,16 +676,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method we should use to call `voice_url`. Can be: `GET` or `POST`." }, - "StatusCallbackUrl": { - "description": "The URL that we should call to pass status parameters (such as call ended) to your application.", + "VoiceFallbackUrl": { + "type": "string", "format": "uri", - "type": "string" + "description": "The URL that we should call when an error occurs while retrieving or executing the TwiML from `voice_url`." }, "VoiceFallbackMethod": { - "description": "The HTTP method we should use to call `voice_fallback_url`. Can be: `GET` or `POST`.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -746,16 +694,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method we should use to call `voice_fallback_url`. Can be: `GET` or `POST`." }, - "VoiceFallbackUrl": { - "description": "The URL that we should call when an error occurs while retrieving or executing the TwiML from `voice_url`.", + "StatusCallbackUrl": { + "type": "string", "format": "uri", - "type": "string" + "description": "The URL that we should call to pass status parameters (such as call ended) to your application." }, - "VoiceMethod": { - "description": "The HTTP method we should use to call `voice_url`. Can be: `GET` or `POST`.", + "StatusCallbackMethod": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -764,31 +712,95 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method we should use to call `status_callback_url`. Can be: `GET` or `POST`." }, - "VoiceUrl": { - "description": "The URL we should call when the BYOC Trunk receives a call.", - "format": "uri", - "type": "string" + "CnamLookupEnabled": { + "type": "boolean", + "description": "Whether Caller ID Name (CNAM) lookup is enabled for the trunk. If enabled, all inbound calls to the BYOC Trunk from the United States and Canada automatically perform a CNAM Lookup and display Caller ID data on your phone. See [CNAM Lookups](https://www.twilio.com/docs/sip-trunking#CNAM) for more information." + }, + "ConnectionPolicySid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^NY[0-9a-fA-F]{32}$", + "description": "The SID of the Connection Policy that Twilio will use when routing traffic to your communications infrastructure." + }, + "FromDomainSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^SD[0-9a-fA-F]{32}$", + "description": "The SID of the SIP Domain that should be used in the `From` header of originating calls sent to your SIP infrastructure. If your SIP infrastructure allows users to \"call back\" an incoming call, configure this with a [SIP Domain](https://www.twilio.com/docs/voice/api/sending-sip) to ensure proper routing. If not configured, the from domain will default to \"sip.twilio.com\"." } - }, - "title": "CreateByocTrunkRequest", - "type": "object" + } } } } - }, + } + }, + "get": { + "description": "", + "parameters": [ + { + "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 + } + } + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/voice.v1.byoc_trunk" + "type": "object", + "title": "ListByocTrunkResponse", + "properties": { + "byoc_trunks": { + "type": "array", + "items": { + "$ref": "#/components/schemas/voice.v1.byoc_trunk" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -796,45 +808,53 @@ "accountSid_authToken": [] } ], + "operationId": "ListByocTrunk", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/ByocTrunks/{Sid}": { "servers": [ { "url": "https://voice.twilio.com" } ], + "description": "BYOC Trunks allow you to bring your own voice carrier to Twilio, enabling your calls to use our Programmable Voice APIs.", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name", "voice_url" ], - "pathType": "list" - } - }, - "/v1/ByocTrunks/{Sid}": { - "delete": { + "pathType": "instance" + }, + "get": { "description": "", - "operationId": "DeleteByocTrunk", "parameters": [ { - "description": "The Twilio-provided string that uniquely identifies the BYOC Trunk resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the BYOC Trunk resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BY[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BY[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/voice.v1.byoc_trunk" + } + } + }, + "description": "OK" } }, "security": [ @@ -842,26 +862,25 @@ "accountSid_authToken": [] } ], + "operationId": "FetchByocTrunk", "x-maturity": [ "GA" ] }, - "description": "BYOC Trunks allow you to bring your own voice carrier to Twilio, enabling your calls to use our Programmable Voice APIs.", - "get": { + "post": { "description": "", - "operationId": "FetchByocTrunk", "parameters": [ { - "description": "The Twilio-provided string that uniquely identifies the BYOC Trunk resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the BYOC Trunk resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^BY[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^BY[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -881,56 +900,29 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateByocTrunk", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "", - "operationId": "UpdateByocTrunk", - "parameters": [ - { - "description": "The Twilio-provided string that uniquely identifies the BYOC Trunk resource to update.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^BY[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateByocTrunkRequest", "properties": { - "CnamLookupEnabled": { - "description": "Whether Caller ID Name (CNAM) lookup is enabled for the trunk. If enabled, all inbound calls to the BYOC Trunk from the United States and Canada automatically perform a CNAM Lookup and display Caller ID data on your phone. See [CNAM Lookups](https://www.twilio.com/docs/sip-trunking#CNAM) for more information.", - "type": "boolean" - }, - "ConnectionPolicySid": { - "description": "The SID of the Connection Policy that Twilio will use when routing traffic to your communications infrastructure.", - "maxLength": 34, - "minLength": 34, - "pattern": "^NY[0-9a-fA-F]{32}$", - "type": "string" - }, "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It is not unique and can be up to 255 characters long.", - "type": "string" + "type": "string", + "description": "A descriptive string that you create to describe the resource. It is not unique and can be up to 255 characters long." }, - "FromDomainSid": { - "description": "The SID of the SIP Domain that should be used in the `From` header of originating calls sent to your SIP infrastructure. If your SIP infrastructure allows users to \"call back\" an incoming call, configure this with a [SIP Domain](https://www.twilio.com/docs/voice/api/sending-sip) to ensure proper routing. If not configured, the from domain will default to \"sip.twilio.com\".", - "maxLength": 34, - "minLength": 34, - "pattern": "^SD[0-9a-fA-F]{32}$", - "type": "string" + "VoiceUrl": { + "type": "string", + "format": "uri", + "description": "The URL we should call when the BYOC Trunk receives a call." }, - "StatusCallbackMethod": { - "description": "The HTTP method we should use to call `status_callback_url`. Can be: `GET` or `POST`.", + "VoiceMethod": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -939,16 +931,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method we should use to call `voice_url`" }, - "StatusCallbackUrl": { - "description": "The URL that we should call to pass status parameters (such as call ended) to your application.", + "VoiceFallbackUrl": { + "type": "string", "format": "uri", - "type": "string" + "description": "The URL that we should call when an error occurs while retrieving or executing the TwiML requested by `voice_url`." }, "VoiceFallbackMethod": { - "description": "The HTTP method we should use to call `voice_fallback_url`. Can be: `GET` or `POST`.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -957,16 +949,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method we should use to call `voice_fallback_url`. Can be: `GET` or `POST`." }, - "VoiceFallbackUrl": { - "description": "The URL that we should call when an error occurs while retrieving or executing the TwiML requested by `voice_url`.", + "StatusCallbackUrl": { + "type": "string", "format": "uri", - "type": "string" + "description": "The URL that we should call to pass status parameters (such as call ended) to your application." }, - "VoiceMethod": { - "description": "The HTTP method we should use to call `voice_url`", + "StatusCallbackMethod": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -975,31 +967,51 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method we should use to call `status_callback_url`. Can be: `GET` or `POST`." }, - "VoiceUrl": { - "description": "The URL we should call when the BYOC Trunk receives a call.", - "format": "uri", - "type": "string" + "CnamLookupEnabled": { + "type": "boolean", + "description": "Whether Caller ID Name (CNAM) lookup is enabled for the trunk. If enabled, all inbound calls to the BYOC Trunk from the United States and Canada automatically perform a CNAM Lookup and display Caller ID data on your phone. See [CNAM Lookups](https://www.twilio.com/docs/sip-trunking#CNAM) for more information." + }, + "ConnectionPolicySid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^NY[0-9a-fA-F]{32}$", + "description": "The SID of the Connection Policy that Twilio will use when routing traffic to your communications infrastructure." + }, + "FromDomainSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^SD[0-9a-fA-F]{32}$", + "description": "The SID of the SIP Domain that should be used in the `From` header of originating calls sent to your SIP infrastructure. If your SIP infrastructure allows users to \"call back\" an incoming call, configure this with a [SIP Domain](https://www.twilio.com/docs/voice/api/sending-sip) to ensure proper routing. If not configured, the from domain will default to \"sip.twilio.com\"." } - }, - "title": "UpdateByocTrunkRequest", - "type": "object" + } } } } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/voice.v1.byoc_trunk" - } - } + } + }, + "delete": { + "description": "", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the BYOC Trunk resource to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^BY[0-9a-fA-F]{32}$" }, - "description": "OK" + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -1007,38 +1019,77 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteByocTrunk", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/ConnectionPolicies": { "servers": [ { "url": "https://voice.twilio.com" } ], + "description": "Connection Policy for sending traffic to your communications infrastructure.", "x-twilio": { "defaultOutputProperties": [ "sid", - "friendly_name", - "voice_url" + "friendly_name" ], - "pathType": "instance" - } - }, - "/v1/ConnectionPolicies": { - "description": "Connection Policy for sending traffic to your communications infrastructure.", + "pathType": "list" + }, + "post": { + "description": "", + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/voice.v1.connection_policy" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateConnectionPolicy", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateConnectionPolicyRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the resource. It is not unique and can be up to 255 characters long." + } + } + } + } + } + } + }, "get": { "description": "", - "operationId": "ListConnectionPolicy", "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1047,25 +1098,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListConnectionPolicyResponse", "properties": { "connection_policies": { + "type": "array", "items": { "$ref": "#/components/schemas/voice.v1.connection_policy" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1074,19 +1125,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListConnectionPolicyResponse", - "type": "object" + } } } }, @@ -1098,31 +1149,44 @@ "accountSid_authToken": [] } ], + "operationId": "ListConnectionPolicy", "x-maturity": [ "GA" ] + } + }, + "/v1/ConnectionPolicies/{Sid}": { + "servers": [ + { + "url": "https://voice.twilio.com" + } + ], + "description": "Connection Policy for sending traffic to your communications infrastructure.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name" + ], + "pathType": "instance" }, - "post": { + "get": { "description": "", - "operationId": "CreateConnectionPolicy", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It is not unique and can be up to 255 characters long.", - "type": "string" - } - }, - "title": "CreateConnectionPolicyRequest", - "type": "object" - } - } + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The unique string that we created to identify the Connection Policy resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^NY[0-9a-fA-F]{32}$" + }, + "required": true } - }, + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { @@ -1130,7 +1194,7 @@ } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -1138,50 +1202,25 @@ "accountSid_authToken": [] } ], + "operationId": "FetchConnectionPolicy", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://voice.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name" - ], - "pathType": "list" - } - }, - "/v1/ConnectionPolicies/{ConnectionPolicySid}/Targets": { - "description": "Network element entry points into your communications infrastructure", - "get": { + "post": { "description": "", - "operationId": "ListConnectionPolicyTarget", "parameters": [ { - "description": "The SID of the Connection Policy from which to read the Targets.", + "name": "Sid", "in": "path", - "name": "ConnectionPolicySid", - "required": true, + "description": "The unique string that we created to identify the Connection Policy resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^NY[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" - } + "maxLength": 34, + "pattern": "^NY[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1189,46 +1228,7 @@ "content": { "application/json": { "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "targets": { - "items": { - "$ref": "#/components/schemas/voice.v1.connection_policy.connection_policy_target" - }, - "type": "array" - } - }, - "title": "ListConnectionPolicyTargetResponse", - "type": "object" + "$ref": "#/components/schemas/voice.v1.connection_policy" } } }, @@ -1240,73 +1240,46 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateConnectionPolicy", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "", - "operationId": "CreateConnectionPolicyTarget", - "parameters": [ - { - "description": "The SID of the Connection Policy that owns the Target.", - "in": "path", - "name": "ConnectionPolicySid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^NY[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateConnectionPolicyRequest", "properties": { - "Enabled": { - "description": "Whether the Target is enabled. The default is `true`.", - "type": "boolean" - }, "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It is not unique and can be up to 255 characters long.", - "type": "string" - }, - "Priority": { - "description": "The relative importance of the target. Can be an integer from 0 to 65535, inclusive, and the default is 10. The lowest number represents the most important target.", - "type": "integer" - }, - "Target": { - "description": "The SIP address you want Twilio to route your calls to. This must be a `sip:` schema. `sips` is NOT supported.", - "format": "uri", - "type": "string" - }, - "Weight": { - "description": "The value that determines the relative share of the load the Target should receive compared to other Targets with the same priority. Can be an integer from 1 to 65535, inclusive, and the default is 10. Targets with higher values receive more load than those with lower ones with the same priority.", - "type": "integer" + "type": "string", + "description": "A descriptive string that you create to describe the resource. It is not unique and can be up to 255 characters long." } - }, - "required": [ - "Target" - ], - "title": "CreateConnectionPolicyTargetRequest", - "type": "object" + } } } } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/voice.v1.connection_policy.connection_policy_target" - } - } + } + }, + "delete": { + "description": "", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The unique string that we created to identify the Connection Policy resource to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^NY[0-9a-fA-F]{32}$" }, - "description": "Created" + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -1314,103 +1287,48 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteConnectionPolicy", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/ConnectionPolicies/{ConnectionPolicySid}/Targets": { "servers": [ { "url": "https://voice.twilio.com" } ], + "description": "Network element entry points into your communications infrastructure", "x-twilio": { - "className": "connection_policy_target", "defaultOutputProperties": [ "sid", "friendly_name", "target", "enabled" ], + "pathType": "list", "parent": "/ConnectionPolicies", - "pathType": "list" - } - }, - "/v1/ConnectionPolicies/{ConnectionPolicySid}/Targets/{Sid}": { - "delete": { + "className": "connection_policy_target" + }, + "post": { "description": "", - "operationId": "DeleteConnectionPolicyTarget", "parameters": [ { - "description": "The SID of the Connection Policy that owns the Target.", - "in": "path", "name": "ConnectionPolicySid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^NY[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The unique string that we created to identify the Target resource to delete.", "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^NE[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "description": "Network element entry points into your communications infrastructure", - "get": { - "description": "", - "operationId": "FetchConnectionPolicyTarget", - "parameters": [ - { "description": "The SID of the Connection Policy that owns the Target.", - "in": "path", - "name": "ConnectionPolicySid", - "required": true, "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^NY[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The unique string that we created to identify the Target resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { "maxLength": 34, - "minLength": 34, - "pattern": "^NE[0-9a-fA-F]{32}$", - "type": "string" - } + "pattern": "^NY[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { @@ -1418,7 +1336,7 @@ } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -1426,78 +1344,118 @@ "accountSid_authToken": [] } ], + "operationId": "CreateConnectionPolicyTarget", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "", - "operationId": "UpdateConnectionPolicyTarget", - "parameters": [ - { - "description": "The SID of the Connection Policy that owns the Target.", - "in": "path", - "name": "ConnectionPolicySid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^NY[0-9a-fA-F]{32}$", - "type": "string" - } - }, - { - "description": "The unique string that we created to identify the Target resource to update.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^NE[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateConnectionPolicyTargetRequest", "properties": { - "Enabled": { - "description": "Whether the Target is enabled.", - "type": "boolean" + "Target": { + "type": "string", + "format": "uri", + "description": "The SIP address you want Twilio to route your calls to. This must be a `sip:` schema. `sips` is NOT supported." }, "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It is not unique and can be up to 255 characters long.", - "type": "string" + "type": "string", + "description": "A descriptive string that you create to describe the resource. It is not unique and can be up to 255 characters long." }, "Priority": { - "description": "The relative importance of the target. Can be an integer from 0 to 65535, inclusive. The lowest number represents the most important target.", - "type": "integer" - }, - "Target": { - "description": "The SIP address you want Twilio to route your calls to. This must be a `sip:` schema. `sips` is NOT supported.", - "format": "uri", - "type": "string" + "type": "integer", + "description": "The relative importance of the target. Can be an integer from 0 to 65535, inclusive, and the default is 10. The lowest number represents the most important target." }, "Weight": { - "description": "The value that determines the relative share of the load the Target should receive compared to other Targets with the same priority. Can be an integer from 1 to 65535, inclusive. Targets with higher values receive more load than those with lower ones with the same priority.", - "type": "integer" + "type": "integer", + "description": "The value that determines the relative share of the load the Target should receive compared to other Targets with the same priority. Can be an integer from 1 to 65535, inclusive, and the default is 10. Targets with higher values receive more load than those with lower ones with the same priority." + }, + "Enabled": { + "type": "boolean", + "description": "Whether the Target is enabled. The default is `true`." } }, - "title": "UpdateConnectionPolicyTargetRequest", - "type": "object" + "required": [ + "Target" + ] } } } - }, + } + }, + "get": { + "description": "", + "parameters": [ + { + "name": "ConnectionPolicySid", + "in": "path", + "description": "The SID of the Connection Policy from which to read the Targets.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^NY[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "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 + } + } + ], "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/voice.v1.connection_policy.connection_policy_target" + "type": "object", + "title": "ListConnectionPolicyTargetResponse", + "properties": { + "targets": { + "type": "array", + "items": { + "$ref": "#/components/schemas/voice.v1.connection_policy.connection_policy_target" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -1509,48 +1467,68 @@ "accountSid_authToken": [] } ], + "operationId": "ListConnectionPolicyTarget", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/ConnectionPolicies/{ConnectionPolicySid}/Targets/{Sid}": { "servers": [ { "url": "https://voice.twilio.com" } ], + "description": "Network element entry points into your communications infrastructure", "x-twilio": { - "className": "connection_policy_target", "defaultOutputProperties": [ "sid", "friendly_name", "target", "enabled" ], + "pathType": "instance", "parent": "/ConnectionPolicies", - "pathType": "instance" - } - }, - "/v1/ConnectionPolicies/{Sid}": { - "delete": { + "className": "connection_policy_target" + }, + "get": { "description": "", - "operationId": "DeleteConnectionPolicy", "parameters": [ { - "description": "The unique string that we created to identify the Connection Policy resource to delete.", + "name": "ConnectionPolicySid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the Connection Policy that owns the Target.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^NY[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The unique string that we created to identify the Target resource to fetch.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^NY[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^NE[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/voice.v1.connection_policy.connection_policy_target" + } + } + }, + "description": "OK" } }, "security": [ @@ -1558,26 +1536,37 @@ "accountSid_authToken": [] } ], + "operationId": "FetchConnectionPolicyTarget", "x-maturity": [ "GA" ] }, - "description": "Connection Policy for sending traffic to your communications infrastructure.", - "get": { + "post": { "description": "", - "operationId": "FetchConnectionPolicy", "parameters": [ { - "description": "The unique string that we created to identify the Connection Policy resource to fetch.", + "name": "ConnectionPolicySid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the Connection Policy that owns the Target.", "schema": { + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^NY[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The unique string that we created to identify the Target resource to update.", + "schema": { + "type": "string", "minLength": 34, - "pattern": "^NY[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^NE[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -1585,7 +1574,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/voice.v1.connection_policy" + "$ref": "#/components/schemas/voice.v1.connection_policy.connection_policy_target" } } }, @@ -1597,53 +1586,75 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateConnectionPolicyTarget", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "", - "operationId": "UpdateConnectionPolicy", - "parameters": [ - { - "description": "The unique string that we created to identify the Connection Policy resource to update.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^NY[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateConnectionPolicyTargetRequest", "properties": { "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It is not unique and can be up to 255 characters long.", - "type": "string" + "type": "string", + "description": "A descriptive string that you create to describe the resource. It is not unique and can be up to 255 characters long." + }, + "Target": { + "type": "string", + "format": "uri", + "description": "The SIP address you want Twilio to route your calls to. This must be a `sip:` schema. `sips` is NOT supported." + }, + "Priority": { + "type": "integer", + "description": "The relative importance of the target. Can be an integer from 0 to 65535, inclusive. The lowest number represents the most important target." + }, + "Weight": { + "type": "integer", + "description": "The value that determines the relative share of the load the Target should receive compared to other Targets with the same priority. Can be an integer from 1 to 65535, inclusive. Targets with higher values receive more load than those with lower ones with the same priority." + }, + "Enabled": { + "type": "boolean", + "description": "Whether the Target is enabled." } - }, - "title": "UpdateConnectionPolicyRequest", - "type": "object" + } } } } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/voice.v1.connection_policy" - } - } + } + }, + "delete": { + "description": "", + "parameters": [ + { + "name": "ConnectionPolicySid", + "in": "path", + "description": "The SID of the Connection Policy that owns the Target.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^NY[0-9a-fA-F]{32}$" }, - "description": "OK" + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "The unique string that we created to identify the Target resource to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^NE[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -1651,70 +1662,65 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteConnectionPolicyTarget", "x-maturity": [ "GA" ] - }, - "servers": [ - { - "url": "https://voice.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name" - ], - "pathType": "instance" } }, "/v1/DialingPermissions": { - "description": "TODO: Resource-level docs", "servers": [ { "url": "https://voice.twilio.com" - } - ], - "x-twilio": { - "className": "dialing_permissions", - "defaultOutputProperties": [], - "pathType": "list" - } - }, - "/v1/DialingPermissions/BulkCountryUpdates": { - "description": "TODO: Resource-level docs", - "post": { - "description": "Create a bulk update request to change voice dialing country permissions of one or more countries identified by the corresponding [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)", - "operationId": "CreateDialingPermissionsCountryBulkUpdate", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "UpdateRequest": { - "description": "URL encoded JSON array of update objects. example : `[ { \"iso_code\": \"GB\", \"low_risk_numbers_enabled\": \"true\", \"high_risk_special_numbers_enabled\":\"true\", \"high_risk_tollfraud_numbers_enabled\": \"false\" } ]`", - "type": "string" - } - }, - "required": [ - "UpdateRequest" - ], - "title": "CreateDialingPermissionsCountryBulkUpdateRequest", - "type": "object" - } - } + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [], + "pathType": "list", + "className": "dialing_permissions" + } + }, + "/v1/DialingPermissions/Countries/{IsoCode}": { + "servers": [ + { + "url": "https://voice.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "iso_code", + "name", + "continent" + ], + "pathType": "instance", + "parent": "/DialingPermissions" + }, + "get": { + "description": "Retrieve voice dialing country permissions identified by the given ISO country code", + "parameters": [ + { + "name": "IsoCode", + "in": "path", + "description": "The [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) of the DialingPermissions Country resource to fetch", + "schema": { + "type": "string", + "format": "iso-country-code" + }, + "required": true } - }, + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/voice.v1.dialing_permissions.dialing_permissions_country_bulk_update" + "$ref": "#/components/schemas/voice.v1.dialing_permissions.dialing_permissions_country-instance" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -1722,87 +1728,88 @@ "accountSid_authToken": [] } ], + "operationId": "FetchDialingPermissionsCountry", "x-maturity": [ "Preview" ] - }, + } + }, + "/v1/DialingPermissions/Countries": { "servers": [ { "url": "https://voice.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ - "update_request", - "update_count" + "iso_code", + "name", + "continent" ], - "parent": "/DialingPermissions", - "pathType": "list" - } - }, - "/v1/DialingPermissions/Countries": { - "description": "TODO: Resource-level docs", + "pathType": "list", + "parent": "/DialingPermissions" + }, "get": { "description": "Retrieve all voice dialing country permissions for this account", - "operationId": "ListDialingPermissionsCountry", "parameters": [ { - "description": "Filter to retrieve the country permissions by specifying the [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)", - "in": "query", "name": "IsoCode", + "in": "query", + "description": "Filter to retrieve the country permissions by specifying the [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)", "schema": { - "format": "iso-country-code", - "type": "string" + "type": "string", + "format": "iso-country-code" } }, { - "description": "Filter to retrieve the country permissions by specifying the continent", - "in": "query", "name": "Continent", + "in": "query", + "description": "Filter to retrieve the country permissions by specifying the continent", "schema": { "type": "string" } }, { - "description": "Filter the results by specified [country codes](https://www.itu.int/itudoc/itu-t/ob-lists/icc/e164_763.html)", - "in": "query", "name": "CountryCode", + "in": "query", + "description": "Filter the results by specified [country codes](https://www.itu.int/itudoc/itu-t/ob-lists/icc/e164_763.html)", "schema": { "type": "string" } }, { - "description": "Filter to retrieve the country permissions with dialing to low-risk numbers enabled. Can be: `true` or `false`.", - "in": "query", "name": "LowRiskNumbersEnabled", + "in": "query", + "description": "Filter to retrieve the country permissions with dialing to low-risk numbers enabled. Can be: `true` or `false`.", "schema": { "type": "boolean" } }, { - "description": "Filter to retrieve the country permissions with dialing to high-risk special service numbers enabled. Can be: `true` or `false`", - "in": "query", "name": "HighRiskSpecialNumbersEnabled", + "in": "query", + "description": "Filter to retrieve the country permissions with dialing to high-risk special service numbers enabled. Can be: `true` or `false`", "schema": { "type": "boolean" } }, { - "description": "Filter to retrieve the country permissions with dialing to high-risk [toll fraud](https://www.twilio.com/learn/voice-and-video/toll-fraud) numbers enabled. Can be: `true` or `false`.", - "in": "query", "name": "HighRiskTollfraudNumbersEnabled", + "in": "query", + "description": "Filter to retrieve the country permissions with dialing to high-risk [toll fraud](https://www.twilio.com/learn/voice-and-video/toll-fraud) numbers enabled. Can be: `true` or `false`.", "schema": { "type": "boolean" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1811,25 +1818,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListDialingPermissionsCountryResponse", "properties": { "content": { + "type": "array", "items": { "$ref": "#/components/schemas/voice.v1.dialing_permissions.dialing_permissions_country" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1838,19 +1845,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListDialingPermissionsCountryResponse", - "type": "object" + } } } }, @@ -1862,52 +1869,39 @@ "accountSid_authToken": [] } ], + "operationId": "ListDialingPermissionsCountry", "x-maturity": [ "Preview" ] - }, + } + }, + "/v1/DialingPermissions/BulkCountryUpdates": { "servers": [ { "url": "https://voice.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ - "iso_code", - "name", - "continent" - ], - "parent": "/DialingPermissions", - "pathType": "list" - } - }, - "/v1/DialingPermissions/Countries/{IsoCode}": { - "description": "TODO: Resource-level docs", - "get": { - "description": "Retrieve voice dialing country permissions identified by the given ISO country code", - "operationId": "FetchDialingPermissionsCountry", - "parameters": [ - { - "description": "The [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) of the DialingPermissions Country resource to fetch", - "in": "path", - "name": "IsoCode", - "required": true, - "schema": { - "format": "iso-country-code", - "type": "string" - } - } + "update_request", + "update_count" ], + "pathType": "list", + "parent": "/DialingPermissions" + }, + "post": { + "description": "Create a bulk update request to change voice dialing country permissions of one or more countries identified by the corresponding [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)", "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/voice.v1.dialing_permissions.dialing_permissions_country-instance" + "$ref": "#/components/schemas/voice.v1.dialing_permissions.dialing_permissions_country_bulk_update" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -1915,49 +1909,67 @@ "accountSid_authToken": [] } ], + "operationId": "CreateDialingPermissionsCountryBulkUpdate", "x-maturity": [ "Preview" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateDialingPermissionsCountryBulkUpdateRequest", + "properties": { + "UpdateRequest": { + "type": "string", + "description": "URL encoded JSON array of update objects. example : `[ { \"iso_code\": \"GB\", \"low_risk_numbers_enabled\": \"true\", \"high_risk_special_numbers_enabled\":\"true\", \"high_risk_tollfraud_numbers_enabled\": \"false\" } ]`" + } + }, + "required": [ + "UpdateRequest" + ] + } + } + } + } + } + }, + "/v1/DialingPermissions/Countries/{IsoCode}/HighRiskSpecialPrefixes": { "servers": [ { "url": "https://voice.twilio.com" } ], + "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ - "iso_code", - "name", - "continent" + "prefix" ], - "parent": "/DialingPermissions", - "pathType": "instance" - } - }, - "/v1/DialingPermissions/Countries/{IsoCode}/HighRiskSpecialPrefixes": { - "description": "TODO: Resource-level docs", + "pathType": "list", + "parent": "/DialingPermissions/Countries", + "className": "highrisk_special_prefix" + }, "get": { "description": "Fetch the high-risk special services prefixes from the country resource corresponding to the [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)", - "operationId": "ListDialingPermissionsHrsPrefixes", "parameters": [ { - "description": "The [ISO 3166-1 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) to identify the country permissions from which high-risk special service number prefixes are fetched", - "in": "path", "name": "IsoCode", - "required": true, + "in": "path", + "description": "The [ISO 3166-1 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) to identify the country permissions from which high-risk special service number prefixes are fetched", "schema": { - "format": "iso-country-code", - "type": "string" - } + "type": "string", + "format": "iso-country-code" + }, + "required": true }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1966,25 +1978,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListDialingPermissionsHrsPrefixesResponse", "properties": { "content": { + "type": "array", "items": { "$ref": "#/components/schemas/voice.v1.dialing_permissions.dialing_permissions_country.dialing_permissions_hrs_prefixes" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1993,23 +2005,87 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListDialingPermissionsHrsPrefixesResponse", - "type": "object" + } + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "ListDialingPermissionsHrsPrefixes", + "x-maturity": [ + "Preview" + ] + } + }, + "/v1/Settings": { + "servers": [ + { + "url": "https://voice.twilio.com" + } + ], + "description": "TODO: Resource-level docs", + "x-twilio": { + "defaultOutputProperties": [ + "dialing_permissions_inheritance" + ], + "pathType": "instance", + "parent": "/DialingPermissions", + "className": "settings" + }, + "get": { + "description": "Retrieve voice dialing permissions inheritance for the sub-account", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/voice.v1.dialing_permissions.dialing_permissions_settings" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "FetchDialingPermissionsSettings", + "x-maturity": [ + "Preview" + ] + }, + "post": { + "description": "Update voice dialing permissions inheritance for the sub-account", + "responses": { + "202": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/voice.v1.dialing_permissions.dialing_permissions_settings" } } }, - "description": "OK" + "description": "Accepted" } }, "security": [ @@ -2017,38 +2093,106 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateDialingPermissionsSettings", "x-maturity": [ "Preview" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateDialingPermissionsSettingsRequest", + "properties": { + "DialingPermissionsInheritance": { + "type": "boolean", + "description": "`true` for the sub-account to inherit voice dialing permissions from the Master Project; otherwise `false`." + } + } + } + } + } + } + } + }, + "/v1/IpRecords": { "servers": [ { "url": "https://voice.twilio.com" } ], + "description": "IP Records hold information about the IP addresses and ranges ([CIDR](https://tools.ietf.org/html/rfc4632) blocks) that your traffic will be associated with.", "x-twilio": { - "className": "highrisk_special_prefix", "defaultOutputProperties": [ - "prefix" + "sid", + "friendly_name", + "ip_address", + "cidr_prefix_length" ], - "parent": "/DialingPermissions/Countries", "pathType": "list" - } - }, - "/v1/IpRecords": { - "description": "IP Records hold information about the IP addresses and ranges ([CIDR](https://tools.ietf.org/html/rfc4632) blocks) that your traffic will be associated with.", + }, + "post": { + "description": "", + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/voice.v1.ip_record" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateIpRecord", + "x-maturity": [ + "GA" + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateIpRecordRequest", + "properties": { + "IpAddress": { + "type": "string", + "description": "An IP address in dotted decimal notation, IPv4 only." + }, + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the resource. It is not unique and can be up to 255 characters long." + }, + "CidrPrefixLength": { + "type": "integer", + "description": "An integer representing the length of the [CIDR](https://tools.ietf.org/html/rfc4632) prefix to use with this IP address. By default the entire IP address is used, which for IPv4 is value 32." + } + }, + "required": [ + "IpAddress" + ] + } + } + } + } + }, "get": { "description": "", - "operationId": "ListIpRecord", "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -2057,25 +2201,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListIpRecordResponse", "properties": { "ip_records": { + "type": "array", "items": { "$ref": "#/components/schemas/voice.v1.ip_record" - }, - "type": "array" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -2084,74 +2228,23 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListIpRecordResponse", - "type": "object" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "", - "operationId": "CreateIpRecord", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "CidrPrefixLength": { - "description": "An integer representing the length of the [CIDR](https://tools.ietf.org/html/rfc4632) prefix to use with this IP address. By default the entire IP address is used, which for IPv4 is value 32.", - "type": "integer" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It is not unique and can be up to 255 characters long.", - "type": "string" - }, - "IpAddress": { - "description": "An IP address in dotted decimal notation, IPv4 only.", - "type": "string" } - }, - "required": [ - "IpAddress" - ], - "title": "CreateIpRecordRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/voice.v1.ip_record" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -2159,15 +2252,19 @@ "accountSid_authToken": [] } ], + "operationId": "ListIpRecord", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/IpRecords/{Sid}": { "servers": [ { "url": "https://voice.twilio.com" } ], + "description": "IP Records hold information about the IP addresses and ranges ([CIDR](https://tools.ietf.org/html/rfc4632) blocks) that your traffic will be associated with.", "x-twilio": { "defaultOutputProperties": [ "sid", @@ -2175,30 +2272,34 @@ "ip_address", "cidr_prefix_length" ], - "pathType": "list" - } - }, - "/v1/IpRecords/{Sid}": { - "delete": { + "pathType": "instance" + }, + "get": { "description": "", - "operationId": "DeleteIpRecord", "parameters": [ { - "description": "The Twilio-provided string that uniquely identifies the IP Record resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the IP Record resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IL[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IL[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/voice.v1.ip_record" + } + } + }, + "description": "OK" } }, "security": [ @@ -2206,26 +2307,25 @@ "accountSid_authToken": [] } ], + "operationId": "FetchIpRecord", "x-maturity": [ "GA" ] }, - "description": "IP Records hold information about the IP addresses and ranges ([CIDR](https://tools.ietf.org/html/rfc4632) blocks) that your traffic will be associated with.", - "get": { + "post": { "description": "", - "operationId": "FetchIpRecord", "parameters": [ { - "description": "The Twilio-provided string that uniquely identifies the IP Record resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the IP Record resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IL[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IL[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2245,53 +2345,46 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateIpRecord", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "", - "operationId": "UpdateIpRecord", - "parameters": [ - { - "description": "The Twilio-provided string that uniquely identifies the IP Record resource to update.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IL[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateIpRecordRequest", "properties": { "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It is not unique and can be up to 255 characters long.", - "type": "string" + "type": "string", + "description": "A descriptive string that you create to describe the resource. It is not unique and can be up to 255 characters long." } - }, - "title": "UpdateIpRecordRequest", - "type": "object" + } } } } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/voice.v1.ip_record" - } - } + } + }, + "delete": { + "description": "", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the IP Record resource to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IL[0-9a-fA-F]{32}$" }, - "description": "OK" + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -2299,40 +2392,39 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteIpRecord", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/SourceIpMappings": { "servers": [ { "url": "https://voice.twilio.com" } ], + "description": "With Source IP Mappings, Twilio can recognize your SIP requests based on where they are sent from. The Request-URI no longer has to have the FQDN (Fully Qualified Domain Name) of your SIP Domain.", "x-twilio": { "defaultOutputProperties": [ "sid", - "friendly_name", - "ip_address", - "cidr_prefix_length" - ], - "pathType": "instance" - } - }, - "/v1/Settings": { - "description": "TODO: Resource-level docs", - "get": { - "description": "Retrieve voice dialing permissions inheritance for the sub-account", - "operationId": "FetchDialingPermissionsSettings", + "ip_record_sid", + "sip_domain_sid" + ], + "pathType": "list" + }, + "post": { + "description": "", "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/voice.v1.dialing_permissions.dialing_permissions_settings" + "$ref": "#/components/schemas/voice.v1.source_ip_mapping" } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -2340,78 +2432,52 @@ "accountSid_authToken": [] } ], + "operationId": "CreateSourceIpMapping", "x-maturity": [ - "Preview" - ] - }, - "post": { - "description": "Update voice dialing permissions inheritance for the sub-account", - "operationId": "UpdateDialingPermissionsSettings", + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "CreateSourceIpMappingRequest", "properties": { - "DialingPermissionsInheritance": { - "description": "`true` for the sub-account to inherit voice dialing permissions from the Master Project; otherwise `false`.", - "type": "boolean" + "IpRecordSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IL[0-9a-fA-F]{32}$", + "description": "The Twilio-provided string that uniquely identifies the IP Record resource to map from." + }, + "SipDomainSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^SD[0-9a-fA-F]{32}$", + "description": "The SID of the SIP Domain that the IP Record should be mapped to." } }, - "title": "UpdateDialingPermissionsSettingsRequest", - "type": "object" + "required": [ + "IpRecordSid", + "SipDomainSid" + ] } } } - }, - "responses": { - "202": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/voice.v1.dialing_permissions.dialing_permissions_settings" - } - } - }, - "description": "Accepted" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "Preview" - ] - }, - "servers": [ - { - "url": "https://voice.twilio.com" } - ], - "x-twilio": { - "className": "settings", - "defaultOutputProperties": [ - "dialing_permissions_inheritance" - ], - "parent": "/DialingPermissions", - "pathType": "instance" - } - }, - "/v1/SourceIpMappings": { - "description": "With Source IP Mappings, Twilio can recognize your SIP requests based on where they are sent from. The Request-URI no longer has to have the FQDN (Fully Qualified Domain Name) of your SIP Domain.", + }, "get": { "description": "", - "operationId": "ListSourceIpMapping", "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -2420,19 +2486,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListSourceIpMappingResponse", "properties": { + "source_ip_mappings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/voice.v1.source_ip_mapping" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -2441,83 +2513,23 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "source_ip_mappings": { - "items": { - "$ref": "#/components/schemas/voice.v1.source_ip_mapping" - }, - "type": "array" + } } - }, - "title": "ListSourceIpMappingResponse", - "type": "object" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, - "post": { - "description": "", - "operationId": "CreateSourceIpMapping", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "IpRecordSid": { - "description": "The Twilio-provided string that uniquely identifies the IP Record resource to map from.", - "maxLength": 34, - "minLength": 34, - "pattern": "^IL[0-9a-fA-F]{32}$", - "type": "string" - }, - "SipDomainSid": { - "description": "The SID of the SIP Domain that the IP Record should be mapped to.", - "maxLength": 34, - "minLength": 34, - "pattern": "^SD[0-9a-fA-F]{32}$", - "type": "string" } - }, - "required": [ - "IpRecordSid", - "SipDomainSid" - ], - "title": "CreateSourceIpMappingRequest", - "type": "object" - } - } - } - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/voice.v1.source_ip_mapping" } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -2525,45 +2537,53 @@ "accountSid_authToken": [] } ], + "operationId": "ListSourceIpMapping", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/SourceIpMappings/{Sid}": { "servers": [ { "url": "https://voice.twilio.com" } ], + "description": "With Source IP Mappings, Twilio can recognize your SIP requests based on where they are sent from. The Request-URI no longer has to have the FQDN (Fully Qualified Domain Name) of your SIP Domain.", "x-twilio": { "defaultOutputProperties": [ "sid", "ip_record_sid", "sip_domain_sid" ], - "pathType": "list" - } - }, - "/v1/SourceIpMappings/{Sid}": { - "delete": { + "pathType": "instance" + }, + "get": { "description": "", - "operationId": "DeleteSourceIpMapping", "parameters": [ { - "description": "The Twilio-provided string that uniquely identifies the IP Record resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the IP Record resource to fetch.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IB[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IB[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/voice.v1.source_ip_mapping" + } + } + }, + "description": "OK" } }, "security": [ @@ -2571,26 +2591,25 @@ "accountSid_authToken": [] } ], + "operationId": "FetchSourceIpMapping", "x-maturity": [ "GA" ] }, - "description": "With Source IP Mappings, Twilio can recognize your SIP requests based on where they are sent from. The Request-URI no longer has to have the FQDN (Fully Qualified Domain Name) of your SIP Domain.", - "get": { + "post": { "description": "", - "operationId": "FetchSourceIpMapping", "parameters": [ { - "description": "The Twilio-provided string that uniquely identifies the IP Record resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the IP Record resource to update.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^IB[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^IB[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -2610,59 +2629,52 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateSourceIpMapping", "x-maturity": [ "GA" - ] - }, - "post": { - "description": "", - "operationId": "UpdateSourceIpMapping", - "parameters": [ - { - "description": "The Twilio-provided string that uniquely identifies the IP Record resource to update.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^IB[0-9a-fA-F]{32}$", - "type": "string" - } - } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateSourceIpMappingRequest", "properties": { "SipDomainSid": { - "description": "The SID of the SIP Domain that the IP Record should be mapped to.", - "maxLength": 34, + "type": "string", "minLength": 34, + "maxLength": 34, "pattern": "^SD[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the SIP Domain that the IP Record should be mapped to." } }, "required": [ "SipDomainSid" - ], - "title": "UpdateSourceIpMappingRequest", - "type": "object" + ] } } } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/voice.v1.source_ip_mapping" - } - } + } + }, + "delete": { + "description": "", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The Twilio-provided string that uniquely identifies the IP Record resource to delete.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IB[0-9a-fA-F]{32}$" }, - "description": "OK" + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -2670,22 +2682,10 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteSourceIpMapping", "x-maturity": [ "GA" ] - }, - "servers": [ - { - "url": "https://voice.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "ip_record_sid", - "sip_domain_sid" - ], - "pathType": "instance" } } }, @@ -2696,16 +2696,16 @@ ], "x-maturity": [ { - "description": "This product is Generally Available.", - "name": "GA" + "name": "GA", + "description": "This product is Generally Available." }, { - "description": "PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution.", - "name": "Beta" + "name": "Beta", + "description": "PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution." }, { - "description": "PLEASE NOTE that this is a Preview product that is subject to change. Use it with caution. If you currently do not have developer preview access, please contact help@twilio.com.", - "name": "Preview" + "name": "Preview", + "description": "PLEASE NOTE that this is a Preview product that is subject to change. Use it with caution. If you currently do not have developer preview access, please contact help@twilio.com." } ] } \ No newline at end of file diff --git a/spec/json/twilio_wireless_v1.json b/spec/json/twilio_wireless_v1.json index dbfac064..2b6e6465 100644 --- a/spec/json/twilio_wireless_v1.json +++ b/spec/json/twilio_wireless_v1.json @@ -2,98 +2,87 @@ "components": { "schemas": { "wireless.v1.account_usage_record": { + "type": "object", "properties": { "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "period": { + "nullable": true, + "description": "The time period for which usage is reported" }, "commands": { - "description": "An object that describes the aggregated Commands usage for all SIMs during the specified period", - "nullable": true + "nullable": true, + "description": "An object that describes the aggregated Commands usage for all SIMs during the specified period" }, "data": { - "description": "An object that describes the aggregated Data usage for all SIMs over the period", - "nullable": true - }, - "period": { - "description": "The time period for which usage is reported", - "nullable": true + "nullable": true, + "description": "An object that describes the aggregated Data usage for all SIMs over the period" } - }, - "type": "object" + } }, "wireless.v1.command": { + "type": "object", "properties": { + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^DC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique string that identifies the resource" + }, "account_sid": { - "description": "The SID of the Account that created the resource", + "type": "string", + "minLength": 34, "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "sim_sid": { + "type": "string", "minLength": 34, + "maxLength": 34, + "pattern": "^DE[0-9a-fA-F]{32}$", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The SID of the Sim resource that the Command was sent to or from" }, "command": { - "description": "The message being sent to or from the SIM", + "type": "string", "nullable": true, - "type": "string" + "description": "The message being sent to or from the SIM" }, "command_mode": { - "description": "The mode used to send the SMS message", + "type": "string", "enum": [ "text", "binary" ], "nullable": true, - "type": "string" - }, - "date_created": { - "description": "The 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 date and time in GMT when the resource was last updated format", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "delivery_receipt_requested": { - "description": "Whether to request a delivery receipt", - "nullable": true, - "type": "boolean" + "description": "The mode used to send the SMS message" }, - "direction": { - "description": "The direction of the Command", + "transport": { + "type": "string", "enum": [ - "from_sim", - "to_sim" + "sms", + "ip" ], "nullable": true, - "type": "string" - }, - "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^DC[0-9a-fA-F]{32}$", - "type": "string" + "description": "The type of transport used" }, - "sim_sid": { - "description": "The SID of the Sim resource that the Command was sent to or from", - "maxLength": 34, - "minLength": 34, + "delivery_receipt_requested": { + "type": "boolean", "nullable": true, - "pattern": "^DE[0-9a-fA-F]{32}$", - "type": "string" + "description": "Whether to request a delivery receipt" }, "status": { - "description": "The status of the Command", + "type": "string", "enum": [ "queued", "sent", @@ -102,217 +91,303 @@ "failed" ], "nullable": true, - "type": "string" + "description": "The status of the Command" }, - "transport": { - "description": "The type of transport used", + "direction": { + "type": "string", "enum": [ - "sms", - "ip" + "from_sim", + "to_sim" ], "nullable": true, - "type": "string" + "description": "The direction of the Command" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was created" + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The ISO 8601 date and time in GMT when the resource was last updated format" }, "url": { - "description": "The absolute URL of the resource", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" } - }, - "type": "object" + } }, - "wireless.v1.rate_plan": { + "wireless.v1.sim.data_session": { + "type": "object", "properties": { + "sid": { + "type": "string", + "nullable": true, + "description": "The unique string that identifies the resource" + }, + "sim_sid": { + "type": "string", + "nullable": true, + "description": "The SID of the Sim resource that the Data Session is for" + }, "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" }, - "data_enabled": { - "description": "Whether SIMs can use GPRS/3G/4G/LTE data connectivity", + "radio_link": { + "type": "string", "nullable": true, - "type": "boolean" + "description": "The generation of wireless technology that the device was using" }, - "data_limit": { - "description": "The total data usage in Megabytes that the Network allows during one month on the home network", + "operator_mcc": { + "type": "string", "nullable": true, - "type": "integer" + "description": "The 'mobile country code' is the unique ID of the home country where the Data Session took place" }, - "data_metering": { - "description": "The model used to meter data usage", + "operator_mnc": { + "type": "string", "nullable": true, - "type": "string" + "description": "The 'mobile network code' is the unique ID specific to the mobile operator network where the Data Session took place" }, - "date_created": { - "description": "The date when the resource was created, given as GMT in ISO 8601 format", - "format": "date-time", + "operator_country": { + "type": "string", "nullable": true, - "type": "string" + "description": "The three letter country code representing where the device's Data Session took place" }, - "date_updated": { - "description": "The date when the resource was last updated, given as GMT in ISO 8601 format", - "format": "date-time", + "operator_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "The friendly name of the mobile operator network that the SIM-connected device is attached to" }, - "friendly_name": { - "description": "The string that you assigned to describe the resource", + "cell_id": { + "type": "string", "nullable": true, - "type": "string" + "description": "The unique ID of the cellular tower that the device was attached to at the moment when the Data Session was last updated" }, - "international_roaming": { - "description": "The services that SIMs capable of using GPRS/3G/4G/LTE data connectivity can use outside of the United States", - "items": { - "type": "string" - }, + "cell_location_estimate": { "nullable": true, - "type": "array" + "description": "An object with the estimated location where the device's Data Session took place" }, - "international_roaming_data_limit": { - "description": "The total data usage (download and upload combined) in Megabytes that the Network allows during one month when roaming outside the United States", + "packets_uploaded": { + "type": "integer", "nullable": true, - "type": "integer" + "description": "The number of packets uploaded by the device between the start time and when the Data Session was last updated" }, - "messaging_enabled": { - "description": "Whether SIMs can make, send, and receive SMS using Commands", + "packets_downloaded": { + "type": "integer", "nullable": true, - "type": "boolean" + "description": "The number of packets downloaded by the device between the start time and when the Data Session was last updated" }, - "national_roaming_data_limit": { - "description": "The total data usage in Megabytes that the Network allows during one month on non-home networks in the United States", + "last_updated": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "integer" + "description": "The date that the resource was last updated, given as GMT in ISO 8601 format" }, - "national_roaming_enabled": { - "description": "Whether SIMs can roam on networks other than the home network in the United States", + "start": { + "type": "string", + "format": "date-time", "nullable": true, - "type": "boolean" + "description": "The date that the Data Session started, given as GMT in ISO 8601 format" }, + "end": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The date that the record ended, given as GMT in ISO 8601 format" + }, + "imei": { + "type": "string", + "nullable": true, + "description": "The unique ID of the device using the SIM to connect" + } + } + }, + "wireless.v1.rate_plan": { + "type": "object", + "properties": { "sid": { - "description": "The unique string that identifies the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^WP[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The unique string that identifies the resource" }, "unique_name": { - "description": "An application-defined string that uniquely identifies the resource", + "type": "string", "nullable": true, - "type": "string" + "description": "An application-defined string that uniquely identifies the resource" }, - "url": { - "description": "The absolute URL of the resource", - "format": "uri", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "friendly_name": { + "type": "string", + "nullable": true, + "description": "The string that you assigned to describe the resource" + }, + "data_enabled": { + "type": "boolean", + "nullable": true, + "description": "Whether SIMs can use GPRS/3G/4G/LTE data connectivity" + }, + "data_metering": { + "type": "string", + "nullable": true, + "description": "The model used to meter data usage" + }, + "data_limit": { + "type": "integer", + "nullable": true, + "description": "The total data usage in Megabytes that the Network allows during one month on the home network" + }, + "messaging_enabled": { + "type": "boolean", "nullable": true, - "type": "string" + "description": "Whether SIMs can make, send, and receive SMS using Commands" }, "voice_enabled": { - "description": "Deprecated. Whether SIMs can make and receive voice calls", + "type": "boolean", "nullable": true, - "type": "boolean" - } - }, - "type": "object" - }, - "wireless.v1.sim": { - "properties": { - "account_sid": { - "description": "The SID of the Account to which the Sim resource belongs", - "maxLength": 34, - "minLength": 34, + "description": "Deprecated. Whether SIMs can make and receive voice calls" + }, + "national_roaming_enabled": { + "type": "boolean", "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "description": "Whether SIMs can roam on networks other than the home network in the United States" }, - "commands_callback_method": { - "description": "The HTTP method we use to call commands_callback_url", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", + "national_roaming_data_limit": { + "type": "integer", "nullable": true, - "type": "string" + "description": "The total data usage in Megabytes that the Network allows during one month on non-home networks in the United States" }, - "commands_callback_url": { - "description": "The URL we call when the SIM originates a machine-to-machine Command", - "format": "uri", + "international_roaming": { + "type": "array", + "items": { + "type": "string" + }, "nullable": true, - "type": "string" + "description": "The services that SIMs capable of using GPRS/3G/4G/LTE data connectivity can use outside of the United States" + }, + "international_roaming_data_limit": { + "type": "integer", + "nullable": true, + "description": "The total data usage (download and upload combined) in Megabytes that the Network allows during one month when roaming outside the United States" }, "date_created": { - "description": "The ISO 8601 date and time in GMT when the resource was created", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The date when the resource was created, given as GMT in ISO 8601 format" }, "date_updated": { - "description": "The ISO 8601 date and time in GMT when the Sim resource was last updated", + "type": "string", "format": "date-time", "nullable": true, - "type": "string" + "description": "The date when the resource was last updated, given as GMT in ISO 8601 format" }, - "e_id": { - "description": "Deprecated", + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "The absolute URL of the resource" + } + } + }, + "wireless.v1.sim": { + "type": "object", + "properties": { + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^DE[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The unique string that identifies the Sim resource" }, - "friendly_name": { - "description": "The string that you assigned to describe the Sim resource", + "unique_name": { + "type": "string", "nullable": true, - "type": "string" + "description": "An application-defined string that uniquely identifies the resource" }, - "iccid": { - "description": "The ICCID associated with the SIM", + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the Account to which the Sim resource belongs" }, - "ip_address": { - "description": "Deprecated", + "rate_plan_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WP[0-9a-fA-F]{32}$", "nullable": true, - "type": "string" + "description": "The SID of the RatePlan resource to which the Sim resource is assigned." }, - "links": { - "description": "The URLs of related subresources", - "format": "uri-map", + "friendly_name": { + "type": "string", "nullable": true, - "type": "object" + "description": "The string that you assigned to describe the Sim resource" }, - "rate_plan_sid": { - "description": "The SID of the RatePlan resource to which the Sim resource is assigned.", - "maxLength": 34, - "minLength": 34, + "iccid": { + "type": "string", "nullable": true, - "pattern": "^WP[0-9a-fA-F]{32}$", - "type": "string" + "description": "The ICCID associated with the SIM" + }, + "e_id": { + "type": "string", + "nullable": true, + "description": "Deprecated" + }, + "status": { + "type": "string", + "enum": [ + "new", + "ready", + "active", + "suspended", + "deactivated", + "canceled", + "scheduled", + "updating" + ], + "nullable": true, + "description": "The status of the Sim resource" }, "reset_status": { - "description": "The connectivity reset status of the SIM", + "type": "string", "enum": [ "resetting" ], "nullable": true, - "type": "string" + "description": "The connectivity reset status of the SIM" }, - "sid": { - "description": "The unique string that identifies the Sim resource", - "maxLength": 34, - "minLength": 34, + "commands_callback_url": { + "type": "string", + "format": "uri", "nullable": true, - "pattern": "^DE[0-9a-fA-F]{32}$", - "type": "string" + "description": "The URL we call when the SIM originates a machine-to-machine Command" }, - "sms_fallback_method": { - "description": "Deprecated", + "commands_callback_method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -321,18 +396,32 @@ "PUT", "DELETE" ], + "nullable": true, + "description": "The HTTP method we use to call commands_callback_url" + }, + "sms_fallback_method": { + "type": "string", "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], "nullable": true, - "type": "string" + "description": "Deprecated" }, "sms_fallback_url": { - "description": "Deprecated", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "Deprecated" }, "sms_method": { - "description": "Deprecated", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -341,44 +430,18 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "Deprecated" }, "sms_url": { - "description": "Deprecated", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "Deprecated" }, - "status": { - "description": "The status of the Sim resource", - "enum": [ - "new", - "ready", - "active", - "suspended", - "deactivated", - "canceled", - "scheduled", - "updating" - ], - "nullable": true, - "type": "string" - }, - "unique_name": { - "description": "An application-defined string that uniquely identifies the resource", - "nullable": true, - "type": "string" - }, - "url": { - "description": "The absolute URL of the resource", - "format": "uri", - "nullable": true, - "type": "string" - }, - "voice_fallback_method": { - "description": "Deprecated. The HTTP method we use to call voice_fallback_url", + "voice_fallback_method": { + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -387,18 +450,18 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "Deprecated. The HTTP method we use to call voice_fallback_url" }, "voice_fallback_url": { - "description": "Deprecated. The URL we call when an error occurs while retrieving or executing the TwiML requested from voice_url", + "type": "string", "format": "uri", "nullable": true, - "type": "string" + "description": "Deprecated. The URL we call when an error occurs while retrieving or executing the TwiML requested from voice_url" }, "voice_method": { - "description": "Deprecated. The HTTP method we use to call voice_url", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -407,225 +470,156 @@ "PUT", "DELETE" ], - "format": "http-method", "nullable": true, - "type": "string" + "description": "Deprecated. The HTTP method we use to call voice_url" }, "voice_url": { - "description": "Deprecated. The URL we call when the SIM-connected device makes a voice call", + "type": "string", "format": "uri", "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "wireless.v1.sim.data_session": { - "properties": { - "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, - "minLength": 34, - "nullable": true, - "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" - }, - "cell_id": { - "description": "The unique ID of the cellular tower that the device was attached to at the moment when the Data Session was last updated", - "nullable": true, - "type": "string" - }, - "cell_location_estimate": { - "description": "An object with the estimated location where the device's Data Session took place", - "nullable": true + "description": "Deprecated. The URL we call when the SIM-connected device makes a voice call" }, - "end": { - "description": "The date that the record ended, given as GMT in ISO 8601 format", + "date_created": { + "type": "string", "format": "date-time", "nullable": true, - "type": "string" - }, - "imei": { - "description": "The unique ID of the device using the SIM to connect", - "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the resource was created" }, - "last_updated": { - "description": "The date that the resource was last updated, given as GMT in ISO 8601 format", + "date_updated": { + "type": "string", "format": "date-time", "nullable": true, - "type": "string" - }, - "operator_country": { - "description": "The three letter country code representing where the device's Data Session took place", - "nullable": true, - "type": "string" - }, - "operator_mcc": { - "description": "The 'mobile country code' is the unique ID of the home country where the Data Session took place", - "nullable": true, - "type": "string" + "description": "The ISO 8601 date and time in GMT when the Sim resource was last updated" }, - "operator_mnc": { - "description": "The 'mobile network code' is the unique ID specific to the mobile operator network where the Data Session took place", - "nullable": true, - "type": "string" - }, - "operator_name": { - "description": "The friendly name of the mobile operator network that the SIM-connected device is attached to", - "nullable": true, - "type": "string" - }, - "packets_downloaded": { - "description": "The number of packets downloaded by the device between the start time and when the Data Session was last updated", - "nullable": true, - "type": "integer" - }, - "packets_uploaded": { - "description": "The number of packets uploaded by the device between the start time and when the Data Session was last updated", - "nullable": true, - "type": "integer" - }, - "radio_link": { - "description": "The generation of wireless technology that the device was using", - "nullable": true, - "type": "string" - }, - "sid": { - "description": "The unique string that identifies the resource", + "url": { + "type": "string", + "format": "uri", "nullable": true, - "type": "string" + "description": "The absolute URL of the resource" }, - "sim_sid": { - "description": "The SID of the Sim resource that the Data Session is for", + "links": { + "type": "object", + "format": "uri-map", "nullable": true, - "type": "string" + "description": "The URLs of related subresources" }, - "start": { - "description": "The date that the Data Session started, given as GMT in ISO 8601 format", - "format": "date-time", + "ip_address": { + "type": "string", "nullable": true, - "type": "string" + "description": "Deprecated" } - }, - "type": "object" + } }, "wireless.v1.sim.usage_record": { + "type": "object", "properties": { + "sim_sid": { + "type": "string", + "nullable": true, + "description": "The SID of the Sim resource that this Usage Record is for" + }, "account_sid": { - "description": "The SID of the Account that created the resource", - "maxLength": 34, + "type": "string", "minLength": 34, - "nullable": true, + "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", - "type": "string" + "nullable": true, + "description": "The SID of the Account that created the resource" + }, + "period": { + "nullable": true, + "description": "The time period for which the usage is reported" }, "commands": { - "description": "An object that describes the SIM's usage of Commands during the specified period", - "nullable": true + "nullable": true, + "description": "An object that describes the SIM's usage of Commands during the specified period" }, "data": { - "description": "An object that describes the SIM's data usage during the specified period", - "nullable": true - }, - "period": { - "description": "The time period for which the usage is reported", - "nullable": true - }, - "sim_sid": { - "description": "The SID of the Sim resource that this Usage Record is for", "nullable": true, - "type": "string" + "description": "An object that describes the SIM's data usage during the specified period" } - }, - "type": "object" + } } }, "securitySchemes": { "accountSid_authToken": { - "scheme": "basic", - "type": "http" + "type": "http", + "scheme": "basic" } } }, "info": { + "title": "Twilio - Wireless", + "description": "This is the public Twilio REST API.", + "termsOfService": "https://www.twilio.com/legal/tos", "contact": { - "email": "support@twilio.com", "name": "Twilio Support", - "url": "https://support.twilio.com" + "url": "https://support.twilio.com", + "email": "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 - Wireless", "version": "1.30.0" }, "openapi": "3.0.1", "paths": { - "/v1/Commands": { - "description": "Machine-to-machine commands sent to/from devices", + "/v1/UsageRecords": { + "servers": [ + { + "url": "https://wireless.twilio.com" + } + ], + "description": "Aggregated Usage information for all SIMs on an Account", + "x-twilio": { + "defaultOutputProperties": [ + "period" + ], + "pathType": "list" + }, "get": { - "description": "Retrieve a list of Commands from your account.", - "operationId": "ListCommand", + "description": "", "parameters": [ { - "description": "The `sid` or `unique_name` of the [Sim resources](https://www.twilio.com/docs/wireless/api/sim-resource) to read.", + "name": "End", "in": "query", - "name": "Sim", + "description": "Only include usage that has occurred on or before this date. Format is [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html).", "schema": { - "type": "string" + "type": "string", + "format": "date-time" } }, { - "description": "The status of the resources to read. Can be: `queued`, `sent`, `delivered`, `received`, or `failed`.", + "name": "Start", "in": "query", - "name": "Status", + "description": "Only include usage that has occurred on or after this date. Format is [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html).", "schema": { - "enum": [ - "queued", - "sent", - "delivered", - "received", - "failed" - ], - "type": "string" + "type": "string", + "format": "date-time" } }, { - "description": "Only return Commands with this direction value.", + "name": "Granularity", "in": "query", - "name": "Direction", + "description": "How to summarize the usage by time. Can be: `daily`, `hourly`, or `all`. A value of `all` returns one Usage Record that describes the usage for the entire period.", "schema": { + "type": "string", "enum": [ - "from_sim", - "to_sim" - ], - "type": "string" + "hourly", + "daily", + "all" + ] } }, { - "description": "Only return Commands with this transport value. Can be: `sms` or `ip`.", + "name": "PageSize", "in": "query", - "name": "Transport", - "schema": { - "enum": [ - "sms", - "ip" - ], - "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, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -634,25 +628,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListAccountUsageRecordResponse", "properties": { - "commands": { + "usage_records": { + "type": "array", "items": { - "$ref": "#/components/schemas/wireless.v1.command" - }, - "type": "array" + "$ref": "#/components/schemas/wireless.v1.account_usage_record" + } }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -661,19 +655,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" + } } - }, - "title": "ListCommandResponse", - "type": "object" + } } } }, @@ -685,72 +679,48 @@ "accountSid_authToken": [] } ], + "operationId": "ListAccountUsageRecord", "x-maturity": [ "GA" ] + } + }, + "/v1/Commands/{Sid}": { + "servers": [ + { + "url": "https://wireless.twilio.com" + } + ], + "description": "Machine-to-machine commands sent to/from devices", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "command_mode", + "transport", + "status", + "direction", + "date_created" + ], + "pathType": "instance" }, - "post": { - "description": "Send a Command to a Sim.", - "operationId": "CreateCommand", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "CallbackMethod": { - "description": "The HTTP method we use to call `callback_url`. Can be: `POST` or `GET`, and the default is `POST`.", - "enum": [ - "HEAD", - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "format": "http-method", - "type": "string" - }, - "CallbackUrl": { - "description": "The URL we call using the `callback_url` when the Command has finished sending, whether the command was delivered or it failed.", - "format": "uri", - "type": "string" - }, - "Command": { - "description": "The message body of the Command. Can be plain text in text mode or a Base64 encoded byte string in binary mode.", - "type": "string" - }, - "CommandMode": { - "description": "The mode to use when sending the SMS message. Can be: `text` or `binary`. The default SMS mode is `text`.", - "enum": [ - "text", - "binary" - ], - "type": "string" - }, - "DeliveryReceiptRequested": { - "description": "Whether to request delivery receipt from the recipient. For Commands that request delivery receipt, the Command state transitions to 'delivered' once the server has received a delivery receipt from the device. The default value is `true`.", - "type": "boolean" - }, - "IncludeSid": { - "description": "Whether to include the SID of the command in the message body. Can be: `none`, `start`, or `end`, and the default behavior is `none`. When sending a Command to a SIM in text mode, we can automatically include the SID of the Command in the message body, which could be used to ensure that the device does not process the same Command more than once. A value of `start` will prepend the message with the Command SID, and `end` will append it to the end, separating the Command SID from the message body with a space. The length of the Command SID is included in the 160 character limit so the SMS body must be 128 characters or less before the Command SID is included.", - "type": "string" - }, - "Sim": { - "description": "The `sid` or `unique_name` of the [SIM](https://www.twilio.com/docs/wireless/api/sim-resource) to send the Command to.", - "type": "string" - } - }, - "required": [ - "Command" - ], - "title": "CreateCommandRequest", - "type": "object" - } - } + "get": { + "description": "Fetch a Command instance from your account.", + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "The SID of the Command resource to fetch.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^DC[0-9a-fA-F]{32}$" + }, + "required": true } - }, + ], "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { @@ -758,7 +728,7 @@ } } }, - "description": "Created" + "description": "OK" } }, "security": [ @@ -766,43 +736,25 @@ "accountSid_authToken": [] } ], + "operationId": "FetchCommand", "x-maturity": [ "GA" ] }, - "servers": [ - { - "url": "https://wireless.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "command_mode", - "transport", - "status", - "direction", - "date_created" - ], - "pathType": "list" - } - }, - "/v1/Commands/{Sid}": { "delete": { "description": "Delete a Command instance from your account.", - "operationId": "DeleteCommand", "parameters": [ { - "description": "The SID of the Command resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the Command resource to delete.", "schema": { - "maxLength": 34, + "type": "string", "minLength": 34, - "pattern": "^DC[0-9a-fA-F]{32}$", - "type": "string" - } + "maxLength": 34, + "pattern": "^DC[0-9a-fA-F]{32}$" + }, + "required": true } ], "responses": { @@ -815,54 +767,19 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteCommand", "x-maturity": [ "GA" ] - }, - "description": "Machine-to-machine commands sent to/from devices", - "get": { - "description": "Fetch a Command instance from your account.", - "operationId": "FetchCommand", - "parameters": [ - { - "description": "The SID of the Command resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "maxLength": 34, - "minLength": 34, - "pattern": "^DC[0-9a-fA-F]{32}$", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/wireless.v1.command" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "x-maturity": [ - "GA" - ] - }, + } + }, + "/v1/Commands": { "servers": [ { "url": "https://wireless.twilio.com" } ], + "description": "Machine-to-machine commands sent to/from devices", "x-twilio": { "defaultOutputProperties": [ "sid", @@ -872,23 +789,66 @@ "direction", "date_created" ], - "pathType": "instance" - } - }, - "/v1/RatePlans": { - "description": "Capabilities and restrictions for SIMs", + "pathType": "list" + }, "get": { - "description": "", - "operationId": "ListRatePlan", + "description": "Retrieve a list of Commands from your account.", "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", + "name": "Sim", + "in": "query", + "description": "The `sid` or `unique_name` of the [Sim resources](https://www.twilio.com/docs/wireless/api/sim-resource) to read.", + "schema": { + "type": "string" + } + }, + { + "name": "Status", + "in": "query", + "description": "The status of the resources to read. Can be: `queued`, `sent`, `delivered`, `received`, or `failed`.", + "schema": { + "type": "string", + "enum": [ + "queued", + "sent", + "delivered", + "received", + "failed" + ] + } + }, + { + "name": "Direction", "in": "query", + "description": "Only return Commands with this direction value.", + "schema": { + "type": "string", + "enum": [ + "from_sim", + "to_sim" + ] + } + }, + { + "name": "Transport", + "in": "query", + "description": "Only return Commands with this transport value. Can be: `sms` or `ip`.", + "schema": { + "type": "string", + "enum": [ + "sms", + "ip" + ] + } + }, + { "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -897,19 +857,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListCommandResponse", "properties": { + "commands": { + "type": "array", + "items": { + "$ref": "#/components/schemas/wireless.v1.command" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -918,25 +884,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "rate_plans": { - "items": { - "$ref": "#/components/schemas/wireless.v1.rate_plan" - }, - "type": "array" + } } - }, - "title": "ListRatePlanResponse", - "type": "object" + } } } }, @@ -948,78 +908,19 @@ "accountSid_authToken": [] } ], + "operationId": "ListCommand", "x-maturity": [ "GA" ] }, "post": { - "description": "", - "operationId": "CreateRatePlan", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "DataEnabled": { - "description": "Whether SIMs can use GPRS/3G/4G/LTE data connectivity.", - "type": "boolean" - }, - "DataLimit": { - "description": "The total data usage (download and upload combined) in Megabytes that the Network allows during one month on the home network (T-Mobile USA). The metering period begins the day of activation and ends on the same day in the following month. Can be up to 2TB and the default value is `1000`.", - "type": "integer" - }, - "DataMetering": { - "description": "The model used to meter data usage. Can be: `payg` and `quota-1`, `quota-10`, and `quota-50`. Learn more about the available [data metering models](https://www.twilio.com/docs/wireless/api/rateplan-resource#payg-vs-quota-data-plans).", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It does not have to be unique.", - "type": "string" - }, - "InternationalRoaming": { - "description": "The list of services that SIMs capable of using GPRS/3G/4G/LTE data connectivity can use outside of the United States. Can contain: `data` and `messaging`.", - "items": { - "type": "string" - }, - "type": "array" - }, - "InternationalRoamingDataLimit": { - "description": "The total data usage (download and upload combined) in Megabytes that the Network allows during one month when roaming outside the United States. Can be up to 2TB.", - "type": "integer" - }, - "MessagingEnabled": { - "description": "Whether SIMs can make, send, and receive SMS using [Commands](https://www.twilio.com/docs/wireless/api/command-resource).", - "type": "boolean" - }, - "NationalRoamingDataLimit": { - "description": "The total data usage (download and upload combined) in Megabytes that the Network allows during one month on non-home networks in the United States. The metering period begins the day of activation and ends on the same day in the following month. Can be up to 2TB. See [national roaming](https://www.twilio.com/docs/wireless/api/rateplan-resource#national-roaming) for more info.", - "type": "integer" - }, - "NationalRoamingEnabled": { - "description": "Whether SIMs can roam on networks other than the home network (T-Mobile USA) in the United States. See [national roaming](https://www.twilio.com/docs/wireless/api/rateplan-resource#national-roaming).", - "type": "boolean" - }, - "UniqueName": { - "description": "An application-defined string that uniquely identifies the resource. It can be used in place of the resource's `sid` in the URL to address the resource.", - "type": "string" - }, - "VoiceEnabled": { - "description": "Deprecated.", - "type": "boolean" - } - }, - "title": "CreateRatePlanRequest", - "type": "object" - } - } - } - }, + "description": "Send a Command to a Sim.", "responses": { "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/wireless.v1.rate_plan" + "$ref": "#/components/schemas/wireless.v1.command" } } }, @@ -1031,43 +932,159 @@ "accountSid_authToken": [] } ], + "operationId": "CreateCommand", "x-maturity": [ "GA" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateCommandRequest", + "properties": { + "Command": { + "type": "string", + "description": "The message body of the Command. Can be plain text in text mode or a Base64 encoded byte string in binary mode." + }, + "Sim": { + "type": "string", + "description": "The `sid` or `unique_name` of the [SIM](https://www.twilio.com/docs/wireless/api/sim-resource) to send the Command to." + }, + "CallbackMethod": { + "type": "string", + "format": "http-method", + "enum": [ + "HEAD", + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "description": "The HTTP method we use to call `callback_url`. Can be: `POST` or `GET`, and the default is `POST`." + }, + "CallbackUrl": { + "type": "string", + "format": "uri", + "description": "The URL we call using the `callback_url` when the Command has finished sending, whether the command was delivered or it failed." + }, + "CommandMode": { + "type": "string", + "enum": [ + "text", + "binary" + ], + "description": "The mode to use when sending the SMS message. Can be: `text` or `binary`. The default SMS mode is `text`." + }, + "IncludeSid": { + "type": "string", + "description": "Whether to include the SID of the command in the message body. Can be: `none`, `start`, or `end`, and the default behavior is `none`. When sending a Command to a SIM in text mode, we can automatically include the SID of the Command in the message body, which could be used to ensure that the device does not process the same Command more than once. A value of `start` will prepend the message with the Command SID, and `end` will append it to the end, separating the Command SID from the message body with a space. The length of the Command SID is included in the 160 character limit so the SMS body must be 128 characters or less before the Command SID is included." + }, + "DeliveryReceiptRequested": { + "type": "boolean", + "description": "Whether to request delivery receipt from the recipient. For Commands that request delivery receipt, the Command state transitions to 'delivered' once the server has received a delivery receipt from the device. The default value is `true`." + } + }, + "required": [ + "Command" + ] + } + } + } + } + } + }, + "/v1/Sims/{SimSid}/DataSessions": { "servers": [ { "url": "https://wireless.twilio.com" } ], + "description": "Data session information for SIMs", "x-twilio": { "defaultOutputProperties": [ "sid", - "unique_name", - "friendly_name", - "date_created" + "packets_uploaded", + "packets_downloaded", + "start", + "end" ], - "pathType": "list" - } - }, - "/v1/RatePlans/{Sid}": { - "delete": { + "pathType": "list", + "parent": "/Sims" + }, + "get": { "description": "", - "operationId": "DeleteRatePlan", "parameters": [ { - "description": "The SID of the RatePlan resource to delete.", + "name": "SimSid", "in": "path", - "name": "Sid", - "required": true, + "description": "The SID of the [Sim resource](https://www.twilio.com/docs/wireless/api/sim-resource) with the Data Sessions to read.", "schema": { "type": "string" + }, + "required": true + }, + { + "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 } } ], "responses": { - "204": { - "description": "The resource was deleted successfully." + "200": { + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "ListDataSessionResponse", + "properties": { + "data_sessions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/wireless.v1.sim.data_session" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } + } + } + }, + "description": "OK" } }, "security": [ @@ -1075,22 +1092,39 @@ "accountSid_authToken": [] } ], + "operationId": "ListDataSession", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/RatePlans": { + "servers": [ + { + "url": "https://wireless.twilio.com" + } + ], "description": "Capabilities and restrictions for SIMs", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "unique_name", + "friendly_name", + "date_created" + ], + "pathType": "list" + }, "get": { "description": "", - "operationId": "FetchRatePlan", "parameters": [ { - "description": "The SID of the RatePlan resource to fetch.", - "in": "path", - "name": "Sid", - "required": true, + "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": "string" + "type": "integer", + "minimum": 1, + "maximum": 1000 } } ], @@ -1099,7 +1133,46 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/wireless.v1.rate_plan" + "type": "object", + "title": "ListRatePlanResponse", + "properties": { + "rate_plans": { + "type": "array", + "items": { + "$ref": "#/components/schemas/wireless.v1.rate_plan" + } + }, + "meta": { + "type": "object", + "properties": { + "first_page_url": { + "type": "string", + "format": "uri" + }, + "next_page_url": { + "type": "string", + "format": "uri" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "type": "string", + "format": "uri" + }, + "url": { + "type": "string", + "format": "uri" + }, + "key": { + "type": "string" + } + } + } + } } } }, @@ -1111,46 +1184,15 @@ "accountSid_authToken": [] } ], + "operationId": "ListRatePlan", "x-maturity": [ "GA" ] }, "post": { "description": "", - "operationId": "UpdateRatePlan", - "parameters": [ - { - "description": "The SID of the RatePlan resource to update.", - "in": "path", - "name": "Sid", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "properties": { - "FriendlyName": { - "description": "A descriptive string that you create to describe the resource. It does not have to be unique.", - "type": "string" - }, - "UniqueName": { - "description": "An application-defined string that uniquely identifies the resource. It can be used in place of the resource's `sid` in the URL to address the resource.", - "type": "string" - } - }, - "title": "UpdateRatePlanRequest", - "type": "object" - } - } - } - }, "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { @@ -1158,7 +1200,7 @@ } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -1166,15 +1208,78 @@ "accountSid_authToken": [] } ], + "operationId": "CreateRatePlan", "x-maturity": [ "GA" - ] - }, + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateRatePlanRequest", + "properties": { + "UniqueName": { + "type": "string", + "description": "An application-defined string that uniquely identifies the resource. It can be used in place of the resource's `sid` in the URL to address the resource." + }, + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the resource. It does not have to be unique." + }, + "DataEnabled": { + "type": "boolean", + "description": "Whether SIMs can use GPRS/3G/4G/LTE data connectivity." + }, + "DataLimit": { + "type": "integer", + "description": "The total data usage (download and upload combined) in Megabytes that the Network allows during one month on the home network (T-Mobile USA). The metering period begins the day of activation and ends on the same day in the following month. Can be up to 2TB and the default value is `1000`." + }, + "DataMetering": { + "type": "string", + "description": "The model used to meter data usage. Can be: `payg` and `quota-1`, `quota-10`, and `quota-50`. Learn more about the available [data metering models](https://www.twilio.com/docs/wireless/api/rateplan-resource#payg-vs-quota-data-plans)." + }, + "MessagingEnabled": { + "type": "boolean", + "description": "Whether SIMs can make, send, and receive SMS using [Commands](https://www.twilio.com/docs/wireless/api/command-resource)." + }, + "VoiceEnabled": { + "type": "boolean", + "description": "Deprecated." + }, + "NationalRoamingEnabled": { + "type": "boolean", + "description": "Whether SIMs can roam on networks other than the home network (T-Mobile USA) in the United States. See [national roaming](https://www.twilio.com/docs/wireless/api/rateplan-resource#national-roaming)." + }, + "InternationalRoaming": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of services that SIMs capable of using GPRS/3G/4G/LTE data connectivity can use outside of the United States. Can contain: `data` and `messaging`." + }, + "NationalRoamingDataLimit": { + "type": "integer", + "description": "The total data usage (download and upload combined) in Megabytes that the Network allows during one month on non-home networks in the United States. The metering period begins the day of activation and ends on the same day in the following month. Can be up to 2TB. See [national roaming](https://www.twilio.com/docs/wireless/api/rateplan-resource#national-roaming) for more info." + }, + "InternationalRoamingDataLimit": { + "type": "integer", + "description": "The total data usage (download and upload combined) in Megabytes that the Network allows during one month when roaming outside the United States. Can be up to 2TB." + } + } + } + } + } + } + } + }, + "/v1/RatePlans/{Sid}": { "servers": [ { "url": "https://wireless.twilio.com" } ], + "description": "Capabilities and restrictions for SIMs", "x-twilio": { "defaultOutputProperties": [ "sid", @@ -1183,73 +1288,53 @@ "date_created" ], "pathType": "instance" - } - }, - "/v1/Sims": { - "description": "A resource representing a Programmable Wireless SIM", - "get": { - "description": "Retrieve a list of Sim resources on your Account.", - "operationId": "ListSim", - "parameters": [ - { - "description": "Only return Sim resources with this status.", - "in": "query", - "name": "Status", - "schema": { - "enum": [ - "new", - "ready", - "active", - "suspended", - "deactivated", - "canceled", - "scheduled", - "updating" - ], - "type": "string" - } - }, - { - "description": "Only return Sim resources with this ICCID. This will return a list with a maximum size of 1.", - "in": "query", - "name": "Iccid", - "schema": { - "type": "string" - } - }, - { - "description": "The SID or unique name of a [RatePlan resource](https://www.twilio.com/docs/wireless/api/rateplan-resource). Only return Sim resources assigned to this RatePlan resource.", - "in": "query", - "name": "RatePlan", - "schema": { - "type": "string" - } - }, + }, + "get": { + "description": "", + "parameters": [ { - "description": "Deprecated.", - "in": "query", - "name": "EId", + "name": "Sid", + "in": "path", + "description": "The SID of the RatePlan resource to fetch.", "schema": { "type": "string" - } - }, + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/wireless.v1.rate_plan" + } + } + }, + "description": "OK" + } + }, + "security": [ { - "description": "Only return Sim resources with this registration code. This will return a list with a maximum size of 1.", - "in": "query", - "name": "SimRegistrationCode", - "schema": { - "type": "string" - } - }, + "accountSid_authToken": [] + } + ], + "operationId": "FetchRatePlan", + "x-maturity": [ + "GA" + ] + }, + "post": { + "description": "", + "parameters": [ { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "in": "query", - "name": "PageSize", + "name": "Sid", + "in": "path", + "description": "The SID of the RatePlan resource to update.", "schema": { - "maximum": 1000, - "minimum": 1, - "type": "integer" - } + "type": "string" + }, + "required": true } ], "responses": { @@ -1257,46 +1342,7 @@ "content": { "application/json": { "schema": { - "properties": { - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - }, - "sims": { - "items": { - "$ref": "#/components/schemas/wireless.v1.sim" - }, - "type": "array" - } - }, - "title": "ListSimResponse", - "type": "object" + "$ref": "#/components/schemas/wireless.v1.rate_plan" } } }, @@ -1308,38 +1354,42 @@ "accountSid_authToken": [] } ], + "operationId": "UpdateRatePlan", "x-maturity": [ "GA" - ] - }, - "servers": [ - { - "url": "https://wireless.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "unique_name", - "friendly_name", - "status" ], - "pathType": "list" - } - }, - "/v1/Sims/{Sid}": { + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateRatePlanRequest", + "properties": { + "UniqueName": { + "type": "string", + "description": "An application-defined string that uniquely identifies the resource. It can be used in place of the resource's `sid` in the URL to address the resource." + }, + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the resource. It does not have to be unique." + } + } + } + } + } + } + }, "delete": { - "description": "Delete a Sim resource on your Account.", - "operationId": "DeleteSim", + "description": "", "parameters": [ { - "description": "The SID or the `unique_name` of the Sim resource to delete.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID of the RatePlan resource to delete.", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -1352,23 +1402,39 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteRatePlan", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Sims/{Sid}": { + "servers": [ + { + "url": "https://wireless.twilio.com" + } + ], "description": "A resource representing a Programmable Wireless SIM", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "unique_name", + "friendly_name", + "status" + ], + "pathType": "instance" + }, "get": { "description": "Fetch a Sim resource on your Account.", - "operationId": "FetchSim", "parameters": [ { - "description": "The SID or the `unique_name` of the Sim resource to fetch.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID or the `unique_name` of the Sim resource to fetch.", "schema": { "type": "string" - } + }, + "required": true } ], "responses": { @@ -1388,35 +1454,59 @@ "accountSid_authToken": [] } ], + "operationId": "FetchSim", "x-maturity": [ "GA" ] }, "post": { "description": "Updates the given properties of a Sim resource on your Account.", - "operationId": "UpdateSim", "parameters": [ { - "description": "The SID or the `unique_name` of the Sim resource to update.", - "in": "path", "name": "Sid", - "required": true, + "in": "path", + "description": "The SID or the `unique_name` of the Sim resource to update.", "schema": { "type": "string" - } + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/wireless.v1.sim" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] } ], + "operationId": "UpdateSim", + "x-maturity": [ + "GA" + ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { + "type": "object", + "title": "UpdateSimRequest", "properties": { - "AccountSid": { - "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) to which the Sim resource should belong. The Account SID can only be that of the requesting Account or that of a [Subaccount](https://www.twilio.com/docs/iam/api/subaccounts) of the requesting Account. Only valid when the Sim resource's status is `new`. For more information, see the [Move SIMs between Subaccounts documentation](https://www.twilio.com/docs/wireless/api/sim-resource#move-sims-between-subaccounts).", - "type": "string" + "UniqueName": { + "type": "string", + "description": "An application-defined string that uniquely identifies the resource. It can be used in place of the `sid` in the URL path to address the resource." }, "CallbackMethod": { - "description": "The HTTP method we should use to call `callback_url`. Can be: `POST` or `GET`. The default is `POST`.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -1425,16 +1515,38 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method we should use to call `callback_url`. Can be: `POST` or `GET`. The default is `POST`." }, "CallbackUrl": { - "description": "The URL we should call using the `callback_url` when the SIM has finished updating. When the SIM transitions from `new` to `ready` or from any status to `deactivated`, we call this URL when the status changes to an intermediate status (`ready` or `deactivated`) and again when the status changes to its final status (`active` or `canceled`).", + "type": "string", "format": "uri", - "type": "string" + "description": "The URL we should call using the `callback_url` when the SIM has finished updating. When the SIM transitions from `new` to `ready` or from any status to `deactivated`, we call this URL when the status changes to an intermediate status (`ready` or `deactivated`) and again when the status changes to its final status (`active` or `canceled`)." + }, + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the Sim resource. It does not need to be unique." + }, + "RatePlan": { + "type": "string", + "description": "The SID or unique name of the [RatePlan resource](https://www.twilio.com/docs/wireless/api/rateplan-resource) to which the Sim resource should be assigned." + }, + "Status": { + "type": "string", + "enum": [ + "new", + "ready", + "active", + "suspended", + "deactivated", + "canceled", + "scheduled", + "updating" + ], + "description": "The new status of the Sim resource. Can be: `ready`, `active`, `suspended`, or `deactivated`." }, "CommandsCallbackMethod": { - "description": "The HTTP method we should use to call `commands_callback_url`. Can be: `POST` or `GET`. The default is `POST`.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -1443,31 +1555,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method we should use to call `commands_callback_url`. Can be: `POST` or `GET`. The default is `POST`." }, "CommandsCallbackUrl": { - "description": "The URL we should call using the `commands_callback_method` when the SIM sends a [Command](https://www.twilio.com/docs/wireless/api/command-resource). Your server should respond with an HTTP status code in the 200 range; any response body is ignored.", + "type": "string", "format": "uri", - "type": "string" - }, - "FriendlyName": { - "description": "A descriptive string that you create to describe the Sim resource. It does not need to be unique.", - "type": "string" - }, - "RatePlan": { - "description": "The SID or unique name of the [RatePlan resource](https://www.twilio.com/docs/wireless/api/rateplan-resource) to which the Sim resource should be assigned.", - "type": "string" - }, - "ResetStatus": { - "description": "Initiate a connectivity reset on the SIM. Set to `resetting` to initiate a connectivity reset on the SIM. No other value is valid.", - "enum": [ - "resetting" - ], - "type": "string" + "description": "The URL we should call using the `commands_callback_method` when the SIM sends a [Command](https://www.twilio.com/docs/wireless/api/command-resource). Your server should respond with an HTTP status code in the 200 range; any response body is ignored." }, "SmsFallbackMethod": { - "description": "The HTTP method we should use to call `sms_fallback_url`. Can be: `GET` or `POST`. Default is `POST`.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -1476,16 +1573,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method we should use to call `sms_fallback_url`. Can be: `GET` or `POST`. Default is `POST`." }, "SmsFallbackUrl": { - "description": "The URL we should call using the `sms_fallback_method` when an error occurs while retrieving or executing the TwiML requested from `sms_url`.", + "type": "string", "format": "uri", - "type": "string" + "description": "The URL we should call using the `sms_fallback_method` when an error occurs while retrieving or executing the TwiML requested from `sms_url`." }, "SmsMethod": { - "description": "The HTTP method we should use to call `sms_url`. Can be: `GET` or `POST`. Default is `POST`.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -1494,34 +1591,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "The HTTP method we should use to call `sms_url`. Can be: `GET` or `POST`. Default is `POST`." }, "SmsUrl": { - "description": "The URL we should call using the `sms_method` when the SIM-connected device sends an SMS message that is not a [Command](https://www.twilio.com/docs/wireless/api/command-resource).", + "type": "string", "format": "uri", - "type": "string" - }, - "Status": { - "description": "The new status of the Sim resource. Can be: `ready`, `active`, `suspended`, or `deactivated`.", - "enum": [ - "new", - "ready", - "active", - "suspended", - "deactivated", - "canceled", - "scheduled", - "updating" - ], - "type": "string" - }, - "UniqueName": { - "description": "An application-defined string that uniquely identifies the resource. It can be used in place of the `sid` in the URL path to address the resource.", - "type": "string" + "description": "The URL we should call using the `sms_method` when the SIM-connected device sends an SMS message that is not a [Command](https://www.twilio.com/docs/wireless/api/command-resource)." }, "VoiceFallbackMethod": { - "description": "Deprecated.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -1530,16 +1609,16 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" + "description": "Deprecated." }, "VoiceFallbackUrl": { - "description": "Deprecated.", + "type": "string", "format": "uri", - "type": "string" + "description": "Deprecated." }, "VoiceMethod": { - "description": "Deprecated.", + "type": "string", + "format": "http-method", "enum": [ "HEAD", "GET", @@ -1548,132 +1627,46 @@ "PUT", "DELETE" ], - "format": "http-method", - "type": "string" - }, - "VoiceUrl": { - "description": "Deprecated.", - "format": "uri", - "type": "string" - } - }, - "title": "UpdateSimRequest", - "type": "object" - } - } - } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/wireless.v1.sim" + "description": "Deprecated." + }, + "VoiceUrl": { + "type": "string", + "format": "uri", + "description": "Deprecated." + }, + "ResetStatus": { + "type": "string", + "enum": [ + "resetting" + ], + "description": "Initiate a connectivity reset on the SIM. Set to `resetting` to initiate a connectivity reset on the SIM. No other value is valid." + }, + "AccountSid": { + "type": "string", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) to which the Sim resource should belong. The Account SID can only be that of the requesting Account or that of a [Subaccount](https://www.twilio.com/docs/iam/api/subaccounts) of the requesting Account. Only valid when the Sim resource's status is `new`. For more information, see the [Move SIMs between Subaccounts documentation](https://www.twilio.com/docs/wireless/api/sim-resource#move-sims-between-subaccounts)." + } } } - }, - "description": "OK" - } - }, - "security": [ - { - "accountSid_authToken": [] + } } - ], - "x-maturity": [ - "GA" - ] - }, - "servers": [ - { - "url": "https://wireless.twilio.com" } - ], - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "unique_name", - "friendly_name", - "status" - ], - "pathType": "instance" - } - }, - "/v1/Sims/{SimSid}/DataSessions": { - "description": "Data session information for SIMs", - "get": { - "description": "", - "operationId": "ListDataSession", + }, + "delete": { + "description": "Delete a Sim resource on your Account.", "parameters": [ { - "description": "The SID of the [Sim resource](https://www.twilio.com/docs/wireless/api/sim-resource) with the Data Sessions to read.", + "name": "Sid", "in": "path", - "name": "SimSid", - "required": true, + "description": "The SID or the `unique_name` of the Sim resource to delete.", "schema": { "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" - } + }, + "required": true } ], "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "data_sessions": { - "items": { - "$ref": "#/components/schemas/wireless.v1.sim.data_session" - }, - "type": "array" - }, - "meta": { - "properties": { - "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" - }, - "next_page_url": { - "format": "uri", - "type": "string" - }, - "page": { - "type": "integer" - }, - "page_size": { - "type": "integer" - }, - "previous_page_url": { - "format": "uri", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "type": "object" - } - }, - "title": "ListDataSessionResponse", - "type": "object" - } - } - }, - "description": "OK" + "204": { + "description": "The resource was deleted successfully." } }, "security": [ @@ -1681,81 +1674,89 @@ "accountSid_authToken": [] } ], + "operationId": "DeleteSim", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Sims": { "servers": [ { "url": "https://wireless.twilio.com" } ], + "description": "A resource representing a Programmable Wireless SIM", "x-twilio": { "defaultOutputProperties": [ "sid", - "packets_uploaded", - "packets_downloaded", - "start", - "end" + "unique_name", + "friendly_name", + "status" ], - "parent": "/Sims", "pathType": "list" - } - }, - "/v1/Sims/{SimSid}/UsageRecords": { - "description": "Usage information for SIMs", + }, "get": { - "description": "", - "operationId": "ListUsageRecord", + "description": "Retrieve a list of Sim resources on your Account.", "parameters": [ { - "description": "The SID of the [Sim resource](https://www.twilio.com/docs/wireless/api/sim-resource) to read the usage from.", - "in": "path", - "name": "SimSid", - "required": true, + "name": "Status", + "in": "query", + "description": "Only return Sim resources with this status.", "schema": { - "type": "string" + "type": "string", + "enum": [ + "new", + "ready", + "active", + "suspended", + "deactivated", + "canceled", + "scheduled", + "updating" + ] } }, { - "description": "Only include usage that occurred on or before this date, specified in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html). The default is the current time.", + "name": "Iccid", "in": "query", - "name": "End", + "description": "Only return Sim resources with this ICCID. This will return a list with a maximum size of 1.", "schema": { - "format": "date-time", "type": "string" } }, { - "description": "Only include usage that has occurred on or after this date, specified in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html). The default is one month before the `end` parameter value.", + "name": "RatePlan", "in": "query", - "name": "Start", + "description": "The SID or unique name of a [RatePlan resource](https://www.twilio.com/docs/wireless/api/rateplan-resource). Only return Sim resources assigned to this RatePlan resource.", "schema": { - "format": "date-time", "type": "string" } }, { - "description": "How to summarize the usage by time. Can be: `daily`, `hourly`, or `all`. The default is `all`. A value of `all` returns one Usage Record that describes the usage for the entire period.", + "name": "EId", "in": "query", - "name": "Granularity", + "description": "Deprecated.", "schema": { - "enum": [ - "hourly", - "daily", - "all" - ], "type": "string" } }, { - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", + "name": "SimRegistrationCode", "in": "query", + "description": "Only return Sim resources with this registration code. This will return a list with a maximum size of 1.", + "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": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1764,19 +1765,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListSimResponse", "properties": { + "sims": { + "type": "array", + "items": { + "$ref": "#/components/schemas/wireless.v1.sim" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1785,25 +1792,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "usage_records": { - "items": { - "$ref": "#/components/schemas/wireless.v1.sim.usage_record" - }, - "type": "array" + } } - }, - "title": "ListUsageRecordResponse", - "type": "object" + } } } }, @@ -1815,68 +1816,77 @@ "accountSid_authToken": [] } ], + "operationId": "ListSim", "x-maturity": [ "GA" ] - }, + } + }, + "/v1/Sims/{SimSid}/UsageRecords": { "servers": [ { "url": "https://wireless.twilio.com" } ], + "description": "Usage information for SIMs", "x-twilio": { "defaultOutputProperties": [ "period" ], - "parent": "/Sims", - "pathType": "list" - } - }, - "/v1/UsageRecords": { - "description": "Aggregated Usage information for all SIMs on an Account", + "pathType": "list", + "parent": "/Sims" + }, "get": { "description": "", - "operationId": "ListAccountUsageRecord", "parameters": [ { - "description": "Only include usage that has occurred on or before this date. Format is [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html).", - "in": "query", - "name": "End", + "name": "SimSid", + "in": "path", + "description": "The SID of the [Sim resource](https://www.twilio.com/docs/wireless/api/sim-resource) to read the usage from.", "schema": { - "format": "date-time", "type": "string" - } + }, + "required": true }, { - "description": "Only include usage that has occurred on or after this date. Format is [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html).", + "name": "End", "in": "query", - "name": "Start", + "description": "Only include usage that occurred on or before this date, specified in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html). The default is the current time.", "schema": { - "format": "date-time", - "type": "string" + "type": "string", + "format": "date-time" } }, { - "description": "How to summarize the usage by time. Can be: `daily`, `hourly`, or `all`. A value of `all` returns one Usage Record that describes the usage for the entire period.", + "name": "Start", "in": "query", + "description": "Only include usage that has occurred on or after this date, specified in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html). The default is one month before the `end` parameter value.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { "name": "Granularity", + "in": "query", + "description": "How to summarize the usage by time. Can be: `daily`, `hourly`, or `all`. The default is `all`. A value of `all` returns one Usage Record that describes the usage for the entire period.", "schema": { + "type": "string", "enum": [ "hourly", "daily", "all" - ], - "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", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "maximum": 1000, + "type": "integer", "minimum": 1, - "type": "integer" + "maximum": 1000 } } ], @@ -1885,19 +1895,25 @@ "content": { "application/json": { "schema": { + "type": "object", + "title": "ListUsageRecordResponse", "properties": { + "usage_records": { + "type": "array", + "items": { + "$ref": "#/components/schemas/wireless.v1.sim.usage_record" + } + }, "meta": { + "type": "object", "properties": { "first_page_url": { - "format": "uri", - "type": "string" - }, - "key": { - "type": "string" + "type": "string", + "format": "uri" }, "next_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "page": { "type": "integer" @@ -1906,25 +1922,19 @@ "type": "integer" }, "previous_page_url": { - "format": "uri", - "type": "string" + "type": "string", + "format": "uri" }, "url": { - "format": "uri", + "type": "string", + "format": "uri" + }, + "key": { "type": "string" } - }, - "type": "object" - }, - "usage_records": { - "items": { - "$ref": "#/components/schemas/wireless.v1.account_usage_record" - }, - "type": "array" + } } - }, - "title": "ListAccountUsageRecordResponse", - "type": "object" + } } } }, @@ -1936,20 +1946,10 @@ "accountSid_authToken": [] } ], + "operationId": "ListUsageRecord", "x-maturity": [ "GA" ] - }, - "servers": [ - { - "url": "https://wireless.twilio.com" - } - ], - "x-twilio": { - "defaultOutputProperties": [ - "period" - ], - "pathType": "list" } } }, @@ -1960,8 +1960,8 @@ ], "x-maturity": [ { - "description": "This product is Generally Available.", - "name": "GA" + "name": "GA", + "description": "This product is Generally Available." } ] } \ No newline at end of file diff --git a/spec/yaml/twilio_accounts_v1.yaml b/spec/yaml/twilio_accounts_v1.yaml index 1818a88b..fa090f45 100644 --- a/spec/yaml/twilio_accounts_v1.yaml +++ b/spec/yaml/twilio_accounts_v1.yaml @@ -1,137 +1,138 @@ components: schemas: accounts.v1.auth_token_promotion: + type: object properties: account_sid: - description: The SID of the Account that the secondary Auth Token was created - for - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that the secondary Auth Token was created + for auth_token: description: The promoted Auth Token nullable: true type: string date_created: + type: string + format: date-time + nullable: true description: The ISO 8601 formatted date and time in UTC when the resource was created + date_updated: + type: string format: date-time nullable: true - type: string - date_updated: description: The ISO 8601 formatted date and time in UTC when the resource was last updated - format: date-time - nullable: true - type: string url: description: The URI for this resource, relative to `https://accounts.twilio.com` format: uri nullable: true type: string - type: object accounts.v1.credential: - properties: {} type: object + properties: {} accounts.v1.credential.credential_aws: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource date_created: - description: The RFC 2822 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was created date_updated: - description: The RFC 2822 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was last + updated friendly_name: description: The string that you assigned to describe the resource nullable: true type: string sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CR[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource url: description: The URI for this resource, relative to `https://accounts.twilio.com` format: uri nullable: true type: string - type: object accounts.v1.credential.credential_public_key: + type: object properties: account_sid: - description: The SID of the Account that created the Credential that the - PublicKey resource belongs to - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the Credential that the + PublicKey resource belongs to date_created: - description: The RFC 2822 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was created date_updated: - description: The RFC 2822 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was last + updated friendly_name: description: The string that you assigned to describe the resource nullable: true type: string sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CR[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource url: description: The URI for this resource, relative to `https://accounts.twilio.com` format: uri nullable: true type: string - type: object accounts.v1.secondary_auth_token: + type: object properties: account_sid: - description: The SID of the Account that the secondary Auth Token was created - for - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that the secondary Auth Token was created + for date_created: + type: string + format: date-time + nullable: true description: The ISO 8601 formatted date and time in UTC when the resource was created + date_updated: + type: string format: date-time nullable: true - type: string - date_updated: description: The ISO 8601 formatted date and time in UTC when the resource was last updated - format: date-time - nullable: true - type: string secondary_auth_token: description: The generated secondary Auth Token nullable: true @@ -141,7 +142,6 @@ components: format: uri nullable: true type: string - type: object securitySchemes: accountSid_authToken: scheme: basic @@ -161,7 +161,16 @@ info: openapi: 3.0.1 paths: /v1/AuthTokens/Promote: + servers: + - url: https://accounts.twilio.com description: Auth Token promotion + x-twilio: + defaultOutputProperties: + - account_sid + - auth_token + - date_created + pathType: instance + className: auth_token_promotion post: description: Promote the secondary Auth Token to primary. After promoting the new token, all requests to Twilio using your old primary Auth Token will result @@ -178,59 +187,24 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Credentials: servers: - url: https://accounts.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - className: auth_token_promotion - defaultOutputProperties: - - account_sid - - auth_token - - date_created - pathType: instance - /v1/AuthTokens/Secondary: - delete: - description: Delete the secondary Auth Token from your account - operationId: DeleteSecondaryAuthToken - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: Secondary Auth Token - post: - description: Create a new secondary Auth Token - operationId: CreateSecondaryAuthToken - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/accounts.v1.secondary_auth_token' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA + defaultOutputProperties: [] + pathType: list + /v1/Credentials/AWS: servers: - url: https://accounts.twilio.com + description: User provided AWS keys x-twilio: - className: secondary_auth_token defaultOutputProperties: - - account_sid - - secondary_auth_token + - sid + - friendly_name - date_created - pathType: instance - /v1/Credentials: - description: 'TODO: Resource-level docs' - servers: - - url: https://accounts.twilio.com - x-twilio: - defaultOutputProperties: [] pathType: list - /v1/Credentials/AWS: - description: User provided AWS keys + parent: /Credentials get: description: Retrieves a collection of AWS Credentials belonging to the account used to make the request @@ -249,18 +223,19 @@ paths: content: application/json: schema: + type: object + title: ListCredentialAwsResponse properties: credentials: + type: array items: $ref: '#/components/schemas/accounts.v1.credential.credential_aws' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -274,9 +249,8 @@ paths: url: format: uri type: string - type: object - title: ListCredentialAwsResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] @@ -290,14 +264,6 @@ paths: application/x-www-form-urlencoded: schema: properties: - AccountSid: - description: The SID of the Subaccount that this Credential should - be associated with. Must be a valid Subaccount of the account - issuing the request. - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string Credentials: description: A string that contains the AWS access credentials in the format `:`. For @@ -307,6 +273,14 @@ paths: description: A descriptive string that you create to describe the resource. It can be up to 64 characters long. type: string + AccountSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + description: The SID of the Subaccount that this Credential should + be associated with. Must be a valid Subaccount of the account + issuing the request. required: - Credentials title: CreateCredentialAwsRequest @@ -322,38 +296,17 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Credentials/AWS/{Sid}: servers: - url: https://accounts.twilio.com + description: User provided AWS keys x-twilio: defaultOutputProperties: - sid - friendly_name - date_created + pathType: instance parent: /Credentials - pathType: list - /v1/Credentials/AWS/{Sid}: - delete: - description: Delete a Credential from your account - operationId: DeleteCredentialAws - parameters: - - description: The Twilio-provided string that uniquely identifies the AWS resource - to delete. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^CR[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: User provided AWS keys get: description: Fetch the AWS credentials specified by the provided Credential Sid @@ -365,10 +318,10 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^CR[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -390,10 +343,10 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^CR[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: @@ -416,17 +369,38 @@ paths: - accountSid_authToken: [] x-maturity: - GA + delete: + description: Delete a Credential from your account + operationId: DeleteCredentialAws + parameters: + - description: The Twilio-provided string that uniquely identifies the AWS resource + to delete. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Credentials/PublicKeys: servers: - url: https://accounts.twilio.com + description: User provided public keys x-twilio: defaultOutputProperties: - sid - friendly_name - date_created + pathType: list parent: /Credentials - pathType: instance - /v1/Credentials/PublicKeys: - description: User provided public keys get: description: Retrieves a collection of Public Key Credentials belonging to the account used to make the request @@ -445,18 +419,19 @@ paths: content: application/json: schema: + type: object + title: ListCredentialPublicKeyResponse properties: credentials: + type: array items: $ref: '#/components/schemas/accounts.v1.credential.credential_public_key' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -470,9 +445,8 @@ paths: url: format: uri type: string - type: object - title: ListCredentialPublicKeyResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] @@ -486,23 +460,23 @@ paths: application/x-www-form-urlencoded: schema: properties: - AccountSid: - description: The SID of the Subaccount that this Credential should - be associated with. Must be a valid Subaccount of the account - issuing the request - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ + PublicKey: + description: A URL encoded representation of the public key. For + example, `-----BEGIN PUBLIC KEY-----MIIBIjANB.pa9xQIDAQAB-----END + PUBLIC KEY-----` type: string FriendlyName: description: A descriptive string that you create to describe the resource. It can be up to 64 characters long. type: string - PublicKey: - description: A URL encoded representation of the public key. For - example, `-----BEGIN PUBLIC KEY-----MIIBIjANB.pa9xQIDAQAB-----END - PUBLIC KEY-----` + AccountSid: type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + description: The SID of the Subaccount that this Credential should + be associated with. Must be a valid Subaccount of the account + issuing the request required: - PublicKey title: CreateCredentialPublicKeyRequest @@ -518,38 +492,17 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Credentials/PublicKeys/{Sid}: servers: - url: https://accounts.twilio.com + description: User provided public keys x-twilio: defaultOutputProperties: - sid - friendly_name - date_created + pathType: instance parent: /Credentials - pathType: list - /v1/Credentials/PublicKeys/{Sid}: - delete: - description: Delete a Credential from your account - operationId: DeleteCredentialPublicKey - parameters: - - description: The Twilio-provided string that uniquely identifies the PublicKey - resource to delete. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^CR[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: User provided public keys get: description: Fetch the public key specified by the provided Credential Sid operationId: FetchCredentialPublicKey @@ -560,10 +513,10 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^CR[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -585,10 +538,10 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^CR[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: @@ -611,17 +564,64 @@ paths: - accountSid_authToken: [] x-maturity: - GA + delete: + description: Delete a Credential from your account + operationId: DeleteCredentialPublicKey + parameters: + - description: The Twilio-provided string that uniquely identifies the PublicKey + resource to delete. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/AuthTokens/Secondary: servers: - url: https://accounts.twilio.com + description: Secondary Auth Token x-twilio: defaultOutputProperties: - - sid - - friendly_name + - account_sid + - secondary_auth_token - date_created - parent: /Credentials pathType: instance + className: secondary_auth_token + post: + description: Create a new secondary Auth Token + operationId: CreateSecondaryAuthToken + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/accounts.v1.secondary_auth_token' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + delete: + description: Delete the secondary Auth Token from your account + operationId: DeleteSecondaryAuthToken + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA servers: - url: https://accounts.twilio.com x-maturity: -- description: This product is Generally Available. - name: GA +- name: GA + description: This product is Generally Available. diff --git a/spec/yaml/twilio_api_v2010.yaml b/spec/yaml/twilio_api_v2010.yaml index 07f41c30..ae953c7a 100644 --- a/spec/yaml/twilio_api_v2010.yaml +++ b/spec/yaml/twilio_api_v2010.yaml @@ -1,75 +1,76 @@ components: schemas: api.v2010.account: + type: object properties: auth_token: description: The authorization token for this account nullable: true type: string date_created: - description: The date this account was created + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The date this account was created date_updated: - description: The date this account was last updated + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The date this account was last updated friendly_name: description: A human readable description of this account nullable: true type: string owner_account_sid: - description: The unique 34 character id representing the parent of this - account - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique 34 character id representing the parent of this + account sid: - description: A 34 character string that uniquely identifies this resource. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: A 34 character string that uniquely identifies this resource. status: - description: The status of this account + type: string enum: - active - suspended - closed nullable: true - type: string + description: The status of this account subresource_uris: description: Account Instance Subresources format: uri-map nullable: true type: object type: - description: The type of this account + type: string enum: - Trial - Full nullable: true - type: string + description: The type of this account uri: description: The URI for this resource, relative to `https://api.twilio.com` format: uri nullable: true type: string - type: object api.v2010.account.address: + type: object properties: account_sid: - description: The SID of the Account that is responsible for the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that is responsible for the resource city: description: The city in which the address is located nullable: true @@ -79,16 +80,16 @@ components: nullable: true type: string date_created: - description: The RFC 2822 date and time in GMT that the resource was created + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The RFC 2822 date and time in GMT that the resource was created date_updated: - description: The RFC 2822 date and time in GMT that the resource was last - updated + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The RFC 2822 date and time in GMT that the resource was last + updated emergency_enabled: description: Whether emergency calling has been enabled on this number nullable: true @@ -111,12 +112,12 @@ components: nullable: true type: string sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AD[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource street: description: The number and street address of the address nullable: true @@ -135,83 +136,47 @@ components: description: Whether the address has been verified to comply with regulation nullable: true type: boolean + api.v2010.account.application: type: object - api.v2010.account.address.dependent_phone_number: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - address_requirements: - description: Whether the phone number requires an Address registered with - Twilio - enum: - - none - - any - - local - - foreign nullable: true - type: string + description: The SID of the Account that created the resource api_version: description: The API version used to start a new TwiML session nullable: true type: string - capabilities: - description: Indicate if a phone can receive calls or messages - nullable: true date_created: - description: The RFC 2822 date and time in GMT that the resource was created - format: date-time-rfc-2822 - nullable: true type: string - date_updated: - description: The RFC 2822 date and time in GMT that the resource was last - updated format: date-time-rfc-2822 nullable: true + description: The RFC 2822 date and time in GMT that the resource was created + date_updated: type: string - emergency_address_sid: - description: The emergency address configuration to use for emergency calling - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AD[0-9a-fA-F]{32}$ - type: string - emergency_status: - description: Whether the phone number is enabled for emergency calling - enum: - - Active - - Inactive + format: date-time-rfc-2822 nullable: true - type: string + description: The RFC 2822 date and time in GMT that the resource was last + updated friendly_name: description: The string that you assigned to describe the resource - format: phone-number nullable: true type: string - phone_number: - description: The phone number in E.164 format - format: phone-number + message_status_callback: + description: The URL to send message status information to your application + format: uri nullable: true type: string sid: - description: The unique string that identifies the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^PN[0-9a-fA-F]{32}$ type: string - sms_application_sid: - description: The SID of the application that handles SMS messages sent to - the phone number - maxLength: 34 minLength: 34 - nullable: true + maxLength: 34 pattern: ^AP[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource sms_fallback_method: description: The HTTP method used with sms_fallback_url enum: @@ -242,6 +207,11 @@ components: format: http-method nullable: true type: string + sms_status_callback: + description: The URL to send status information to your application + format: uri + nullable: true + type: string sms_url: description: The URL we call when the phone number receives an incoming SMS message @@ -265,26 +235,11 @@ components: format: http-method nullable: true type: string - trunk_sid: - description: The SID of the Trunk that handles calls to the phone number - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^TK[0-9a-fA-F]{32}$ - type: string uri: description: The URI of the resource, relative to `https://api.twilio.com` format: uri nullable: true type: string - voice_application_sid: - description: The SID of the application that handles calls to the phone - number - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AP[0-9a-fA-F]{32}$ - type: string voice_caller_id_lookup: description: Whether to lookup the caller's name nullable: true @@ -302,7 +257,7 @@ components: nullable: true type: string voice_fallback_url: - description: The URL we call when an error occurs in TwiML + description: The URL we call when a TwiML error occurs format: uri nullable: true type: string @@ -323,222 +278,80 @@ components: format: uri nullable: true type: string + api.v2010.account.authorized_connect_app: type: object - api.v2010.account.application: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - api_version: - description: The API version used to start a new TwiML session nullable: true - type: string - date_created: - description: The RFC 2822 date and time in GMT that the resource was created - format: date-time-rfc-2822 + description: The SID of the Account that created the resource + connect_app_company_name: + description: The company name set for the Connect App nullable: true type: string - date_updated: - description: The RFC 2822 date and time in GMT that the resource was last - updated - format: date-time-rfc-2822 + connect_app_description: + description: A detailed description of the app nullable: true type: string - friendly_name: - description: The string that you assigned to describe the resource + connect_app_friendly_name: + description: The name of the Connect App nullable: true type: string - message_status_callback: - description: The URL to send message status information to your application + connect_app_homepage_url: + description: The public URL for the Connect App format: uri nullable: true type: string - sid: - description: The unique string that identifies the resource - maxLength: 34 + connect_app_sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^CN[0-9a-fA-F]{32}$ nullable: true - pattern: ^AP[0-9a-fA-F]{32}$ + description: The SID that we assigned to the Connect App + date_created: type: string - sms_fallback_method: - description: The HTTP method used with sms_fallback_url - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method + format: date-time-rfc-2822 nullable: true + description: The RFC 2822 date and time in GMT that the resource was created + date_updated: type: string - sms_fallback_url: - description: The URL that we call when an error occurs while retrieving - or executing the TwiML - format: uri + format: date-time-rfc-2822 nullable: true - type: string - sms_method: - description: The HTTP method to use with sms_url - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method + description: The RFC 2822 date and time in GMT that the resource was last + updated + permissions: + type: array + items: + type: string + enum: + - get-all + - post-all nullable: true - type: string - sms_status_callback: - description: The URL to send status information to your application + description: Permissions authorized to the app + uri: + description: The URI of the resource, relative to `https://api.twilio.com` format: uri nullable: true type: string - sms_url: - description: The URL we call when the phone number receives an incoming - SMS message - format: uri + api.v2010.account.available_phone_number_country: + type: object + properties: + beta: + description: Whether all phone numbers available in the country are new + to the Twilio platform. + nullable: true + type: boolean + country: + description: The name of the country nullable: true type: string - status_callback: - description: The URL to send status information to your application - format: uri - nullable: true - type: string - status_callback_method: - description: The HTTP method we use to call status_callback - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - nullable: true - type: string - uri: - description: The URI of the resource, relative to `https://api.twilio.com` - format: uri - nullable: true - type: string - voice_caller_id_lookup: - description: Whether to lookup the caller's name - nullable: true - type: boolean - voice_fallback_method: - description: The HTTP method used with voice_fallback_url - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - nullable: true - type: string - voice_fallback_url: - description: The URL we call when a TwiML error occurs - format: uri - nullable: true - type: string - voice_method: - description: The HTTP method used with the voice_url - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - nullable: true - type: string - voice_url: - description: The URL we call when the phone number receives a call - format: uri - nullable: true - type: string - type: object - api.v2010.account.authorized_connect_app: - properties: - account_sid: - description: The SID of the Account that created the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - connect_app_company_name: - description: The company name set for the Connect App - nullable: true - type: string - connect_app_description: - description: A detailed description of the app - nullable: true - type: string - connect_app_friendly_name: - description: The name of the Connect App - nullable: true - type: string - connect_app_homepage_url: - description: The public URL for the Connect App - format: uri - nullable: true - type: string - connect_app_sid: - description: The SID that we assigned to the Connect App - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^CN[0-9a-fA-F]{32}$ - type: string - date_created: - description: The RFC 2822 date and time in GMT that the resource was created - format: date-time-rfc-2822 - nullable: true - type: string - date_updated: - description: The RFC 2822 date and time in GMT that the resource was last - updated - format: date-time-rfc-2822 - nullable: true - type: string - permissions: - description: Permissions authorized to the app - items: - enum: - - get-all - - post-all - type: string - nullable: true - type: array - uri: - description: The URI of the resource, relative to `https://api.twilio.com` - format: uri - nullable: true - type: string - type: object - api.v2010.account.available_phone_number_country: - properties: - beta: - description: Whether all phone numbers available in the country are new - to the Twilio platform. - nullable: true - type: boolean - country: - description: The name of the country - nullable: true - type: string - country_code: - description: The ISO-3166-1 country code of the country. - format: iso-country-code + country_code: + description: The ISO-3166-1 country code of the country. + format: iso-country-code nullable: true type: string subresource_uris: @@ -551,8 +364,8 @@ components: format: uri nullable: true type: string - type: object api.v2010.account.available_phone_number_country.available_phone_number_local: + type: object properties: address_requirements: description: The type of Address resource the phone number requires @@ -620,8 +433,8 @@ components: number's location nullable: true type: string - type: object api.v2010.account.available_phone_number_country.available_phone_number_machine_to_machine: + type: object properties: address_requirements: description: The type of Address resource the phone number requires @@ -689,8 +502,8 @@ components: number's location nullable: true type: string - type: object api.v2010.account.available_phone_number_country.available_phone_number_mobile: + type: object properties: address_requirements: description: The type of Address resource the phone number requires @@ -758,8 +571,8 @@ components: number's location nullable: true type: string - type: object api.v2010.account.available_phone_number_country.available_phone_number_national: + type: object properties: address_requirements: description: The type of Address resource the phone number requires @@ -827,8 +640,8 @@ components: number's location nullable: true type: string - type: object api.v2010.account.available_phone_number_country.available_phone_number_shared_cost: + type: object properties: address_requirements: description: The type of Address resource the phone number requires @@ -896,8 +709,8 @@ components: number's location nullable: true type: string - type: object api.v2010.account.available_phone_number_country.available_phone_number_toll_free: + type: object properties: address_requirements: description: The type of Address resource the phone number requires @@ -965,8 +778,8 @@ components: number's location nullable: true type: string - type: object api.v2010.account.available_phone_number_country.available_phone_number_voip: + type: object properties: address_requirements: description: The type of Address resource the phone number requires @@ -1034,16 +847,16 @@ components: number's location nullable: true type: string - type: object api.v2010.account.balance: + type: object properties: account_sid: - description: Account Sid. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: Account Sid. balance: description: Account balance nullable: true @@ -1052,16 +865,16 @@ components: description: Currency units nullable: true type: string - type: object api.v2010.account.call: + type: object properties: account_sid: - description: The SID of the Account that created this resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created this resource answered_by: description: Either `human` or `machine` if this call was initiated with answering machine detection. Empty otherwise. @@ -1077,16 +890,16 @@ components: nullable: true type: string date_created: - description: The RFC 2822 date and time in GMT that this resource was created + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The RFC 2822 date and time in GMT that this resource was created date_updated: - description: The RFC 2822 date and time in GMT that this resource was last - updated + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The RFC 2822 date and time in GMT that this resource was last + updated direction: description: A string describing the direction of the call. `inbound` for inbound calls, `outbound-api` for calls initiated via the REST API or @@ -1098,11 +911,11 @@ components: nullable: true type: string end_time: - description: The end time of the call. Null if the call did not complete - successfully. + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The end time of the call. Null if the call did not complete + successfully. forwarded_from: description: The forwarding phone number if this call was an incoming call forwarded from another number (depends on carrier supporting forwarding). @@ -1122,29 +935,29 @@ components: nullable: true type: string group_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^GP[0-9a-fA-F]{32}$ + nullable: true description: The Group SID associated with this call. If no Group is associated with the call, the field is empty. - maxLength: 34 + parent_call_sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ nullable: true - pattern: ^GP[0-9a-fA-F]{32}$ - type: string - parent_call_sid: description: The SID that identifies the call that created this leg. - maxLength: 34 + phone_number_sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^PN[0-9a-fA-F]{32}$ nullable: true - pattern: ^CA[0-9a-fA-F]{32}$ - type: string - phone_number_sid: description: If the call was inbound, this is the SID of the IncomingPhoneNumber resource that received the call. If the call was outbound, it is the SID of the OutgoingCallerId resource from which the call was placed. - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^PN[0-9a-fA-F]{32}$ - type: string price: description: The charge for this call, in the currency associated with the account. Populated after the call is completed. May not be immediately @@ -1161,20 +974,20 @@ components: nullable: true type: string sid: - description: The unique string that identifies this resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies this resource start_time: - description: The start time of the call. Null if the call has not yet been - dialed. + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The start time of the call. Null if the call has not yet been + dialed. status: - description: The status of this call. + type: string enum: - queued - ringing @@ -1185,7 +998,7 @@ components: - no-answer - canceled nullable: true - type: string + description: The status of this call. subresource_uris: description: A list of related subresources identified by their relative URIs @@ -1205,50 +1018,51 @@ components: nullable: true type: string trunk_sid: - description: The (optional) unique identifier of the trunk resource that - was used for this call. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^TK[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The (optional) unique identifier of the trunk resource that + was used for this call. uri: description: The URI of this resource, relative to `https://api.twilio.com` format: uri nullable: true type: string - type: object api.v2010.account.call.call_event: + type: object properties: request: - description: Call Request. nullable: true + description: Call Request. response: - description: Call Response with Events. nullable: true - type: object + description: Call Response with Events. api.v2010.account.call.call_feedback: + type: object properties: account_sid: - description: The unique sid that identifies this account - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - date_created: - description: The date this resource was created - format: date-time-rfc-2822 nullable: true + description: The unique sid that identifies this account + date_created: type: string - date_updated: - description: The date this resource was last updated format: date-time-rfc-2822 nullable: true + description: The date this resource was created + date_updated: type: string + format: date-time-rfc-2822 + nullable: true + description: The date this resource was last updated issues: - description: Issues experienced during the call + type: array items: + type: string enum: - audio-latency - digits-not-captured @@ -1258,30 +1072,29 @@ components: - one-way-audio - post-dial-delay - unsolicited-call - type: string nullable: true - type: array + description: Issues experienced during the call quality_score: description: 1 to 5 quality score nullable: true type: integer sid: - description: A string that uniquely identifies this feedback resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CA[0-9a-fA-F]{32}$ - type: string - type: object + nullable: true + description: A string that uniquely identifies this feedback resource api.v2010.account.call.call_feedback_summary: + type: object properties: account_sid: - description: The unique sid that identifies this account - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique sid that identifies this account call_count: description: The total number of calls nullable: true @@ -1291,15 +1104,15 @@ components: nullable: true type: integer date_created: - description: The date this resource was created + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The date this resource was created date_updated: - description: The date this resource was last updated + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The date this resource was last updated end_date: description: The latest feedback entry date in the summary format: date @@ -1310,10 +1123,10 @@ components: nullable: true type: boolean issues: - description: Issues experienced during the call + type: array items: {} nullable: true - type: array + description: Issues experienced during the call quality_score_average: description: The average QualityScore of the feedback entries nullable: true @@ -1327,58 +1140,58 @@ components: nullable: true type: number sid: - description: A string that uniquely identifies this feedback entry - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^FS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: A string that uniquely identifies this feedback entry start_date: description: The earliest feedback entry date in the summary format: date nullable: true type: string status: - description: The status of the feedback summary + type: string enum: - queued - in-progress - completed - failed nullable: true - type: string - type: object + description: The status of the feedback summary api.v2010.account.call.call_notification: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource api_version: description: The API version used to create the Call Notification resource nullable: true type: string call_sid: - description: The SID of the Call the resource is associated with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Call the resource is associated with date_created: - description: The RFC 2822 date and time in GMT that the resource was created + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The RFC 2822 date and time in GMT that the resource was created date_updated: - description: The RFC 2822 date and time in GMT that the resource was last - updated + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The RFC 2822 date and time in GMT that the resource was last + updated error_code: description: A unique error code corresponding to the notification nullable: true @@ -1388,10 +1201,10 @@ components: nullable: true type: string message_date: - description: The date the notification was generated + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The date the notification was generated message_text: description: The text of the notification nullable: true @@ -1419,49 +1232,49 @@ components: nullable: true type: string sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^NO[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource uri: description: The URI of the resource, relative to `https://api.twilio.com` format: uri nullable: true type: string - type: object api.v2010.account.call.call_notification-instance: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource api_version: description: The API version used to create the Call Notification resource nullable: true type: string call_sid: - description: The SID of the Call the resource is associated with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Call the resource is associated with date_created: - description: The RFC 2822 date and time in GMT that the resource was created + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The RFC 2822 date and time in GMT that the resource was created date_updated: - description: The RFC 2822 date and time in GMT that the resource was last - updated + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The RFC 2822 date and time in GMT that the resource was last + updated error_code: description: A unique error code corresponding to the notification nullable: true @@ -1471,10 +1284,10 @@ components: nullable: true type: string message_date: - description: The date the notification was generated + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The date the notification was generated message_text: description: The text of the notification nullable: true @@ -1514,68 +1327,68 @@ components: nullable: true type: string sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^NO[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource uri: description: The URI of the resource, relative to `https://api.twilio.com` format: uri nullable: true type: string - type: object api.v2010.account.call.call_recording: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource api_version: description: The API version used to make the recording nullable: true type: string call_sid: - description: The SID of the Call the resource is associated with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Call the resource is associated with channels: description: The number of channels in the final recording file nullable: true type: integer conference_sid: - description: The Conference SID that identifies the conference associated - with the recording - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CF[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The Conference SID that identifies the conference associated + with the recording date_created: - description: The RFC 2822 date and time in GMT that the resource was created + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The RFC 2822 date and time in GMT that the resource was created date_updated: - description: The RFC 2822 date and time in GMT that the resource was last - updated + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The RFC 2822 date and time in GMT that the resource was last + updated duration: description: The length of the recording in seconds nullable: true type: string encryption_details: - description: How to decrypt the recording. nullable: true + description: How to decrypt the recording. error_code: description: More information about why the recording is missing, if status is `absent`. @@ -1591,14 +1404,14 @@ components: nullable: true type: string sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RE[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource source: - description: How the recording was created + type: string enum: - DialVerb - Conference @@ -1608,14 +1421,14 @@ components: - StartCallRecordingAPI - StartConferenceRecordingAPI nullable: true - type: string + description: How the recording was created start_time: - description: The start time of the recording, given in RFC 2822 format + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The start time of the recording, given in RFC 2822 format status: - description: The status of the recording + type: string enum: - in-progress - paused @@ -1624,7 +1437,7 @@ components: - completed - absent nullable: true - type: string + description: The status of the recording track: description: 'The recorded track. Can be: `inbound`, `outbound`, or `both`.' nullable: true @@ -1634,176 +1447,44 @@ components: format: uri nullable: true type: string + api.v2010.account.conference: type: object - api.v2010.account.call.payments: properties: account_sid: - description: The SID of the Account that created the Payments resource. - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ type: string - call_sid: - description: The SID of the Call the resource is associated with. - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ nullable: true - pattern: ^CA[0-9a-fA-F]{32}$ - type: string - date_created: - description: The RFC 2822 date and time in GMT that the resource was created - format: date-time-rfc-2822 + description: The SID of the Account that created this resource + api_version: + description: The API version used to create this conference nullable: true type: string - date_updated: - description: The RFC 2822 date and time in GMT that the resource was last - updated - format: date-time-rfc-2822 - nullable: true + call_sid_ending_conference: type: string - sid: - description: The SID of the Payments resource. - maxLength: 34 minLength: 34 - nullable: true - pattern: ^PK[0-9a-fA-F]{32}$ - type: string - uri: - description: The URI of the resource, relative to `https://api.twilio.com` - format: uri - nullable: true - type: string - type: object - api.v2010.account.call.siprec: - properties: - account_sid: - description: The SID of the Account that created this resource maxLength: 34 - minLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ + description: The call SID that caused the conference to end + date_created: type: string - call_sid: - description: The SID of the Call the resource is associated with - maxLength: 34 - minLength: 34 + format: date-time-rfc-2822 nullable: true - pattern: ^CA[0-9a-fA-F]{32}$ - type: string + description: The RFC 2822 date and time in GMT that this resource was created date_updated: + type: string + format: date-time-rfc-2822 + nullable: true description: The RFC 2822 date and time in GMT that this resource was last updated - format: date-time-rfc-2822 - nullable: true - type: string - name: - description: The name of this resource - nullable: true - type: string - sid: - description: The SID of the Siprec resource. - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^SR[0-9a-fA-F]{32}$ - type: string - status: - description: The status - one of `stopped`, `in-progress` - enum: - - in-progress - - stopped - nullable: true - type: string - uri: - description: The URI of the resource, relative to `https://api.twilio.com` - format: uri - nullable: true - type: string - type: object - api.v2010.account.call.stream: - properties: - account_sid: - description: The SID of the Account that created this resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - call_sid: - description: The SID of the Call the resource is associated with - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^CA[0-9a-fA-F]{32}$ - type: string - date_updated: - description: The RFC 2822 date and time in GMT that this resource was last - updated - format: date-time-rfc-2822 - nullable: true - type: string - name: - description: The name of this resource - nullable: true - type: string - sid: - description: The SID of the Stream resource. - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^MZ[0-9a-fA-F]{32}$ - type: string - status: - description: The status - one of `stopped`, `in-progress` - enum: - - in-progress - - stopped - nullable: true - type: string - uri: - description: The URI of the resource, relative to `https://api.twilio.com` - format: uri - nullable: true - type: string - type: object - api.v2010.account.conference: - properties: - account_sid: - description: The SID of the Account that created this resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - api_version: - description: The API version used to create this conference - nullable: true - type: string - call_sid_ending_conference: - description: The call SID that caused the conference to end - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^CA[0-9a-fA-F]{32}$ - type: string - date_created: - description: The RFC 2822 date and time in GMT that this resource was created - format: date-time-rfc-2822 - nullable: true - type: string - date_updated: - description: The RFC 2822 date and time in GMT that this resource was last - updated - format: date-time-rfc-2822 - nullable: true - type: string - friendly_name: - description: A string that you assigned to describe this conference room + friendly_name: + description: A string that you assigned to describe this conference room nullable: true type: string reason_conference_ended: - description: The reason why a conference ended. + type: string enum: - conference-ended-via-api - participant-with-end-conference-on-exit-left @@ -1811,27 +1492,27 @@ components: - last-participant-kicked - last-participant-left nullable: true - type: string + description: The reason why a conference ended. region: description: A string that represents the Twilio Region where the conference was mixed nullable: true type: string sid: - description: The unique string that identifies this resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CF[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies this resource status: - description: The status of this conference + type: string enum: - init - in-progress - completed nullable: true - type: string + description: The status of this conference subresource_uris: description: A list of related resources identified by their relative URIs format: uri-map @@ -1841,57 +1522,57 @@ components: description: The URI of this resource, relative to `https://api.twilio.com` nullable: true type: string - type: object api.v2010.account.conference.conference_recording: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource api_version: description: The API version used to create the recording nullable: true type: string call_sid: - description: The SID of the Call the resource is associated with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Call the resource is associated with channels: description: The number of channels in the final recording file as an integer nullable: true type: integer conference_sid: - description: The Conference SID that identifies the conference associated - with the recording - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CF[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The Conference SID that identifies the conference associated + with the recording date_created: - description: The RFC 2822 date and time in GMT that the resource was created + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The RFC 2822 date and time in GMT that the resource was created date_updated: - description: The RFC 2822 date and time in GMT that the resource was last - updated + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The RFC 2822 date and time in GMT that the resource was last + updated duration: description: The length of the recording in seconds nullable: true type: string encryption_details: - description: How to decrypt the recording. nullable: true + description: How to decrypt the recording. error_code: description: More information about why the recording is missing, if status is `absent`. @@ -1907,14 +1588,14 @@ components: nullable: true type: string sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RE[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource source: - description: How the recording was created + type: string enum: - DialVerb - Conference @@ -1924,14 +1605,14 @@ components: - StartCallRecordingAPI - StartConferenceRecordingAPI nullable: true - type: string + description: How the recording was created start_time: - description: The start time of the recording, given in RFC 2822 format + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The start time of the recording, given in RFC 2822 format status: - description: The status of the recording + type: string enum: - in-progress - paused @@ -1940,269 +1621,136 @@ components: - completed - absent nullable: true - type: string + description: The status of the recording uri: description: The URI of the resource, relative to `https://api.twilio.com` nullable: true type: string + api.v2010.account.connect_app: type: object - api.v2010.account.conference.participant: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ type: string - call_sid: - description: The SID of the Call the resource is associated with - maxLength: 34 minLength: 34 - nullable: true - pattern: ^CA[0-9a-fA-F]{32}$ - type: string - call_sid_to_coach: - description: The SID of the participant who is being `coached` maxLength: 34 - minLength: 34 - nullable: true - pattern: ^CA[0-9a-fA-F]{32}$ - type: string - coaching: - description: Indicates if the participant changed to coach + pattern: ^AC[0-9a-fA-F]{32}$ nullable: true - type: boolean - conference_sid: - description: The SID of the conference the participant is in - maxLength: 34 - minLength: 34 + description: The SID of the Account that created the resource + authorize_redirect_url: + description: The URL to redirect the user to after authorization + format: uri nullable: true - pattern: ^CF[0-9a-fA-F]{32}$ type: string - date_created: - description: The RFC 2822 date and time in GMT that the resource was created - format: date-time-rfc-2822 + company_name: + description: The company name set for the Connect App nullable: true type: string - date_updated: - description: The RFC 2822 date and time in GMT that the resource was last - updated - format: date-time-rfc-2822 + deauthorize_callback_method: + description: The HTTP method we use to call deauthorize_callback_url + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method nullable: true type: string - end_conference_on_exit: - description: Whether the conference ends when the participant leaves + deauthorize_callback_url: + description: The URL we call to de-authorize the Connect App + format: uri nullable: true - type: boolean - hold: - description: Whether the participant is on hold + type: string + description: + description: The description of the Connect App nullable: true - type: boolean - label: - description: The label of this participant + type: string + friendly_name: + description: The string that you assigned to describe the resource nullable: true type: string - muted: - description: Whether the participant is muted - nullable: true - type: boolean - start_conference_on_enter: - description: Whether the conference starts when the participant joins the - conference - nullable: true - type: boolean - status: - description: The status of the participant's call in a session - enum: - - queued - - connecting - - ringing - - connected - - complete - - failed - nullable: true - type: string - uri: - description: The URI of the resource, relative to `https://api.twilio.com` - nullable: true - type: string - type: object - api.v2010.account.connect_app: - properties: - account_sid: - description: The SID of the Account that created the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - authorize_redirect_url: - description: The URL to redirect the user to after authorization - format: uri - nullable: true - type: string - company_name: - description: The company name set for the Connect App - nullable: true - type: string - deauthorize_callback_method: - description: The HTTP method we use to call deauthorize_callback_url - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - nullable: true - type: string - deauthorize_callback_url: - description: The URL we call to de-authorize the Connect App - format: uri - nullable: true - type: string - description: - description: The description of the Connect App - nullable: true - type: string - friendly_name: - description: The string that you assigned to describe the resource - nullable: true - type: string - homepage_url: - description: The URL users can obtain more information - format: uri + homepage_url: + description: The URL users can obtain more information + format: uri nullable: true type: string permissions: - description: The set of permissions that your ConnectApp requests + type: array items: + type: string enum: - get-all - post-all - type: string nullable: true - type: array + description: The set of permissions that your ConnectApp requests sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CN[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource uri: description: The URI of the resource, relative to `https://api.twilio.com` format: uri nullable: true type: string + api.v2010.account.address.dependent_phone_number: type: object - api.v2010.account.incoming_phone_number: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource address_requirements: - description: Whether the phone number requires an Address registered with - Twilio. + type: string enum: - none - any - local - foreign nullable: true - type: string - address_sid: - description: The SID of the Address resource associated with the phone number - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AD[0-9a-fA-F]{32}$ - type: string + description: Whether the phone number requires an Address registered with + Twilio api_version: description: The API version used to start a new TwiML session nullable: true type: string - beta: - description: Whether the phone number is new to the Twilio platform - nullable: true - type: boolean - bundle_sid: - description: The SID of the Bundle resource associated with number - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^BU[0-9a-fA-F]{32}$ - type: string capabilities: - description: Indicate if a phone can receive calls or messages - format: phone-number-capabilities nullable: true - properties: - fax: - type: boolean - mms: - type: boolean - sms: - type: boolean - voice: - type: boolean - type: object + description: Indicate if a phone can receive calls or messages date_created: - description: The RFC 2822 date and time in GMT that the resource was created + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The RFC 2822 date and time in GMT that the resource was created date_updated: - description: The RFC 2822 date and time in GMT that the resource was last - updated + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The RFC 2822 date and time in GMT that the resource was last + updated emergency_address_sid: - description: The emergency address configuration to use for emergency calling - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AD[0-9a-fA-F]{32}$ - type: string - emergency_address_status: - description: State of the emergency address configuration for the phone - number - enum: - - registered - - unregistered - - pending-registration - - registration-failure - - pending-unregistration - - unregistration-failure nullable: true - type: string + description: The emergency address configuration to use for emergency calling emergency_status: - description: Displays if emergency calling is enabled for this number. + type: string enum: - Active - Inactive nullable: true - type: string + description: Whether the phone number is enabled for emergency calling friendly_name: description: The string that you assigned to describe the resource - nullable: true - type: string - identity_sid: - description: The SID of the Identity resource associated with number - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^RI[0-9a-fA-F]{32}$ - type: string - origin: - description: The phone number's origin. Can be twilio or hosted. + format: phone-number nullable: true type: string phone_number: @@ -2211,20 +1759,20 @@ components: nullable: true type: string sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^PN[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource sms_application_sid: - description: The SID of the application that handles SMS messages sent to - the phone number - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AP[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the application that handles SMS messages sent to + the phone number sms_fallback_method: description: The HTTP method used with sms_fallback_url enum: @@ -2261,9 +1809,6 @@ components: format: uri nullable: true type: string - status: - nullable: true - type: string status_callback: description: The URL to send status information to your application format: uri @@ -2282,25 +1827,25 @@ components: nullable: true type: string trunk_sid: - description: The SID of the Trunk that handles calls to the phone number - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^TK[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Trunk that handles calls to the phone number uri: description: The URI of the resource, relative to `https://api.twilio.com` format: uri nullable: true type: string voice_application_sid: - description: The SID of the application that handles calls to the phone - number - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AP[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the application that handles calls to the phone + number voice_caller_id_lookup: description: Whether to lookup the caller's name nullable: true @@ -2334,161 +1879,40 @@ components: format: http-method nullable: true type: string - voice_receive_mode: - enum: - - voice - - fax - nullable: true - type: string voice_url: description: The URL we call when the phone number receives a call format: uri nullable: true type: string + api.v2010.account.incoming_phone_number: type: object - api.v2010.account.incoming_phone_number.incoming_phone_number_assigned_add_on: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - configuration: - description: A JSON string that represents the current configuration - nullable: true - date_created: - description: The RFC 2822 date and time in GMT that the resource was created - format: date-time-rfc-2822 nullable: true + description: The SID of the Account that created the resource + address_requirements: type: string - date_updated: - description: The RFC 2822 date and time in GMT that the resource was last - updated - format: date-time-rfc-2822 + enum: + - none + - any + - local + - foreign nullable: true + description: Whether the phone number requires an Address registered with + Twilio. + address_sid: type: string - description: - description: A short description of the Add-on functionality + minLength: 34 + maxLength: 34 + pattern: ^AD[0-9a-fA-F]{32}$ nullable: true - type: string - friendly_name: - description: The string that you assigned to describe the resource - nullable: true - type: string - resource_sid: - description: The SID of the Phone Number that installed this Add-on - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^PN[0-9a-fA-F]{32}$ - type: string - sid: - description: The unique string that identifies the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^XE[0-9a-fA-F]{32}$ - type: string - subresource_uris: - description: A list of related resources identified by their relative URIs - format: uri-map - nullable: true - type: object - unique_name: - description: An application-defined string that uniquely identifies the - resource - nullable: true - type: string - uri: - description: The URI of the resource, relative to `https://api.twilio.com` - format: uri - nullable: true - type: string - type: object - ? api.v2010.account.incoming_phone_number.incoming_phone_number_assigned_add_on.incoming_phone_number_assigned_add_on_extension - : properties: - account_sid: - description: The SID of the Account that created the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - assigned_add_on_sid: - description: The SID that uniquely identifies the assigned Add-on installation - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^XE[0-9a-fA-F]{32}$ - type: string - enabled: - description: Whether the Extension will be invoked - nullable: true - type: boolean - friendly_name: - description: The string that you assigned to describe the resource - nullable: true - type: string - product_name: - description: A string that you assigned to describe the Product this Extension - is used within - nullable: true - type: string - resource_sid: - description: The SID of the Phone Number to which the Add-on is assigned - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^PN[0-9a-fA-F]{32}$ - type: string - sid: - description: The unique string that identifies the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^XF[0-9a-fA-F]{32}$ - type: string - unique_name: - description: An application-defined string that uniquely identifies the - resource - nullable: true - type: string - uri: - description: The URI of the resource, relative to `https://api.twilio.com` - format: uri - nullable: true - type: string - type: object - api.v2010.account.incoming_phone_number.incoming_phone_number_local: - properties: - account_sid: - description: The SID of the Account that created the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - address_requirements: - description: Whether the phone number requires an Address registered with - Twilio. - enum: - - none - - any - - local - - foreign - nullable: true - type: string - address_sid: - description: The SID of the Address resource associated with the phone number - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AD[0-9a-fA-F]{32}$ - type: string - api_version: - description: The API version used to start a new TwiML session + description: The SID of the Address resource associated with the phone number + api_version: + description: The API version used to start a new TwiML session nullable: true type: string beta: @@ -2496,12 +1920,12 @@ components: nullable: true type: boolean bundle_sid: - description: The SID of the Bundle resource associated with number - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^BU[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Bundle resource associated with number capabilities: description: Indicate if a phone can receive calls or messages format: phone-number-capabilities @@ -2517,26 +1941,25 @@ components: type: boolean type: object date_created: - description: The RFC 2822 date and time in GMT that the resource was created + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The RFC 2822 date and time in GMT that the resource was created date_updated: - description: The RFC 2822 date and time in GMT that the resource was last - updated + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The RFC 2822 date and time in GMT that the resource was last + updated emergency_address_sid: - description: The emergency address configuration to use for emergency calling - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AD[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The emergency address configuration to use for emergency calling emergency_address_status: - description: State of the emergency address configuration for the phone - number + type: string enum: - registered - unregistered @@ -2545,25 +1968,26 @@ components: - pending-unregistration - unregistration-failure nullable: true - type: string + description: State of the emergency address configuration for the phone + number emergency_status: - description: Displays if emergency calling is enabled for this number. + type: string enum: - Active - Inactive nullable: true - type: string + description: Displays if emergency calling is enabled for this number. friendly_name: description: The string that you assigned to describe the resource nullable: true type: string identity_sid: - description: The SID of the Identity resource associated with number - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RI[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Identity resource associated with number origin: description: The phone number's origin. Can be twilio or hosted. nullable: true @@ -2574,19 +1998,20 @@ components: nullable: true type: string sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^PN[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource sms_application_sid: - description: The SID of the Application resource to handle SMS messages - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AP[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the application that handles SMS messages sent to + the phone number sms_fallback_method: description: The HTTP method used with sms_fallback_url enum: @@ -2644,25 +2069,25 @@ components: nullable: true type: string trunk_sid: - description: The SID of the Trunk that handles calls to the phone number - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^TK[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Trunk that handles calls to the phone number uri: description: The URI of the resource, relative to `https://api.twilio.com` format: uri nullable: true type: string voice_application_sid: - description: The SID of the application that handles calls to the phone - number - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AP[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the application that handles calls to the phone + number voice_caller_id_lookup: description: Whether to lookup the caller's name nullable: true @@ -2697,65 +2122,180 @@ components: nullable: true type: string voice_receive_mode: + type: string enum: - voice - fax nullable: true - type: string voice_url: - description: The URL we call when this phone number receives a call + description: The URL we call when the phone number receives a call format: uri nullable: true type: string + api.v2010.account.incoming_phone_number.incoming_phone_number_assigned_add_on: type: object - api.v2010.account.incoming_phone_number.incoming_phone_number_mobile: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - address_requirements: - description: Whether the phone number requires an Address registered with - Twilio. - enum: - - none - - any - - local - - foreign nullable: true + description: The SID of the Account that created the resource + configuration: + nullable: true + description: A JSON string that represents the current configuration + date_created: type: string - address_sid: - description: The SID of the Address resource associated with the phone number - maxLength: 34 - minLength: 34 + format: date-time-rfc-2822 nullable: true - pattern: ^AD[0-9a-fA-F]{32}$ + description: The RFC 2822 date and time in GMT that the resource was created + date_updated: type: string - api_version: - description: The API version used to start a new TwiML session + format: date-time-rfc-2822 + nullable: true + description: The RFC 2822 date and time in GMT that the resource was last + updated + description: + description: A short description of the Add-on functionality nullable: true type: string - beta: - description: Whether the phone number is new to the Twilio platform + friendly_name: + description: The string that you assigned to describe the resource nullable: true - type: boolean - bundle_sid: - description: The SID of the Bundle resource associated with number - maxLength: 34 + type: string + resource_sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^PN[0-9a-fA-F]{32}$ nullable: true - pattern: ^BU[0-9a-fA-F]{32}$ + description: The SID of the Phone Number that installed this Add-on + sid: type: string - capabilities: - description: Indicate if a phone can receive calls or messages - format: phone-number-capabilities + minLength: 34 + maxLength: 34 + pattern: ^XE[0-9a-fA-F]{32}$ nullable: true - properties: - fax: - type: boolean + description: The unique string that identifies the resource + subresource_uris: + description: A list of related resources identified by their relative URIs + format: uri-map + nullable: true + type: object + unique_name: + description: An application-defined string that uniquely identifies the + resource + nullable: true + type: string + uri: + description: The URI of the resource, relative to `https://api.twilio.com` + format: uri + nullable: true + type: string + ? api.v2010.account.incoming_phone_number.incoming_phone_number_assigned_add_on.incoming_phone_number_assigned_add_on_extension + : type: object + properties: + account_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created the resource + assigned_add_on_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^XE[0-9a-fA-F]{32}$ + nullable: true + description: The SID that uniquely identifies the assigned Add-on installation + enabled: + description: Whether the Extension will be invoked + nullable: true + type: boolean + friendly_name: + description: The string that you assigned to describe the resource + nullable: true + type: string + product_name: + description: A string that you assigned to describe the Product this Extension + is used within + nullable: true + type: string + resource_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^PN[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Phone Number to which the Add-on is assigned + sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^XF[0-9a-fA-F]{32}$ + nullable: true + description: The unique string that identifies the resource + unique_name: + description: An application-defined string that uniquely identifies the + resource + nullable: true + type: string + uri: + description: The URI of the resource, relative to `https://api.twilio.com` + format: uri + nullable: true + type: string + api.v2010.account.incoming_phone_number.incoming_phone_number_local: + type: object + properties: + account_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created the resource + address_requirements: + type: string + enum: + - none + - any + - local + - foreign + nullable: true + description: Whether the phone number requires an Address registered with + Twilio. + address_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AD[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Address resource associated with the phone number + api_version: + description: The API version used to start a new TwiML session + nullable: true + type: string + beta: + description: Whether the phone number is new to the Twilio platform + nullable: true + type: boolean + bundle_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^BU[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Bundle resource associated with number + capabilities: + description: Indicate if a phone can receive calls or messages + format: phone-number-capabilities + nullable: true + properties: + fax: + type: boolean mms: type: boolean sms: @@ -2764,26 +2304,25 @@ components: type: boolean type: object date_created: - description: The RFC 2822 date and time in GMT that the resource was created + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The RFC 2822 date and time in GMT that the resource was created date_updated: - description: The RFC 2822 date and time in GMT that the resource was last - updated + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The RFC 2822 date and time in GMT that the resource was last + updated emergency_address_sid: - description: The emergency address configuration to use for emergency calling - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AD[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The emergency address configuration to use for emergency calling emergency_address_status: - description: State of the emergency address configuration for the phone - number + type: string enum: - registered - unregistered @@ -2792,25 +2331,26 @@ components: - pending-unregistration - unregistration-failure nullable: true - type: string + description: State of the emergency address configuration for the phone + number emergency_status: - description: Displays if emergency calling is enabled for this number. + type: string enum: - Active - Inactive nullable: true - type: string + description: Displays if emergency calling is enabled for this number. friendly_name: description: The string that you assigned to describe the resource nullable: true type: string identity_sid: - description: The SID of the Identity resource associated with number - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RI[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Identity resource associated with number origin: description: The phone number's origin. Can be twilio or hosted. nullable: true @@ -2821,20 +2361,19 @@ components: nullable: true type: string sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^PN[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource sms_application_sid: - description: The SID of the application that handles SMS messages sent to - the phone number - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AP[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Application resource to handle SMS messages sms_fallback_method: description: The HTTP method used with sms_fallback_url enum: @@ -2892,25 +2431,25 @@ components: nullable: true type: string trunk_sid: - description: The SID of the Trunk that handles calls to the phone number - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^TK[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Trunk that handles calls to the phone number uri: description: The URI of the resource, relative to `https://api.twilio.com` format: uri nullable: true type: string voice_application_sid: - description: The SID of the application that handles calls to the phone - number - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AP[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the application that handles calls to the phone + number voice_caller_id_lookup: description: Whether to lookup the caller's name nullable: true @@ -2945,43 +2484,43 @@ components: nullable: true type: string voice_receive_mode: + type: string enum: - voice - fax nullable: true - type: string voice_url: - description: The URL we call when the phone number receives a call + description: The URL we call when this phone number receives a call format: uri nullable: true type: string + api.v2010.account.incoming_phone_number.incoming_phone_number_mobile: type: object - api.v2010.account.incoming_phone_number.incoming_phone_number_toll_free: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource address_requirements: - description: Whether the phone number requires an Address registered with - Twilio. + type: string enum: - none - any - local - foreign nullable: true - type: string + description: Whether the phone number requires an Address registered with + Twilio. address_sid: - description: The SID of the Address resource associated with the phone number - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AD[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Address resource associated with the phone number api_version: description: The API version used to start a new TwiML session nullable: true @@ -2991,12 +2530,12 @@ components: nullable: true type: boolean bundle_sid: - description: The SID of the Bundle resource associated with number - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^BU[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Bundle resource associated with number capabilities: description: Indicate if a phone can receive calls or messages format: phone-number-capabilities @@ -3012,26 +2551,25 @@ components: type: boolean type: object date_created: - description: The RFC 2822 date and time in GMT that the resource was created + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The RFC 2822 date and time in GMT that the resource was created date_updated: - description: The RFC 2822 date and time in GMT that the resource was last - updated + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The RFC 2822 date and time in GMT that the resource was last + updated emergency_address_sid: - description: The emergency address configuration to use for emergency calling - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AD[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The emergency address configuration to use for emergency calling emergency_address_status: - description: State of the emergency address configuration for the phone - number + type: string enum: - registered - unregistered @@ -3040,25 +2578,26 @@ components: - pending-unregistration - unregistration-failure nullable: true - type: string + description: State of the emergency address configuration for the phone + number emergency_status: - description: Displays if emergency calling is enabled for this number. + type: string enum: - Active - Inactive nullable: true - type: string + description: Displays if emergency calling is enabled for this number. friendly_name: description: The string that you assigned to describe the resource nullable: true type: string identity_sid: - description: The SID of the Identity resource associated with number - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RI[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Identity resource associated with number origin: description: The phone number's origin. Can be twilio or hosted. nullable: true @@ -3069,20 +2608,20 @@ components: nullable: true type: string sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^PN[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource sms_application_sid: - description: The SID of the application that handles SMS messages sent to - the phone number - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AP[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the application that handles SMS messages sent to + the phone number sms_fallback_method: description: The HTTP method used with sms_fallback_url enum: @@ -3140,25 +2679,25 @@ components: nullable: true type: string trunk_sid: - description: The SID of the Trunk that handles calls to the phone number - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^TK[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Trunk that handles calls to the phone number uri: description: The URI of the resource, relative to `https://api.twilio.com` format: uri nullable: true type: string voice_application_sid: - description: The SID of the application that handles calls to the phone - number - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AP[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the application that handles calls to the phone + number voice_caller_id_lookup: description: Whether to lookup the caller's name nullable: true @@ -3193,2336 +2732,2166 @@ components: nullable: true type: string voice_receive_mode: + type: string enum: - voice - fax nullable: true - type: string voice_url: description: The URL we call when the phone number receives a call format: uri nullable: true type: string + api.v2010.account.incoming_phone_number.incoming_phone_number_toll_free: type: object - api.v2010.account.key: properties: - date_created: - description: The RFC 2822 date and time in GMT that the resource was created - format: date-time-rfc-2822 - nullable: true + account_sid: type: string - date_updated: - description: The RFC 2822 date and time in GMT that the resource was last - updated - format: date-time-rfc-2822 + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ nullable: true + description: The SID of the Account that created the resource + address_requirements: type: string - friendly_name: - description: The string that you assigned to describe the resource + enum: + - none + - any + - local + - foreign nullable: true + description: Whether the phone number requires an Address registered with + Twilio. + address_sid: type: string - sid: - description: The unique string that identifies the resource - maxLength: 34 minLength: 34 - nullable: true - pattern: ^SK[0-9a-fA-F]{32}$ - type: string - type: object - api.v2010.account.message: - properties: - account_sid: - description: The SID of the Account that created the resource maxLength: 34 - minLength: 34 + pattern: ^AD[0-9a-fA-F]{32}$ nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string + description: The SID of the Address resource associated with the phone number api_version: - description: The API version used to process the message + description: The API version used to start a new TwiML session nullable: true type: string - body: - description: The message text + beta: + description: Whether the phone number is new to the Twilio platform nullable: true + type: boolean + bundle_sid: type: string + minLength: 34 + maxLength: 34 + pattern: ^BU[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Bundle resource associated with number + capabilities: + description: Indicate if a phone can receive calls or messages + 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 RFC 2822 date and time in GMT that the resource was created + type: string format: date-time-rfc-2822 nullable: true + description: The RFC 2822 date and time in GMT that the resource was created + date_updated: type: string - date_sent: - description: The RFC 2822 date and time in GMT when the message was sent format: date-time-rfc-2822 nullable: true - type: string - date_updated: description: The RFC 2822 date and time in GMT that the resource was last updated - format: date-time-rfc-2822 + emergency_address_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AD[0-9a-fA-F]{32}$ nullable: true + description: The emergency address configuration to use for emergency calling + emergency_address_status: type: string - direction: - description: The direction of the message enum: - - inbound - - outbound-api - - outbound-call - - outbound-reply + - registered + - unregistered + - pending-registration + - registration-failure + - pending-unregistration + - unregistration-failure nullable: true + description: State of the emergency address configuration for the phone + number + emergency_status: type: string - error_code: - description: The error code associated with the message + enum: + - Active + - Inactive nullable: true - type: integer - error_message: - description: The description of the error_code + description: Displays if emergency calling is enabled for this number. + friendly_name: + description: The string that you assigned to describe the resource nullable: true type: string - from: - description: The phone number that initiated the message - format: phone-number - nullable: true + identity_sid: type: string - messaging_service_sid: - description: The SID of the Messaging Service used with the message. - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^RI[0-9a-fA-F]{32}$ nullable: true - pattern: ^MG[0-9a-fA-F]{32}$ - type: string - num_media: - description: The number of media files associated with the message + description: The SID of the Identity resource associated with number + origin: + description: The phone number's origin. Can be twilio or hosted. nullable: true type: string - num_segments: - description: The number of messages used to deliver the message body + phone_number: + description: The phone number in E.164 format + format: phone-number nullable: true type: string - price: - description: The amount billed for the message - nullable: true + sid: type: string - price_unit: - description: The currency in which price is measured - format: currency + minLength: 34 + maxLength: 34 + pattern: ^PN[0-9a-fA-F]{32}$ nullable: true - type: string - sid: description: The unique string that identifies the resource - maxLength: 34 + sms_application_sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^AP[0-9a-fA-F]{32}$ nullable: true - pattern: ^(SM|MM)[0-9a-fA-F]{32}$ - type: string - status: - description: The status of the message + description: The SID of the application that handles SMS messages sent to + the phone number + sms_fallback_method: + description: The HTTP method used with sms_fallback_url enum: - - queued - - sending - - sent - - failed - - delivered - - undelivered - - receiving - - received - - accepted - - scheduled - - read - - partially_delivered - - canceled + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method nullable: true type: string - subresource_uris: - description: A list of related resources identified by their relative URIs - format: uri-map - nullable: true - type: object - to: - description: The phone number that received the message + sms_fallback_url: + description: The URL that we call when an error occurs while retrieving + or executing the TwiML + format: uri nullable: true type: string - uri: - description: The URI of the resource, relative to `https://api.twilio.com` + sms_method: + description: The HTTP method to use with sms_url + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method nullable: true type: string - type: object - api.v2010.account.message.media: - properties: - account_sid: - description: The SID of the Account that created this resource - maxLength: 34 - minLength: 34 + sms_url: + description: The URL we call when the phone number receives an incoming + SMS message + format: uri nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ type: string - content_type: - description: The default mime-type of the media + status: nullable: true type: string - date_created: - description: The RFC 2822 date and time in GMT that this resource was created - format: date-time-rfc-2822 + status_callback: + description: The URL to send status information to your application + format: uri nullable: true type: string - date_updated: - description: The RFC 2822 date and time in GMT that this resource was last - updated - format: date-time-rfc-2822 + status_callback_method: + description: The HTTP method we use to call status_callback + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method nullable: true type: string - parent_sid: - description: The SID of the resource that created the media - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^(SM|MM)[0-9a-fA-F]{32}$ + trunk_sid: type: string - sid: - description: The unique string that identifies this resource - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^TK[0-9a-fA-F]{32}$ nullable: true - pattern: ^ME[0-9a-fA-F]{32}$ - type: string + description: The SID of the Trunk that handles calls to the phone number uri: - description: The URI of this resource, relative to `https://api.twilio.com` + description: The URI of the resource, relative to `https://api.twilio.com` format: uri nullable: true type: string - type: object - api.v2010.account.message.message_feedback: - properties: - account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + voice_application_sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^AP[0-9a-fA-F]{32}$ nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - date_created: - description: The RFC 2822 date and time in GMT that the resource was created - format: date-time-rfc-2822 + description: The SID of the application that handles calls to the phone + number + voice_caller_id_lookup: + description: Whether to lookup the caller's name nullable: true - type: string - date_updated: - description: The RFC 2822 date and time in GMT that the resource was last - updated - format: date-time-rfc-2822 + type: boolean + voice_fallback_method: + description: The HTTP method used with voice_fallback_url + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method nullable: true type: string - message_sid: - description: The SID of the Message resource for which the feedback was - provided - maxLength: 34 - minLength: 34 + voice_fallback_url: + description: The URL we call when an error occurs in TwiML + format: uri nullable: true - pattern: ^(SM|MM)[0-9a-fA-F]{32}$ type: string - outcome: - description: Whether the feedback has arrived + voice_method: + description: The HTTP method used with the voice_url enum: - - confirmed - - unconfirmed + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method nullable: true type: string - uri: - description: The URI of the resource, relative to `https://api.twilio.com` + voice_receive_mode: + type: string + enum: + - voice + - fax + nullable: true + voice_url: + description: The URL we call when the phone number receives a call + format: uri nullable: true type: string + api.v2010.account.key: type: object - api.v2010.account.new_key: properties: date_created: - description: The RFC 2822 date and time in GMT that the resource was created - format: date-time-rfc-2822 - nullable: true type: string - date_updated: - description: The RFC 2822 date and time in GMT that the resource was last - updated format: date-time-rfc-2822 nullable: true - type: string - friendly_name: - description: The string that you assigned to describe the resource - nullable: true - type: string - secret: - description: The secret your application uses to sign Access Tokens and - to authenticate to the REST API. - nullable: true - type: string - sid: - description: The unique string that identifies the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^SK[0-9a-fA-F]{32}$ - type: string - type: object - api.v2010.account.new_signing_key: - properties: - date_created: description: The RFC 2822 date and time in GMT that the resource was created + date_updated: + type: string format: date-time-rfc-2822 nullable: true - type: string - date_updated: description: The RFC 2822 date and time in GMT that the resource was last updated - format: date-time-rfc-2822 - nullable: true - type: string friendly_name: description: The string that you assigned to describe the resource nullable: true type: string - secret: - description: The secret your application uses to sign Access Tokens and - to authenticate to the REST API. - nullable: true - type: string sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^SK[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource + api.v2010.account.message.media: type: object - api.v2010.account.notification: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - api_version: - description: The API version used to generate the notification nullable: true - type: string - call_sid: - description: The SID of the Call the resource is associated with - maxLength: 34 - minLength: 34 + description: The SID of the Account that created this resource + content_type: + description: The default mime-type of the media nullable: true - pattern: ^CA[0-9a-fA-F]{32}$ type: string date_created: - description: The RFC 2822 date and time in GMT that the resource was created + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The RFC 2822 date and time in GMT that this resource was created date_updated: - description: The RFC 2822 date and time in GMT that the resource was last - updated + type: string format: date-time-rfc-2822 nullable: true + description: The RFC 2822 date and time in GMT that this resource was last + updated + parent_sid: type: string - error_code: - description: A unique error code corresponding to the notification + minLength: 34 + maxLength: 34 + pattern: ^(SM|MM)[0-9a-fA-F]{32}$ nullable: true + description: The SID of the resource that created the media + sid: type: string - log: - description: An integer log level + minLength: 34 + maxLength: 34 + pattern: ^ME[0-9a-fA-F]{32}$ nullable: true - type: string - message_date: - description: The date the notification was generated - format: date-time-rfc-2822 + description: The unique string that identifies this resource + uri: + description: The URI of this resource, relative to `https://api.twilio.com` + format: uri nullable: true type: string - message_text: - description: The text of the notification - nullable: true + api.v2010.account.queue.member: + type: object + properties: + call_sid: type: string - more_info: - description: A URL for more information about the error code - format: uri + minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ nullable: true + description: The SID of the Call the resource is associated with + date_enqueued: type: string - request_method: - description: HTTP method used with the request url - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method + format: date-time-rfc-2822 nullable: true - type: string - request_url: - description: URL of the resource that generated the notification - format: uri + description: The date the member was enqueued + position: + description: This member's current position in the queue. nullable: true + type: integer + queue_sid: type: string - sid: - description: The unique string that identifies the resource - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^QU[0-9a-fA-F]{32}$ nullable: true - pattern: ^NO[0-9a-fA-F]{32}$ - type: string + description: The SID of the Queue the member is in uri: description: The URI of the resource, relative to `https://api.twilio.com` format: uri nullable: true type: string + wait_time: + description: The number of seconds the member has been in the queue. + nullable: true + type: integer + api.v2010.account.message: type: object - api.v2010.account.notification-instance: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource api_version: - description: The API version used to generate the notification + description: The API version used to process the message nullable: true type: string - call_sid: - description: The SID of the Call the resource is associated with - maxLength: 34 - minLength: 34 + body: + description: The message text nullable: true - pattern: ^CA[0-9a-fA-F]{32}$ type: string date_created: - description: The RFC 2822 date and time in GMT that the resource was created + type: string format: date-time-rfc-2822 nullable: true + description: The RFC 2822 date and time in GMT that the resource was created + date_sent: type: string - date_updated: - description: The RFC 2822 date and time in GMT that the resource was last - updated format: date-time-rfc-2822 nullable: true + description: The RFC 2822 date and time in GMT when the message was sent + date_updated: type: string - error_code: - description: A unique error code corresponding to the notification + format: date-time-rfc-2822 nullable: true + description: The RFC 2822 date and time in GMT that the resource was last + updated + direction: type: string - log: - description: An integer log level + enum: + - inbound + - outbound-api + - outbound-call + - outbound-reply nullable: true - type: string - message_date: - description: The date the notification was generated - format: date-time-rfc-2822 + description: The direction of the message + error_code: + description: The error code associated with the message nullable: true - type: string - message_text: - description: The text of the notification + type: integer + error_message: + description: The description of the error_code nullable: true type: string - more_info: - description: A URL for more information about the error code - format: uri + from: + description: The phone number that initiated the message + format: phone-number nullable: true type: string - request_method: - description: HTTP method used with the request url - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - nullable: true + messaging_service_sid: type: string - request_url: - description: URL of the resource that generated the notification - format: uri + minLength: 34 + maxLength: 34 + pattern: ^MG[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Messaging Service used with the message. + num_media: + description: The number of media files associated with the message nullable: true type: string - request_variables: - description: Twilio-generated HTTP variables sent to the server + num_segments: + description: The number of messages used to deliver the message body nullable: true type: string - response_body: - description: The HTTP body returned by your server + price: + description: The amount billed for the message nullable: true type: string - response_headers: - description: The HTTP headers returned by your server + price_unit: + description: The currency in which price is measured + format: currency nullable: true type: string sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 + maxLength: 34 + pattern: ^(SM|MM)[0-9a-fA-F]{32}$ + nullable: true + description: The unique string that identifies the resource + status: + type: string + enum: + - queued + - sending + - sent + - failed + - delivered + - undelivered + - receiving + - received + - accepted + - scheduled + - read + - partially_delivered + - canceled + nullable: true + description: The status of the message + subresource_uris: + description: A list of related resources identified by their relative URIs + format: uri-map + nullable: true + type: object + to: + description: The phone number that received the message nullable: true - pattern: ^NO[0-9a-fA-F]{32}$ type: string uri: description: The URI of the resource, relative to `https://api.twilio.com` - format: uri nullable: true type: string + api.v2010.account.message.message_feedback: type: object - api.v2010.account.outgoing_caller_id: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - date_created: - description: The RFC 2822 date and time in GMT that the resource was created - format: date-time-rfc-2822 nullable: true + description: The SID of the Account that created the resource + date_created: type: string - date_updated: - description: The RFC 2822 date and time in GMT that the resource was last - updated format: date-time-rfc-2822 nullable: true + description: The RFC 2822 date and time in GMT that the resource was created + date_updated: type: string - friendly_name: - description: The string that you assigned to describe the resource - nullable: true - type: string - phone_number: - description: The phone number in E.164 format - format: phone-number + format: date-time-rfc-2822 nullable: true + description: The RFC 2822 date and time in GMT that the resource was last + updated + message_sid: type: string - sid: - description: The unique string that identifies the resource - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^(SM|MM)[0-9a-fA-F]{32}$ nullable: true - pattern: ^PN[0-9a-fA-F]{32}$ + description: The SID of the Message resource for which the feedback was + provided + outcome: type: string + enum: + - confirmed + - unconfirmed + nullable: true + description: Whether the feedback has arrived uri: description: The URI of the resource, relative to `https://api.twilio.com` - format: uri nullable: true type: string + api.v2010.account.new_key: type: object - api.v2010.account.queue: properties: - account_sid: - description: The SID of the Account that created this resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - average_wait_time: - description: Average wait time of members in the queue - nullable: true - type: integer - current_size: - description: The number of calls currently in the queue. - nullable: true - type: integer date_created: - description: The RFC 2822 date and time in GMT that this resource was created + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The RFC 2822 date and time in GMT that the resource was created date_updated: - description: The RFC 2822 date and time in GMT that this resource was last - updated + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The RFC 2822 date and time in GMT that the resource was last + updated friendly_name: - description: A string that you assigned to describe this resource + description: The string that you assigned to describe the resource nullable: true type: string - max_size: - description: The max number of calls allowed in the queue + secret: + description: The secret your application uses to sign Access Tokens and + to authenticate to the REST API. nullable: true - type: integer + type: string sid: - description: The unique string that identifies this resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^QU[0-9a-fA-F]{32}$ type: string - uri: - description: The URI of this resource, relative to `https://api.twilio.com` - format: uri + minLength: 34 + maxLength: 34 + pattern: ^SK[0-9a-fA-F]{32}$ nullable: true - type: string + description: The unique string that identifies the resource + api.v2010.account.new_signing_key: type: object - api.v2010.account.queue.member: properties: - call_sid: - description: The SID of the Call the resource is associated with - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^CA[0-9a-fA-F]{32}$ + date_created: type: string - date_enqueued: - description: The date the member was enqueued format: date-time-rfc-2822 nullable: true + description: The RFC 2822 date and time in GMT that the resource was created + date_updated: type: string - position: - description: This member's current position in the queue. + format: date-time-rfc-2822 nullable: true - type: integer - queue_sid: - description: The SID of the Queue the member is in - maxLength: 34 - minLength: 34 + description: The RFC 2822 date and time in GMT that the resource was last + updated + friendly_name: + description: The string that you assigned to describe the resource nullable: true - pattern: ^QU[0-9a-fA-F]{32}$ type: string - uri: - description: The URI of the resource, relative to `https://api.twilio.com` - format: uri + secret: + description: The secret your application uses to sign Access Tokens and + to authenticate to the REST API. nullable: true type: string - wait_time: - description: The number of seconds the member has been in the queue. - nullable: true - type: integer - type: object - api.v2010.account.recording: + sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^SK[0-9a-fA-F]{32}$ + nullable: true + description: The unique string that identifies the resource + api.v2010.account.notification: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource api_version: - description: The API version used during the recording. + description: The API version used to generate the notification nullable: true type: string call_sid: - description: The SID of the Call the resource is associated with - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^CA[0-9a-fA-F]{32}$ type: string - channels: - description: The number of channels in the final recording file as an integer. - nullable: true - type: integer - conference_sid: - description: The unique ID for the conference associated with the recording. - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ nullable: true - pattern: ^CF[0-9a-fA-F]{32}$ - type: string + description: The SID of the Call the resource is associated with date_created: - description: The RFC 2822 date and time in GMT that the resource was created + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The RFC 2822 date and time in GMT that the resource was created date_updated: + type: string + format: date-time-rfc-2822 + nullable: true description: The RFC 2822 date and time in GMT that the resource was last updated - format: date-time-rfc-2822 + error_code: + description: A unique error code corresponding to the notification nullable: true type: string - duration: - description: The length of the recording in seconds. + log: + description: An integer log level nullable: true type: string - encryption_details: - description: How to decrypt the recording. - nullable: true - error_code: - description: More information about why the recording is missing, if status - is `absent`. - nullable: true - type: integer - media_url: - description: The URL of the media file. - format: uri - nullable: true + message_date: type: string - price: - description: The one-time cost of creating the recording. + format: date-time-rfc-2822 nullable: true - type: string - price_unit: - description: The currency used in the price property. + description: The date the notification was generated + message_text: + description: The text of the notification nullable: true type: string - sid: - description: The unique string that identifies the resource - maxLength: 34 - minLength: 34 + more_info: + description: A URL for more information about the error code + format: uri nullable: true - pattern: ^RE[0-9a-fA-F]{32}$ type: string - source: - description: How the recording was created + request_method: + description: HTTP method used with the request url enum: - - DialVerb - - Conference - - OutboundAPI - - Trunking - - RecordVerb - - StartCallRecordingAPI - - StartConferenceRecordingAPI + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method nullable: true type: string - start_time: - description: The start time of the recording, given in RFC 2822 format - format: date-time-rfc-2822 + request_url: + description: URL of the resource that generated the notification + format: uri nullable: true type: string - status: - description: The status of the recording. - enum: - - in-progress - - paused - - stopped - - processing - - completed - - absent - - deleted - nullable: true + sid: type: string - subresource_uris: - description: A list of related resources identified by their relative URIs - format: uri-map + minLength: 34 + maxLength: 34 + pattern: ^NO[0-9a-fA-F]{32}$ nullable: true - type: object + description: The unique string that identifies the resource uri: description: The URI of the resource, relative to `https://api.twilio.com` format: uri nullable: true type: string + api.v2010.account.notification-instance: type: object - api.v2010.account.recording.recording_add_on_result: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ type: string - add_on_configuration_sid: - description: The SID of the Add-on configuration - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created the resource + api_version: + description: The API version used to generate the notification nullable: true - pattern: ^XE[0-9a-fA-F]{32}$ type: string - add_on_sid: - description: The SID of the Add-on to which the result belongs - maxLength: 34 + call_sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ nullable: true - pattern: ^XB[0-9a-fA-F]{32}$ + description: The SID of the Call the resource is associated with + date_created: type: string - date_completed: - description: The date and time in GMT that the result was completed format: date-time-rfc-2822 nullable: true - type: string - date_created: description: The RFC 2822 date and time in GMT that the resource was created + date_updated: + type: string format: date-time-rfc-2822 nullable: true - type: string - date_updated: description: The RFC 2822 date and time in GMT that the resource was last updated - format: date-time-rfc-2822 - nullable: true - type: string - reference_sid: - description: The SID of the recording to which the AddOnResult resource - belongs - maxLength: 34 - minLength: 34 + error_code: + description: A unique error code corresponding to the notification nullable: true - pattern: ^RE[0-9a-fA-F]{32}$ type: string - sid: - description: The unique string that identifies the resource - maxLength: 34 - minLength: 34 + log: + description: An integer log level nullable: true - pattern: ^XR[0-9a-fA-F]{32}$ type: string - status: - description: The status of the result - enum: - - canceled - - completed - - deleted - - failed - - in-progress - - init - - processing - - queued - nullable: true + message_date: type: string - subresource_uris: - description: A list of related resources identified by their relative URIs - format: uri-map + format: date-time-rfc-2822 nullable: true - type: object - type: object - api.v2010.account.recording.recording_add_on_result.recording_add_on_result_payload: - properties: - account_sid: - description: The SID of the Account that created the resource - maxLength: 34 - minLength: 34 + description: The date the notification was generated + message_text: + description: The text of the notification nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ type: string - add_on_configuration_sid: - description: The SID of the Add-on configuration - maxLength: 34 - minLength: 34 + more_info: + description: A URL for more information about the error code + format: uri nullable: true - pattern: ^XE[0-9a-fA-F]{32}$ type: string - add_on_result_sid: - description: The SID of the AddOnResult to which the payload belongs - maxLength: 34 - minLength: 34 + request_method: + description: HTTP method used with the request url + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method nullable: true - pattern: ^XR[0-9a-fA-F]{32}$ type: string - add_on_sid: - description: The SID of the Add-on to which the result belongs - maxLength: 34 - minLength: 34 + request_url: + description: URL of the resource that generated the notification + format: uri nullable: true - pattern: ^XB[0-9a-fA-F]{32}$ type: string - content_type: - description: The MIME type of the payload + request_variables: + description: Twilio-generated HTTP variables sent to the server nullable: true type: string - date_created: - description: The RFC 2822 date and time in GMT that the resource was created - format: date-time-rfc-2822 + response_body: + description: The HTTP body returned by your server nullable: true type: string - date_updated: - description: The RFC 2822 date and time in GMT that the resource was last - updated - format: date-time-rfc-2822 + response_headers: + description: The HTTP headers returned by your server nullable: true type: string - label: - description: The string that describes the payload - nullable: true + sid: type: string - reference_sid: - description: The SID of the recording to which the AddOnResult resource - that contains the payload belongs - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^NO[0-9a-fA-F]{32}$ nullable: true - pattern: ^RE[0-9a-fA-F]{32}$ - type: string - sid: description: The unique string that identifies the resource - maxLength: 34 - minLength: 34 + uri: + description: The URI of the resource, relative to `https://api.twilio.com` + format: uri nullable: true - pattern: ^XH[0-9a-fA-F]{32}$ type: string - subresource_uris: - description: A list of related resources identified by their relative URIs - format: uri-map - nullable: true - type: object + api.v2010.account.outgoing_caller_id: type: object - api.v2010.account.recording.recording_transcription: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - api_version: - description: The API version used to create the transcription nullable: true - type: string + description: The SID of the Account that created the resource date_created: - description: The RFC 2822 date and time in GMT that the resource was created + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The RFC 2822 date and time in GMT that the resource was created date_updated: + type: string + format: date-time-rfc-2822 + nullable: true description: The RFC 2822 date and time in GMT that the resource was last updated - format: date-time-rfc-2822 + friendly_name: + description: The string that you assigned to describe the resource nullable: true type: string - duration: - description: The duration of the transcribed audio in seconds. + phone_number: + description: The phone number in E.164 format + format: phone-number nullable: true type: string - price: - description: The charge for the transcription - nullable: true - type: number - price_unit: - description: The currency in which price is measured - format: currency - nullable: true + sid: type: string - recording_sid: - description: The SID that identifies the transcription's recording - maxLength: 34 minLength: 34 - nullable: true - pattern: ^RE[0-9a-fA-F]{32}$ - type: string - sid: - description: The unique string that identifies the resource maxLength: 34 - minLength: 34 - nullable: true - pattern: ^TR[0-9a-fA-F]{32}$ - type: string - status: - description: The status of the transcription - enum: - - in-progress - - completed - - failed - nullable: true - type: string - transcription_text: - description: The text content of the transcription. - nullable: true - type: string - type: - description: The transcription type + pattern: ^PN[0-9a-fA-F]{32}$ nullable: true - type: string + description: The unique string that identifies the resource uri: description: The URI of the resource, relative to `https://api.twilio.com` format: uri nullable: true type: string + api.v2010.account.conference.participant: type: object - api.v2010.account.short_code: properties: account_sid: - description: The SID of the Account that created this resource + type: string + minLength: 34 maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created the resource + call_sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ + description: The SID of the Call the resource is associated with + call_sid_to_coach: type: string - api_version: - description: The API version used to start a new TwiML session + minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the participant who is being `coached` + coaching: + description: Indicates if the participant changed to coach nullable: true + type: boolean + conference_sid: type: string + minLength: 34 + maxLength: 34 + pattern: ^CF[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the conference the participant is in date_created: - description: The RFC 2822 date and time in GMT that this resource was created + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The RFC 2822 date and time in GMT that the resource was created date_updated: - description: The RFC 2822 date and time in GMT that this resource was last - updated + type: string format: date-time-rfc-2822 nullable: true - type: string - friendly_name: - description: A string that you assigned to describe this resource + description: The RFC 2822 date and time in GMT that the resource was last + updated + end_conference_on_exit: + description: Whether the conference ends when the participant leaves nullable: true - type: string - short_code: - description: The short code. e.g., 894546. + type: boolean + hold: + description: Whether the participant is on hold nullable: true - type: string - sid: - description: The unique string that identifies this resource - maxLength: 34 - minLength: 34 + type: boolean + label: + description: The label of this participant nullable: true - pattern: ^SC[0-9a-fA-F]{32}$ type: string - sms_fallback_method: - description: HTTP method we use to call the sms_fallback_url - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method + muted: + description: Whether the participant is muted nullable: true - type: string - sms_fallback_url: - description: URL Twilio will request if an error occurs in executing TwiML - format: uri + type: boolean + start_conference_on_enter: + description: Whether the conference starts when the participant joins the + conference nullable: true + type: boolean + status: type: string - sms_method: - description: HTTP method to use when requesting the sms url enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - nullable: true - type: string - sms_url: - description: URL we call when receiving an incoming SMS message to this - short code - format: uri + - queued + - connecting + - ringing + - connected + - complete + - failed nullable: true - type: string + description: The status of the participant's call in a session uri: - description: The URI of this resource, relative to `https://api.twilio.com` - format: uri + description: The URI of the resource, relative to `https://api.twilio.com` nullable: true type: string + api.v2010.account.call.payments: type: object - api.v2010.account.signing_key: properties: - date_created: - format: date-time-rfc-2822 - nullable: true - type: string - date_updated: - format: date-time-rfc-2822 - nullable: true - type: string - friendly_name: - nullable: true + account_sid: type: string - sid: - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ nullable: true - pattern: ^SK[0-9a-fA-F]{32}$ + description: The SID of the Account that created the Payments resource. + call_sid: type: string - type: object - api.v2010.account.sip: - properties: {} - type: object - api.v2010.account.sip.sip_credential_list: - properties: - account_sid: - description: The unique sid that identifies this account - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string + description: The SID of the Call the resource is associated with. date_created: - description: The date this resource was created - format: date-time-rfc-2822 - nullable: true type: string - date_updated: - description: The date this resource was last updated format: date-time-rfc-2822 nullable: true + description: The RFC 2822 date and time in GMT that the resource was created + date_updated: type: string - friendly_name: - description: Human readable descriptive text + format: date-time-rfc-2822 nullable: true - type: string + description: The RFC 2822 date and time in GMT that the resource was last + updated sid: - description: A string that uniquely identifies this credential - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^CL[0-9a-fA-F]{32}$ type: string - subresource_uris: - description: The list of credentials associated with this credential list. - format: uri-map + minLength: 34 + maxLength: 34 + pattern: ^PK[0-9a-fA-F]{32}$ nullable: true - type: object + description: The SID of the Payments resource. uri: - description: The URI for this resource + description: The URI of the resource, relative to `https://api.twilio.com` format: uri nullable: true type: string + api.v2010.account.queue: type: object - api.v2010.account.sip.sip_credential_list.sip_credential: properties: account_sid: - description: The unique id of the Account that is responsible for this resource. - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ type: string - credential_list_sid: - description: The unique id that identifies the credential list that includes - this credential - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ nullable: true - pattern: ^CL[0-9a-fA-F]{32}$ - type: string + description: The SID of the Account that created this resource + average_wait_time: + description: Average wait time of members in the queue + nullable: true + type: integer + current_size: + description: The number of calls currently in the queue. + nullable: true + type: integer date_created: - description: The date that this resource was created, given as GMT in RFC - 2822 format. + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The RFC 2822 date and time in GMT that this resource was created date_updated: - description: The date that this resource was last updated, given as GMT - in RFC 2822 format. + type: string format: date-time-rfc-2822 nullable: true + description: The RFC 2822 date and time in GMT that this resource was last + updated + friendly_name: + description: A string that you assigned to describe this resource + nullable: true type: string + max_size: + description: The max number of calls allowed in the queue + nullable: true + type: integer sid: - description: A 34 character string that uniquely identifies this resource. - maxLength: 34 + type: string minLength: 34 + maxLength: 34 + pattern: ^QU[0-9a-fA-F]{32}$ nullable: true - pattern: ^CR[0-9a-fA-F]{32}$ - type: string + description: The unique string that identifies this resource uri: - description: The URI for this resource, relative to https://api.twilio.com + description: The URI of this resource, relative to `https://api.twilio.com` format: uri nullable: true type: string - username: - description: The username for this credential. - nullable: true - type: string + api.v2010.account.recording: type: object - api.v2010.account.sip.sip_domain: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource api_version: - description: The API version used to process the call + description: The API version used during the recording. nullable: true type: string - auth_type: - description: The types of authentication mapped to the domain - nullable: true + call_sid: type: string - byoc_trunk_sid: - description: The SID of the BYOC Trunk resource. - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ nullable: true - pattern: ^BY[0-9a-fA-F]{32}$ + description: The SID of the Call the resource is associated with + channels: + description: The number of channels in the final recording file as an integer. + nullable: true + type: integer + conference_sid: type: string + minLength: 34 + maxLength: 34 + pattern: ^CF[0-9a-fA-F]{32}$ + nullable: true + description: The unique ID for the conference associated with the recording. date_created: - description: The RFC 2822 date and time in GMT that the resource was created + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The RFC 2822 date and time in GMT that the resource was created date_updated: + type: string + format: date-time-rfc-2822 + nullable: true description: The RFC 2822 date and time in GMT that the resource was last updated - format: date-time-rfc-2822 + duration: + description: The length of the recording in seconds. nullable: true type: string - domain_name: - description: The unique address on Twilio to route SIP traffic + encryption_details: nullable: true - type: string - emergency_caller_sid: - description: Whether an emergency caller sid is configured for the domain. - maxLength: 34 - minLength: 34 + description: How to decrypt the recording. + error_code: + description: More information about why the recording is missing, if status + is `absent`. nullable: true - pattern: ^PN[0-9a-fA-F]{32}$ - type: string - emergency_calling_enabled: - description: Whether emergency calling is enabled for the domain. + type: integer + media_url: + description: The URL of the media file. + format: uri nullable: true - type: boolean - friendly_name: - description: The string that you assigned to describe the resource + type: string + price: + description: The one-time cost of creating the recording. nullable: true type: string - secure: - description: Whether secure SIP is enabled for the domain + price_unit: + description: The currency used in the price property. nullable: true - type: boolean + type: string sid: - description: The unique string that identifies the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^SD[0-9a-fA-F]{32}$ type: string - sip_registration: - description: Whether SIP registration is allowed - nullable: true - type: boolean - subresource_uris: - description: A list mapping resources associated with the SIP Domain resource - format: uri-map - nullable: true - type: object - uri: - description: The URI of the resource, relative to `https://api.twilio.com` - format: uri + minLength: 34 + maxLength: 34 + pattern: ^RE[0-9a-fA-F]{32}$ nullable: true + description: The unique string that identifies the resource + source: type: string - voice_fallback_method: - description: The HTTP method used with voice_fallback_url enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - nullable: true - type: string - voice_fallback_url: - description: The URL we call when an error occurs while executing TwiML - format: uri + - DialVerb + - Conference + - OutboundAPI + - Trunking + - RecordVerb + - StartCallRecordingAPI + - StartConferenceRecordingAPI nullable: true + description: How the recording was created + start_time: type: string - voice_method: - description: The HTTP method to use with voice_url - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method + format: date-time-rfc-2822 nullable: true + description: The start time of the recording, given in RFC 2822 format + status: type: string - voice_status_callback_method: - description: The HTTP method we use to call voice_status_callback_url enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method + - in-progress + - paused + - stopped + - processing + - completed + - absent + - deleted nullable: true - type: string - voice_status_callback_url: - description: The URL that we call with status updates - format: uri + description: The status of the recording. + subresource_uris: + description: A list of related resources identified by their relative URIs + format: uri-map nullable: true - type: string - voice_url: - description: The URL we call when receiving a call + type: object + uri: + description: The URI of the resource, relative to `https://api.twilio.com` format: uri nullable: true type: string + api.v2010.account.recording.recording_add_on_result: type: object - api.v2010.account.sip.sip_domain.sip_auth: - properties: {} - type: object - api.v2010.account.sip.sip_domain.sip_auth.sip_auth_calls: - properties: {} - type: object - api.v2010.account.sip.sip_domain.sip_auth.sip_auth_calls.sip_auth_calls_credential_list_mapping: properties: account_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true description: The SID of the Account that created the resource + add_on_configuration_sid: + type: string + minLength: 34 maxLength: 34 + pattern: ^XE[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Add-on configuration + add_on_sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^XB[0-9a-fA-F]{32}$ nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ + description: The SID of the Add-on to which the result belongs + date_completed: type: string - date_created: - description: The RFC 2822 date and time in GMT that the resource was created format: date-time-rfc-2822 nullable: true + description: The date and time in GMT that the result was completed + date_created: type: string - date_updated: - description: The RFC 2822 date and time in GMT that the resource was last - updated format: date-time-rfc-2822 nullable: true + description: The RFC 2822 date and time in GMT that the resource was created + date_updated: type: string - friendly_name: - description: The string that you assigned to describe the resource + format: date-time-rfc-2822 nullable: true + description: The RFC 2822 date and time in GMT that the resource was last + updated + reference_sid: type: string - sid: - description: The unique string that identifies the resource + minLength: 34 maxLength: 34 + pattern: ^RE[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the recording to which the AddOnResult resource + belongs + sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^XR[0-9a-fA-F]{32}$ nullable: true - pattern: ^CL[0-9a-fA-F]{32}$ + description: The unique string that identifies the resource + status: type: string + enum: + - canceled + - completed + - deleted + - failed + - in-progress + - init + - processing + - queued + nullable: true + description: The status of the result + subresource_uris: + description: A list of related resources identified by their relative URIs + format: uri-map + nullable: true + type: object + api.v2010.account.recording.recording_add_on_result.recording_add_on_result_payload: type: object - api.v2010.account.sip.sip_domain.sip_auth.sip_auth_calls.sip_auth_calls_ip_access_control_list_mapping: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - date_created: - description: The RFC 2822 date and time in GMT that the resource was created - format: date-time-rfc-2822 - nullable: true - type: string - date_updated: - description: The RFC 2822 date and time in GMT that the resource was last - updated - format: date-time-rfc-2822 nullable: true + description: The SID of the Account that created the resource + add_on_configuration_sid: type: string - friendly_name: - description: The string that you assigned to describe the resource + minLength: 34 + maxLength: 34 + pattern: ^XE[0-9a-fA-F]{32}$ nullable: true + description: The SID of the Add-on configuration + add_on_result_sid: type: string - sid: - description: The unique string that identifies the resource - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^XR[0-9a-fA-F]{32}$ nullable: true - pattern: ^AL[0-9a-fA-F]{32}$ + description: The SID of the AddOnResult to which the payload belongs + add_on_sid: type: string - type: object - api.v2010.account.sip.sip_domain.sip_auth.sip_auth_registrations: - properties: {} - type: object - api.v2010.account.sip.sip_domain.sip_auth.sip_auth_registrations.sip_auth_registrations_credential_list_mapping: - properties: - account_sid: - description: The SID of the Account that created the resource - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^XB[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Add-on to which the result belongs + content_type: + description: The MIME type of the payload nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ type: string date_created: - description: The RFC 2822 date and time in GMT that the resource was created + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The RFC 2822 date and time in GMT that the resource was created date_updated: + type: string + format: date-time-rfc-2822 + nullable: true description: The RFC 2822 date and time in GMT that the resource was last updated - format: date-time-rfc-2822 + label: + description: The string that describes the payload nullable: true type: string - friendly_name: - description: The string that you assigned to describe the resource - nullable: true + reference_sid: type: string - sid: - description: The unique string that identifies the resource - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^RE[0-9a-fA-F]{32}$ nullable: true - pattern: ^CL[0-9a-fA-F]{32}$ + description: The SID of the recording to which the AddOnResult resource + that contains the payload belongs + sid: type: string + minLength: 34 + maxLength: 34 + pattern: ^XH[0-9a-fA-F]{32}$ + nullable: true + description: The unique string that identifies the resource + subresource_uris: + description: A list of related resources identified by their relative URIs + format: uri-map + nullable: true + type: object + api.v2010.account.recording.recording_transcription: type: object - api.v2010.account.sip.sip_domain.sip_credential_list_mapping: properties: account_sid: - description: The unique id of the Account that is responsible for this resource. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created the resource + api_version: + description: The API version used to create the transcription + nullable: true type: string date_created: - description: The date that this resource was created, given as GMT in RFC - 2822 format. + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The RFC 2822 date and time in GMT that the resource was created date_updated: - description: The date that this resource was last updated, given as GMT - in RFC 2822 format. + type: string format: date-time-rfc-2822 nullable: true - type: string - domain_sid: - description: The unique string that identifies the SipDomain resource. - maxLength: 34 - minLength: 34 + description: The RFC 2822 date and time in GMT that the resource was last + updated + duration: + description: The duration of the transcribed audio in seconds. nullable: true - pattern: ^SD[0-9a-fA-F]{32}$ type: string - friendly_name: - description: A human readable descriptive text for this resource, up to - 64 characters long. + price: + description: The charge for the transcription nullable: true - type: string - sid: - description: A 34 character string that uniquely identifies this resource. - maxLength: 34 - minLength: 34 + type: number + price_unit: + description: The currency in which price is measured + format: currency nullable: true - pattern: ^CL[0-9a-fA-F]{32}$ type: string - uri: - description: The URI for this resource, relative to https://api.twilio.com - format: uri - nullable: true + recording_sid: type: string - type: object - api.v2010.account.sip.sip_domain.sip_ip_access_control_list_mapping: - properties: - account_sid: - description: The unique id of the Account that is responsible for this resource. - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^RE[0-9a-fA-F]{32}$ nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - date_created: - description: The date that this resource was created, given as GMT in RFC - 2822 format. - format: date-time-rfc-2822 - nullable: true - type: string - date_updated: - description: The date that this resource was last updated, given as GMT - in RFC 2822 format. - format: date-time-rfc-2822 - nullable: true + description: The SID that identifies the transcription's recording + sid: type: string - domain_sid: - description: The unique string that identifies the SipDomain resource. - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^TR[0-9a-fA-F]{32}$ nullable: true - pattern: ^SD[0-9a-fA-F]{32}$ + description: The unique string that identifies the resource + status: type: string - friendly_name: - description: A human readable descriptive text for this resource, up to - 64 characters long. + enum: + - in-progress + - completed + - failed + nullable: true + description: The status of the transcription + transcription_text: + description: The text content of the transcription. nullable: true type: string - sid: - description: A 34 character string that uniquely identifies this resource. - maxLength: 34 - minLength: 34 + type: + description: The transcription type nullable: true - pattern: ^AL[0-9a-fA-F]{32}$ type: string uri: - description: The URI for this resource, relative to https://api.twilio.com + description: The URI of the resource, relative to `https://api.twilio.com` format: uri nullable: true type: string + api.v2010.account.short_code: type: object - api.v2010.account.sip.sip_ip_access_control_list: properties: account_sid: - description: The unique sid that identifies this account - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created this resource + api_version: + description: The API version used to start a new TwiML session + nullable: true type: string date_created: - description: The date this resource was created + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The RFC 2822 date and time in GMT that this resource was created date_updated: - description: The date this resource was last updated + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The RFC 2822 date and time in GMT that this resource was last + updated friendly_name: - description: A human readable description of this resource + description: A string that you assigned to describe this resource nullable: true type: string - sid: - description: A string that uniquely identifies this resource - maxLength: 34 - minLength: 34 + short_code: + description: The short code. e.g., 894546. nullable: true - pattern: ^AL[0-9a-fA-F]{32}$ type: string - subresource_uris: - description: The IP addresses associated with this resource. - format: uri-map + sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^SC[0-9a-fA-F]{32}$ nullable: true - type: object - uri: - description: The URI for this resource + description: The unique string that identifies this resource + sms_fallback_method: + description: HTTP method we use to call the sms_fallback_url + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + nullable: true + type: string + sms_fallback_url: + description: URL Twilio will request if an error occurs in executing TwiML format: uri nullable: true type: string - type: object - api.v2010.account.sip.sip_ip_access_control_list.sip_ip_address: - properties: - account_sid: - description: The unique id of the Account that is responsible for this resource. - maxLength: 34 - minLength: 34 + sms_method: + description: HTTP method to use when requesting the sms url + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ type: string - cidr_prefix_length: - description: An integer representing the length of the CIDR prefix to use - with this IP address when accepting traffic. By default the entire IP - address is used. + sms_url: + description: URL we call when receiving an incoming SMS message to this + short code + format: uri nullable: true - type: integer + type: string + uri: + description: The URI of this resource, relative to `https://api.twilio.com` + format: uri + nullable: true + type: string + api.v2010.account.signing_key: + type: object + properties: date_created: - description: The date that this resource was created, given as GMT in RFC - 2822 format. + type: string format: date-time-rfc-2822 nullable: true - type: string date_updated: - description: The date that this resource was last updated, given as GMT - in RFC 2822 format. + type: string format: date-time-rfc-2822 nullable: true - type: string friendly_name: - description: A human readable descriptive text for this resource, up to - 64 characters long. nullable: true type: string - ip_access_control_list_sid: - description: The unique id of the IpAccessControlList resource that includes - this resource. - maxLength: 34 + sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^SK[0-9a-fA-F]{32}$ nullable: true - pattern: ^AL[0-9a-fA-F]{32}$ + api.v2010.account.sip: + type: object + properties: {} + api.v2010.account.sip.sip_domain.sip_auth: + type: object + properties: {} + api.v2010.account.sip.sip_domain.sip_auth.sip_auth_calls: + type: object + properties: {} + api.v2010.account.sip.sip_domain.sip_auth.sip_auth_calls.sip_auth_calls_credential_list_mapping: + type: object + properties: + account_sid: type: string - ip_address: - description: An IP address in dotted decimal notation from which you want - to accept traffic. Any SIP requests from this IP address will be allowed - by Twilio. IPv4 only supported today. + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ nullable: true + description: The SID of the Account that created the resource + date_created: type: string - sid: - description: A 34 character string that uniquely identifies this resource. - maxLength: 34 - minLength: 34 + format: date-time-rfc-2822 nullable: true - pattern: ^IP[0-9a-fA-F]{32}$ + description: The RFC 2822 date and time in GMT that the resource was created + date_updated: type: string - uri: - description: The URI for this resource, relative to https://api.twilio.com - format: uri + format: date-time-rfc-2822 + nullable: true + description: The RFC 2822 date and time in GMT that the resource was last + updated + friendly_name: + description: The string that you assigned to describe the resource nullable: true type: string + sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CL[0-9a-fA-F]{32}$ + nullable: true + description: The unique string that identifies the resource + api.v2010.account.sip.sip_domain.sip_auth.sip_auth_calls.sip_auth_calls_ip_access_control_list_mapping: type: object - api.v2010.account.token: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - date_created: - description: The RFC 2822 date and time in GMT that the resource was created - format: date-time-rfc-2822 nullable: true + description: The SID of the Account that created the resource + date_created: type: string - date_updated: - description: The RFC 2822 date and time in GMT that the resource was last - updated format: date-time-rfc-2822 nullable: true + description: The RFC 2822 date and time in GMT that the resource was created + date_updated: type: string - ice_servers: - description: An array representing the ephemeral credentials - items: - format: ice-servers - properties: - credential: - type: string - url: - type: string - urls: - type: string - username: - type: string - type: object + format: date-time-rfc-2822 nullable: true - type: array - password: - description: The temporary password used for authenticating + description: The RFC 2822 date and time in GMT that the resource was last + updated + friendly_name: + description: The string that you assigned to describe the resource nullable: true type: string - ttl: - description: The duration in seconds the credentials are valid - nullable: true + sid: type: string - username: - description: The temporary username that uniquely identifies a Token + minLength: 34 + maxLength: 34 + pattern: ^AL[0-9a-fA-F]{32}$ nullable: true - type: string + description: The unique string that identifies the resource + api.v2010.account.sip.sip_domain.sip_auth.sip_auth_registrations: + type: object + properties: {} + api.v2010.account.sip.sip_domain.sip_auth.sip_auth_registrations.sip_auth_registrations_credential_list_mapping: type: object - api.v2010.account.transcription: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - api_version: - description: The API version used to create the transcription nullable: true - type: string + description: The SID of the Account that created the resource date_created: - description: The RFC 2822 date and time in GMT that the resource was created + type: string format: date-time-rfc-2822 nullable: true - type: string + description: The RFC 2822 date and time in GMT that the resource was created date_updated: + type: string + format: date-time-rfc-2822 + nullable: true description: The RFC 2822 date and time in GMT that the resource was last updated - format: date-time-rfc-2822 + friendly_name: + description: The string that you assigned to describe the resource nullable: true type: string - duration: - description: The duration of the transcribed audio in seconds. - nullable: true + sid: type: string - price: - description: The charge for the transcription - nullable: true - type: number - price_unit: - description: The currency in which price is measured - format: currency + minLength: 34 + maxLength: 34 + pattern: ^CL[0-9a-fA-F]{32}$ nullable: true + description: The unique string that identifies the resource + api.v2010.account.sip.sip_credential_list.sip_credential: + type: object + properties: + account_sid: type: string - recording_sid: - description: The SID that identifies the transcription's recording - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ nullable: true - pattern: ^RE[0-9a-fA-F]{32}$ + description: The unique id of the Account that is responsible for this resource. + credential_list_sid: type: string - sid: - description: The unique string that identifies the resource - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^CL[0-9a-fA-F]{32}$ nullable: true - pattern: ^TR[0-9a-fA-F]{32}$ + description: The unique id that identifies the credential list that includes + this credential + date_created: type: string - status: - description: The status of the transcription - enum: - - in-progress - - completed - - failed + format: date-time-rfc-2822 nullable: true + description: The date that this resource was created, given as GMT in RFC + 2822 format. + date_updated: type: string - transcription_text: - description: The text content of the transcription. + format: date-time-rfc-2822 nullable: true + description: The date that this resource was last updated, given as GMT + in RFC 2822 format. + sid: type: string - type: - description: The transcription type + minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ nullable: true - type: string + description: A 34 character string that uniquely identifies this resource. uri: - description: The URI of the resource, relative to `https://api.twilio.com` + description: The URI for this resource, relative to https://api.twilio.com format: uri nullable: true type: string + username: + description: The username for this credential. + nullable: true + type: string + api.v2010.account.sip.sip_credential_list: type: object - api.v2010.account.usage: - properties: {} - type: object - api.v2010.account.usage.usage_record: properties: account_sid: - description: The SID of the Account accrued the usage + type: string + minLength: 34 maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The unique sid that identifies this account + date_created: + type: string + format: date-time-rfc-2822 + nullable: true + description: The date this resource was created + date_updated: + type: string + format: date-time-rfc-2822 + nullable: true + description: The date this resource was last updated + friendly_name: + description: Human readable descriptive text + nullable: true + type: string + sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^CL[0-9a-fA-F]{32}$ nullable: true + description: A string that uniquely identifies this credential + subresource_uris: + description: The list of credentials associated with this credential list. + format: uri-map + nullable: true + type: object + uri: + description: The URI for this resource + format: uri + nullable: true + type: string + api.v2010.account.sip.sip_domain.sip_credential_list_mapping: + type: object + properties: + account_sid: + type: string + minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The unique id of the Account that is responsible for this resource. + date_created: + type: string + format: date-time-rfc-2822 + nullable: true + description: The date that this resource was created, given as GMT in RFC + 2822 format. + date_updated: + type: string + format: date-time-rfc-2822 + nullable: true + description: The date that this resource was last updated, given as GMT + in RFC 2822 format. + domain_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^SD[0-9a-fA-F]{32}$ + nullable: true + description: The unique string that identifies the SipDomain resource. + friendly_name: + description: A human readable descriptive text for this resource, up to + 64 characters long. + nullable: true + type: string + sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CL[0-9a-fA-F]{32}$ + nullable: true + description: A 34 character string that uniquely identifies this resource. + uri: + description: The URI for this resource, relative to https://api.twilio.com + format: uri + nullable: true + type: string + api.v2010.account.sip.sip_domain: + type: object + properties: + account_sid: type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created the resource api_version: - description: The API version used to create the resource + description: The API version used to process the call nullable: true type: string - as_of: - description: Usage records up to date as of this timestamp + auth_type: + description: The types of authentication mapped to the domain nullable: true type: string - category: - description: The category of usage + byoc_trunk_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^BY[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the BYOC Trunk resource. + date_created: + type: string + format: date-time-rfc-2822 + nullable: true + description: The RFC 2822 date and time in GMT that the resource was created + date_updated: + type: string + format: date-time-rfc-2822 + nullable: true + description: The RFC 2822 date and time in GMT that the resource was last + updated + domain_name: + description: The unique address on Twilio to route SIP traffic + nullable: true + type: string + emergency_caller_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^PN[0-9a-fA-F]{32}$ + nullable: true + description: Whether an emergency caller sid is configured for the domain. + emergency_calling_enabled: + description: Whether emergency calling is enabled for the domain. + nullable: true + type: boolean + friendly_name: + description: The string that you assigned to describe the resource + nullable: true + type: string + secure: + description: Whether secure SIP is enabled for the domain + nullable: true + type: boolean + sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^SD[0-9a-fA-F]{32}$ + nullable: true + description: The unique string that identifies the resource + sip_registration: + description: Whether SIP registration is allowed + nullable: true + type: boolean + subresource_uris: + description: A list mapping resources associated with the SIP Domain resource + format: uri-map + nullable: true + type: object + uri: + description: The URI of the resource, relative to `https://api.twilio.com` + format: uri + nullable: true + type: string + voice_fallback_method: + description: The HTTP method used with voice_fallback_url enum: - - a2p-registration-fees - - agent-conference - - amazon-polly - - answering-machine-detection - - authy-authentications - - authy-calls-outbound - - authy-monthly-fees - - authy-phone-intelligence - - authy-phone-verifications - - authy-sms-outbound - - call-progess-events - - calleridlookups - - calls - - calls-client - - calls-globalconference - - calls-inbound - - calls-inbound-local - - calls-inbound-mobile - - calls-inbound-tollfree - - calls-outbound - - calls-pay-verb-transactions - - calls-recordings - - calls-sip - - calls-sip-inbound - - calls-sip-outbound - - calls-transfers - - carrier-lookups - - conversations - - conversations-api-requests - - conversations-conversation-events - - conversations-endpoint-connectivity - - conversations-events - - conversations-participant-events - - conversations-participants - - cps - - flex-usage - - fraud-lookups - - group-rooms - - group-rooms-data-track - - group-rooms-encrypted-media-recorded - - group-rooms-media-downloaded - - group-rooms-media-recorded - - group-rooms-media-routed - - group-rooms-media-stored - - group-rooms-participant-minutes - - group-rooms-recorded-minutes - - imp-v1-usage - - lookups - - marketplace - - marketplace-algorithmia-named-entity-recognition - - marketplace-cadence-transcription - - marketplace-cadence-translation - - marketplace-capio-speech-to-text - - marketplace-convriza-ababa - - marketplace-deepgram-phrase-detector - - marketplace-digital-segment-business-info - - marketplace-facebook-offline-conversions - - marketplace-google-speech-to-text - - marketplace-ibm-watson-message-insights - - marketplace-ibm-watson-message-sentiment - - marketplace-ibm-watson-recording-analysis - - marketplace-ibm-watson-tone-analyzer - - marketplace-icehook-systems-scout - - marketplace-infogroup-dataaxle-bizinfo - - marketplace-keen-io-contact-center-analytics - - marketplace-marchex-cleancall - - marketplace-marchex-sentiment-analysis-for-sms - - marketplace-marketplace-nextcaller-social-id - - marketplace-mobile-commons-opt-out-classifier - - marketplace-nexiwave-voicemail-to-text - - marketplace-nextcaller-advanced-caller-identification - - marketplace-nomorobo-spam-score - - marketplace-payfone-tcpa-compliance - - marketplace-remeeting-automatic-speech-recognition - - marketplace-tcpa-defense-solutions-blacklist-feed - - marketplace-telo-opencnam - - marketplace-truecnam-true-spam - - marketplace-twilio-caller-name-lookup-us - - marketplace-twilio-carrier-information-lookup - - marketplace-voicebase-pci - - marketplace-voicebase-transcription - - marketplace-voicebase-transcription-custom-vocabulary - - marketplace-whitepages-pro-caller-identification - - marketplace-whitepages-pro-phone-intelligence - - marketplace-whitepages-pro-phone-reputation - - marketplace-wolfarm-spoken-results - - marketplace-wolfram-short-answer - - marketplace-ytica-contact-center-reporting-analytics - - mediastorage - - mms - - mms-inbound - - mms-inbound-longcode - - mms-inbound-shortcode - - mms-messages-carrierfees - - mms-outbound - - mms-outbound-longcode - - mms-outbound-shortcode - - monitor-reads - - monitor-storage - - monitor-writes - - notify - - notify-actions-attempts - - notify-channels - - number-format-lookups - - pchat - - pchat-users - - peer-to-peer-rooms-participant-minutes - - pfax - - pfax-minutes - - pfax-minutes-inbound - - pfax-minutes-outbound - - pfax-pages - - phonenumbers - - phonenumbers-cps - - phonenumbers-emergency - - phonenumbers-local - - phonenumbers-mobile - - phonenumbers-setups - - phonenumbers-tollfree - - premiumsupport - - proxy - - proxy-active-sessions - - pstnconnectivity - - pv - - pv-composition-media-downloaded - - pv-composition-media-encrypted - - pv-composition-media-stored - - pv-composition-minutes - - pv-recording-compositions - - pv-room-participants - - pv-room-participants-au1 - - pv-room-participants-br1 - - pv-room-participants-ie1 - - pv-room-participants-jp1 - - pv-room-participants-sg1 - - pv-room-participants-us1 - - pv-room-participants-us2 - - pv-rooms - - pv-sip-endpoint-registrations - - recordings - - recordingstorage - - rooms-group-bandwidth - - rooms-group-minutes - - rooms-peer-to-peer-minutes - - shortcodes - - shortcodes-customerowned - - shortcodes-mms-enablement - - shortcodes-mps - - shortcodes-random - - shortcodes-uk - - shortcodes-vanity - - small-group-rooms - - small-group-rooms-data-track - - small-group-rooms-participant-minutes - - sms - - sms-inbound - - sms-inbound-longcode - - sms-inbound-shortcode - - sms-messages-carrierfees - - sms-messages-features - - sms-messages-features-senderid - - sms-outbound - - sms-outbound-content-inspection - - sms-outbound-longcode - - sms-outbound-shortcode - - speech-recognition - - studio-engagements - - sync - - sync-actions - - sync-endpoint-hours - - sync-endpoint-hours-above-daily-cap - - taskrouter-tasks - - totalprice - - transcriptions - - trunking-cps - - trunking-emergency-calls - - trunking-origination - - trunking-origination-local - - trunking-origination-mobile - - trunking-origination-tollfree - - trunking-recordings - - trunking-secure - - trunking-termination - - turnmegabytes - - turnmegabytes-australia - - turnmegabytes-brasil - - turnmegabytes-germany - - turnmegabytes-india - - turnmegabytes-ireland - - turnmegabytes-japan - - turnmegabytes-singapore - - turnmegabytes-useast - - turnmegabytes-uswest - - twilio-interconnect - - verify-push - - verify-totp - - verify-whatsapp-conversations-business-initiated - - video-recordings - - voice-insights - - voice-insights-client-insights-on-demand-minute - - voice-insights-ptsn-insights-on-demand-minute - - voice-insights-sip-interface-insights-on-demand-minute - - voice-insights-sip-trunking-insights-on-demand-minute - - wireless - - wireless-orders - - wireless-orders-artwork - - wireless-orders-bulk - - wireless-orders-esim - - wireless-orders-starter - - wireless-usage - - wireless-usage-commands - - wireless-usage-commands-africa - - wireless-usage-commands-asia - - wireless-usage-commands-centralandsouthamerica - - wireless-usage-commands-europe - - wireless-usage-commands-home - - wireless-usage-commands-northamerica - - wireless-usage-commands-oceania - - wireless-usage-commands-roaming - - wireless-usage-data - - wireless-usage-data-africa - - wireless-usage-data-asia - - wireless-usage-data-centralandsouthamerica - - wireless-usage-data-custom-additionalmb - - wireless-usage-data-custom-first5mb - - wireless-usage-data-domestic-roaming - - wireless-usage-data-europe - - wireless-usage-data-individual-additionalgb - - wireless-usage-data-individual-firstgb - - wireless-usage-data-international-roaming-canada - - wireless-usage-data-international-roaming-india - - wireless-usage-data-international-roaming-mexico - - wireless-usage-data-northamerica - - wireless-usage-data-oceania - - wireless-usage-data-pooled - - wireless-usage-data-pooled-downlink - - wireless-usage-data-pooled-uplink - - wireless-usage-mrc - - wireless-usage-mrc-custom - - wireless-usage-mrc-individual - - wireless-usage-mrc-pooled - - wireless-usage-mrc-suspended - - wireless-usage-sms - - wireless-usage-voice + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method nullable: true type: string - count: - description: The number of usage events + voice_fallback_url: + description: The URL we call when an error occurs while executing TwiML + format: uri nullable: true type: string - count_unit: - description: The units in which count is measured + voice_method: + description: The HTTP method to use with voice_url + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method nullable: true type: string - description: - description: A plain-language description of the usage category + voice_status_callback_method: + description: The HTTP method we use to call voice_status_callback_url + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method nullable: true type: string - end_date: - description: The last date for which usage is included in the UsageRecord - format: date + voice_status_callback_url: + description: The URL that we call with status updates + format: uri nullable: true type: string - price: - description: The total price of the usage + voice_url: + description: The URL we call when receiving a call + format: uri nullable: true - type: number - price_unit: - description: The currency in which `price` is measured - format: currency + type: string + api.v2010.account.sip.sip_ip_access_control_list: + type: object + properties: + account_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ nullable: true + description: The unique sid that identifies this account + date_created: type: string - start_date: - description: The first date for which usage is included in this UsageRecord - format: date + format: date-time-rfc-2822 + nullable: true + description: The date this resource was created + date_updated: + type: string + format: date-time-rfc-2822 + nullable: true + description: The date this resource was last updated + friendly_name: + description: A human readable description of this resource nullable: true type: string + sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AL[0-9a-fA-F]{32}$ + nullable: true + description: A string that uniquely identifies this resource subresource_uris: - description: A list of related resources identified by their relative URIs + description: The IP addresses associated with this resource. format: uri-map nullable: true type: object uri: - description: The URI of the resource, relative to `https://api.twilio.com` + description: The URI for this resource format: uri nullable: true type: string - usage: - description: The amount of usage - nullable: true - type: string - usage_unit: - description: The units in which usage is measured - nullable: true - type: string + api.v2010.account.sip.sip_domain.sip_ip_access_control_list_mapping: type: object - api.v2010.account.usage.usage_record.usage_record_all_time: properties: account_sid: - description: The SID of the Account accrued the usage - maxLength: 34 + type: string minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The unique id of the Account that is responsible for this resource. + date_created: + type: string + format: date-time-rfc-2822 + nullable: true + description: The date that this resource was created, given as GMT in RFC + 2822 format. + date_updated: + type: string + format: date-time-rfc-2822 + nullable: true + description: The date that this resource was last updated, given as GMT + in RFC 2822 format. + domain_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^SD[0-9a-fA-F]{32}$ + nullable: true + description: The unique string that identifies the SipDomain resource. + friendly_name: + description: A human readable descriptive text for this resource, up to + 64 characters long. + nullable: true + type: string + sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AL[0-9a-fA-F]{32}$ + nullable: true + description: A 34 character string that uniquely identifies this resource. + uri: + description: The URI for this resource, relative to https://api.twilio.com + format: uri nullable: true + type: string + api.v2010.account.sip.sip_ip_access_control_list.sip_ip_address: + type: object + properties: + account_sid: + type: string + minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The unique id of the Account that is responsible for this resource. + cidr_prefix_length: + description: An integer representing the length of the CIDR prefix to use + with this IP address when accepting traffic. By default the entire IP + address is used. + nullable: true + type: integer + date_created: type: string - api_version: - description: The API version used to create the resource + format: date-time-rfc-2822 nullable: true + description: The date that this resource was created, given as GMT in RFC + 2822 format. + date_updated: type: string - as_of: - description: Usage records up to date as of this timestamp + format: date-time-rfc-2822 + nullable: true + description: The date that this resource was last updated, given as GMT + in RFC 2822 format. + friendly_name: + description: A human readable descriptive text for this resource, up to + 64 characters long. nullable: true type: string - category: - description: The category of usage + ip_access_control_list_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AL[0-9a-fA-F]{32}$ + nullable: true + description: The unique id of the IpAccessControlList resource that includes + this resource. + ip_address: + description: An IP address in dotted decimal notation from which you want + to accept traffic. Any SIP requests from this IP address will be allowed + by Twilio. IPv4 only supported today. + nullable: true + type: string + sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IP[0-9a-fA-F]{32}$ + nullable: true + description: A 34 character string that uniquely identifies this resource. + uri: + description: The URI for this resource, relative to https://api.twilio.com + format: uri + nullable: true + type: string + api.v2010.account.call.siprec: + type: object + properties: + account_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created this resource + call_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Call the resource is associated with + date_updated: + type: string + format: date-time-rfc-2822 + nullable: true + description: The RFC 2822 date and time in GMT that this resource was last + updated + name: + description: The name of this resource + nullable: true + type: string + sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^SR[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Siprec resource. + status: + type: string enum: - - a2p-registration-fees - - agent-conference - - amazon-polly - - answering-machine-detection - - authy-authentications - - authy-calls-outbound - - authy-monthly-fees - - authy-phone-intelligence - - authy-phone-verifications - - authy-sms-outbound - - call-progess-events - - calleridlookups - - calls - - calls-client - - calls-globalconference - - calls-inbound - - calls-inbound-local - - calls-inbound-mobile - - calls-inbound-tollfree - - calls-outbound - - calls-pay-verb-transactions - - calls-recordings - - calls-sip - - calls-sip-inbound - - calls-sip-outbound - - calls-transfers - - carrier-lookups - - conversations - - conversations-api-requests - - conversations-conversation-events - - conversations-endpoint-connectivity - - conversations-events - - conversations-participant-events - - conversations-participants - - cps - - flex-usage - - fraud-lookups - - group-rooms - - group-rooms-data-track - - group-rooms-encrypted-media-recorded - - group-rooms-media-downloaded - - group-rooms-media-recorded - - group-rooms-media-routed - - group-rooms-media-stored - - group-rooms-participant-minutes - - group-rooms-recorded-minutes - - imp-v1-usage - - lookups - - marketplace - - marketplace-algorithmia-named-entity-recognition - - marketplace-cadence-transcription - - marketplace-cadence-translation - - marketplace-capio-speech-to-text - - marketplace-convriza-ababa - - marketplace-deepgram-phrase-detector - - marketplace-digital-segment-business-info - - marketplace-facebook-offline-conversions - - marketplace-google-speech-to-text - - marketplace-ibm-watson-message-insights - - marketplace-ibm-watson-message-sentiment - - marketplace-ibm-watson-recording-analysis - - marketplace-ibm-watson-tone-analyzer - - marketplace-icehook-systems-scout - - marketplace-infogroup-dataaxle-bizinfo - - marketplace-keen-io-contact-center-analytics - - marketplace-marchex-cleancall - - marketplace-marchex-sentiment-analysis-for-sms - - marketplace-marketplace-nextcaller-social-id - - marketplace-mobile-commons-opt-out-classifier - - marketplace-nexiwave-voicemail-to-text - - marketplace-nextcaller-advanced-caller-identification - - marketplace-nomorobo-spam-score - - marketplace-payfone-tcpa-compliance - - marketplace-remeeting-automatic-speech-recognition - - marketplace-tcpa-defense-solutions-blacklist-feed - - marketplace-telo-opencnam - - marketplace-truecnam-true-spam - - marketplace-twilio-caller-name-lookup-us - - marketplace-twilio-carrier-information-lookup - - marketplace-voicebase-pci - - marketplace-voicebase-transcription - - marketplace-voicebase-transcription-custom-vocabulary - - marketplace-whitepages-pro-caller-identification - - marketplace-whitepages-pro-phone-intelligence - - marketplace-whitepages-pro-phone-reputation - - marketplace-wolfarm-spoken-results - - marketplace-wolfram-short-answer - - marketplace-ytica-contact-center-reporting-analytics - - mediastorage - - mms - - mms-inbound - - mms-inbound-longcode - - mms-inbound-shortcode - - mms-messages-carrierfees - - mms-outbound - - mms-outbound-longcode - - mms-outbound-shortcode - - monitor-reads - - monitor-storage - - monitor-writes - - notify - - notify-actions-attempts - - notify-channels - - number-format-lookups - - pchat - - pchat-users - - peer-to-peer-rooms-participant-minutes - - pfax - - pfax-minutes - - pfax-minutes-inbound - - pfax-minutes-outbound - - pfax-pages - - phonenumbers - - phonenumbers-cps - - phonenumbers-emergency - - phonenumbers-local - - phonenumbers-mobile - - phonenumbers-setups - - phonenumbers-tollfree - - premiumsupport - - proxy - - proxy-active-sessions - - pstnconnectivity - - pv - - pv-composition-media-downloaded - - pv-composition-media-encrypted - - pv-composition-media-stored - - pv-composition-minutes - - pv-recording-compositions - - pv-room-participants - - pv-room-participants-au1 - - pv-room-participants-br1 - - pv-room-participants-ie1 - - pv-room-participants-jp1 - - pv-room-participants-sg1 - - pv-room-participants-us1 - - pv-room-participants-us2 - - pv-rooms - - pv-sip-endpoint-registrations - - recordings - - recordingstorage - - rooms-group-bandwidth - - rooms-group-minutes - - rooms-peer-to-peer-minutes - - shortcodes - - shortcodes-customerowned - - shortcodes-mms-enablement - - shortcodes-mps - - shortcodes-random - - shortcodes-uk - - shortcodes-vanity - - small-group-rooms - - small-group-rooms-data-track - - small-group-rooms-participant-minutes - - sms - - sms-inbound - - sms-inbound-longcode - - sms-inbound-shortcode - - sms-messages-carrierfees - - sms-messages-features - - sms-messages-features-senderid - - sms-outbound - - sms-outbound-content-inspection - - sms-outbound-longcode - - sms-outbound-shortcode - - speech-recognition - - studio-engagements - - sync - - sync-actions - - sync-endpoint-hours - - sync-endpoint-hours-above-daily-cap - - taskrouter-tasks - - totalprice - - transcriptions - - trunking-cps - - trunking-emergency-calls - - trunking-origination - - trunking-origination-local - - trunking-origination-mobile - - trunking-origination-tollfree - - trunking-recordings - - trunking-secure - - trunking-termination - - turnmegabytes - - turnmegabytes-australia - - turnmegabytes-brasil - - turnmegabytes-germany - - turnmegabytes-india - - turnmegabytes-ireland - - turnmegabytes-japan - - turnmegabytes-singapore - - turnmegabytes-useast - - turnmegabytes-uswest - - twilio-interconnect - - verify-push - - verify-totp - - verify-whatsapp-conversations-business-initiated - - video-recordings - - voice-insights - - voice-insights-client-insights-on-demand-minute - - voice-insights-ptsn-insights-on-demand-minute - - voice-insights-sip-interface-insights-on-demand-minute - - voice-insights-sip-trunking-insights-on-demand-minute - - wireless - - wireless-orders - - wireless-orders-artwork - - wireless-orders-bulk - - wireless-orders-esim - - wireless-orders-starter - - wireless-usage - - wireless-usage-commands - - wireless-usage-commands-africa - - wireless-usage-commands-asia - - wireless-usage-commands-centralandsouthamerica - - wireless-usage-commands-europe - - wireless-usage-commands-home - - wireless-usage-commands-northamerica - - wireless-usage-commands-oceania - - wireless-usage-commands-roaming - - wireless-usage-data - - wireless-usage-data-africa - - wireless-usage-data-asia - - wireless-usage-data-centralandsouthamerica - - wireless-usage-data-custom-additionalmb - - wireless-usage-data-custom-first5mb - - wireless-usage-data-domestic-roaming - - wireless-usage-data-europe - - wireless-usage-data-individual-additionalgb - - wireless-usage-data-individual-firstgb - - wireless-usage-data-international-roaming-canada - - wireless-usage-data-international-roaming-india - - wireless-usage-data-international-roaming-mexico - - wireless-usage-data-northamerica - - wireless-usage-data-oceania - - wireless-usage-data-pooled - - wireless-usage-data-pooled-downlink - - wireless-usage-data-pooled-uplink - - wireless-usage-mrc - - wireless-usage-mrc-custom - - wireless-usage-mrc-individual - - wireless-usage-mrc-pooled - - wireless-usage-mrc-suspended - - wireless-usage-sms - - wireless-usage-voice + - in-progress + - stopped nullable: true - type: string - count: - description: The number of usage events + description: The status - one of `stopped`, `in-progress` + uri: + description: The URI of the resource, relative to `https://api.twilio.com` + format: uri nullable: true type: string - count_unit: - description: The units in which count is measured - nullable: true + api.v2010.account.call.stream: + type: object + properties: + account_sid: type: string - description: - description: A plain-language description of the usage category + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ nullable: true + description: The SID of the Account that created this resource + call_sid: type: string - end_date: - description: The last date for which usage is included in the UsageRecord - format: date + minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ nullable: true + description: The SID of the Call the resource is associated with + date_updated: type: string - price: - description: The total price of the usage + format: date-time-rfc-2822 nullable: true - type: number - price_unit: - description: The currency in which `price` is measured - format: currency + description: The RFC 2822 date and time in GMT that this resource was last + updated + name: + description: The name of this resource nullable: true type: string - start_date: - description: The first date for which usage is included in this UsageRecord - format: date + sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^MZ[0-9a-fA-F]{32}$ nullable: true + description: The SID of the Stream resource. + status: type: string - subresource_uris: - description: A list of related resources identified by their relative URIs - format: uri-map + enum: + - in-progress + - stopped nullable: true - type: object + description: The status - one of `stopped`, `in-progress` uri: description: The URI of the resource, relative to `https://api.twilio.com` format: uri nullable: true type: string - usage: - description: The amount of usage + api.v2010.account.token: + type: object + properties: + account_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ nullable: true + description: The SID of the Account that created the resource + date_created: type: string - usage_unit: - description: The units in which usage is measured + format: date-time-rfc-2822 + nullable: true + description: The RFC 2822 date and time in GMT that the resource was created + date_updated: + type: string + format: date-time-rfc-2822 + nullable: true + description: The RFC 2822 date and time in GMT that the resource was last + updated + ice_servers: + type: array + items: + format: ice-servers + properties: + credential: + type: string + url: + type: string + urls: + type: string + username: + type: string + type: object + nullable: true + description: An array representing the ephemeral credentials + password: + description: The temporary password used for authenticating + nullable: true + type: string + ttl: + description: The duration in seconds the credentials are valid + nullable: true + type: string + username: + description: The temporary username that uniquely identifies a Token nullable: true type: string + api.v2010.account.transcription: type: object - api.v2010.account.usage.usage_record.usage_record_daily: properties: account_sid: - description: The SID of the Account accrued the usage - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource api_version: - description: The API version used to create the resource + description: The API version used to create the transcription nullable: true type: string - as_of: - description: Usage records up to date as of this timestamp + date_created: + type: string + format: date-time-rfc-2822 nullable: true + description: The RFC 2822 date and time in GMT that the resource was created + date_updated: type: string - category: - description: The category of usage - enum: - - a2p-registration-fees - - agent-conference - - amazon-polly + format: date-time-rfc-2822 + nullable: true + description: The RFC 2822 date and time in GMT that the resource was last + updated + duration: + description: The duration of the transcribed audio in seconds. + nullable: true + type: string + price: + description: The charge for the transcription + nullable: true + type: number + price_unit: + description: The currency in which price is measured + format: currency + nullable: true + type: string + recording_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RE[0-9a-fA-F]{32}$ + nullable: true + description: The SID that identifies the transcription's recording + sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^TR[0-9a-fA-F]{32}$ + nullable: true + description: The unique string that identifies the resource + status: + type: string + enum: + - in-progress + - completed + - failed + nullable: true + description: The status of the transcription + transcription_text: + description: The text content of the transcription. + nullable: true + type: string + type: + description: The transcription type + nullable: true + type: string + uri: + description: The URI of the resource, relative to `https://api.twilio.com` + format: uri + nullable: true + type: string + api.v2010.account.usage: + type: object + properties: {} + api.v2010.account.usage.usage_record: + type: object + properties: + account_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account accrued the usage + api_version: + description: The API version used to create the resource + nullable: true + type: string + as_of: + description: Usage records up to date as of this timestamp + nullable: true + type: string + category: + type: string + enum: + - a2p-registration-fees + - agent-conference + - amazon-polly - answering-machine-detection - authy-authentications - authy-calls-outbound @@ -5765,7 +5134,7 @@ components: - wireless-usage-sms - wireless-usage-voice nullable: true - type: string + description: The category of usage count: description: The number of usage events nullable: true @@ -5815,16 +5184,16 @@ components: description: The units in which usage is measured nullable: true type: string + api.v2010.account.usage.usage_record.usage_record_all_time: type: object - api.v2010.account.usage.usage_record.usage_record_last_month: properties: account_sid: - description: The SID of the Account accrued the usage - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account accrued the usage api_version: description: The API version used to create the resource nullable: true @@ -5834,7 +5203,7 @@ components: nullable: true type: string category: - description: The category of usage + type: string enum: - a2p-registration-fees - agent-conference @@ -6081,7 +5450,7 @@ components: - wireless-usage-sms - wireless-usage-voice nullable: true - type: string + description: The category of usage count: description: The number of usage events nullable: true @@ -6131,16 +5500,16 @@ components: description: The units in which usage is measured nullable: true type: string + api.v2010.account.usage.usage_record.usage_record_daily: type: object - api.v2010.account.usage.usage_record.usage_record_monthly: properties: account_sid: - description: The SID of the Account accrued the usage - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account accrued the usage api_version: description: The API version used to create the resource nullable: true @@ -6150,7 +5519,7 @@ components: nullable: true type: string category: - description: The category of usage + type: string enum: - a2p-registration-fees - agent-conference @@ -6397,7 +5766,7 @@ components: - wireless-usage-sms - wireless-usage-voice nullable: true - type: string + description: The category of usage count: description: The number of usage events nullable: true @@ -6447,16 +5816,16 @@ components: description: The units in which usage is measured nullable: true type: string + api.v2010.account.usage.usage_record.usage_record_last_month: type: object - api.v2010.account.usage.usage_record.usage_record_this_month: properties: account_sid: - description: The SID of the Account accrued the usage - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account accrued the usage api_version: description: The API version used to create the resource nullable: true @@ -6466,7 +5835,7 @@ components: nullable: true type: string category: - description: The category of usage + type: string enum: - a2p-registration-fees - agent-conference @@ -6713,7 +6082,7 @@ components: - wireless-usage-sms - wireless-usage-voice nullable: true - type: string + description: The category of usage count: description: The number of usage events nullable: true @@ -6763,16 +6132,16 @@ components: description: The units in which usage is measured nullable: true type: string + api.v2010.account.usage.usage_record.usage_record_monthly: type: object - api.v2010.account.usage.usage_record.usage_record_today: properties: account_sid: - description: The SID of the Account accrued the usage - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account accrued the usage api_version: description: The API version used to create the resource nullable: true @@ -6782,7 +6151,7 @@ components: nullable: true type: string category: - description: The category of usage + type: string enum: - a2p-registration-fees - agent-conference @@ -7029,7 +6398,7 @@ components: - wireless-usage-sms - wireless-usage-voice nullable: true - type: string + description: The category of usage count: description: The number of usage events nullable: true @@ -7079,16 +6448,16 @@ components: description: The units in which usage is measured nullable: true type: string + api.v2010.account.usage.usage_record.usage_record_this_month: type: object - api.v2010.account.usage.usage_record.usage_record_yearly: properties: account_sid: - description: The SID of the Account accrued the usage - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account accrued the usage api_version: description: The API version used to create the resource nullable: true @@ -7098,7 +6467,7 @@ components: nullable: true type: string category: - description: The category of usage + type: string enum: - a2p-registration-fees - agent-conference @@ -7345,7 +6714,7 @@ components: - wireless-usage-sms - wireless-usage-voice nullable: true - type: string + description: The category of usage count: description: The number of usage events nullable: true @@ -7395,16 +6764,16 @@ components: description: The units in which usage is measured nullable: true type: string + api.v2010.account.usage.usage_record.usage_record_today: type: object - api.v2010.account.usage.usage_record.usage_record_yesterday: properties: account_sid: - description: The SID of the Account accrued the usage - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account accrued the usage api_version: description: The API version used to create the resource nullable: true @@ -7414,7 +6783,7 @@ components: nullable: true type: string category: - description: The category of usage + type: string enum: - a2p-registration-fees - agent-conference @@ -7661,7 +7030,7 @@ components: - wireless-usage-sms - wireless-usage-voice nullable: true - type: string + description: The category of usage count: description: The number of usage events nullable: true @@ -7711,97 +7080,26 @@ components: description: The units in which usage is measured nullable: true type: string + api.v2010.account.usage.usage_record.usage_record_yearly: type: object - api.v2010.account.usage.usage_trigger: properties: account_sid: - description: The SID of the Account that this trigger monitors - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account accrued the usage api_version: description: The API version used to create the resource nullable: true type: string - callback_method: - description: The HTTP method we use to call callback_url - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - nullable: true - type: string - callback_url: - description: he URL we call when the trigger fires - format: uri - nullable: true - type: string - current_value: - description: The current value of the field the trigger is watching - nullable: true - type: string - date_created: - description: The RFC 2822 date and time in GMT that the resource was created - format: date-time-rfc-2822 - nullable: true - type: string - date_fired: - description: The RFC 2822 date and time in GMT that the trigger was last - fired - format: date-time-rfc-2822 - nullable: true - type: string - date_updated: - description: The RFC 2822 date and time in GMT that the resource was last - updated - format: date-time-rfc-2822 - nullable: true - type: string - friendly_name: - description: The string that you assigned to describe the trigger - nullable: true - type: string - recurring: - description: The frequency of a recurring UsageTrigger - enum: - - daily - - monthly - - yearly - - alltime - nullable: true - type: string - sid: - description: The unique string that identifies the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^UT[0-9a-fA-F]{32}$ - type: string - trigger_by: - description: The field in the UsageRecord resource that fires the trigger - enum: - - count - - usage - - price - nullable: true - type: string - trigger_value: - description: The value at which the trigger will fire + as_of: + description: Usage records up to date as of this timestamp nullable: true type: string - uri: - description: The URI of the resource, relative to `https://api.twilio.com` - format: uri - nullable: true + category: type: string - usage_category: - description: The usage category the trigger watches enum: - a2p-registration-fees - agent-conference @@ -8048,5646 +7346,3999 @@ components: - wireless-usage-sms - wireless-usage-voice nullable: true + description: The category of usage + count: + description: The number of usage events + nullable: true type: string - usage_record_uri: - description: The URI of the UsageRecord resource this trigger watches + count_unit: + description: The units in which count is measured nullable: true type: string - type: object - api.v2010.account.validation_request: - properties: - account_sid: - description: The SID of the Account that created the resource - maxLength: 34 - minLength: 34 + description: + description: A plain-language description of the usage category nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ type: string - call_sid: - description: The SID of the Call the resource is associated with - maxLength: 34 - minLength: 34 + end_date: + description: The last date for which usage is included in the UsageRecord + format: date nullable: true - pattern: ^CA[0-9a-fA-F]{32}$ type: string - friendly_name: - description: The string that you assigned to describe the resource + price: + description: The total price of the usage + nullable: true + type: number + price_unit: + description: The currency in which `price` is measured + format: currency nullable: true type: string - phone_number: - description: The phone number to verify in E.164 format - format: phone-number + start_date: + description: The first date for which usage is included in this UsageRecord + format: date nullable: true type: string - validation_code: - description: The 6 digit validation code that someone must enter to validate - the Caller ID when `phone_number` is called + subresource_uris: + description: A list of related resources identified by their relative URIs + format: uri-map + nullable: true + type: object + uri: + description: The URI of the resource, relative to `https://api.twilio.com` + format: uri nullable: true type: string - type: object - securitySchemes: - accountSid_authToken: - scheme: basic - type: http -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 - Api - version: 1.30.0 -openapi: 3.0.1 -paths: - /2010-04-01/Accounts.json: - description: Twilio accounts (aka Project) or subaccounts - get: - description: Retrieves a collection of Accounts belonging to the account used - to make the request - operationId: ListAccount - parameters: - - description: Only return the Account resources with friendly names that exactly - match this name. - in: query - name: FriendlyName - schema: + usage: + description: The amount of usage + nullable: true type: string - - description: Only return Account resources with the given status. Can be `closed`, - `suspended` or `active`. - in: query - name: Status - schema: - enum: - - active - - suspended - - closed + usage_unit: + description: The units in which usage is measured + nullable: true + type: string + api.v2010.account.usage.usage_record.usage_record_yesterday: + type: object + properties: + account_sid: 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 - responses: - '200': - content: - application/json: - schema: - properties: - accounts: - items: - $ref: '#/components/schemas/api.v2010.account' - type: array - end: - type: integer - first_page_uri: - format: uri - type: string - next_page_uri: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_uri: - format: uri - type: string - start: - type: integer - uri: - format: uri - type: string - title: ListAccountResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: Create a new Twilio Subaccount from the account making the request - operationId: CreateAccount - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - FriendlyName: - description: A human readable description of the account to create, - defaults to `SubAccount Created at {YYYY-MM-DD HH:MM meridian}` - type: string - title: CreateAccountRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - status - pathType: list - /2010-04-01/Accounts/{AccountSid}/Addresses.json: - description: An Address instance resource represents your or your customer's physical - location within a country. Around the world, some local authorities require - the name and address of the user to be on file with Twilio to purchase and own - a phone number. - get: - description: '' - operationId: ListAddress - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that is responsible for the Address resource to read. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account accrued the usage + api_version: + description: The API version used to create the resource + nullable: true type: string - - description: The `customer_name` of the Address resources to read. - in: query - name: CustomerName - schema: - type: string - - description: The string that identifies the Address resources to read. - in: query - name: FriendlyName - schema: + as_of: + description: Usage records up to date as of this timestamp + nullable: true type: string - - description: The ISO country code of the Address resources to read. - in: query - name: IsoCountry - schema: - format: iso-country-code + category: 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 - responses: - '200': - content: - application/json: - schema: - properties: - addresses: - items: - $ref: '#/components/schemas/api.v2010.account.address' - type: array - end: - type: integer - first_page_uri: - format: uri - type: string - next_page_uri: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_uri: - format: uri - type: string - start: - type: integer - uri: - format: uri - type: string - title: ListAddressResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: '' - operationId: CreateAddress - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that will be responsible for the new Address resource. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - AutoCorrectAddress: - description: 'Whether we should automatically correct the address. - Can be: `true` or `false` and the default is `true`. If empty - or `true`, we will correct the address you provide if necessary. - If `false`, we won''t alter the address you provide.' - type: boolean - City: - description: The city of the new address. - type: string - CustomerName: - description: The name to associate with the new address. - type: string - EmergencyEnabled: - description: 'Whether to enable emergency calling on the new address. - Can be: `true` or `false`.' - type: boolean - FriendlyName: - description: A descriptive string that you create to describe the - new address. It can be up to 64 characters long. - type: string - IsoCountry: - description: The ISO country code of the new address. - format: iso-country-code - type: string - PostalCode: - description: The postal code of the new address. - type: string - Region: - description: The state or region of the new address. - type: string - Street: - description: The number and street address of the new address. - type: string - required: - - CustomerName - - Street - - City - - Region - - PostalCode - - IsoCountry - title: CreateAddressRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.address' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - validated - - verified - parent: /Accounts.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/Addresses/{AddressSid}/DependentPhoneNumbers.json: - description: Phone numbers dependent on an Address resource - get: - description: '' - operationId: ListDependentPhoneNumber - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the DependentPhoneNumber resources to read. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Address resource associated with the phone number. - in: path - name: AddressSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AD[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 - responses: - '200': - content: - application/json: - schema: - properties: - dependent_phone_numbers: - items: - $ref: '#/components/schemas/api.v2010.account.address.dependent_phone_number' - type: array - end: - type: integer - first_page_uri: - format: uri - type: string - next_page_uri: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_uri: - format: uri - type: string - start: - type: integer - uri: - format: uri - type: string - title: ListDependentPhoneNumberResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - phone_number - - friendly_name - parent: /Accounts/{AccountSid}/Addresses.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/Addresses/{Sid}.json: - delete: - description: '' - operationId: DeleteAddress - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that is responsible for the Address resource to delete. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Address - resource to delete. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AD[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: An Address instance resource represents your or your customer's physical - location within a country. Around the world, some local authorities require - the name and address of the user to be on file with Twilio to purchase and own - a phone number. - get: - description: '' - operationId: FetchAddress - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that is responsible for the Address resource to fetch. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Address - resource to fetch. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AD[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.address' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: '' - operationId: UpdateAddress - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that is responsible for the Address resource to update. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Address - resource to update. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AD[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - AutoCorrectAddress: - description: 'Whether we should automatically correct the address. - Can be: `true` or `false` and the default is `true`. If empty - or `true`, we will correct the address you provide if necessary. - If `false`, we won''t alter the address you provide.' - type: boolean - City: - description: The city of the address. - type: string - CustomerName: - description: The name to associate with the address. - type: string - EmergencyEnabled: - description: 'Whether to enable emergency calling on the address. - Can be: `true` or `false`.' - type: boolean - FriendlyName: - description: A descriptive string that you create to describe the - address. It can be up to 64 characters long. - type: string - PostalCode: - description: The postal code of the address. - type: string - Region: - description: The state or region of the address. - type: string - Street: - description: The number and street address of the address. - type: string - title: UpdateAddressRequest - type: object - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.address' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - validated - - verified - parent: /Accounts.json - pathType: instance - /2010-04-01/Accounts/{AccountSid}/Applications.json: - description: An Application instance resource represents an application that you - have created with Twilio. An application inside of Twilio is just a set of URLs - and other configuration data that tells Twilio how to behave when one of your - Twilio numbers receives a call or SMS message. - get: - description: Retrieve a list of applications representing an application within - the requesting account - operationId: ListApplication - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Application resources to read. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The string that identifies the Application resources to read. - in: query - name: FriendlyName - schema: - 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 - responses: - '200': - content: - application/json: - schema: - properties: - applications: - items: - $ref: '#/components/schemas/api.v2010.account.application' - type: array - end: - type: integer - first_page_uri: - format: uri - type: string - next_page_uri: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_uri: - format: uri - type: string - start: - type: integer - uri: - format: uri - type: string - title: ListApplicationResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: Create a new application within your account - operationId: CreateApplication - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that will create the resource. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - ApiVersion: - description: 'The API version to use to start a new TwiML session. - Can be: `2010-04-01` or `2008-08-01`. The default value is the - account''s default API version.' - type: string - FriendlyName: - description: A descriptive string that you create to describe the - new application. It can be up to 64 characters long. - type: string - MessageStatusCallback: - description: The URL we should call using a POST method to send - message status information to your application. - format: uri - type: string - SmsFallbackMethod: - description: 'The HTTP method we should use to call `sms_fallback_url`. - Can be: `GET` or `POST`.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - SmsFallbackUrl: - description: The URL that we should call when an error occurs while - retrieving or executing the TwiML from `sms_url`. - format: uri - type: string - SmsMethod: - description: 'The HTTP method we should use to call `sms_url`. Can - be: `GET` or `POST`.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - SmsStatusCallback: - description: The URL we should call using a POST method to send - status information about SMS messages sent by the application. - format: uri - type: string - SmsUrl: - description: The URL we should call when the phone number receives - an incoming SMS message. - format: uri - type: string - StatusCallback: - description: The URL we should call using the `status_callback_method` - to send status information to your application. - format: uri - type: string - StatusCallbackMethod: - description: 'The HTTP method we should use to call `status_callback`. - Can be: `GET` or `POST`.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - VoiceCallerIdLookup: - description: 'Whether we should look up the caller''s caller-ID - name from the CNAM database (additional charges apply). Can be: - `true` or `false`.' - type: boolean - VoiceFallbackMethod: - description: 'The HTTP method we should use to call `voice_fallback_url`. - Can be: `GET` or `POST`.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - VoiceFallbackUrl: - description: The URL that we should call when an error occurs retrieving - or executing the TwiML requested by `url`. - format: uri - type: string - VoiceMethod: - description: 'The HTTP method we should use to call `voice_url`. - Can be: `GET` or `POST`.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - VoiceUrl: - description: The URL we should call when the phone number assigned - to this application receives a call. - format: uri - type: string - title: CreateApplicationRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.application' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - date_created - parent: /Accounts.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/Applications/{Sid}.json: - delete: - description: Delete the application by the specified application sid - operationId: DeleteApplication - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Application resources to delete. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Application - resource to delete. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AP[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: An Application instance resource represents an application that you - have created with Twilio. An application inside of Twilio is just a set of URLs - and other configuration data that tells Twilio how to behave when one of your - Twilio numbers receives a call or SMS message. - get: - description: Fetch the application specified by the provided sid - operationId: FetchApplication - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Application resource to fetch. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Application - resource to fetch. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AP[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.application' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: Updates the application's properties - operationId: UpdateApplication - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Application resources to update. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Application - resource to update. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AP[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - ApiVersion: - description: 'The API version to use to start a new TwiML session. - Can be: `2010-04-01` or `2008-08-01`. The default value is your - account''s default API version.' - type: string - FriendlyName: - description: A descriptive string that you create to describe the - resource. It can be up to 64 characters long. - type: string - MessageStatusCallback: - description: The URL we should call using a POST method to send - message status information to your application. - format: uri - type: string - SmsFallbackMethod: - description: 'The HTTP method we should use to call `sms_fallback_url`. - Can be: `GET` or `POST`.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - SmsFallbackUrl: - description: The URL that we should call when an error occurs while - retrieving or executing the TwiML from `sms_url`. - format: uri - type: string - SmsMethod: - description: 'The HTTP method we should use to call `sms_url`. Can - be: `GET` or `POST`.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - SmsStatusCallback: - description: 'Same as message_status_callback: The URL we should - call using a POST method to send status information about SMS - messages sent by the application. Deprecated, included for backwards - compatibility.' - format: uri - type: string - SmsUrl: - description: The URL we should call when the phone number receives - an incoming SMS message. - format: uri - type: string - StatusCallback: - description: The URL we should call using the `status_callback_method` - to send status information to your application. - format: uri - type: string - StatusCallbackMethod: - description: 'The HTTP method we should use to call `status_callback`. - Can be: `GET` or `POST`.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - VoiceCallerIdLookup: - description: 'Whether we should look up the caller''s caller-ID - name from the CNAM database (additional charges apply). Can be: - `true` or `false`.' - type: boolean - VoiceFallbackMethod: - description: 'The HTTP method we should use to call `voice_fallback_url`. - Can be: `GET` or `POST`.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - VoiceFallbackUrl: - description: The URL that we should call when an error occurs retrieving - or executing the TwiML requested by `url`. - format: uri - type: string - VoiceMethod: - description: 'The HTTP method we should use to call `voice_url`. - Can be: `GET` or `POST`.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - VoiceUrl: - description: The URL we should call when the phone number assigned - to this application receives a call. - format: uri - type: string - title: UpdateApplicationRequest - type: object - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.application' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - date_created - parent: /Accounts.json - pathType: instance - /2010-04-01/Accounts/{AccountSid}/AuthorizedConnectApps.json: - description: Authorized Twilio Connect apps - get: - description: Retrieve a list of authorized-connect-apps belonging to the account - used to make the request - operationId: ListAuthorizedConnectApp - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the AuthorizedConnectApp resources to read. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[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 - responses: - '200': - content: - application/json: - schema: - properties: - authorized_connect_apps: - items: - $ref: '#/components/schemas/api.v2010.account.authorized_connect_app' - type: array - end: - type: integer - first_page_uri: - format: uri - type: string - next_page_uri: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_uri: - format: uri - type: string - start: - type: integer - uri: - format: uri - type: string - title: ListAuthorizedConnectAppResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - connect_app_sid - - connect_app_friendly_name - parent: /Accounts.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/AuthorizedConnectApps/{ConnectAppSid}.json: - description: Authorized Twilio Connect apps - get: - description: Fetch an instance of an authorized-connect-app - operationId: FetchAuthorizedConnectApp - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the AuthorizedConnectApp resource to fetch. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Connect App to fetch. - in: path - name: ConnectAppSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^CN[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.authorized_connect_app' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - connect_app_sid - - connect_app_friendly_name - parent: /Accounts.json - pathType: instance - /2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers.json: - description: Country codes with available phone numbers - get: - description: '' - operationId: ListAvailablePhoneNumberCountry - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - requesting the available phone number Country resources. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[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 - responses: - '200': - content: - application/json: - schema: - properties: - countries: - items: - $ref: '#/components/schemas/api.v2010.account.available_phone_number_country' - type: array - end: - type: integer - first_page_uri: - format: uri - type: string - next_page_uri: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_uri: - format: uri - type: string - start: - type: integer - uri: - format: uri - type: string - title: ListAvailablePhoneNumberCountryResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://api.twilio.com - x-twilio: - className: available_phone_number_country - defaultOutputProperties: - - country_code - - country - - beta - parent: /Accounts.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}.json: - description: Country codes with available phone numbers - get: - description: '' - operationId: FetchAvailablePhoneNumberCountry - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - requesting the available phone number Country resource. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) - country code of the country to fetch available phone number information - about. - in: path - name: CountryCode - required: true - schema: - format: iso-country-code - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.available_phone_number_country' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://api.twilio.com - x-twilio: - className: available_phone_number_country - defaultOutputProperties: - - country_code - - country - - beta - parent: /Accounts.json - pathType: instance - /2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}/Local.json: - description: Available local phone numbers - get: - description: '' - operationId: ListAvailablePhoneNumberLocal - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - requesting the AvailablePhoneNumber resources. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) - country code of the country from which to read phone numbers. - in: path - name: CountryCode - required: true - schema: - format: iso-country-code - type: string - - description: The area code of the phone numbers to read. Applies to only phone - numbers in the US and Canada. - in: query - name: AreaCode - schema: - type: integer - - description: The pattern on which to match phone numbers. Valid characters - are `*`, `0-9`, `a-z`, and `A-Z`. The `*` character matches any single digit. - For examples, see [Example 2](https://www.twilio.com/docs/phone-numbers/api/availablephonenumberlocal-resource?code-sample=code-find-phone-numbers-by-number-pattern) - and [Example 3](https://www.twilio.com/docs/phone-numbers/api/availablephonenumberlocal-resource?code-sample=code-find-phone-numbers-by-character-pattern). - If specified, this value must have at least two characters. - in: query - name: Contains - schema: - type: string - - description: 'Whether the phone numbers can receive text messages. Can be: - `true` or `false`.' - in: query - name: SmsEnabled - schema: - type: boolean - - description: 'Whether the phone numbers can receive MMS messages. Can be: - `true` or `false`.' - in: query - name: MmsEnabled - schema: - type: boolean - - description: 'Whether the phone numbers can receive calls. Can be: `true` - or `false`.' - in: query - name: VoiceEnabled - schema: - type: boolean - - description: 'Whether to exclude phone numbers that require an [Address](https://www.twilio.com/docs/usage/api/address). - Can be: `true` or `false` and the default is `false`.' - in: query - name: ExcludeAllAddressRequired - schema: - type: boolean - - description: 'Whether to exclude phone numbers that require a local [Address](https://www.twilio.com/docs/usage/api/address). - Can be: `true` or `false` and the default is `false`.' - in: query - name: ExcludeLocalAddressRequired - schema: - type: boolean - - description: 'Whether to exclude phone numbers that require a foreign [Address](https://www.twilio.com/docs/usage/api/address). - Can be: `true` or `false` and the default is `false`.' - in: query - name: ExcludeForeignAddressRequired - schema: - type: boolean - - description: 'Whether to read phone numbers that are new to the Twilio platform. - Can be: `true` or `false` and the default is `true`.' - in: query - name: Beta - schema: - type: boolean - - description: Given a phone number, find a geographically close number within - `distance` miles. Distance defaults to 25 miles. Applies to only phone numbers - in the US and Canada. - in: query - name: NearNumber - schema: - format: phone-number - type: string - - description: Given a latitude/longitude pair `lat,long` find geographically - close numbers within `distance` miles. Applies to only phone numbers in - the US and Canada. - in: query - name: NearLatLong - schema: - type: string - - description: The search radius, in miles, for a `near_` query. Can be up - to `500` and the default is `25`. Applies to only phone numbers in the US - and Canada. - in: query - name: Distance - schema: - type: integer - - description: Limit results to a particular postal code. Given a phone number, - search within the same postal code as that number. Applies to only phone - numbers in the US and Canada. - in: query - name: InPostalCode - schema: - type: string - - description: Limit results to a particular region, state, or province. Given - a phone number, search within the same region as that number. Applies to - only phone numbers in the US and Canada. - in: query - name: InRegion - schema: - type: string - - description: Limit results to a specific rate center, or given a phone number - search within the same rate center as that number. Requires `in_lata` to - be set as well. Applies to only phone numbers in the US and Canada. - in: query - name: InRateCenter - schema: - type: string - - description: Limit results to a specific local access and transport area ([LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area)). - Given a phone number, search within the same [LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area) - as that number. Applies to only phone numbers in the US and Canada. - in: query - name: InLata - schema: - type: string - - description: Limit results to a particular locality or city. Given a phone - number, search within the same Locality as that number. - in: query - name: InLocality - schema: - type: string - - description: 'Whether the phone numbers can receive faxes. Can be: `true` - or `false`.' - in: query - name: FaxEnabled - schema: - type: boolean - - 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 - responses: - '200': - content: - application/json: - schema: - properties: - available_phone_numbers: - items: - $ref: '#/components/schemas/api.v2010.account.available_phone_number_country.available_phone_number_local' - type: array - end: - type: integer - first_page_uri: - format: uri - type: string - next_page_uri: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_uri: - format: uri - type: string - start: - type: integer - uri: - format: uri - type: string - title: ListAvailablePhoneNumberLocalResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - phone_number - - region - - beta - parent: /Accounts/{AccountSid}/AvailablePhoneNumbers.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}/MachineToMachine.json: - description: Available machine-to-machine phone numbers - get: - description: '' - operationId: ListAvailablePhoneNumberMachineToMachine - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - requesting the AvailablePhoneNumber resources. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) - country code of the country from which to read phone numbers. - in: path - name: CountryCode - required: true - schema: - format: iso-country-code - type: string - - description: The area code of the phone numbers to read. Applies to only phone - numbers in the US and Canada. - in: query - name: AreaCode - schema: - type: integer - - description: The pattern on which to match phone numbers. Valid characters - are `*`, `0-9`, `a-z`, and `A-Z`. The `*` character matches any single digit. - For examples, see [Example 2](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-2) - and [Example 3](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-3). - If specified, this value must have at least two characters. - in: query - name: Contains - schema: - type: string - - description: 'Whether the phone numbers can receive text messages. Can be: - `true` or `false`.' - in: query - name: SmsEnabled - schema: - type: boolean - - description: 'Whether the phone numbers can receive MMS messages. Can be: - `true` or `false`.' - in: query - name: MmsEnabled - schema: - type: boolean - - description: 'Whether the phone numbers can receive calls. Can be: `true` - or `false`.' - in: query - name: VoiceEnabled - schema: - type: boolean - - description: 'Whether to exclude phone numbers that require an [Address](https://www.twilio.com/docs/usage/api/address). - Can be: `true` or `false` and the default is `false`.' - in: query - name: ExcludeAllAddressRequired - schema: - type: boolean - - description: 'Whether to exclude phone numbers that require a local [Address](https://www.twilio.com/docs/usage/api/address). - Can be: `true` or `false` and the default is `false`.' - in: query - name: ExcludeLocalAddressRequired - schema: - type: boolean - - description: 'Whether to exclude phone numbers that require a foreign [Address](https://www.twilio.com/docs/usage/api/address). - Can be: `true` or `false` and the default is `false`.' - in: query - name: ExcludeForeignAddressRequired - schema: - type: boolean - - description: 'Whether to read phone numbers that are new to the Twilio platform. - Can be: `true` or `false` and the default is `true`.' - in: query - name: Beta - schema: - type: boolean - - description: Given a phone number, find a geographically close number within - `distance` miles. Distance defaults to 25 miles. Applies to only phone numbers - in the US and Canada. - in: query - name: NearNumber - schema: - format: phone-number - type: string - - description: Given a latitude/longitude pair `lat,long` find geographically - close numbers within `distance` miles. Applies to only phone numbers in - the US and Canada. - in: query - name: NearLatLong - schema: - type: string - - description: The search radius, in miles, for a `near_` query. Can be up - to `500` and the default is `25`. Applies to only phone numbers in the US - and Canada. - in: query - name: Distance - schema: - type: integer - - description: Limit results to a particular postal code. Given a phone number, - search within the same postal code as that number. Applies to only phone - numbers in the US and Canada. - in: query - name: InPostalCode - schema: - type: string - - description: Limit results to a particular region, state, or province. Given - a phone number, search within the same region as that number. Applies to - only phone numbers in the US and Canada. - in: query - name: InRegion - schema: - type: string - - description: Limit results to a specific rate center, or given a phone number - search within the same rate center as that number. Requires `in_lata` to - be set as well. Applies to only phone numbers in the US and Canada. - in: query - name: InRateCenter - schema: - type: string - - description: Limit results to a specific local access and transport area ([LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area)). - Given a phone number, search within the same [LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area) - as that number. Applies to only phone numbers in the US and Canada. - in: query - name: InLata - schema: - type: string - - description: Limit results to a particular locality or city. Given a phone - number, search within the same Locality as that number. - in: query - name: InLocality - schema: - type: string - - description: 'Whether the phone numbers can receive faxes. Can be: `true` - or `false`.' - in: query - name: FaxEnabled - schema: - type: boolean - - 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 - responses: - '200': - content: - application/json: - schema: - properties: - available_phone_numbers: - items: - $ref: '#/components/schemas/api.v2010.account.available_phone_number_country.available_phone_number_machine_to_machine' - type: array - end: - type: integer - first_page_uri: - format: uri - type: string - next_page_uri: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_uri: - format: uri - type: string - start: - type: integer - uri: - format: uri - type: string - title: ListAvailablePhoneNumberMachineToMachineResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - phone_number - - region - - beta - parent: /Accounts/{AccountSid}/AvailablePhoneNumbers.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}/Mobile.json: - description: Available mobile phone numbers - get: - description: '' - operationId: ListAvailablePhoneNumberMobile - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - requesting the AvailablePhoneNumber resources. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) - country code of the country from which to read phone numbers. - in: path - name: CountryCode - required: true - schema: - format: iso-country-code - type: string - - description: The area code of the phone numbers to read. Applies to only phone - numbers in the US and Canada. - in: query - name: AreaCode - schema: - type: integer - - description: The pattern on which to match phone numbers. Valid characters - are `*`, `0-9`, `a-z`, and `A-Z`. The `*` character matches any single digit. - For examples, see [Example 2](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-2) - and [Example 3](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-3). - If specified, this value must have at least two characters. - in: query - name: Contains - schema: - type: string - - description: 'Whether the phone numbers can receive text messages. Can be: - `true` or `false`.' - in: query - name: SmsEnabled - schema: - type: boolean - - description: 'Whether the phone numbers can receive MMS messages. Can be: - `true` or `false`.' - in: query - name: MmsEnabled - schema: - type: boolean - - description: 'Whether the phone numbers can receive calls. Can be: `true` - or `false`.' - in: query - name: VoiceEnabled - schema: - type: boolean - - description: 'Whether to exclude phone numbers that require an [Address](https://www.twilio.com/docs/usage/api/address). - Can be: `true` or `false` and the default is `false`.' - in: query - name: ExcludeAllAddressRequired - schema: - type: boolean - - description: 'Whether to exclude phone numbers that require a local [Address](https://www.twilio.com/docs/usage/api/address). - Can be: `true` or `false` and the default is `false`.' - in: query - name: ExcludeLocalAddressRequired - schema: - type: boolean - - description: 'Whether to exclude phone numbers that require a foreign [Address](https://www.twilio.com/docs/usage/api/address). - Can be: `true` or `false` and the default is `false`.' - in: query - name: ExcludeForeignAddressRequired - schema: - type: boolean - - description: 'Whether to read phone numbers that are new to the Twilio platform. - Can be: `true` or `false` and the default is `true`.' - in: query - name: Beta - schema: - type: boolean - - description: Given a phone number, find a geographically close number within - `distance` miles. Distance defaults to 25 miles. Applies to only phone numbers - in the US and Canada. - in: query - name: NearNumber - schema: - format: phone-number - type: string - - description: Given a latitude/longitude pair `lat,long` find geographically - close numbers within `distance` miles. Applies to only phone numbers in - the US and Canada. - in: query - name: NearLatLong - schema: - type: string - - description: The search radius, in miles, for a `near_` query. Can be up - to `500` and the default is `25`. Applies to only phone numbers in the US - and Canada. - in: query - name: Distance - schema: - type: integer - - description: Limit results to a particular postal code. Given a phone number, - search within the same postal code as that number. Applies to only phone - numbers in the US and Canada. - in: query - name: InPostalCode - schema: - type: string - - description: Limit results to a particular region, state, or province. Given - a phone number, search within the same region as that number. Applies to - only phone numbers in the US and Canada. - in: query - name: InRegion - schema: - type: string - - description: Limit results to a specific rate center, or given a phone number - search within the same rate center as that number. Requires `in_lata` to - be set as well. Applies to only phone numbers in the US and Canada. - in: query - name: InRateCenter - schema: - type: string - - description: Limit results to a specific local access and transport area ([LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area)). - Given a phone number, search within the same [LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area) - as that number. Applies to only phone numbers in the US and Canada. - in: query - name: InLata - schema: - type: string - - description: Limit results to a particular locality or city. Given a phone - number, search within the same Locality as that number. - in: query - name: InLocality - schema: - type: string - - description: 'Whether the phone numbers can receive faxes. Can be: `true` - or `false`.' - in: query - name: FaxEnabled - schema: - type: boolean - - 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 - responses: - '200': - content: - application/json: - schema: - properties: - available_phone_numbers: - items: - $ref: '#/components/schemas/api.v2010.account.available_phone_number_country.available_phone_number_mobile' - type: array - end: - type: integer - first_page_uri: - format: uri - type: string - next_page_uri: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_uri: - format: uri - type: string - start: - type: integer - uri: - format: uri - type: string - title: ListAvailablePhoneNumberMobileResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - phone_number - - region - - beta - parent: /Accounts/{AccountSid}/AvailablePhoneNumbers.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}/National.json: - description: Available national phone numbers - get: - description: '' - operationId: ListAvailablePhoneNumberNational - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - requesting the AvailablePhoneNumber resources. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) - country code of the country from which to read phone numbers. - in: path - name: CountryCode - required: true - schema: - format: iso-country-code - type: string - - description: The area code of the phone numbers to read. Applies to only phone - numbers in the US and Canada. - in: query - name: AreaCode - schema: - type: integer - - description: The pattern on which to match phone numbers. Valid characters - are `*`, `0-9`, `a-z`, and `A-Z`. The `*` character matches any single digit. - For examples, see [Example 2](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-2) - and [Example 3](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-3). - If specified, this value must have at least two characters. - in: query - name: Contains - schema: - type: string - - description: 'Whether the phone numbers can receive text messages. Can be: - `true` or `false`.' - in: query - name: SmsEnabled - schema: - type: boolean - - description: 'Whether the phone numbers can receive MMS messages. Can be: - `true` or `false`.' - in: query - name: MmsEnabled - schema: - type: boolean - - description: 'Whether the phone numbers can receive calls. Can be: `true` - or `false`.' - in: query - name: VoiceEnabled - schema: - type: boolean - - description: 'Whether to exclude phone numbers that require an [Address](https://www.twilio.com/docs/usage/api/address). - Can be: `true` or `false` and the default is `false`.' - in: query - name: ExcludeAllAddressRequired - schema: - type: boolean - - description: 'Whether to exclude phone numbers that require a local [Address](https://www.twilio.com/docs/usage/api/address). - Can be: `true` or `false` and the default is `false`.' - in: query - name: ExcludeLocalAddressRequired - schema: - type: boolean - - description: 'Whether to exclude phone numbers that require a foreign [Address](https://www.twilio.com/docs/usage/api/address). - Can be: `true` or `false` and the default is `false`.' - in: query - name: ExcludeForeignAddressRequired - schema: - type: boolean - - description: 'Whether to read phone numbers that are new to the Twilio platform. - Can be: `true` or `false` and the default is `true`.' - in: query - name: Beta - schema: - type: boolean - - description: Given a phone number, find a geographically close number within - `distance` miles. Distance defaults to 25 miles. Applies to only phone numbers - in the US and Canada. - in: query - name: NearNumber - schema: - format: phone-number - type: string - - description: Given a latitude/longitude pair `lat,long` find geographically - close numbers within `distance` miles. Applies to only phone numbers in - the US and Canada. - in: query - name: NearLatLong - schema: - type: string - - description: The search radius, in miles, for a `near_` query. Can be up - to `500` and the default is `25`. Applies to only phone numbers in the US - and Canada. - in: query - name: Distance - schema: - type: integer - - description: Limit results to a particular postal code. Given a phone number, - search within the same postal code as that number. Applies to only phone - numbers in the US and Canada. - in: query - name: InPostalCode - schema: - type: string - - description: Limit results to a particular region, state, or province. Given - a phone number, search within the same region as that number. Applies to - only phone numbers in the US and Canada. - in: query - name: InRegion - schema: - type: string - - description: Limit results to a specific rate center, or given a phone number - search within the same rate center as that number. Requires `in_lata` to - be set as well. Applies to only phone numbers in the US and Canada. - in: query - name: InRateCenter - schema: - type: string - - description: Limit results to a specific local access and transport area ([LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area)). - Given a phone number, search within the same [LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area) - as that number. Applies to only phone numbers in the US and Canada. - in: query - name: InLata - schema: - type: string - - description: Limit results to a particular locality or city. Given a phone - number, search within the same Locality as that number. - in: query - name: InLocality - schema: - type: string - - description: 'Whether the phone numbers can receive faxes. Can be: `true` - or `false`.' - in: query - name: FaxEnabled - schema: - type: boolean - - 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 - responses: - '200': - content: - application/json: - schema: - properties: - available_phone_numbers: - items: - $ref: '#/components/schemas/api.v2010.account.available_phone_number_country.available_phone_number_national' - type: array - end: - type: integer - first_page_uri: - format: uri - type: string - next_page_uri: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_uri: - format: uri - type: string - start: - type: integer - uri: - format: uri - type: string - title: ListAvailablePhoneNumberNationalResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - phone_number - - region - - beta - parent: /Accounts/{AccountSid}/AvailablePhoneNumbers.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}/SharedCost.json: - description: Available shared cost numbers - get: - description: '' - operationId: ListAvailablePhoneNumberSharedCost - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - requesting the AvailablePhoneNumber resources. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) - country code of the country from which to read phone numbers. - in: path - name: CountryCode - required: true - schema: - format: iso-country-code - type: string - - description: The area code of the phone numbers to read. Applies to only phone - numbers in the US and Canada. - in: query - name: AreaCode - schema: - type: integer - - description: The pattern on which to match phone numbers. Valid characters - are `*`, `0-9`, `a-z`, and `A-Z`. The `*` character matches any single digit. - For examples, see [Example 2](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-2) - and [Example 3](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-3). - If specified, this value must have at least two characters. - in: query - name: Contains - schema: - type: string - - description: 'Whether the phone numbers can receive text messages. Can be: - `true` or `false`.' - in: query - name: SmsEnabled - schema: - type: boolean - - description: 'Whether the phone numbers can receive MMS messages. Can be: - `true` or `false`.' - in: query - name: MmsEnabled - schema: - type: boolean - - description: 'Whether the phone numbers can receive calls. Can be: `true` - or `false`.' - in: query - name: VoiceEnabled - schema: - type: boolean - - description: 'Whether to exclude phone numbers that require an [Address](https://www.twilio.com/docs/usage/api/address). - Can be: `true` or `false` and the default is `false`.' - in: query - name: ExcludeAllAddressRequired - schema: - type: boolean - - description: 'Whether to exclude phone numbers that require a local [Address](https://www.twilio.com/docs/usage/api/address). - Can be: `true` or `false` and the default is `false`.' - in: query - name: ExcludeLocalAddressRequired - schema: - type: boolean - - description: 'Whether to exclude phone numbers that require a foreign [Address](https://www.twilio.com/docs/usage/api/address). - Can be: `true` or `false` and the default is `false`.' - in: query - name: ExcludeForeignAddressRequired - schema: - type: boolean - - description: 'Whether to read phone numbers that are new to the Twilio platform. - Can be: `true` or `false` and the default is `true`.' - in: query - name: Beta - schema: - type: boolean - - description: Given a phone number, find a geographically close number within - `distance` miles. Distance defaults to 25 miles. Applies to only phone numbers - in the US and Canada. - in: query - name: NearNumber - schema: - format: phone-number - type: string - - description: Given a latitude/longitude pair `lat,long` find geographically - close numbers within `distance` miles. Applies to only phone numbers in - the US and Canada. - in: query - name: NearLatLong - schema: - type: string - - description: The search radius, in miles, for a `near_` query. Can be up - to `500` and the default is `25`. Applies to only phone numbers in the US - and Canada. - in: query - name: Distance - schema: - type: integer - - description: Limit results to a particular postal code. Given a phone number, - search within the same postal code as that number. Applies to only phone - numbers in the US and Canada. - in: query - name: InPostalCode - schema: - type: string - - description: Limit results to a particular region, state, or province. Given - a phone number, search within the same region as that number. Applies to - only phone numbers in the US and Canada. - in: query - name: InRegion - schema: - type: string - - description: Limit results to a specific rate center, or given a phone number - search within the same rate center as that number. Requires `in_lata` to - be set as well. Applies to only phone numbers in the US and Canada. - in: query - name: InRateCenter - schema: - type: string - - description: Limit results to a specific local access and transport area ([LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area)). - Given a phone number, search within the same [LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area) - as that number. Applies to only phone numbers in the US and Canada. - in: query - name: InLata - schema: - type: string - - description: Limit results to a particular locality or city. Given a phone - number, search within the same Locality as that number. - in: query - name: InLocality - schema: - type: string - - description: 'Whether the phone numbers can receive faxes. Can be: `true` - or `false`.' - in: query - name: FaxEnabled - schema: - type: boolean - - 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 - responses: - '200': - content: - application/json: - schema: - properties: - available_phone_numbers: - items: - $ref: '#/components/schemas/api.v2010.account.available_phone_number_country.available_phone_number_shared_cost' - type: array - end: - type: integer - first_page_uri: - format: uri - type: string - next_page_uri: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_uri: - format: uri - type: string - start: - type: integer - uri: - format: uri - type: string - title: ListAvailablePhoneNumberSharedCostResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - phone_number - - region - - beta - parent: /Accounts/{AccountSid}/AvailablePhoneNumbers.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}/TollFree.json: - description: Available toll free phone numbers - get: - description: '' - operationId: ListAvailablePhoneNumberTollFree - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - requesting the AvailablePhoneNumber resources. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) - country code of the country from which to read phone numbers. - in: path - name: CountryCode - required: true - schema: - format: iso-country-code - type: string - - description: The area code of the phone numbers to read. Applies to only phone - numbers in the US and Canada. - in: query - name: AreaCode - schema: - type: integer - - description: The pattern on which to match phone numbers. Valid characters - are `*`, `0-9`, `a-z`, and `A-Z`. The `*` character matches any single digit. - For examples, see [Example 2](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-2) - and [Example 3](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-3). - If specified, this value must have at least two characters. - in: query - name: Contains - schema: - type: string - - description: 'Whether the phone numbers can receive text messages. Can be: - `true` or `false`.' - in: query - name: SmsEnabled - schema: - type: boolean - - description: 'Whether the phone numbers can receive MMS messages. Can be: - `true` or `false`.' - in: query - name: MmsEnabled - schema: - type: boolean - - description: 'Whether the phone numbers can receive calls. Can be: `true` - or `false`.' - in: query - name: VoiceEnabled - schema: - type: boolean - - description: 'Whether to exclude phone numbers that require an [Address](https://www.twilio.com/docs/usage/api/address). - Can be: `true` or `false` and the default is `false`.' - in: query - name: ExcludeAllAddressRequired - schema: - type: boolean - - description: 'Whether to exclude phone numbers that require a local [Address](https://www.twilio.com/docs/usage/api/address). - Can be: `true` or `false` and the default is `false`.' - in: query - name: ExcludeLocalAddressRequired - schema: - type: boolean - - description: 'Whether to exclude phone numbers that require a foreign [Address](https://www.twilio.com/docs/usage/api/address). - Can be: `true` or `false` and the default is `false`.' - in: query - name: ExcludeForeignAddressRequired - schema: - type: boolean - - description: 'Whether to read phone numbers that are new to the Twilio platform. - Can be: `true` or `false` and the default is `true`.' - in: query - name: Beta - schema: - type: boolean - - description: Given a phone number, find a geographically close number within - `distance` miles. Distance defaults to 25 miles. Applies to only phone numbers - in the US and Canada. - in: query - name: NearNumber - schema: - format: phone-number - type: string - - description: Given a latitude/longitude pair `lat,long` find geographically - close numbers within `distance` miles. Applies to only phone numbers in - the US and Canada. - in: query - name: NearLatLong - schema: - type: string - - description: The search radius, in miles, for a `near_` query. Can be up - to `500` and the default is `25`. Applies to only phone numbers in the US - and Canada. - in: query - name: Distance - schema: - type: integer - - description: Limit results to a particular postal code. Given a phone number, - search within the same postal code as that number. Applies to only phone - numbers in the US and Canada. - in: query - name: InPostalCode - schema: - type: string - - description: Limit results to a particular region, state, or province. Given - a phone number, search within the same region as that number. Applies to - only phone numbers in the US and Canada. - in: query - name: InRegion - schema: - type: string - - description: Limit results to a specific rate center, or given a phone number - search within the same rate center as that number. Requires `in_lata` to - be set as well. Applies to only phone numbers in the US and Canada. - in: query - name: InRateCenter - schema: - type: string - - description: Limit results to a specific local access and transport area ([LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area)). - Given a phone number, search within the same [LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area) - as that number. Applies to only phone numbers in the US and Canada. - in: query - name: InLata - schema: - type: string - - description: Limit results to a particular locality or city. Given a phone - number, search within the same Locality as that number. - in: query - name: InLocality - schema: - type: string - - description: 'Whether the phone numbers can receive faxes. Can be: `true` - or `false`.' - in: query - name: FaxEnabled - schema: - type: boolean - - 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 - responses: - '200': - content: - application/json: - schema: - properties: - available_phone_numbers: - items: - $ref: '#/components/schemas/api.v2010.account.available_phone_number_country.available_phone_number_toll_free' - type: array - end: - type: integer - first_page_uri: - format: uri - type: string - next_page_uri: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_uri: - format: uri - type: string - start: - type: integer - uri: - format: uri - type: string - title: ListAvailablePhoneNumberTollFreeResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - phone_number - - region - - beta - parent: /Accounts/{AccountSid}/AvailablePhoneNumbers.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}/Voip.json: - description: Available VoIP phone numbers - get: - description: '' - operationId: ListAvailablePhoneNumberVoip - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - requesting the AvailablePhoneNumber resources. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) - country code of the country from which to read phone numbers. - in: path - name: CountryCode - required: true - schema: - format: iso-country-code - type: string - - description: The area code of the phone numbers to read. Applies to only phone - numbers in the US and Canada. - in: query - name: AreaCode - schema: - type: integer - - description: The pattern on which to match phone numbers. Valid characters - are `*`, `0-9`, `a-z`, and `A-Z`. The `*` character matches any single digit. - For examples, see [Example 2](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-2) - and [Example 3](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-3). - If specified, this value must have at least two characters. - in: query - name: Contains - schema: - type: string - - description: 'Whether the phone numbers can receive text messages. Can be: - `true` or `false`.' - in: query - name: SmsEnabled - schema: - type: boolean - - description: 'Whether the phone numbers can receive MMS messages. Can be: - `true` or `false`.' - in: query - name: MmsEnabled - schema: - type: boolean - - description: 'Whether the phone numbers can receive calls. Can be: `true` - or `false`.' - in: query - name: VoiceEnabled - schema: - type: boolean - - description: 'Whether to exclude phone numbers that require an [Address](https://www.twilio.com/docs/usage/api/address). - Can be: `true` or `false` and the default is `false`.' - in: query - name: ExcludeAllAddressRequired - schema: - type: boolean - - description: 'Whether to exclude phone numbers that require a local [Address](https://www.twilio.com/docs/usage/api/address). - Can be: `true` or `false` and the default is `false`.' - in: query - name: ExcludeLocalAddressRequired - schema: - type: boolean - - description: 'Whether to exclude phone numbers that require a foreign [Address](https://www.twilio.com/docs/usage/api/address). - Can be: `true` or `false` and the default is `false`.' - in: query - name: ExcludeForeignAddressRequired - schema: - type: boolean - - description: 'Whether to read phone numbers that are new to the Twilio platform. - Can be: `true` or `false` and the default is `true`.' - in: query - name: Beta - schema: - type: boolean - - description: Given a phone number, find a geographically close number within - `distance` miles. Distance defaults to 25 miles. Applies to only phone numbers - in the US and Canada. - in: query - name: NearNumber - schema: - format: phone-number - type: string - - description: Given a latitude/longitude pair `lat,long` find geographically - close numbers within `distance` miles. Applies to only phone numbers in - the US and Canada. - in: query - name: NearLatLong - schema: - type: string - - description: The search radius, in miles, for a `near_` query. Can be up - to `500` and the default is `25`. Applies to only phone numbers in the US - and Canada. - in: query - name: Distance - schema: - type: integer - - description: Limit results to a particular postal code. Given a phone number, - search within the same postal code as that number. Applies to only phone - numbers in the US and Canada. - in: query - name: InPostalCode - schema: - type: string - - description: Limit results to a particular region, state, or province. Given - a phone number, search within the same region as that number. Applies to - only phone numbers in the US and Canada. - in: query - name: InRegion - schema: - type: string - - description: Limit results to a specific rate center, or given a phone number - search within the same rate center as that number. Requires `in_lata` to - be set as well. Applies to only phone numbers in the US and Canada. - in: query - name: InRateCenter - schema: - type: string - - description: Limit results to a specific local access and transport area ([LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area)). - Given a phone number, search within the same [LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area) - as that number. Applies to only phone numbers in the US and Canada. - in: query - name: InLata - schema: - type: string - - description: Limit results to a particular locality or city. Given a phone - number, search within the same Locality as that number. - in: query - name: InLocality - schema: - type: string - - description: 'Whether the phone numbers can receive faxes. Can be: `true` - or `false`.' - in: query - name: FaxEnabled - schema: - type: boolean - - 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 - responses: - '200': - content: - application/json: - schema: - properties: - available_phone_numbers: - items: - $ref: '#/components/schemas/api.v2010.account.available_phone_number_country.available_phone_number_voip' - type: array - end: - type: integer - first_page_uri: - format: uri - type: string - next_page_uri: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_uri: - format: uri - type: string - start: - type: integer - uri: - format: uri - type: string - title: ListAvailablePhoneNumberVoipResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - phone_number - - region - - beta - parent: /Accounts/{AccountSid}/AvailablePhoneNumbers.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/Balance.json: - description: Account balance - get: - description: Fetch the balance for an Account based on Account Sid. Balance - changes may not be reflected immediately. Child accounts do not contain balance - information - operationId: FetchBalance - parameters: - - description: The unique SID identifier of the Account. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.balance' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - account_sid - - balance - - currency - parent: /Accounts.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/Calls.json: - description: A Call is an object that represents a connection between a telephone - and Twilio. - get: - description: Retrieves a collection of calls made to and from your account - operationId: ListCall - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Call resource(s) to read. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: Only show calls made to this phone number, SIP address, Client - identifier or SIM SID. - in: query - name: To - schema: - format: phone-number - type: string - - description: Only include calls from this phone number, SIP address, Client - identifier or SIM SID. - in: query - name: From - schema: - format: phone-number - type: string - - description: Only include calls spawned by calls with this SID. - in: query - name: ParentCallSid - schema: - maxLength: 34 - minLength: 34 - pattern: ^CA[0-9a-fA-F]{32}$ - type: string - - description: 'The status of the calls to include. Can be: `queued`, `ringing`, - `in-progress`, `canceled`, `completed`, `failed`, `busy`, or `no-answer`.' - in: query - name: Status - schema: - enum: - - queued - - ringing - - in-progress - - completed - - busy - - failed - - no-answer - - canceled - type: string - - description: 'Only include calls that started on this date. Specify a date - as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read only calls that - started on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, - to read calls that started on or before midnight of this date, and `StartTime>=YYYY-MM-DD` - to read calls that started on or after midnight of this date.' - in: query - name: StartTime - schema: - format: date-time - type: string - - description: 'Only include calls that started on this date. Specify a date - as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read only calls that - started on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, - to read calls that started on or before midnight of this date, and `StartTime>=YYYY-MM-DD` - to read calls that started on or after midnight of this date.' - in: query - name: StartTime< - schema: - format: date-time - type: string - - description: 'Only include calls that started on this date. Specify a date - as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read only calls that - started on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, - to read calls that started on or before midnight of this date, and `StartTime>=YYYY-MM-DD` - to read calls that started on or after midnight of this date.' - in: query - name: StartTime> - schema: - format: date-time - type: string - - description: 'Only include calls that ended on this date. Specify a date as - `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read only calls that - ended on this date. You can also specify an inequality, such as `EndTime<=YYYY-MM-DD`, - to read calls that ended on or before midnight of this date, and `EndTime>=YYYY-MM-DD` - to read calls that ended on or after midnight of this date.' - in: query - name: EndTime - schema: - format: date-time - type: string - - description: 'Only include calls that ended on this date. Specify a date as - `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read only calls that - ended on this date. You can also specify an inequality, such as `EndTime<=YYYY-MM-DD`, - to read calls that ended on or before midnight of this date, and `EndTime>=YYYY-MM-DD` - to read calls that ended on or after midnight of this date.' - in: query - name: EndTime< - schema: - format: date-time - type: string - - description: 'Only include calls that ended on this date. Specify a date as - `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read only calls that - ended on this date. You can also specify an inequality, such as `EndTime<=YYYY-MM-DD`, - to read calls that ended on or before midnight of this date, and `EndTime>=YYYY-MM-DD` - to read calls that ended on or after midnight of this date.' - in: query - name: EndTime> - schema: - format: date-time - 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 - responses: - '200': - content: - application/json: - schema: - properties: - calls: - items: - $ref: '#/components/schemas/api.v2010.account.call' - type: array - end: - type: integer - first_page_uri: - format: uri - type: string - next_page_uri: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_uri: - format: uri - type: string - start: - type: integer - uri: - format: uri - type: string - title: ListCallResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: Create a new outgoing call to phones, SIP-enabled endpoints or - Twilio Client connections - operationId: CreateCall - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that will create the resource. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - ApplicationSid: - description: The SID of the Application resource that will handle - the call, if the call will be handled by an application. - maxLength: 34 - minLength: 34 - pattern: ^AP[0-9a-fA-F]{32}$ - type: string - AsyncAmd: - description: 'Select whether to perform answering machine detection - in the background. Default, blocks the execution of the call until - Answering Machine Detection is completed. Can be: `true` or `false`.' - type: string - AsyncAmdStatusCallback: - description: The URL that we should call using the `async_amd_status_callback_method` - to notify customer application whether the call was answered by - human, machine or fax. - format: uri - type: string - AsyncAmdStatusCallbackMethod: - description: 'The HTTP method we should use when calling the `async_amd_status_callback` - URL. Can be: `GET` or `POST` and the default is `POST`.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - Byoc: - description: The SID of a BYOC (Bring Your Own Carrier) trunk to - route this call with. Note that `byoc` is only meaningful when - `to` is a phone number; it will otherwise be ignored. (Beta) - maxLength: 34 - minLength: 34 - pattern: ^BY[0-9a-fA-F]{32}$ - type: string - CallReason: - description: The Reason for the outgoing call. Use it to specify - the purpose of the call that is presented on the called party's - phone. (Branded Calls Beta) - type: string - CallToken: - description: A token string needed to invoke a forwarded call. A - call_token is generated when an incoming call is received on a - Twilio number. Pass an incoming call's call_token value to a forwarded - call via the call_token parameter when creating a new call. A - forwarded call should bear the same CallerID of the original incoming - call. - type: string - CallerId: - description: The phone number, SIP address, or Client identifier - that made this call. Phone numbers are in [E.164 format](https://wwnw.twilio.com/docs/glossary/what-e164) - (e.g., +16175551212). SIP addresses are formatted as `name@company.com`. - type: string - FallbackMethod: - description: 'The HTTP method that we should use to request the - `fallback_url`. Can be: `GET` or `POST` and the default is `POST`. - If an `application_sid` parameter is present, this parameter is - ignored.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - FallbackUrl: - description: The URL that we call using the `fallback_method` if - an error occurs when requesting or executing the TwiML at `url`. - If an `application_sid` parameter is present, this parameter is - ignored. - format: uri - type: string - From: - description: The phone number or client identifier to use as the - caller id. If using a phone number, it must be a Twilio number - or a Verified [outgoing caller id](https://www.twilio.com/docs/voice/api/outgoing-caller-ids) - for your account. If the `to` parameter is a phone number, `From` - must also be a phone number. - type: string - MachineDetection: - description: 'Whether to detect if a human, answering machine, or - fax has picked up the call. Can be: `Enable` or `DetectMessageEnd`. - Use `Enable` if you would like us to return `AnsweredBy` as soon - as the called party is identified. Use `DetectMessageEnd`, if - you would like to leave a message on an answering machine. If - `send_digits` is provided, this parameter is ignored. For more - information, see [Answering Machine Detection](https://www.twilio.com/docs/voice/answering-machine-detection).' - type: string - MachineDetectionSilenceTimeout: - description: 'The number of milliseconds of initial silence after - which an `unknown` AnsweredBy result will be returned. Possible - Values: 2000-10000. Default: 5000.' - type: integer - MachineDetectionSpeechEndThreshold: - description: 'The number of milliseconds of silence after speech - activity at which point the speech activity is considered complete. - Possible Values: 500-5000. Default: 1200.' - type: integer - MachineDetectionSpeechThreshold: - description: 'The number of milliseconds that is used as the measuring - stick for the length of the speech activity, where durations lower - than this value will be interpreted as a human and longer than - this value as a machine. Possible Values: 1000-6000. Default: - 2400.' - type: integer - MachineDetectionTimeout: - description: The number of seconds that we should attempt to detect - an answering machine before timing out and sending a voice request - with `AnsweredBy` of `unknown`. The default timeout is 30 seconds. - type: integer - Method: - description: 'The HTTP method we should use when calling the `url` - parameter''s value. Can be: `GET` or `POST` and the default is - `POST`. If an `application_sid` parameter is present, this parameter - is ignored.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - Record: - description: Whether to record the call. Can be `true` to record - the phone call, or `false` to not. The default is `false`. The - `recording_url` is sent to the `status_callback` URL. - type: boolean - RecordingChannels: - description: 'The number of channels in the final recording. Can - be: `mono` or `dual`. The default is `mono`. `mono` records both - legs of the call in a single channel of the recording file. `dual` - records each leg to a separate channel of the recording file. - The first channel of a dual-channel recording contains the parent - call and the second channel contains the child call.' - type: string - RecordingStatusCallback: - description: The URL that we call when the recording is available - to be accessed. - type: string - RecordingStatusCallbackEvent: - description: 'The recording status events that will trigger calls - to the URL specified in `recording_status_callback`. Can be: `in-progress`, - `completed` and `absent`. Defaults to `completed`. Separate multiple - values with a space.' - items: - type: string - type: array - RecordingStatusCallbackMethod: - description: 'The HTTP method we should use when calling the `recording_status_callback` - URL. Can be: `GET` or `POST` and the default is `POST`.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - RecordingTrack: - description: 'The audio track to record for the call. Can be: `inbound`, - `outbound` or `both`. The default is `both`. `inbound` records - the audio that is received by Twilio. `outbound` records the audio - that is generated from Twilio. `both` records the audio that is - received and generated by Twilio.' - type: string - SendDigits: - description: 'A string of keys to dial after connecting to the number, - maximum of 32 digits. Valid digits in the string include: any - digit (`0`-`9`), ''`#`'', ''`*`'' and ''`w`'', to insert a half - second pause. For example, if you connected to a company phone - number and wanted to pause for one second, and then dial extension - 1234 followed by the pound key, the value of this parameter would - be `ww1234#`. Remember to URL-encode this string, since the ''`#`'' - character has special meaning in a URL. If both `SendDigits` and - `MachineDetection` parameters are provided, then `MachineDetection` - will be ignored.' - type: string - SipAuthPassword: - description: The password required to authenticate the user account - specified in `sip_auth_username`. - type: string - SipAuthUsername: - description: The username used to authenticate the caller making - a SIP call. - type: string - StatusCallback: - description: The URL we should call using the `status_callback_method` - to send status information to your application. If no `status_callback_event` - is specified, we will send the `completed` status. If an `application_sid` - parameter is present, this parameter is ignored. URLs must contain - a valid hostname (underscores are not permitted). - format: uri - type: string - StatusCallbackEvent: - description: 'The call progress events that we will send to the - `status_callback` URL. Can be: `initiated`, `ringing`, `answered`, - and `completed`. If no event is specified, we send the `completed` - status. If you want to receive multiple events, specify each one - in a separate `status_callback_event` parameter. See the code - sample for [monitoring call progress](https://www.twilio.com/docs/voice/api/call-resource?code-sample=code-create-a-call-resource-and-specify-a-statuscallbackevent&code-sdk-version=json). - If an `application_sid` is present, this parameter is ignored.' - items: - type: string - type: array - StatusCallbackMethod: - description: 'The HTTP method we should use when calling the `status_callback` - URL. Can be: `GET` or `POST` and the default is `POST`. If an - `application_sid` parameter is present, this parameter is ignored.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - TimeLimit: - description: The maximum duration of the call in seconds. Constraints - depend on account and configuration. - type: integer - Timeout: - description: The integer number of seconds that we should allow - the phone to ring before assuming there is no answer. The default - is `60` seconds and the maximum is `600` seconds. For some call - flows, we will add a 5-second buffer to the timeout value you - provide. For this reason, a timeout value of 10 seconds could - result in an actual timeout closer to 15 seconds. You can set - this to a short time, such as `15` seconds, to hang up before - reaching an answering machine or voicemail. - type: integer - To: - description: The phone number, SIP address, or client identifier - to call. - type: string - Trim: - description: 'Whether to trim any leading and trailing silence from - the recording. Can be: `trim-silence` or `do-not-trim` and the - default is `trim-silence`.' - type: string - Twiml: - description: TwiML instructions for the call Twilio will use without - fetching Twiml from url parameter. If both `twiml` and `url` are - provided then `twiml` parameter will be ignored. Max 4000 characters. - type: string - Url: - description: The absolute URL that returns the TwiML instructions - for the call. We will call this URL using the `method` when the - call connects. For more information, see the [Url Parameter](https://www.twilio.com/docs/voice/make-calls#specify-a-url-parameter) - section in [Making Calls](https://www.twilio.com/docs/voice/make-calls). - format: uri - type: string - required: - - To - - From - title: CreateCallRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.call' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA - x-twilio: - conditional: - - - url - - twiml - - application_sid - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - from - - to - - status - - start_time - parent: /Accounts.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/Calls/FeedbackSummary.json: - description: Call FeedbackSummary resources provide an idea of how your end user's - perceive the quality of their calls and the most common issues they have encountered - in the context of all your voice traffic during a specific time frame. - post: - description: Create a FeedbackSummary resource for a call - operationId: CreateCallFeedbackSummary - parameters: - - description: The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) - responsible for this resource. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - EndDate: - description: Only include feedback given on or before this date. - Format is `YYYY-MM-DD` and specified in UTC. - format: date - type: string - IncludeSubaccounts: - description: Whether to also include Feedback resources from all - subaccounts. `true` includes feedback from all subaccounts and - `false`, the default, includes feedback from only the specified - account. - type: boolean - StartDate: - description: Only include feedback given on or after this date. - Format is `YYYY-MM-DD` and specified in UTC. - format: date - type: string - StatusCallback: - description: The URL that we will request when the feedback summary - is complete. - format: uri - type: string - StatusCallbackMethod: - description: The HTTP method (`GET` or `POST`) we use to make the - request to the `StatusCallback` URL. - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - required: - - StartDate - - EndDate - title: CreateCallFeedbackSummaryRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.call.call_feedback_summary' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - call_feedback_count - - quality_score_average - - start_date - parent: /Accounts/{AccountSid}/Calls.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/Calls/FeedbackSummary/{Sid}.json: - delete: - description: Delete a FeedbackSummary resource from a call - operationId: DeleteCallFeedbackSummary - parameters: - - description: The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) - responsible for this resource. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: A 34 character string that uniquely identifies this resource. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^FS[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: Call FeedbackSummary resources provide an idea of how your end user's - perceive the quality of their calls and the most common issues they have encountered - in the context of all your voice traffic during a specific time frame. - get: - description: Fetch a FeedbackSummary resource from a call - operationId: FetchCallFeedbackSummary - parameters: - - description: The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) - responsible for this resource. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: A 34 character string that uniquely identifies this resource. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^FS[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.call.call_feedback_summary' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - call_feedback_count - - quality_score_average - - start_date - parent: /Accounts/{AccountSid}/Calls.json - pathType: instance - /2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Events.json: - description: 'TODO: Resource-level docs' - get: - description: Retrieve a list of all events for a call. - operationId: ListCallEvent - parameters: - - description: The unique SID identifier of the Account. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The unique SID identifier of the Call. - in: path - name: CallSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^CA[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 - responses: - '200': - content: - application/json: - schema: - properties: - end: - type: integer - events: - items: - $ref: '#/components/schemas/api.v2010.account.call.call_event' - type: array - first_page_uri: - format: uri - type: string - next_page_uri: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_uri: - format: uri - type: string - start: - type: integer - uri: - format: uri - type: string - title: ListCallEventResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - request - - response - parent: /Accounts/{AccountSid}/Calls.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Feedback.json: - description: The call Feedback subresource describes the quality experienced during - a phone call. - get: - description: Fetch a Feedback resource from a call - operationId: FetchCallFeedback - parameters: - - description: The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) - responsible for this resource. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The call sid that uniquely identifies the call - in: path - name: CallSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^CA[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.call.call_feedback' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: Update a Feedback resource for a call - operationId: UpdateCallFeedback - parameters: - - description: The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) - responsible for this resource. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The call sid that uniquely identifies the call - in: path - name: CallSid - required: true - schema: - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Issue: - description: 'One or more issues experienced during the call. The - issues can be: `imperfect-audio`, `dropped-call`, `incorrect-caller-id`, - `post-dial-delay`, `digits-not-captured`, `audio-latency`, `unsolicited-call`, - or `one-way-audio`.' - items: - enum: - - audio-latency - - digits-not-captured - - dropped-call - - imperfect-audio - - incorrect-caller-id - - one-way-audio - - post-dial-delay - - unsolicited-call - type: string - type: array - QualityScore: - description: The call quality expressed as an integer from `1` to - `5` where `1` represents very poor call quality and `5` represents - a perfect call. - type: integer - title: UpdateCallFeedbackRequest - type: object - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.call.call_feedback' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - quality_score - - date_created - parent: /Accounts/{AccountSid}/Calls.json - pathType: instance - /2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Notifications.json: - description: Error notifications for calls - get: - description: '' - operationId: ListCallNotification - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Call Notification resources to read. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The [Call](https://www.twilio.com/docs/voice/api/call-resource) - SID of the Call Notification resources to read. - in: path - name: CallSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^CA[0-9a-fA-F]{32}$ - type: string - - description: 'Only read notifications of the specified log level. Can be: `0` - to read only ERROR notifications or `1` to read only WARNING notifications. - By default, all notifications are read.' - in: query - name: Log - schema: - type: integer - - description: Only show notifications for the specified date, formatted as - `YYYY-MM-DD`. You can also specify an inequality, such as `<=YYYY-MM-DD` - for messages logged at or before midnight on a date, or `>=YYYY-MM-DD` for - messages logged at or after midnight on a date. - in: query - name: MessageDate - schema: - format: date - type: string - - description: Only show notifications for the specified date, formatted as - `YYYY-MM-DD`. You can also specify an inequality, such as `<=YYYY-MM-DD` - for messages logged at or before midnight on a date, or `>=YYYY-MM-DD` for - messages logged at or after midnight on a date. - in: query - name: MessageDate< - schema: - format: date - type: string - - description: Only show notifications for the specified date, formatted as - `YYYY-MM-DD`. You can also specify an inequality, such as `<=YYYY-MM-DD` - for messages logged at or before midnight on a date, or `>=YYYY-MM-DD` for - messages logged at or after midnight on a date. - in: query - name: MessageDate> - schema: - format: date - 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 - responses: - '200': - content: - application/json: - schema: - properties: - end: - type: integer - first_page_uri: - format: uri - type: string - next_page_uri: - format: uri - type: string - notifications: - items: - $ref: '#/components/schemas/api.v2010.account.call.call_notification' - type: array - page: - type: integer - page_size: - type: integer - previous_page_uri: - format: uri - type: string - start: - type: integer - uri: - format: uri - type: string - title: ListCallNotificationResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - call_sid - - error_code - - message_date - parent: /Accounts/{AccountSid}/Calls.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Notifications/{Sid}.json: - description: Error notifications for calls - get: - description: '' - operationId: FetchCallNotification - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Call Notification resource to fetch. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The [Call](https://www.twilio.com/docs/voice/api/call-resource) - SID of the Call Notification resource to fetch. - in: path - name: CallSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^CA[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Call - Notification resource to fetch. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^NO[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.call.call_notification-instance' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - call_sid - - error_code - - message_date - parent: /Accounts/{AccountSid}/Calls.json - pathType: instance - /2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Payments.json: - description: Twilio enabled secure payments solution for accepting credit and - ACH payments over the phone. - post: - description: create an instance of payments. This will start a new payments - session - operationId: CreatePayments - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that will create the resource. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The SID of the call that will create the resource. Call leg associated - with this sid is expected to provide payment information thru DTMF. - in: path - name: CallSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^CA[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - BankAccountType: - description: Type of bank account if payment source is ACH. One - of `consumer-checking`, `consumer-savings`, or `commercial-checking`. - The default value is `consumer-checking`. - enum: - - consumer-checking - - consumer-savings - - commercial-checking - type: string - ChargeAmount: - description: A positive decimal value less than 1,000,000 to charge - against the credit card or bank account. Default currency can - be overwritten with `currency` field. Leave blank or set to 0 - to tokenize. - type: number - Currency: - description: The currency of the `charge_amount`, formatted as [ISO - 4127](http://www.iso.org/iso/home/standards/currency_codes.htm) - format. The default value is `USD` and all values allowed from - the Pay Connector are accepted. - type: string - Description: - description: The description can be used to provide more details - regarding the transaction. This information is submitted along - with the payment details to the Payment Connector which are then - posted on the transactions. - type: string - IdempotencyKey: - description: A unique token that will be used to ensure that multiple - API calls with the same information do not result in multiple - transactions. This should be a unique string value per API call - and can be a randomly generated. - type: string - Input: - description: A list of inputs that should be accepted. Currently - only `dtmf` is supported. All digits captured during a pay session - are redacted from the logs. - type: string - MinPostalCodeLength: - description: A positive integer that is used to validate the length - of the `PostalCode` inputted by the user. User must enter this - many digits. - type: integer - Parameter: - description: A single-level JSON object used to pass custom parameters - to payment processors. (Required for ACH payments). The information - that has to be included here depends on the Connector. [Read - more](https://www.twilio.com/console/voice/pay-connectors). - PaymentConnector: - description: This is the unique name corresponding to the Pay Connector - installed in the Twilio Add-ons. Learn more about [ Connectors](https://www.twilio.com/console/voice/pay-connectors). - The default value is `Default`. - type: string - PaymentMethod: - description: Type of payment being captured. One of `credit-card` - or `ach-debit`. The default value is `credit-card`. - enum: - - credit-card - - ach-debit - type: string - PostalCode: - description: Indicates whether the credit card postal code (zip - code) is a required piece of payment information that must be - provided by the caller. The default is `true`. - type: boolean - SecurityCode: - description: Indicates whether the credit card security code is - a required piece of payment information that must be provided - by the caller. The default is `true`. - type: boolean - StatusCallback: - description: Provide an absolute or relative URL to receive status - updates regarding your Pay session. Read more about the [expected - StatusCallback values](https://www.twilio.com/docs/voice/api/payment-resource#statuscallback) - format: uri - type: string - Timeout: - description: The number of seconds that should wait for the - caller to press a digit between each subsequent digit, after the - first one, before moving on to validate the digits captured. The - default is `5`, maximum is `600`. - type: integer - TokenType: - description: Indicates whether the payment method should be tokenized - as a `one-time` or `reusable` token. The default value is `reusable`. - Do not enter a charge amount when tokenizing. If a charge amount - is entered, the payment method will be charged and not tokenized. - enum: - - one-time - - reusable - type: string - ValidCardTypes: - description: Credit card types separated by space that Pay should - accept. The default value is `visa mastercard amex` - type: string - required: - - IdempotencyKey - - StatusCallback - title: CreatePaymentsRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.call.payments' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - Preview - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - parent: /Accounts/{AccountSid}/Calls.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Payments/{Sid}.json: - description: Twilio enabled secure payments solution for accepting credit and - ACH payments over the phone. - post: - description: update an instance of payments with different phases of payment - flows. - operationId: UpdatePayments - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that will update the resource. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The SID of the call that will update the resource. This should - be the same call sid that was used to create payments resource. - in: path - name: CallSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^CA[0-9a-fA-F]{32}$ - type: string - - description: The SID of Payments session that needs to be updated. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^PK[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Capture: - description: The piece of payment information that you wish the - caller to enter. Must be one of `payment-card-number`, `expiration-date`, - `security-code`, `postal-code`, `bank-routing-number`, or `bank-account-number`. - enum: - - payment-card-number - - expiration-date - - security-code - - postal-code - - bank-routing-number - - bank-account-number - type: string - IdempotencyKey: - description: A unique token that will be used to ensure that multiple - API calls with the same information do not result in multiple - transactions. This should be a unique string value per API call - and can be a randomly generated. - type: string - Status: - description: Indicates whether the current payment session should - be cancelled or completed. When `cancel` the payment session is - cancelled. When `complete`, Twilio sends the payment information - to the selected Pay Connector for processing. - enum: - - complete - - cancel - type: string - StatusCallback: - description: Provide an absolute or relative URL to receive status - updates regarding your Pay session. Read more about the [Update](https://www.twilio.com/docs/voice/api/payment-resource#statuscallback-update) - and [Complete/Cancel](https://www.twilio.com/docs/voice/api/payment-resource#statuscallback-cancelcomplete) - POST requests. - format: uri - type: string - required: - - IdempotencyKey - - StatusCallback - title: UpdatePaymentsRequest - type: object - responses: - '202': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.call.payments' - description: Accepted - security: - - accountSid_authToken: [] - x-maturity: - - Preview - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - parent: /Accounts/{AccountSid}/Calls.json - pathType: instance - /2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Recordings.json: - description: A Recording resource represents the recording associated with a voice - call, conference, or SIP Trunk. - get: - description: Retrieve a list of recordings belonging to the call used to make - the request - operationId: ListCallRecording - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Recording resources to read. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The [Call](https://www.twilio.com/docs/voice/api/call-resource) - SID of the resources to read. - in: path - name: CallSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^CA[0-9a-fA-F]{32}$ - type: string - - description: 'The `date_created` value, specified as `YYYY-MM-DD`, of the - resources to read. You can also specify inequality: `DateCreated<=YYYY-MM-DD` - will return recordings generated at or before midnight on a given date, - and `DateCreated>=YYYY-MM-DD` returns recordings generated at or after midnight - on a date.' - in: query - name: DateCreated - schema: - format: date - type: string - - description: 'The `date_created` value, specified as `YYYY-MM-DD`, of the - resources to read. You can also specify inequality: `DateCreated<=YYYY-MM-DD` - will return recordings generated at or before midnight on a given date, - and `DateCreated>=YYYY-MM-DD` returns recordings generated at or after midnight - on a date.' - in: query - name: DateCreated< - schema: - format: date - type: string - - description: 'The `date_created` value, specified as `YYYY-MM-DD`, of the - resources to read. You can also specify inequality: `DateCreated<=YYYY-MM-DD` - will return recordings generated at or before midnight on a given date, - and `DateCreated>=YYYY-MM-DD` returns recordings generated at or after midnight - on a date.' - in: query - name: DateCreated> - schema: - format: date - 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 - responses: - '200': - content: - application/json: - schema: - properties: - end: - type: integer - first_page_uri: - format: uri - type: string - next_page_uri: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_uri: - format: uri - type: string - recordings: - items: - $ref: '#/components/schemas/api.v2010.account.call.call_recording' - type: array - start: - type: integer - uri: - format: uri - type: string - title: ListCallRecordingResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: Create a recording for the call - operationId: CreateCallRecording - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that will create the resource. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The SID of the [Call](https://www.twilio.com/docs/voice/api/call-resource) - to associate the resource with. - in: path - name: CallSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^CA[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - RecordingChannels: - description: 'The number of channels used in the recording. Can - be: `mono` or `dual` and the default is `mono`. `mono` records - all parties of the call into one channel. `dual` records each - party of a 2-party call into separate channels.' - type: string - RecordingStatusCallback: - description: The URL we should call using the `recording_status_callback_method` - on each recording event specified in `recording_status_callback_event`. - For more information, see [RecordingStatusCallback parameters](https://www.twilio.com/docs/voice/api/recording#recordingstatuscallback). - format: uri - type: string - RecordingStatusCallbackEvent: - description: 'The recording status events on which we should call - the `recording_status_callback` URL. Can be: `in-progress`, `completed` - and `absent` and the default is `completed`. Separate multiple - event values with a space.' - items: - type: string - type: array - RecordingStatusCallbackMethod: - description: 'The HTTP method we should use to call `recording_status_callback`. - Can be: `GET` or `POST` and the default is `POST`.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - RecordingTrack: - description: 'The audio track to record for the call. Can be: `inbound`, - `outbound` or `both`. The default is `both`. `inbound` records - the audio that is received by Twilio. `outbound` records the audio - that is generated from Twilio. `both` records the audio that is - received and generated by Twilio.' - type: string - Trim: - description: 'Whether to trim any leading and trailing silence in - the recording. Can be: `trim-silence` or `do-not-trim` and the - default is `do-not-trim`. `trim-silence` trims the silence from - the beginning and end of the recording and `do-not-trim` does - not.' - type: string - title: CreateCallRecordingRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.call.call_recording' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - call_sid - - status - - start_time - - duration - parent: /Accounts/{AccountSid}/Calls.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Recordings/{Sid}.json: - delete: - description: Delete a recording from your account - operationId: DeleteCallRecording - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Recording resources to delete. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The [Call](https://www.twilio.com/docs/voice/api/call-resource) - SID of the resources to delete. - in: path - name: CallSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^CA[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Recording - resource to delete. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^RE[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: A Recording resource represents the recording associated with a voice - call, conference, or SIP Trunk. - get: - description: Fetch an instance of a recording for a call - operationId: FetchCallRecording - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Recording resource to fetch. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The [Call](https://www.twilio.com/docs/voice/api/call-resource) - SID of the resource to fetch. - in: path - name: CallSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^CA[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Recording - resource to fetch. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^RE[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.call.call_recording' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: 'Changes the status of the recording to paused, stopped, or in-progress. - Note: Pass `Twilio.CURRENT` instead of recording sid to reference current - active recording.' - operationId: UpdateCallRecording - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Recording resource to update. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The [Call](https://www.twilio.com/docs/voice/api/call-resource) - SID of the resource to update. - in: path - name: CallSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^CA[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Recording - resource to update. - in: path - name: Sid - required: true - schema: - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - PauseBehavior: - description: 'Whether to record during a pause. Can be: `skip` or - `silence` and the default is `silence`. `skip` does not record - during the pause period, while `silence` will replace the actual - audio of the call with silence during the pause period. This parameter - only applies when setting `status` is set to `paused`.' - type: string - Status: - description: 'The new status of the recording. Can be: `stopped`, - `paused`, `in-progress`.' - enum: - - in-progress - - paused - - stopped - - processing - - completed - - absent - type: string - required: - - Status - title: UpdateCallRecordingRequest - type: object - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.call.call_recording' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - call_sid - - status - - start_time - - duration - parent: /Accounts/{AccountSid}/Calls.json - pathType: instance - /2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Siprec.json: - description: 'TODO: Resource-level docs' - post: - description: Create a Siprec - operationId: CreateSiprec - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created this Siprec resource. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The SID of the [Call](https://www.twilio.com/docs/voice/api/call-resource) - the Siprec resource is associated with. - in: path - name: CallSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^CA[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - ConnectorName: - description: Unique name used when configuring the connector via - Marketplace Add-on. - type: string - Name: - description: The user-specified name of this Siprec, if one was - given when the Siprec was created. This may be used to stop the - Siprec. - type: string - Parameter1.Name: - description: Parameter name - type: string - Parameter1.Value: - description: Parameter value - type: string - Parameter10.Name: - description: Parameter name - type: string - Parameter10.Value: - description: Parameter value - type: string - Parameter11.Name: - description: Parameter name - type: string - Parameter11.Value: - description: Parameter value - type: string - Parameter12.Name: - description: Parameter name - type: string - Parameter12.Value: - description: Parameter value - type: string - Parameter13.Name: - description: Parameter name - type: string - Parameter13.Value: - description: Parameter value - type: string - Parameter14.Name: - description: Parameter name - type: string - Parameter14.Value: - description: Parameter value - type: string - Parameter15.Name: - description: Parameter name - type: string - Parameter15.Value: - description: Parameter value - type: string - Parameter16.Name: - description: Parameter name - type: string - Parameter16.Value: - description: Parameter value - type: string - Parameter17.Name: - description: Parameter name - type: string - Parameter17.Value: - description: Parameter value - type: string - Parameter18.Name: - description: Parameter name - type: string - Parameter18.Value: - description: Parameter value - type: string - Parameter19.Name: - description: Parameter name - type: string - Parameter19.Value: - description: Parameter value - type: string - Parameter2.Name: - description: Parameter name - type: string - Parameter2.Value: - description: Parameter value - type: string - Parameter20.Name: - description: Parameter name - type: string - Parameter20.Value: - description: Parameter value - type: string - Parameter21.Name: - description: Parameter name - type: string - Parameter21.Value: - description: Parameter value - type: string - Parameter22.Name: - description: Parameter name - type: string - Parameter22.Value: - description: Parameter value - type: string - Parameter23.Name: - description: Parameter name - type: string - Parameter23.Value: - description: Parameter value - type: string - Parameter24.Name: - description: Parameter name - type: string - Parameter24.Value: - description: Parameter value - type: string - Parameter25.Name: - description: Parameter name - type: string - Parameter25.Value: - description: Parameter value - type: string - Parameter26.Name: - description: Parameter name - type: string - Parameter26.Value: - description: Parameter value - type: string - Parameter27.Name: - description: Parameter name - type: string - Parameter27.Value: - description: Parameter value - type: string - Parameter28.Name: - description: Parameter name - type: string - Parameter28.Value: - description: Parameter value - type: string - Parameter29.Name: - description: Parameter name - type: string - Parameter29.Value: - description: Parameter value - type: string - Parameter3.Name: - description: Parameter name - type: string - Parameter3.Value: - description: Parameter value - type: string - Parameter30.Name: - description: Parameter name - type: string - Parameter30.Value: - description: Parameter value - type: string - Parameter31.Name: - description: Parameter name - type: string - Parameter31.Value: - description: Parameter value - type: string - Parameter32.Name: - description: Parameter name - type: string - Parameter32.Value: - description: Parameter value - type: string - Parameter33.Name: - description: Parameter name - type: string - Parameter33.Value: - description: Parameter value - type: string - Parameter34.Name: - description: Parameter name - type: string - Parameter34.Value: - description: Parameter value - type: string - Parameter35.Name: - description: Parameter name - type: string - Parameter35.Value: - description: Parameter value - type: string - Parameter36.Name: - description: Parameter name - type: string - Parameter36.Value: - description: Parameter value - type: string - Parameter37.Name: - description: Parameter name - type: string - Parameter37.Value: - description: Parameter value - type: string - Parameter38.Name: - description: Parameter name - type: string - Parameter38.Value: - description: Parameter value - type: string - Parameter39.Name: - description: Parameter name - type: string - Parameter39.Value: - description: Parameter value - type: string - Parameter4.Name: - description: Parameter name - type: string - Parameter4.Value: - description: Parameter value - type: string - Parameter40.Name: - description: Parameter name - type: string - Parameter40.Value: - description: Parameter value - type: string - Parameter41.Name: - description: Parameter name - type: string - Parameter41.Value: - description: Parameter value - type: string - Parameter42.Name: - description: Parameter name - type: string - Parameter42.Value: - description: Parameter value - type: string - Parameter43.Name: - description: Parameter name - type: string - Parameter43.Value: - description: Parameter value - type: string - Parameter44.Name: - description: Parameter name - type: string - Parameter44.Value: - description: Parameter value - type: string - Parameter45.Name: - description: Parameter name - type: string - Parameter45.Value: - description: Parameter value - type: string - Parameter46.Name: - description: Parameter name - type: string - Parameter46.Value: - description: Parameter value - type: string - Parameter47.Name: - description: Parameter name - type: string - Parameter47.Value: - description: Parameter value - type: string - Parameter48.Name: - description: Parameter name - type: string - Parameter48.Value: - description: Parameter value - type: string - Parameter49.Name: - description: Parameter name - type: string - Parameter49.Value: - description: Parameter value - type: string - Parameter5.Name: - description: Parameter name - type: string - Parameter5.Value: - description: Parameter value - type: string - Parameter50.Name: - description: Parameter name - type: string - Parameter50.Value: - description: Parameter value - type: string - Parameter51.Name: - description: Parameter name - type: string - Parameter51.Value: - description: Parameter value - type: string - Parameter52.Name: - description: Parameter name - type: string - Parameter52.Value: - description: Parameter value - type: string - Parameter53.Name: - description: Parameter name - type: string - Parameter53.Value: - description: Parameter value - type: string - Parameter54.Name: - description: Parameter name - type: string - Parameter54.Value: - description: Parameter value - type: string - Parameter55.Name: - description: Parameter name - type: string - Parameter55.Value: - description: Parameter value - type: string - Parameter56.Name: - description: Parameter name - type: string - Parameter56.Value: - description: Parameter value - type: string - Parameter57.Name: - description: Parameter name - type: string - Parameter57.Value: - description: Parameter value - type: string - Parameter58.Name: - description: Parameter name - type: string - Parameter58.Value: - description: Parameter value - type: string - Parameter59.Name: - description: Parameter name - type: string - Parameter59.Value: - description: Parameter value - type: string - Parameter6.Name: - description: Parameter name - type: string - Parameter6.Value: - description: Parameter value - type: string - Parameter60.Name: - description: Parameter name - type: string - Parameter60.Value: - description: Parameter value - type: string - Parameter61.Name: - description: Parameter name - type: string - Parameter61.Value: - description: Parameter value - type: string - Parameter62.Name: - description: Parameter name - type: string - Parameter62.Value: - description: Parameter value - type: string - Parameter63.Name: - description: Parameter name - type: string - Parameter63.Value: - description: Parameter value - type: string - Parameter64.Name: - description: Parameter name - type: string - Parameter64.Value: - description: Parameter value - type: string - Parameter65.Name: - description: Parameter name - type: string - Parameter65.Value: - description: Parameter value - type: string - Parameter66.Name: - description: Parameter name - type: string - Parameter66.Value: - description: Parameter value - type: string - Parameter67.Name: - description: Parameter name - type: string - Parameter67.Value: - description: Parameter value - type: string - Parameter68.Name: - description: Parameter name - type: string - Parameter68.Value: - description: Parameter value - type: string - Parameter69.Name: - description: Parameter name - type: string - Parameter69.Value: - description: Parameter value - type: string - Parameter7.Name: - description: Parameter name - type: string - Parameter7.Value: - description: Parameter value - type: string - Parameter70.Name: - description: Parameter name - type: string - Parameter70.Value: - description: Parameter value - type: string - Parameter71.Name: - description: Parameter name - type: string - Parameter71.Value: - description: Parameter value - type: string - Parameter72.Name: - description: Parameter name - type: string - Parameter72.Value: - description: Parameter value - type: string - Parameter73.Name: - description: Parameter name - type: string - Parameter73.Value: - description: Parameter value - type: string - Parameter74.Name: - description: Parameter name - type: string - Parameter74.Value: - description: Parameter value - type: string - Parameter75.Name: - description: Parameter name - type: string - Parameter75.Value: - description: Parameter value - type: string - Parameter76.Name: - description: Parameter name - type: string - Parameter76.Value: - description: Parameter value - type: string - Parameter77.Name: - description: Parameter name - type: string - Parameter77.Value: - description: Parameter value - type: string - Parameter78.Name: - description: Parameter name - type: string - Parameter78.Value: - description: Parameter value - type: string - Parameter79.Name: - description: Parameter name - type: string - Parameter79.Value: - description: Parameter value - type: string - Parameter8.Name: - description: Parameter name - type: string - Parameter8.Value: - description: Parameter value - type: string - Parameter80.Name: - description: Parameter name - type: string - Parameter80.Value: - description: Parameter value - type: string - Parameter81.Name: - description: Parameter name - type: string - Parameter81.Value: - description: Parameter value - type: string - Parameter82.Name: - description: Parameter name - type: string - Parameter82.Value: - description: Parameter value - type: string - Parameter83.Name: - description: Parameter name - type: string - Parameter83.Value: - description: Parameter value - type: string - Parameter84.Name: - description: Parameter name - type: string - Parameter84.Value: - description: Parameter value - type: string - Parameter85.Name: - description: Parameter name - type: string - Parameter85.Value: - description: Parameter value - type: string - Parameter86.Name: - description: Parameter name - type: string - Parameter86.Value: - description: Parameter value - type: string - Parameter87.Name: - description: Parameter name - type: string - Parameter87.Value: - description: Parameter value - type: string - Parameter88.Name: - description: Parameter name - type: string - Parameter88.Value: - description: Parameter value - type: string - Parameter89.Name: - description: Parameter name - type: string - Parameter89.Value: - description: Parameter value - type: string - Parameter9.Name: - description: Parameter name - type: string - Parameter9.Value: - description: Parameter value - type: string - Parameter90.Name: - description: Parameter name - type: string - Parameter90.Value: - description: Parameter value - type: string - Parameter91.Name: - description: Parameter name - type: string - Parameter91.Value: - description: Parameter value - type: string - Parameter92.Name: - description: Parameter name - type: string - Parameter92.Value: - description: Parameter value - type: string - Parameter93.Name: - description: Parameter name - type: string - Parameter93.Value: - description: Parameter value - type: string - Parameter94.Name: - description: Parameter name - type: string - Parameter94.Value: - description: Parameter value - type: string - Parameter95.Name: - description: Parameter name - type: string - Parameter95.Value: - description: Parameter value - type: string - Parameter96.Name: - description: Parameter name - type: string - Parameter96.Value: - description: Parameter value - type: string - Parameter97.Name: - description: Parameter name - type: string - Parameter97.Value: - description: Parameter value - type: string - Parameter98.Name: - description: Parameter name - type: string - Parameter98.Value: - description: Parameter value - type: string - Parameter99.Name: - description: Parameter name - type: string - Parameter99.Value: - description: Parameter value - type: string - StatusCallback: - description: Absolute URL of the status callback. - format: uri - type: string - StatusCallbackMethod: - description: The http method for the status_callback (one of GET, - POST). - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - Track: - description: One of `inbound_track`, `outbound_track`, `both_tracks`. - enum: - - inbound_track - - outbound_track - - both_tracks - type: string - title: CreateSiprecRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.call.siprec' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - call_sid - - name - parent: /Accounts/{AccountSid}/Calls.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Siprec/{Sid}.json: - description: 'TODO: Resource-level docs' - post: - description: Stop a Siprec using either the SID of the Siprec resource or the - `name` used when creating the resource - operationId: UpdateSiprec - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created this Siprec resource. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The SID of the [Call](https://www.twilio.com/docs/voice/api/call-resource) - the Siprec resource is associated with. - in: path - name: CallSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^CA[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Siprec resource, or the `name` used when creating - the resource - in: path - name: Sid - required: true - schema: - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Status: - description: The status. Must have the value `stopped` - enum: - - stopped - type: string - required: - - Status - title: UpdateSiprecRequest - type: object - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.call.siprec' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - call_sid - - name - parent: /Accounts/{AccountSid}/Calls.json - pathType: instance - /2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Streams.json: - description: 'TODO: Resource-level docs' - post: - description: Create a Stream - operationId: CreateStream - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created this Stream resource. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The SID of the [Call](https://www.twilio.com/docs/voice/api/call-resource) - the Stream resource is associated with. - in: path - name: CallSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^CA[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Name: - description: The user-specified name of this Stream, if one was - given when the Stream was created. This may be used to stop the - Stream. - type: string - Parameter1.Name: - description: Parameter name - type: string - Parameter1.Value: - description: Parameter value - type: string - Parameter10.Name: - description: Parameter name - type: string - Parameter10.Value: - description: Parameter value - type: string - Parameter11.Name: - description: Parameter name - type: string - Parameter11.Value: - description: Parameter value - type: string - Parameter12.Name: - description: Parameter name - type: string - Parameter12.Value: - description: Parameter value - type: string - Parameter13.Name: - description: Parameter name - type: string - Parameter13.Value: - description: Parameter value - type: string - Parameter14.Name: - description: Parameter name - type: string - Parameter14.Value: - description: Parameter value - type: string - Parameter15.Name: - description: Parameter name - type: string - Parameter15.Value: - description: Parameter value - type: string - Parameter16.Name: - description: Parameter name - type: string - Parameter16.Value: - description: Parameter value - type: string - Parameter17.Name: - description: Parameter name - type: string - Parameter17.Value: - description: Parameter value - type: string - Parameter18.Name: - description: Parameter name - type: string - Parameter18.Value: - description: Parameter value - type: string - Parameter19.Name: - description: Parameter name - type: string - Parameter19.Value: - description: Parameter value - type: string - Parameter2.Name: - description: Parameter name - type: string - Parameter2.Value: - description: Parameter value - type: string - Parameter20.Name: - description: Parameter name - type: string - Parameter20.Value: - description: Parameter value - type: string - Parameter21.Name: - description: Parameter name - type: string - Parameter21.Value: - description: Parameter value - type: string - Parameter22.Name: - description: Parameter name - type: string - Parameter22.Value: - description: Parameter value - type: string - Parameter23.Name: - description: Parameter name - type: string - Parameter23.Value: - description: Parameter value - type: string - Parameter24.Name: - description: Parameter name - type: string - Parameter24.Value: - description: Parameter value - type: string - Parameter25.Name: - description: Parameter name - type: string - Parameter25.Value: - description: Parameter value - type: string - Parameter26.Name: - description: Parameter name - type: string - Parameter26.Value: - description: Parameter value - type: string - Parameter27.Name: - description: Parameter name - type: string - Parameter27.Value: - description: Parameter value - type: string - Parameter28.Name: - description: Parameter name - type: string - Parameter28.Value: - description: Parameter value - type: string - Parameter29.Name: - description: Parameter name - type: string - Parameter29.Value: - description: Parameter value - type: string - Parameter3.Name: - description: Parameter name - type: string - Parameter3.Value: - description: Parameter value - type: string - Parameter30.Name: - description: Parameter name - type: string - Parameter30.Value: - description: Parameter value - type: string - Parameter31.Name: - description: Parameter name - type: string - Parameter31.Value: - description: Parameter value - type: string - Parameter32.Name: - description: Parameter name - type: string - Parameter32.Value: - description: Parameter value - type: string - Parameter33.Name: - description: Parameter name - type: string - Parameter33.Value: - description: Parameter value - type: string - Parameter34.Name: - description: Parameter name - type: string - Parameter34.Value: - description: Parameter value - type: string - Parameter35.Name: - description: Parameter name - type: string - Parameter35.Value: - description: Parameter value - type: string - Parameter36.Name: - description: Parameter name - type: string - Parameter36.Value: - description: Parameter value - type: string - Parameter37.Name: - description: Parameter name - type: string - Parameter37.Value: - description: Parameter value - type: string - Parameter38.Name: - description: Parameter name - type: string - Parameter38.Value: - description: Parameter value - type: string - Parameter39.Name: - description: Parameter name - type: string - Parameter39.Value: - description: Parameter value - type: string - Parameter4.Name: - description: Parameter name - type: string - Parameter4.Value: - description: Parameter value - type: string - Parameter40.Name: - description: Parameter name - type: string - Parameter40.Value: - description: Parameter value - type: string - Parameter41.Name: - description: Parameter name - type: string - Parameter41.Value: - description: Parameter value - type: string - Parameter42.Name: - description: Parameter name - type: string - Parameter42.Value: - description: Parameter value - type: string - Parameter43.Name: - description: Parameter name - type: string - Parameter43.Value: - description: Parameter value - type: string - Parameter44.Name: - description: Parameter name - type: string - Parameter44.Value: - description: Parameter value - type: string - Parameter45.Name: - description: Parameter name - type: string - Parameter45.Value: - description: Parameter value - type: string - Parameter46.Name: - description: Parameter name - type: string - Parameter46.Value: - description: Parameter value - type: string - Parameter47.Name: - description: Parameter name - type: string - Parameter47.Value: - description: Parameter value - type: string - Parameter48.Name: - description: Parameter name - type: string - Parameter48.Value: - description: Parameter value - type: string - Parameter49.Name: - description: Parameter name - type: string - Parameter49.Value: - description: Parameter value - type: string - Parameter5.Name: - description: Parameter name - type: string - Parameter5.Value: - description: Parameter value - type: string - Parameter50.Name: - description: Parameter name - type: string - Parameter50.Value: - description: Parameter value - type: string - Parameter51.Name: - description: Parameter name - type: string - Parameter51.Value: - description: Parameter value - type: string - Parameter52.Name: - description: Parameter name - type: string - Parameter52.Value: - description: Parameter value - type: string - Parameter53.Name: - description: Parameter name - type: string - Parameter53.Value: - description: Parameter value - type: string - Parameter54.Name: - description: Parameter name - type: string - Parameter54.Value: - description: Parameter value - type: string - Parameter55.Name: - description: Parameter name - type: string - Parameter55.Value: - description: Parameter value - type: string - Parameter56.Name: - description: Parameter name - type: string - Parameter56.Value: - description: Parameter value - type: string - Parameter57.Name: - description: Parameter name - type: string - Parameter57.Value: - description: Parameter value - type: string - Parameter58.Name: - description: Parameter name - type: string - Parameter58.Value: - description: Parameter value - type: string - Parameter59.Name: - description: Parameter name - type: string - Parameter59.Value: - description: Parameter value - type: string - Parameter6.Name: - description: Parameter name - type: string - Parameter6.Value: - description: Parameter value - type: string - Parameter60.Name: - description: Parameter name - type: string - Parameter60.Value: - description: Parameter value - type: string - Parameter61.Name: - description: Parameter name - type: string - Parameter61.Value: - description: Parameter value - type: string - Parameter62.Name: - description: Parameter name - type: string - Parameter62.Value: - description: Parameter value - type: string - Parameter63.Name: - description: Parameter name - type: string - Parameter63.Value: - description: Parameter value - type: string - Parameter64.Name: - description: Parameter name - type: string - Parameter64.Value: - description: Parameter value - type: string - Parameter65.Name: - description: Parameter name - type: string - Parameter65.Value: - description: Parameter value + enum: + - a2p-registration-fees + - agent-conference + - amazon-polly + - answering-machine-detection + - authy-authentications + - authy-calls-outbound + - authy-monthly-fees + - authy-phone-intelligence + - authy-phone-verifications + - authy-sms-outbound + - call-progess-events + - calleridlookups + - calls + - calls-client + - calls-globalconference + - calls-inbound + - calls-inbound-local + - calls-inbound-mobile + - calls-inbound-tollfree + - calls-outbound + - calls-pay-verb-transactions + - calls-recordings + - calls-sip + - calls-sip-inbound + - calls-sip-outbound + - calls-transfers + - carrier-lookups + - conversations + - conversations-api-requests + - conversations-conversation-events + - conversations-endpoint-connectivity + - conversations-events + - conversations-participant-events + - conversations-participants + - cps + - flex-usage + - fraud-lookups + - group-rooms + - group-rooms-data-track + - group-rooms-encrypted-media-recorded + - group-rooms-media-downloaded + - group-rooms-media-recorded + - group-rooms-media-routed + - group-rooms-media-stored + - group-rooms-participant-minutes + - group-rooms-recorded-minutes + - imp-v1-usage + - lookups + - marketplace + - marketplace-algorithmia-named-entity-recognition + - marketplace-cadence-transcription + - marketplace-cadence-translation + - marketplace-capio-speech-to-text + - marketplace-convriza-ababa + - marketplace-deepgram-phrase-detector + - marketplace-digital-segment-business-info + - marketplace-facebook-offline-conversions + - marketplace-google-speech-to-text + - marketplace-ibm-watson-message-insights + - marketplace-ibm-watson-message-sentiment + - marketplace-ibm-watson-recording-analysis + - marketplace-ibm-watson-tone-analyzer + - marketplace-icehook-systems-scout + - marketplace-infogroup-dataaxle-bizinfo + - marketplace-keen-io-contact-center-analytics + - marketplace-marchex-cleancall + - marketplace-marchex-sentiment-analysis-for-sms + - marketplace-marketplace-nextcaller-social-id + - marketplace-mobile-commons-opt-out-classifier + - marketplace-nexiwave-voicemail-to-text + - marketplace-nextcaller-advanced-caller-identification + - marketplace-nomorobo-spam-score + - marketplace-payfone-tcpa-compliance + - marketplace-remeeting-automatic-speech-recognition + - marketplace-tcpa-defense-solutions-blacklist-feed + - marketplace-telo-opencnam + - marketplace-truecnam-true-spam + - marketplace-twilio-caller-name-lookup-us + - marketplace-twilio-carrier-information-lookup + - marketplace-voicebase-pci + - marketplace-voicebase-transcription + - marketplace-voicebase-transcription-custom-vocabulary + - marketplace-whitepages-pro-caller-identification + - marketplace-whitepages-pro-phone-intelligence + - marketplace-whitepages-pro-phone-reputation + - marketplace-wolfarm-spoken-results + - marketplace-wolfram-short-answer + - marketplace-ytica-contact-center-reporting-analytics + - mediastorage + - mms + - mms-inbound + - mms-inbound-longcode + - mms-inbound-shortcode + - mms-messages-carrierfees + - mms-outbound + - mms-outbound-longcode + - mms-outbound-shortcode + - monitor-reads + - monitor-storage + - monitor-writes + - notify + - notify-actions-attempts + - notify-channels + - number-format-lookups + - pchat + - pchat-users + - peer-to-peer-rooms-participant-minutes + - pfax + - pfax-minutes + - pfax-minutes-inbound + - pfax-minutes-outbound + - pfax-pages + - phonenumbers + - phonenumbers-cps + - phonenumbers-emergency + - phonenumbers-local + - phonenumbers-mobile + - phonenumbers-setups + - phonenumbers-tollfree + - premiumsupport + - proxy + - proxy-active-sessions + - pstnconnectivity + - pv + - pv-composition-media-downloaded + - pv-composition-media-encrypted + - pv-composition-media-stored + - pv-composition-minutes + - pv-recording-compositions + - pv-room-participants + - pv-room-participants-au1 + - pv-room-participants-br1 + - pv-room-participants-ie1 + - pv-room-participants-jp1 + - pv-room-participants-sg1 + - pv-room-participants-us1 + - pv-room-participants-us2 + - pv-rooms + - pv-sip-endpoint-registrations + - recordings + - recordingstorage + - rooms-group-bandwidth + - rooms-group-minutes + - rooms-peer-to-peer-minutes + - shortcodes + - shortcodes-customerowned + - shortcodes-mms-enablement + - shortcodes-mps + - shortcodes-random + - shortcodes-uk + - shortcodes-vanity + - small-group-rooms + - small-group-rooms-data-track + - small-group-rooms-participant-minutes + - sms + - sms-inbound + - sms-inbound-longcode + - sms-inbound-shortcode + - sms-messages-carrierfees + - sms-messages-features + - sms-messages-features-senderid + - sms-outbound + - sms-outbound-content-inspection + - sms-outbound-longcode + - sms-outbound-shortcode + - speech-recognition + - studio-engagements + - sync + - sync-actions + - sync-endpoint-hours + - sync-endpoint-hours-above-daily-cap + - taskrouter-tasks + - totalprice + - transcriptions + - trunking-cps + - trunking-emergency-calls + - trunking-origination + - trunking-origination-local + - trunking-origination-mobile + - trunking-origination-tollfree + - trunking-recordings + - trunking-secure + - trunking-termination + - turnmegabytes + - turnmegabytes-australia + - turnmegabytes-brasil + - turnmegabytes-germany + - turnmegabytes-india + - turnmegabytes-ireland + - turnmegabytes-japan + - turnmegabytes-singapore + - turnmegabytes-useast + - turnmegabytes-uswest + - twilio-interconnect + - verify-push + - verify-totp + - verify-whatsapp-conversations-business-initiated + - video-recordings + - voice-insights + - voice-insights-client-insights-on-demand-minute + - voice-insights-ptsn-insights-on-demand-minute + - voice-insights-sip-interface-insights-on-demand-minute + - voice-insights-sip-trunking-insights-on-demand-minute + - wireless + - wireless-orders + - wireless-orders-artwork + - wireless-orders-bulk + - wireless-orders-esim + - wireless-orders-starter + - wireless-usage + - wireless-usage-commands + - wireless-usage-commands-africa + - wireless-usage-commands-asia + - wireless-usage-commands-centralandsouthamerica + - wireless-usage-commands-europe + - wireless-usage-commands-home + - wireless-usage-commands-northamerica + - wireless-usage-commands-oceania + - wireless-usage-commands-roaming + - wireless-usage-data + - wireless-usage-data-africa + - wireless-usage-data-asia + - wireless-usage-data-centralandsouthamerica + - wireless-usage-data-custom-additionalmb + - wireless-usage-data-custom-first5mb + - wireless-usage-data-domestic-roaming + - wireless-usage-data-europe + - wireless-usage-data-individual-additionalgb + - wireless-usage-data-individual-firstgb + - wireless-usage-data-international-roaming-canada + - wireless-usage-data-international-roaming-india + - wireless-usage-data-international-roaming-mexico + - wireless-usage-data-northamerica + - wireless-usage-data-oceania + - wireless-usage-data-pooled + - wireless-usage-data-pooled-downlink + - wireless-usage-data-pooled-uplink + - wireless-usage-mrc + - wireless-usage-mrc-custom + - wireless-usage-mrc-individual + - wireless-usage-mrc-pooled + - wireless-usage-mrc-suspended + - wireless-usage-sms + - wireless-usage-voice + nullable: true + description: The category of usage + count: + description: The number of usage events + nullable: true + type: string + count_unit: + description: The units in which count is measured + nullable: true + type: string + description: + description: A plain-language description of the usage category + nullable: true + type: string + end_date: + description: The last date for which usage is included in the UsageRecord + format: date + nullable: true + type: string + price: + description: The total price of the usage + nullable: true + type: number + price_unit: + description: The currency in which `price` is measured + format: currency + nullable: true + type: string + start_date: + description: The first date for which usage is included in this UsageRecord + format: date + nullable: true + type: string + subresource_uris: + description: A list of related resources identified by their relative URIs + format: uri-map + nullable: true + type: object + uri: + description: The URI of the resource, relative to `https://api.twilio.com` + format: uri + nullable: true + type: string + usage: + description: The amount of usage + nullable: true + type: string + usage_unit: + description: The units in which usage is measured + nullable: true + type: string + api.v2010.account.usage.usage_trigger: + type: object + properties: + account_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that this trigger monitors + api_version: + description: The API version used to create the resource + nullable: true + type: string + callback_method: + description: The HTTP method we use to call callback_url + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + nullable: true + type: string + callback_url: + description: he URL we call when the trigger fires + format: uri + nullable: true + type: string + current_value: + description: The current value of the field the trigger is watching + nullable: true + type: string + date_created: + type: string + format: date-time-rfc-2822 + nullable: true + description: The RFC 2822 date and time in GMT that the resource was created + date_fired: + type: string + format: date-time-rfc-2822 + nullable: true + description: The RFC 2822 date and time in GMT that the trigger was last + fired + date_updated: + type: string + format: date-time-rfc-2822 + nullable: true + description: The RFC 2822 date and time in GMT that the resource was last + updated + friendly_name: + description: The string that you assigned to describe the trigger + nullable: true + type: string + recurring: + type: string + enum: + - daily + - monthly + - yearly + - alltime + nullable: true + description: The frequency of a recurring UsageTrigger + sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^UT[0-9a-fA-F]{32}$ + nullable: true + description: The unique string that identifies the resource + trigger_by: + type: string + enum: + - count + - usage + - price + nullable: true + description: The field in the UsageRecord resource that fires the trigger + trigger_value: + description: The value at which the trigger will fire + nullable: true + type: string + uri: + description: The URI of the resource, relative to `https://api.twilio.com` + format: uri + nullable: true + type: string + usage_category: + type: string + enum: + - a2p-registration-fees + - agent-conference + - amazon-polly + - answering-machine-detection + - authy-authentications + - authy-calls-outbound + - authy-monthly-fees + - authy-phone-intelligence + - authy-phone-verifications + - authy-sms-outbound + - call-progess-events + - calleridlookups + - calls + - calls-client + - calls-globalconference + - calls-inbound + - calls-inbound-local + - calls-inbound-mobile + - calls-inbound-tollfree + - calls-outbound + - calls-pay-verb-transactions + - calls-recordings + - calls-sip + - calls-sip-inbound + - calls-sip-outbound + - calls-transfers + - carrier-lookups + - conversations + - conversations-api-requests + - conversations-conversation-events + - conversations-endpoint-connectivity + - conversations-events + - conversations-participant-events + - conversations-participants + - cps + - flex-usage + - fraud-lookups + - group-rooms + - group-rooms-data-track + - group-rooms-encrypted-media-recorded + - group-rooms-media-downloaded + - group-rooms-media-recorded + - group-rooms-media-routed + - group-rooms-media-stored + - group-rooms-participant-minutes + - group-rooms-recorded-minutes + - imp-v1-usage + - lookups + - marketplace + - marketplace-algorithmia-named-entity-recognition + - marketplace-cadence-transcription + - marketplace-cadence-translation + - marketplace-capio-speech-to-text + - marketplace-convriza-ababa + - marketplace-deepgram-phrase-detector + - marketplace-digital-segment-business-info + - marketplace-facebook-offline-conversions + - marketplace-google-speech-to-text + - marketplace-ibm-watson-message-insights + - marketplace-ibm-watson-message-sentiment + - marketplace-ibm-watson-recording-analysis + - marketplace-ibm-watson-tone-analyzer + - marketplace-icehook-systems-scout + - marketplace-infogroup-dataaxle-bizinfo + - marketplace-keen-io-contact-center-analytics + - marketplace-marchex-cleancall + - marketplace-marchex-sentiment-analysis-for-sms + - marketplace-marketplace-nextcaller-social-id + - marketplace-mobile-commons-opt-out-classifier + - marketplace-nexiwave-voicemail-to-text + - marketplace-nextcaller-advanced-caller-identification + - marketplace-nomorobo-spam-score + - marketplace-payfone-tcpa-compliance + - marketplace-remeeting-automatic-speech-recognition + - marketplace-tcpa-defense-solutions-blacklist-feed + - marketplace-telo-opencnam + - marketplace-truecnam-true-spam + - marketplace-twilio-caller-name-lookup-us + - marketplace-twilio-carrier-information-lookup + - marketplace-voicebase-pci + - marketplace-voicebase-transcription + - marketplace-voicebase-transcription-custom-vocabulary + - marketplace-whitepages-pro-caller-identification + - marketplace-whitepages-pro-phone-intelligence + - marketplace-whitepages-pro-phone-reputation + - marketplace-wolfarm-spoken-results + - marketplace-wolfram-short-answer + - marketplace-ytica-contact-center-reporting-analytics + - mediastorage + - mms + - mms-inbound + - mms-inbound-longcode + - mms-inbound-shortcode + - mms-messages-carrierfees + - mms-outbound + - mms-outbound-longcode + - mms-outbound-shortcode + - monitor-reads + - monitor-storage + - monitor-writes + - notify + - notify-actions-attempts + - notify-channels + - number-format-lookups + - pchat + - pchat-users + - peer-to-peer-rooms-participant-minutes + - pfax + - pfax-minutes + - pfax-minutes-inbound + - pfax-minutes-outbound + - pfax-pages + - phonenumbers + - phonenumbers-cps + - phonenumbers-emergency + - phonenumbers-local + - phonenumbers-mobile + - phonenumbers-setups + - phonenumbers-tollfree + - premiumsupport + - proxy + - proxy-active-sessions + - pstnconnectivity + - pv + - pv-composition-media-downloaded + - pv-composition-media-encrypted + - pv-composition-media-stored + - pv-composition-minutes + - pv-recording-compositions + - pv-room-participants + - pv-room-participants-au1 + - pv-room-participants-br1 + - pv-room-participants-ie1 + - pv-room-participants-jp1 + - pv-room-participants-sg1 + - pv-room-participants-us1 + - pv-room-participants-us2 + - pv-rooms + - pv-sip-endpoint-registrations + - recordings + - recordingstorage + - rooms-group-bandwidth + - rooms-group-minutes + - rooms-peer-to-peer-minutes + - shortcodes + - shortcodes-customerowned + - shortcodes-mms-enablement + - shortcodes-mps + - shortcodes-random + - shortcodes-uk + - shortcodes-vanity + - small-group-rooms + - small-group-rooms-data-track + - small-group-rooms-participant-minutes + - sms + - sms-inbound + - sms-inbound-longcode + - sms-inbound-shortcode + - sms-messages-carrierfees + - sms-messages-features + - sms-messages-features-senderid + - sms-outbound + - sms-outbound-content-inspection + - sms-outbound-longcode + - sms-outbound-shortcode + - speech-recognition + - studio-engagements + - sync + - sync-actions + - sync-endpoint-hours + - sync-endpoint-hours-above-daily-cap + - taskrouter-tasks + - totalprice + - transcriptions + - trunking-cps + - trunking-emergency-calls + - trunking-origination + - trunking-origination-local + - trunking-origination-mobile + - trunking-origination-tollfree + - trunking-recordings + - trunking-secure + - trunking-termination + - turnmegabytes + - turnmegabytes-australia + - turnmegabytes-brasil + - turnmegabytes-germany + - turnmegabytes-india + - turnmegabytes-ireland + - turnmegabytes-japan + - turnmegabytes-singapore + - turnmegabytes-useast + - turnmegabytes-uswest + - twilio-interconnect + - verify-push + - verify-totp + - verify-whatsapp-conversations-business-initiated + - video-recordings + - voice-insights + - voice-insights-client-insights-on-demand-minute + - voice-insights-ptsn-insights-on-demand-minute + - voice-insights-sip-interface-insights-on-demand-minute + - voice-insights-sip-trunking-insights-on-demand-minute + - wireless + - wireless-orders + - wireless-orders-artwork + - wireless-orders-bulk + - wireless-orders-esim + - wireless-orders-starter + - wireless-usage + - wireless-usage-commands + - wireless-usage-commands-africa + - wireless-usage-commands-asia + - wireless-usage-commands-centralandsouthamerica + - wireless-usage-commands-europe + - wireless-usage-commands-home + - wireless-usage-commands-northamerica + - wireless-usage-commands-oceania + - wireless-usage-commands-roaming + - wireless-usage-data + - wireless-usage-data-africa + - wireless-usage-data-asia + - wireless-usage-data-centralandsouthamerica + - wireless-usage-data-custom-additionalmb + - wireless-usage-data-custom-first5mb + - wireless-usage-data-domestic-roaming + - wireless-usage-data-europe + - wireless-usage-data-individual-additionalgb + - wireless-usage-data-individual-firstgb + - wireless-usage-data-international-roaming-canada + - wireless-usage-data-international-roaming-india + - wireless-usage-data-international-roaming-mexico + - wireless-usage-data-northamerica + - wireless-usage-data-oceania + - wireless-usage-data-pooled + - wireless-usage-data-pooled-downlink + - wireless-usage-data-pooled-uplink + - wireless-usage-mrc + - wireless-usage-mrc-custom + - wireless-usage-mrc-individual + - wireless-usage-mrc-pooled + - wireless-usage-mrc-suspended + - wireless-usage-sms + - wireless-usage-voice + nullable: true + description: The usage category the trigger watches + usage_record_uri: + description: The URI of the UsageRecord resource this trigger watches + nullable: true + type: string + api.v2010.account.validation_request: + type: object + properties: + account_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created the resource + call_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Call the resource is associated with + friendly_name: + description: The string that you assigned to describe the resource + nullable: true + type: string + phone_number: + description: The phone number to verify in E.164 format + format: phone-number + nullable: true + type: string + validation_code: + description: The 6 digit validation code that someone must enter to validate + the Caller ID when `phone_number` is called + nullable: true + type: string + securitySchemes: + accountSid_authToken: + scheme: basic + type: http +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 - Api + version: 1.30.0 +openapi: 3.0.1 +paths: + /2010-04-01/Accounts.json: + servers: + - url: https://api.twilio.com + description: Twilio accounts (aka Project) or subaccounts + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - status + pathType: list + post: + description: Create a new Twilio Subaccount from the account making the request + operationId: CreateAccount + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: A human readable description of the account to create, + defaults to `SubAccount Created at {YYYY-MM-DD HH:MM meridian}` type: string - Parameter66.Name: - description: Parameter name + title: CreateAccountRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + get: + description: Retrieves a collection of Accounts belonging to the account used + to make the request + operationId: ListAccount + parameters: + - description: Only return the Account resources with friendly names that exactly + match this name. + in: query + name: FriendlyName + schema: + type: string + - description: Only return Account resources with the given status. Can be `closed`, + `suspended` or `active`. + in: query + name: Status + schema: + type: string + enum: + - active + - suspended + - closed + - 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListAccountResponse + properties: + accounts: + type: array + items: + $ref: '#/components/schemas/api.v2010.account' + end: + type: integer + first_page_uri: + type: string + format: uri + next_page_uri: + type: string + format: uri + page: + type: integer + page_size: + type: integer + previous_page_uri: + type: string + format: uri + start: + type: integer + uri: + type: string + format: uri + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{Sid}.json: + servers: + - url: https://api.twilio.com + description: Twilio accounts (aka Project) or subaccounts + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - status + pathType: instance + get: + description: Fetch the account specified by the provided Account Sid + operationId: FetchAccount + parameters: + - description: The Account Sid that uniquely identifies the account to fetch + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + post: + description: Modify the properties of a given Account + operationId: UpdateAccount + parameters: + - description: The Account Sid that uniquely identifies the account to update + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: Update the human-readable description of this Account type: string - Parameter66.Value: - description: Parameter value + Status: type: string - Parameter67.Name: - description: Parameter name + enum: + - active + - suspended + - closed + description: 'Alter the status of this account: use `closed` to + irreversibly close this account, `suspended` to temporarily suspend + it, or `active` to reactivate it.' + title: UpdateAccountRequest + type: object + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{AccountSid}/Addresses.json: + servers: + - url: https://api.twilio.com + description: An Address instance resource represents your or your customer's physical + location within a country. Around the world, some local authorities require + the name and address of the user to be on file with Twilio to purchase and own + a phone number. + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - validated + - verified + pathType: list + parent: /Accounts.json + post: + description: '' + operationId: CreateAddress + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that will be responsible for the new Address resource. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + CustomerName: + description: The name to associate with the new address. type: string - Parameter67.Value: - description: Parameter value + Street: + description: The number and street address of the new address. type: string - Parameter68.Name: - description: Parameter name + City: + description: The city of the new address. type: string - Parameter68.Value: - description: Parameter value + Region: + description: The state or region of the new address. type: string - Parameter69.Name: - description: Parameter name + PostalCode: + description: The postal code of the new address. type: string - Parameter69.Value: - description: Parameter value + IsoCountry: + description: The ISO country code of the new address. + format: iso-country-code type: string - Parameter7.Name: - description: Parameter name + FriendlyName: + description: A descriptive string that you create to describe the + new address. It can be up to 64 characters long. type: string - Parameter7.Value: - description: Parameter value + EmergencyEnabled: + description: 'Whether to enable emergency calling on the new address. + Can be: `true` or `false`.' + type: boolean + AutoCorrectAddress: + description: 'Whether we should automatically correct the address. + Can be: `true` or `false` and the default is `true`. If empty + or `true`, we will correct the address you provide if necessary. + If `false`, we won''t alter the address you provide.' + type: boolean + required: + - CustomerName + - Street + - City + - Region + - PostalCode + - IsoCountry + title: CreateAddressRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.address' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + get: + description: '' + operationId: ListAddress + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that is responsible for the Address resource to read. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The `customer_name` of the Address resources to read. + in: query + name: CustomerName + schema: + type: string + - description: The string that identifies the Address resources to read. + in: query + name: FriendlyName + schema: + type: string + - description: The ISO country code of the Address resources to read. + in: query + name: IsoCountry + schema: + format: iso-country-code + 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListAddressResponse + properties: + addresses: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.address' + end: + type: integer + first_page_uri: + type: string + format: uri + next_page_uri: + type: string + format: uri + page: + type: integer + page_size: + type: integer + previous_page_uri: + type: string + format: uri + start: + type: integer + uri: + type: string + format: uri + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{AccountSid}/Addresses/{Sid}.json: + servers: + - url: https://api.twilio.com + description: An Address instance resource represents your or your customer's physical + location within a country. Around the world, some local authorities require + the name and address of the user to be on file with Twilio to purchase and own + a phone number. + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - validated + - verified + pathType: instance + parent: /Accounts.json + delete: + description: '' + operationId: DeleteAddress + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that is responsible for the Address resource to delete. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Address + resource to delete. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AD[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + get: + description: '' + operationId: FetchAddress + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that is responsible for the Address resource to fetch. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Address + resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AD[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.address' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + post: + description: '' + operationId: UpdateAddress + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that is responsible for the Address resource to update. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Address + resource to update. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AD[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: A descriptive string that you create to describe the + address. It can be up to 64 characters long. type: string - Parameter70.Name: - description: Parameter name + CustomerName: + description: The name to associate with the address. type: string - Parameter70.Value: - description: Parameter value + Street: + description: The number and street address of the address. type: string - Parameter71.Name: - description: Parameter name + City: + description: The city of the address. type: string - Parameter71.Value: - description: Parameter value + Region: + description: The state or region of the address. type: string - Parameter72.Name: - description: Parameter name + PostalCode: + description: The postal code of the address. type: string - Parameter72.Value: - description: Parameter value + EmergencyEnabled: + description: 'Whether to enable emergency calling on the address. + Can be: `true` or `false`.' + type: boolean + AutoCorrectAddress: + description: 'Whether we should automatically correct the address. + Can be: `true` or `false` and the default is `true`. If empty + or `true`, we will correct the address you provide if necessary. + If `false`, we won''t alter the address you provide.' + type: boolean + title: UpdateAddressRequest + type: object + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.address' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{AccountSid}/Applications.json: + servers: + - url: https://api.twilio.com + description: An Application instance resource represents an application that you + have created with Twilio. An application inside of Twilio is just a set of URLs + and other configuration data that tells Twilio how to behave when one of your + Twilio numbers receives a call or SMS message. + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - date_created + pathType: list + parent: /Accounts.json + post: + description: Create a new application within your account + operationId: CreateApplication + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that will create the resource. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + ApiVersion: + description: 'The API version to use to start a new TwiML session. + Can be: `2010-04-01` or `2008-08-01`. The default value is the + account''s default API version.' type: string - Parameter73.Name: - description: Parameter name + VoiceUrl: + description: The URL we should call when the phone number assigned + to this application receives a call. + format: uri type: string - Parameter73.Value: - description: Parameter value + VoiceMethod: + description: 'The HTTP method we should use to call `voice_url`. + Can be: `GET` or `POST`.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method type: string - Parameter74.Name: - description: Parameter name + VoiceFallbackUrl: + description: The URL that we should call when an error occurs retrieving + or executing the TwiML requested by `url`. + format: uri type: string - Parameter74.Value: - description: Parameter value + VoiceFallbackMethod: + description: 'The HTTP method we should use to call `voice_fallback_url`. + Can be: `GET` or `POST`.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method type: string - Parameter75.Name: - description: Parameter name + StatusCallback: + description: The URL we should call using the `status_callback_method` + to send status information to your application. + format: uri type: string - Parameter75.Value: - description: Parameter value + StatusCallbackMethod: + description: 'The HTTP method we should use to call `status_callback`. + Can be: `GET` or `POST`.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method type: string - Parameter76.Name: - description: Parameter name + VoiceCallerIdLookup: + description: 'Whether we should look up the caller''s caller-ID + name from the CNAM database (additional charges apply). Can be: + `true` or `false`.' + type: boolean + SmsUrl: + description: The URL we should call when the phone number receives + an incoming SMS message. + format: uri type: string - Parameter76.Value: - description: Parameter value + SmsMethod: + description: 'The HTTP method we should use to call `sms_url`. Can + be: `GET` or `POST`.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method type: string - Parameter77.Name: - description: Parameter name + SmsFallbackUrl: + description: The URL that we should call when an error occurs while + retrieving or executing the TwiML from `sms_url`. + format: uri type: string - Parameter77.Value: - description: Parameter value + SmsFallbackMethod: + description: 'The HTTP method we should use to call `sms_fallback_url`. + Can be: `GET` or `POST`.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method type: string - Parameter78.Name: - description: Parameter name + SmsStatusCallback: + description: The URL we should call using a POST method to send + status information about SMS messages sent by the application. + format: uri type: string - Parameter78.Value: - description: Parameter value + MessageStatusCallback: + description: The URL we should call using a POST method to send + message status information to your application. + format: uri type: string - Parameter79.Name: - description: Parameter name + FriendlyName: + description: A descriptive string that you create to describe the + new application. It can be up to 64 characters long. type: string - Parameter79.Value: - description: Parameter value + title: CreateApplicationRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.application' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + get: + description: Retrieve a list of applications representing an application within + the requesting account + operationId: ListApplication + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the Application resources to read. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The string that identifies the Application resources to read. + in: query + name: FriendlyName + schema: + 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListApplicationResponse + properties: + applications: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.application' + end: + type: integer + first_page_uri: + type: string + format: uri + next_page_uri: + type: string + format: uri + page: + type: integer + page_size: + type: integer + previous_page_uri: + type: string + format: uri + start: + type: integer + uri: + type: string + format: uri + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{AccountSid}/Applications/{Sid}.json: + servers: + - url: https://api.twilio.com + description: An Application instance resource represents an application that you + have created with Twilio. An application inside of Twilio is just a set of URLs + and other configuration data that tells Twilio how to behave when one of your + Twilio numbers receives a call or SMS message. + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - date_created + pathType: instance + parent: /Accounts.json + delete: + description: Delete the application by the specified application sid + operationId: DeleteApplication + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the Application resources to delete. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Application + resource to delete. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AP[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + get: + description: Fetch the application specified by the provided sid + operationId: FetchApplication + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the Application resource to fetch. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Application + resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AP[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.application' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + post: + description: Updates the application's properties + operationId: UpdateApplication + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the Application resources to update. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Application + resource to update. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AP[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: A descriptive string that you create to describe the + resource. It can be up to 64 characters long. type: string - Parameter8.Name: - description: Parameter name + ApiVersion: + description: 'The API version to use to start a new TwiML session. + Can be: `2010-04-01` or `2008-08-01`. The default value is your + account''s default API version.' type: string - Parameter8.Value: - description: Parameter value + VoiceUrl: + description: The URL we should call when the phone number assigned + to this application receives a call. + format: uri type: string - Parameter80.Name: - description: Parameter name + VoiceMethod: + description: 'The HTTP method we should use to call `voice_url`. + Can be: `GET` or `POST`.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method type: string - Parameter80.Value: - description: Parameter value + VoiceFallbackUrl: + description: The URL that we should call when an error occurs retrieving + or executing the TwiML requested by `url`. + format: uri type: string - Parameter81.Name: - description: Parameter name + VoiceFallbackMethod: + description: 'The HTTP method we should use to call `voice_fallback_url`. + Can be: `GET` or `POST`.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method type: string - Parameter81.Value: - description: Parameter value + StatusCallback: + description: The URL we should call using the `status_callback_method` + to send status information to your application. + format: uri type: string - Parameter82.Name: - description: Parameter name + StatusCallbackMethod: + description: 'The HTTP method we should use to call `status_callback`. + Can be: `GET` or `POST`.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method type: string - Parameter82.Value: - description: Parameter value + VoiceCallerIdLookup: + description: 'Whether we should look up the caller''s caller-ID + name from the CNAM database (additional charges apply). Can be: + `true` or `false`.' + type: boolean + SmsUrl: + description: The URL we should call when the phone number receives + an incoming SMS message. + format: uri type: string - Parameter83.Name: - description: Parameter name + SmsMethod: + description: 'The HTTP method we should use to call `sms_url`. Can + be: `GET` or `POST`.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method type: string - Parameter83.Value: - description: Parameter value + SmsFallbackUrl: + description: The URL that we should call when an error occurs while + retrieving or executing the TwiML from `sms_url`. + format: uri type: string - Parameter84.Name: - description: Parameter name + SmsFallbackMethod: + description: 'The HTTP method we should use to call `sms_fallback_url`. + Can be: `GET` or `POST`.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method type: string - Parameter84.Value: - description: Parameter value + SmsStatusCallback: + description: 'Same as message_status_callback: The URL we should + call using a POST method to send status information about SMS + messages sent by the application. Deprecated, included for backwards + compatibility.' + format: uri type: string - Parameter85.Name: - description: Parameter name + MessageStatusCallback: + description: The URL we should call using a POST method to send + message status information to your application. + format: uri type: string - Parameter85.Value: - description: Parameter value + title: UpdateApplicationRequest + type: object + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.application' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{AccountSid}/AuthorizedConnectApps/{ConnectAppSid}.json: + servers: + - url: https://api.twilio.com + description: Authorized Twilio Connect apps + x-twilio: + defaultOutputProperties: + - connect_app_sid + - connect_app_friendly_name + pathType: instance + parent: /Accounts.json + get: + description: Fetch an instance of an authorized-connect-app + operationId: FetchAuthorizedConnectApp + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the AuthorizedConnectApp resource to fetch. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The SID of the Connect App to fetch. + in: path + name: ConnectAppSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CN[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.authorized_connect_app' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{AccountSid}/AuthorizedConnectApps.json: + servers: + - url: https://api.twilio.com + description: Authorized Twilio Connect apps + x-twilio: + defaultOutputProperties: + - connect_app_sid + - connect_app_friendly_name + pathType: list + parent: /Accounts.json + get: + description: Retrieve a list of authorized-connect-apps belonging to the account + used to make the request + operationId: ListAuthorizedConnectApp + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the AuthorizedConnectApp resources to read. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListAuthorizedConnectAppResponse + properties: + authorized_connect_apps: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.authorized_connect_app' + end: + type: integer + first_page_uri: + type: string + format: uri + next_page_uri: + type: string + format: uri + page: + type: integer + page_size: + type: integer + previous_page_uri: + type: string + format: uri + start: + type: integer + uri: + type: string + format: uri + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers.json: + servers: + - url: https://api.twilio.com + description: Country codes with available phone numbers + x-twilio: + defaultOutputProperties: + - country_code + - country + - beta + pathType: list + parent: /Accounts.json + className: available_phone_number_country + get: + description: '' + operationId: ListAvailablePhoneNumberCountry + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + requesting the available phone number Country resources. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListAvailablePhoneNumberCountryResponse + properties: + countries: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.available_phone_number_country' + end: + type: integer + first_page_uri: + type: string + format: uri + next_page_uri: + type: string + format: uri + page: + type: integer + page_size: + type: integer + previous_page_uri: + type: string + format: uri + start: + type: integer + uri: + type: string + format: uri + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}.json: + servers: + - url: https://api.twilio.com + description: Country codes with available phone numbers + x-twilio: + defaultOutputProperties: + - country_code + - country + - beta + pathType: instance + parent: /Accounts.json + className: available_phone_number_country + get: + description: '' + operationId: FetchAvailablePhoneNumberCountry + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + requesting the available phone number Country resource. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) + country code of the country to fetch available phone number information + about. + in: path + name: CountryCode + required: true + schema: + format: iso-country-code + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.available_phone_number_country' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}/Local.json: + servers: + - url: https://api.twilio.com + description: Available local phone numbers + x-twilio: + defaultOutputProperties: + - phone_number + - region + - beta + pathType: list + parent: /Accounts/{AccountSid}/AvailablePhoneNumbers.json + get: + description: '' + operationId: ListAvailablePhoneNumberLocal + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + requesting the AvailablePhoneNumber resources. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) + country code of the country from which to read phone numbers. + in: path + name: CountryCode + required: true + schema: + format: iso-country-code + type: string + - description: The area code of the phone numbers to read. Applies to only phone + numbers in the US and Canada. + in: query + name: AreaCode + schema: + type: integer + - description: The pattern on which to match phone numbers. Valid characters + are `*`, `0-9`, `a-z`, and `A-Z`. The `*` character matches any single digit. + For examples, see [Example 2](https://www.twilio.com/docs/phone-numbers/api/availablephonenumberlocal-resource?code-sample=code-find-phone-numbers-by-number-pattern) + and [Example 3](https://www.twilio.com/docs/phone-numbers/api/availablephonenumberlocal-resource?code-sample=code-find-phone-numbers-by-character-pattern). + If specified, this value must have at least two characters. + in: query + name: Contains + schema: + type: string + - description: 'Whether the phone numbers can receive text messages. Can be: + `true` or `false`.' + in: query + name: SmsEnabled + schema: + type: boolean + - description: 'Whether the phone numbers can receive MMS messages. Can be: + `true` or `false`.' + in: query + name: MmsEnabled + schema: + type: boolean + - description: 'Whether the phone numbers can receive calls. Can be: `true` + or `false`.' + in: query + name: VoiceEnabled + schema: + type: boolean + - description: 'Whether to exclude phone numbers that require an [Address](https://www.twilio.com/docs/usage/api/address). + Can be: `true` or `false` and the default is `false`.' + in: query + name: ExcludeAllAddressRequired + schema: + type: boolean + - description: 'Whether to exclude phone numbers that require a local [Address](https://www.twilio.com/docs/usage/api/address). + Can be: `true` or `false` and the default is `false`.' + in: query + name: ExcludeLocalAddressRequired + schema: + type: boolean + - description: 'Whether to exclude phone numbers that require a foreign [Address](https://www.twilio.com/docs/usage/api/address). + Can be: `true` or `false` and the default is `false`.' + in: query + name: ExcludeForeignAddressRequired + schema: + type: boolean + - description: 'Whether to read phone numbers that are new to the Twilio platform. + Can be: `true` or `false` and the default is `true`.' + in: query + name: Beta + schema: + type: boolean + - description: Given a phone number, find a geographically close number within + `distance` miles. Distance defaults to 25 miles. Applies to only phone numbers + in the US and Canada. + in: query + name: NearNumber + schema: + format: phone-number + type: string + - description: Given a latitude/longitude pair `lat,long` find geographically + close numbers within `distance` miles. Applies to only phone numbers in + the US and Canada. + in: query + name: NearLatLong + schema: + type: string + - description: The search radius, in miles, for a `near_` query. Can be up + to `500` and the default is `25`. Applies to only phone numbers in the US + and Canada. + in: query + name: Distance + schema: + type: integer + - description: Limit results to a particular postal code. Given a phone number, + search within the same postal code as that number. Applies to only phone + numbers in the US and Canada. + in: query + name: InPostalCode + schema: + type: string + - description: Limit results to a particular region, state, or province. Given + a phone number, search within the same region as that number. Applies to + only phone numbers in the US and Canada. + in: query + name: InRegion + schema: + type: string + - description: Limit results to a specific rate center, or given a phone number + search within the same rate center as that number. Requires `in_lata` to + be set as well. Applies to only phone numbers in the US and Canada. + in: query + name: InRateCenter + schema: + type: string + - description: Limit results to a specific local access and transport area ([LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area)). + Given a phone number, search within the same [LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area) + as that number. Applies to only phone numbers in the US and Canada. + in: query + name: InLata + schema: + type: string + - description: Limit results to a particular locality or city. Given a phone + number, search within the same Locality as that number. + in: query + name: InLocality + schema: + type: string + - description: 'Whether the phone numbers can receive faxes. Can be: `true` + or `false`.' + in: query + name: FaxEnabled + schema: + type: boolean + - 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListAvailablePhoneNumberLocalResponse + properties: + available_phone_numbers: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.available_phone_number_country.available_phone_number_local' + end: + type: integer + first_page_uri: + type: string + format: uri + next_page_uri: + type: string + format: uri + page: + type: integer + page_size: + type: integer + previous_page_uri: + type: string + format: uri + start: + type: integer + uri: + type: string + format: uri + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}/MachineToMachine.json: + servers: + - url: https://api.twilio.com + description: Available machine-to-machine phone numbers + x-twilio: + defaultOutputProperties: + - phone_number + - region + - beta + pathType: list + parent: /Accounts/{AccountSid}/AvailablePhoneNumbers.json + get: + description: '' + operationId: ListAvailablePhoneNumberMachineToMachine + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + requesting the AvailablePhoneNumber resources. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) + country code of the country from which to read phone numbers. + in: path + name: CountryCode + required: true + schema: + format: iso-country-code + type: string + - description: The area code of the phone numbers to read. Applies to only phone + numbers in the US and Canada. + in: query + name: AreaCode + schema: + type: integer + - description: The pattern on which to match phone numbers. Valid characters + are `*`, `0-9`, `a-z`, and `A-Z`. The `*` character matches any single digit. + For examples, see [Example 2](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-2) + and [Example 3](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-3). + If specified, this value must have at least two characters. + in: query + name: Contains + schema: + type: string + - description: 'Whether the phone numbers can receive text messages. Can be: + `true` or `false`.' + in: query + name: SmsEnabled + schema: + type: boolean + - description: 'Whether the phone numbers can receive MMS messages. Can be: + `true` or `false`.' + in: query + name: MmsEnabled + schema: + type: boolean + - description: 'Whether the phone numbers can receive calls. Can be: `true` + or `false`.' + in: query + name: VoiceEnabled + schema: + type: boolean + - description: 'Whether to exclude phone numbers that require an [Address](https://www.twilio.com/docs/usage/api/address). + Can be: `true` or `false` and the default is `false`.' + in: query + name: ExcludeAllAddressRequired + schema: + type: boolean + - description: 'Whether to exclude phone numbers that require a local [Address](https://www.twilio.com/docs/usage/api/address). + Can be: `true` or `false` and the default is `false`.' + in: query + name: ExcludeLocalAddressRequired + schema: + type: boolean + - description: 'Whether to exclude phone numbers that require a foreign [Address](https://www.twilio.com/docs/usage/api/address). + Can be: `true` or `false` and the default is `false`.' + in: query + name: ExcludeForeignAddressRequired + schema: + type: boolean + - description: 'Whether to read phone numbers that are new to the Twilio platform. + Can be: `true` or `false` and the default is `true`.' + in: query + name: Beta + schema: + type: boolean + - description: Given a phone number, find a geographically close number within + `distance` miles. Distance defaults to 25 miles. Applies to only phone numbers + in the US and Canada. + in: query + name: NearNumber + schema: + format: phone-number + type: string + - description: Given a latitude/longitude pair `lat,long` find geographically + close numbers within `distance` miles. Applies to only phone numbers in + the US and Canada. + in: query + name: NearLatLong + schema: + type: string + - description: The search radius, in miles, for a `near_` query. Can be up + to `500` and the default is `25`. Applies to only phone numbers in the US + and Canada. + in: query + name: Distance + schema: + type: integer + - description: Limit results to a particular postal code. Given a phone number, + search within the same postal code as that number. Applies to only phone + numbers in the US and Canada. + in: query + name: InPostalCode + schema: + type: string + - description: Limit results to a particular region, state, or province. Given + a phone number, search within the same region as that number. Applies to + only phone numbers in the US and Canada. + in: query + name: InRegion + schema: + type: string + - description: Limit results to a specific rate center, or given a phone number + search within the same rate center as that number. Requires `in_lata` to + be set as well. Applies to only phone numbers in the US and Canada. + in: query + name: InRateCenter + schema: + type: string + - description: Limit results to a specific local access and transport area ([LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area)). + Given a phone number, search within the same [LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area) + as that number. Applies to only phone numbers in the US and Canada. + in: query + name: InLata + schema: + type: string + - description: Limit results to a particular locality or city. Given a phone + number, search within the same Locality as that number. + in: query + name: InLocality + schema: + type: string + - description: 'Whether the phone numbers can receive faxes. Can be: `true` + or `false`.' + in: query + name: FaxEnabled + schema: + type: boolean + - 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListAvailablePhoneNumberMachineToMachineResponse + properties: + available_phone_numbers: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.available_phone_number_country.available_phone_number_machine_to_machine' + end: + type: integer + first_page_uri: + type: string + format: uri + next_page_uri: + type: string + format: uri + page: + type: integer + page_size: + type: integer + previous_page_uri: + type: string + format: uri + start: + type: integer + uri: + type: string + format: uri + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}/Mobile.json: + servers: + - url: https://api.twilio.com + description: Available mobile phone numbers + x-twilio: + defaultOutputProperties: + - phone_number + - region + - beta + pathType: list + parent: /Accounts/{AccountSid}/AvailablePhoneNumbers.json + get: + description: '' + operationId: ListAvailablePhoneNumberMobile + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + requesting the AvailablePhoneNumber resources. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) + country code of the country from which to read phone numbers. + in: path + name: CountryCode + required: true + schema: + format: iso-country-code + type: string + - description: The area code of the phone numbers to read. Applies to only phone + numbers in the US and Canada. + in: query + name: AreaCode + schema: + type: integer + - description: The pattern on which to match phone numbers. Valid characters + are `*`, `0-9`, `a-z`, and `A-Z`. The `*` character matches any single digit. + For examples, see [Example 2](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-2) + and [Example 3](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-3). + If specified, this value must have at least two characters. + in: query + name: Contains + schema: + type: string + - description: 'Whether the phone numbers can receive text messages. Can be: + `true` or `false`.' + in: query + name: SmsEnabled + schema: + type: boolean + - description: 'Whether the phone numbers can receive MMS messages. Can be: + `true` or `false`.' + in: query + name: MmsEnabled + schema: + type: boolean + - description: 'Whether the phone numbers can receive calls. Can be: `true` + or `false`.' + in: query + name: VoiceEnabled + schema: + type: boolean + - description: 'Whether to exclude phone numbers that require an [Address](https://www.twilio.com/docs/usage/api/address). + Can be: `true` or `false` and the default is `false`.' + in: query + name: ExcludeAllAddressRequired + schema: + type: boolean + - description: 'Whether to exclude phone numbers that require a local [Address](https://www.twilio.com/docs/usage/api/address). + Can be: `true` or `false` and the default is `false`.' + in: query + name: ExcludeLocalAddressRequired + schema: + type: boolean + - description: 'Whether to exclude phone numbers that require a foreign [Address](https://www.twilio.com/docs/usage/api/address). + Can be: `true` or `false` and the default is `false`.' + in: query + name: ExcludeForeignAddressRequired + schema: + type: boolean + - description: 'Whether to read phone numbers that are new to the Twilio platform. + Can be: `true` or `false` and the default is `true`.' + in: query + name: Beta + schema: + type: boolean + - description: Given a phone number, find a geographically close number within + `distance` miles. Distance defaults to 25 miles. Applies to only phone numbers + in the US and Canada. + in: query + name: NearNumber + schema: + format: phone-number + type: string + - description: Given a latitude/longitude pair `lat,long` find geographically + close numbers within `distance` miles. Applies to only phone numbers in + the US and Canada. + in: query + name: NearLatLong + schema: + type: string + - description: The search radius, in miles, for a `near_` query. Can be up + to `500` and the default is `25`. Applies to only phone numbers in the US + and Canada. + in: query + name: Distance + schema: + type: integer + - description: Limit results to a particular postal code. Given a phone number, + search within the same postal code as that number. Applies to only phone + numbers in the US and Canada. + in: query + name: InPostalCode + schema: + type: string + - description: Limit results to a particular region, state, or province. Given + a phone number, search within the same region as that number. Applies to + only phone numbers in the US and Canada. + in: query + name: InRegion + schema: + type: string + - description: Limit results to a specific rate center, or given a phone number + search within the same rate center as that number. Requires `in_lata` to + be set as well. Applies to only phone numbers in the US and Canada. + in: query + name: InRateCenter + schema: + type: string + - description: Limit results to a specific local access and transport area ([LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area)). + Given a phone number, search within the same [LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area) + as that number. Applies to only phone numbers in the US and Canada. + in: query + name: InLata + schema: + type: string + - description: Limit results to a particular locality or city. Given a phone + number, search within the same Locality as that number. + in: query + name: InLocality + schema: + type: string + - description: 'Whether the phone numbers can receive faxes. Can be: `true` + or `false`.' + in: query + name: FaxEnabled + schema: + type: boolean + - 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListAvailablePhoneNumberMobileResponse + properties: + available_phone_numbers: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.available_phone_number_country.available_phone_number_mobile' + end: + type: integer + first_page_uri: + type: string + format: uri + next_page_uri: + type: string + format: uri + page: + type: integer + page_size: + type: integer + previous_page_uri: + type: string + format: uri + start: + type: integer + uri: + type: string + format: uri + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}/National.json: + servers: + - url: https://api.twilio.com + description: Available national phone numbers + x-twilio: + defaultOutputProperties: + - phone_number + - region + - beta + pathType: list + parent: /Accounts/{AccountSid}/AvailablePhoneNumbers.json + get: + description: '' + operationId: ListAvailablePhoneNumberNational + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + requesting the AvailablePhoneNumber resources. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) + country code of the country from which to read phone numbers. + in: path + name: CountryCode + required: true + schema: + format: iso-country-code + type: string + - description: The area code of the phone numbers to read. Applies to only phone + numbers in the US and Canada. + in: query + name: AreaCode + schema: + type: integer + - description: The pattern on which to match phone numbers. Valid characters + are `*`, `0-9`, `a-z`, and `A-Z`. The `*` character matches any single digit. + For examples, see [Example 2](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-2) + and [Example 3](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-3). + If specified, this value must have at least two characters. + in: query + name: Contains + schema: + type: string + - description: 'Whether the phone numbers can receive text messages. Can be: + `true` or `false`.' + in: query + name: SmsEnabled + schema: + type: boolean + - description: 'Whether the phone numbers can receive MMS messages. Can be: + `true` or `false`.' + in: query + name: MmsEnabled + schema: + type: boolean + - description: 'Whether the phone numbers can receive calls. Can be: `true` + or `false`.' + in: query + name: VoiceEnabled + schema: + type: boolean + - description: 'Whether to exclude phone numbers that require an [Address](https://www.twilio.com/docs/usage/api/address). + Can be: `true` or `false` and the default is `false`.' + in: query + name: ExcludeAllAddressRequired + schema: + type: boolean + - description: 'Whether to exclude phone numbers that require a local [Address](https://www.twilio.com/docs/usage/api/address). + Can be: `true` or `false` and the default is `false`.' + in: query + name: ExcludeLocalAddressRequired + schema: + type: boolean + - description: 'Whether to exclude phone numbers that require a foreign [Address](https://www.twilio.com/docs/usage/api/address). + Can be: `true` or `false` and the default is `false`.' + in: query + name: ExcludeForeignAddressRequired + schema: + type: boolean + - description: 'Whether to read phone numbers that are new to the Twilio platform. + Can be: `true` or `false` and the default is `true`.' + in: query + name: Beta + schema: + type: boolean + - description: Given a phone number, find a geographically close number within + `distance` miles. Distance defaults to 25 miles. Applies to only phone numbers + in the US and Canada. + in: query + name: NearNumber + schema: + format: phone-number + type: string + - description: Given a latitude/longitude pair `lat,long` find geographically + close numbers within `distance` miles. Applies to only phone numbers in + the US and Canada. + in: query + name: NearLatLong + schema: + type: string + - description: The search radius, in miles, for a `near_` query. Can be up + to `500` and the default is `25`. Applies to only phone numbers in the US + and Canada. + in: query + name: Distance + schema: + type: integer + - description: Limit results to a particular postal code. Given a phone number, + search within the same postal code as that number. Applies to only phone + numbers in the US and Canada. + in: query + name: InPostalCode + schema: + type: string + - description: Limit results to a particular region, state, or province. Given + a phone number, search within the same region as that number. Applies to + only phone numbers in the US and Canada. + in: query + name: InRegion + schema: + type: string + - description: Limit results to a specific rate center, or given a phone number + search within the same rate center as that number. Requires `in_lata` to + be set as well. Applies to only phone numbers in the US and Canada. + in: query + name: InRateCenter + schema: + type: string + - description: Limit results to a specific local access and transport area ([LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area)). + Given a phone number, search within the same [LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area) + as that number. Applies to only phone numbers in the US and Canada. + in: query + name: InLata + schema: + type: string + - description: Limit results to a particular locality or city. Given a phone + number, search within the same Locality as that number. + in: query + name: InLocality + schema: + type: string + - description: 'Whether the phone numbers can receive faxes. Can be: `true` + or `false`.' + in: query + name: FaxEnabled + schema: + type: boolean + - 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListAvailablePhoneNumberNationalResponse + properties: + available_phone_numbers: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.available_phone_number_country.available_phone_number_national' + end: + type: integer + first_page_uri: + type: string + format: uri + next_page_uri: + type: string + format: uri + page: + type: integer + page_size: + type: integer + previous_page_uri: + type: string + format: uri + start: + type: integer + uri: + type: string + format: uri + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}/SharedCost.json: + servers: + - url: https://api.twilio.com + description: Available shared cost numbers + x-twilio: + defaultOutputProperties: + - phone_number + - region + - beta + pathType: list + parent: /Accounts/{AccountSid}/AvailablePhoneNumbers.json + get: + description: '' + operationId: ListAvailablePhoneNumberSharedCost + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + requesting the AvailablePhoneNumber resources. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) + country code of the country from which to read phone numbers. + in: path + name: CountryCode + required: true + schema: + format: iso-country-code + type: string + - description: The area code of the phone numbers to read. Applies to only phone + numbers in the US and Canada. + in: query + name: AreaCode + schema: + type: integer + - description: The pattern on which to match phone numbers. Valid characters + are `*`, `0-9`, `a-z`, and `A-Z`. The `*` character matches any single digit. + For examples, see [Example 2](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-2) + and [Example 3](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-3). + If specified, this value must have at least two characters. + in: query + name: Contains + schema: + type: string + - description: 'Whether the phone numbers can receive text messages. Can be: + `true` or `false`.' + in: query + name: SmsEnabled + schema: + type: boolean + - description: 'Whether the phone numbers can receive MMS messages. Can be: + `true` or `false`.' + in: query + name: MmsEnabled + schema: + type: boolean + - description: 'Whether the phone numbers can receive calls. Can be: `true` + or `false`.' + in: query + name: VoiceEnabled + schema: + type: boolean + - description: 'Whether to exclude phone numbers that require an [Address](https://www.twilio.com/docs/usage/api/address). + Can be: `true` or `false` and the default is `false`.' + in: query + name: ExcludeAllAddressRequired + schema: + type: boolean + - description: 'Whether to exclude phone numbers that require a local [Address](https://www.twilio.com/docs/usage/api/address). + Can be: `true` or `false` and the default is `false`.' + in: query + name: ExcludeLocalAddressRequired + schema: + type: boolean + - description: 'Whether to exclude phone numbers that require a foreign [Address](https://www.twilio.com/docs/usage/api/address). + Can be: `true` or `false` and the default is `false`.' + in: query + name: ExcludeForeignAddressRequired + schema: + type: boolean + - description: 'Whether to read phone numbers that are new to the Twilio platform. + Can be: `true` or `false` and the default is `true`.' + in: query + name: Beta + schema: + type: boolean + - description: Given a phone number, find a geographically close number within + `distance` miles. Distance defaults to 25 miles. Applies to only phone numbers + in the US and Canada. + in: query + name: NearNumber + schema: + format: phone-number + type: string + - description: Given a latitude/longitude pair `lat,long` find geographically + close numbers within `distance` miles. Applies to only phone numbers in + the US and Canada. + in: query + name: NearLatLong + schema: + type: string + - description: The search radius, in miles, for a `near_` query. Can be up + to `500` and the default is `25`. Applies to only phone numbers in the US + and Canada. + in: query + name: Distance + schema: + type: integer + - description: Limit results to a particular postal code. Given a phone number, + search within the same postal code as that number. Applies to only phone + numbers in the US and Canada. + in: query + name: InPostalCode + schema: + type: string + - description: Limit results to a particular region, state, or province. Given + a phone number, search within the same region as that number. Applies to + only phone numbers in the US and Canada. + in: query + name: InRegion + schema: + type: string + - description: Limit results to a specific rate center, or given a phone number + search within the same rate center as that number. Requires `in_lata` to + be set as well. Applies to only phone numbers in the US and Canada. + in: query + name: InRateCenter + schema: + type: string + - description: Limit results to a specific local access and transport area ([LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area)). + Given a phone number, search within the same [LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area) + as that number. Applies to only phone numbers in the US and Canada. + in: query + name: InLata + schema: + type: string + - description: Limit results to a particular locality or city. Given a phone + number, search within the same Locality as that number. + in: query + name: InLocality + schema: + type: string + - description: 'Whether the phone numbers can receive faxes. Can be: `true` + or `false`.' + in: query + name: FaxEnabled + schema: + type: boolean + - 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListAvailablePhoneNumberSharedCostResponse + properties: + available_phone_numbers: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.available_phone_number_country.available_phone_number_shared_cost' + end: + type: integer + first_page_uri: + type: string + format: uri + next_page_uri: + type: string + format: uri + page: + type: integer + page_size: + type: integer + previous_page_uri: + type: string + format: uri + start: + type: integer + uri: + type: string + format: uri + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}/TollFree.json: + servers: + - url: https://api.twilio.com + description: Available toll free phone numbers + x-twilio: + defaultOutputProperties: + - phone_number + - region + - beta + pathType: list + parent: /Accounts/{AccountSid}/AvailablePhoneNumbers.json + get: + description: '' + operationId: ListAvailablePhoneNumberTollFree + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + requesting the AvailablePhoneNumber resources. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) + country code of the country from which to read phone numbers. + in: path + name: CountryCode + required: true + schema: + format: iso-country-code + type: string + - description: The area code of the phone numbers to read. Applies to only phone + numbers in the US and Canada. + in: query + name: AreaCode + schema: + type: integer + - description: The pattern on which to match phone numbers. Valid characters + are `*`, `0-9`, `a-z`, and `A-Z`. The `*` character matches any single digit. + For examples, see [Example 2](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-2) + and [Example 3](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-3). + If specified, this value must have at least two characters. + in: query + name: Contains + schema: + type: string + - description: 'Whether the phone numbers can receive text messages. Can be: + `true` or `false`.' + in: query + name: SmsEnabled + schema: + type: boolean + - description: 'Whether the phone numbers can receive MMS messages. Can be: + `true` or `false`.' + in: query + name: MmsEnabled + schema: + type: boolean + - description: 'Whether the phone numbers can receive calls. Can be: `true` + or `false`.' + in: query + name: VoiceEnabled + schema: + type: boolean + - description: 'Whether to exclude phone numbers that require an [Address](https://www.twilio.com/docs/usage/api/address). + Can be: `true` or `false` and the default is `false`.' + in: query + name: ExcludeAllAddressRequired + schema: + type: boolean + - description: 'Whether to exclude phone numbers that require a local [Address](https://www.twilio.com/docs/usage/api/address). + Can be: `true` or `false` and the default is `false`.' + in: query + name: ExcludeLocalAddressRequired + schema: + type: boolean + - description: 'Whether to exclude phone numbers that require a foreign [Address](https://www.twilio.com/docs/usage/api/address). + Can be: `true` or `false` and the default is `false`.' + in: query + name: ExcludeForeignAddressRequired + schema: + type: boolean + - description: 'Whether to read phone numbers that are new to the Twilio platform. + Can be: `true` or `false` and the default is `true`.' + in: query + name: Beta + schema: + type: boolean + - description: Given a phone number, find a geographically close number within + `distance` miles. Distance defaults to 25 miles. Applies to only phone numbers + in the US and Canada. + in: query + name: NearNumber + schema: + format: phone-number + type: string + - description: Given a latitude/longitude pair `lat,long` find geographically + close numbers within `distance` miles. Applies to only phone numbers in + the US and Canada. + in: query + name: NearLatLong + schema: + type: string + - description: The search radius, in miles, for a `near_` query. Can be up + to `500` and the default is `25`. Applies to only phone numbers in the US + and Canada. + in: query + name: Distance + schema: + type: integer + - description: Limit results to a particular postal code. Given a phone number, + search within the same postal code as that number. Applies to only phone + numbers in the US and Canada. + in: query + name: InPostalCode + schema: + type: string + - description: Limit results to a particular region, state, or province. Given + a phone number, search within the same region as that number. Applies to + only phone numbers in the US and Canada. + in: query + name: InRegion + schema: + type: string + - description: Limit results to a specific rate center, or given a phone number + search within the same rate center as that number. Requires `in_lata` to + be set as well. Applies to only phone numbers in the US and Canada. + in: query + name: InRateCenter + schema: + type: string + - description: Limit results to a specific local access and transport area ([LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area)). + Given a phone number, search within the same [LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area) + as that number. Applies to only phone numbers in the US and Canada. + in: query + name: InLata + schema: + type: string + - description: Limit results to a particular locality or city. Given a phone + number, search within the same Locality as that number. + in: query + name: InLocality + schema: + type: string + - description: 'Whether the phone numbers can receive faxes. Can be: `true` + or `false`.' + in: query + name: FaxEnabled + schema: + type: boolean + - 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListAvailablePhoneNumberTollFreeResponse + properties: + available_phone_numbers: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.available_phone_number_country.available_phone_number_toll_free' + end: + type: integer + first_page_uri: + type: string + format: uri + next_page_uri: + type: string + format: uri + page: + type: integer + page_size: + type: integer + previous_page_uri: + type: string + format: uri + start: + type: integer + uri: + type: string + format: uri + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}/Voip.json: + servers: + - url: https://api.twilio.com + description: Available VoIP phone numbers + x-twilio: + defaultOutputProperties: + - phone_number + - region + - beta + pathType: list + parent: /Accounts/{AccountSid}/AvailablePhoneNumbers.json + get: + description: '' + operationId: ListAvailablePhoneNumberVoip + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + requesting the AvailablePhoneNumber resources. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) + country code of the country from which to read phone numbers. + in: path + name: CountryCode + required: true + schema: + format: iso-country-code + type: string + - description: The area code of the phone numbers to read. Applies to only phone + numbers in the US and Canada. + in: query + name: AreaCode + schema: + type: integer + - description: The pattern on which to match phone numbers. Valid characters + are `*`, `0-9`, `a-z`, and `A-Z`. The `*` character matches any single digit. + For examples, see [Example 2](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-2) + and [Example 3](https://www.twilio.com/docs/phone-numbers/api/availablephonenumber-resource#local-get-basic-example-3). + If specified, this value must have at least two characters. + in: query + name: Contains + schema: + type: string + - description: 'Whether the phone numbers can receive text messages. Can be: + `true` or `false`.' + in: query + name: SmsEnabled + schema: + type: boolean + - description: 'Whether the phone numbers can receive MMS messages. Can be: + `true` or `false`.' + in: query + name: MmsEnabled + schema: + type: boolean + - description: 'Whether the phone numbers can receive calls. Can be: `true` + or `false`.' + in: query + name: VoiceEnabled + schema: + type: boolean + - description: 'Whether to exclude phone numbers that require an [Address](https://www.twilio.com/docs/usage/api/address). + Can be: `true` or `false` and the default is `false`.' + in: query + name: ExcludeAllAddressRequired + schema: + type: boolean + - description: 'Whether to exclude phone numbers that require a local [Address](https://www.twilio.com/docs/usage/api/address). + Can be: `true` or `false` and the default is `false`.' + in: query + name: ExcludeLocalAddressRequired + schema: + type: boolean + - description: 'Whether to exclude phone numbers that require a foreign [Address](https://www.twilio.com/docs/usage/api/address). + Can be: `true` or `false` and the default is `false`.' + in: query + name: ExcludeForeignAddressRequired + schema: + type: boolean + - description: 'Whether to read phone numbers that are new to the Twilio platform. + Can be: `true` or `false` and the default is `true`.' + in: query + name: Beta + schema: + type: boolean + - description: Given a phone number, find a geographically close number within + `distance` miles. Distance defaults to 25 miles. Applies to only phone numbers + in the US and Canada. + in: query + name: NearNumber + schema: + format: phone-number + type: string + - description: Given a latitude/longitude pair `lat,long` find geographically + close numbers within `distance` miles. Applies to only phone numbers in + the US and Canada. + in: query + name: NearLatLong + schema: + type: string + - description: The search radius, in miles, for a `near_` query. Can be up + to `500` and the default is `25`. Applies to only phone numbers in the US + and Canada. + in: query + name: Distance + schema: + type: integer + - description: Limit results to a particular postal code. Given a phone number, + search within the same postal code as that number. Applies to only phone + numbers in the US and Canada. + in: query + name: InPostalCode + schema: + type: string + - description: Limit results to a particular region, state, or province. Given + a phone number, search within the same region as that number. Applies to + only phone numbers in the US and Canada. + in: query + name: InRegion + schema: + type: string + - description: Limit results to a specific rate center, or given a phone number + search within the same rate center as that number. Requires `in_lata` to + be set as well. Applies to only phone numbers in the US and Canada. + in: query + name: InRateCenter + schema: + type: string + - description: Limit results to a specific local access and transport area ([LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area)). + Given a phone number, search within the same [LATA](https://en.wikipedia.org/wiki/Local_access_and_transport_area) + as that number. Applies to only phone numbers in the US and Canada. + in: query + name: InLata + schema: + type: string + - description: Limit results to a particular locality or city. Given a phone + number, search within the same Locality as that number. + in: query + name: InLocality + schema: + type: string + - description: 'Whether the phone numbers can receive faxes. Can be: `true` + or `false`.' + in: query + name: FaxEnabled + schema: + type: boolean + - 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListAvailablePhoneNumberVoipResponse + properties: + available_phone_numbers: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.available_phone_number_country.available_phone_number_voip' + end: + type: integer + first_page_uri: + type: string + format: uri + next_page_uri: + type: string + format: uri + page: + type: integer + page_size: + type: integer + previous_page_uri: + type: string + format: uri + start: + type: integer + uri: + type: string + format: uri + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{AccountSid}/Balance.json: + servers: + - url: https://api.twilio.com + description: Account balance + x-twilio: + defaultOutputProperties: + - account_sid + - balance + - currency + pathType: list + parent: /Accounts.json + get: + description: Fetch the balance for an Account based on Account Sid. Balance + changes may not be reflected immediately. Child accounts do not contain balance + information + operationId: FetchBalance + parameters: + - description: The unique SID identifier of the Account. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.balance' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{AccountSid}/Calls.json: + servers: + - url: https://api.twilio.com + description: A Call is an object that represents a connection between a telephone + and Twilio. + x-twilio: + defaultOutputProperties: + - sid + - from + - to + - status + - start_time + pathType: list + parent: /Accounts.json + post: + description: Create a new outgoing call to phones, SIP-enabled endpoints or + Twilio Client connections + operationId: CreateCall + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that will create the resource. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + To: + description: The phone number, SIP address, or client identifier + to call. type: string - Parameter86.Name: - description: Parameter name + From: + description: The phone number or client identifier to use as the + caller id. If using a phone number, it must be a Twilio number + or a Verified [outgoing caller id](https://www.twilio.com/docs/voice/api/outgoing-caller-ids) + for your account. If the `to` parameter is a phone number, `From` + must also be a phone number. type: string - Parameter86.Value: - description: Parameter value + Method: + description: 'The HTTP method we should use when calling the `url` + parameter''s value. Can be: `GET` or `POST` and the default is + `POST`. If an `application_sid` parameter is present, this parameter + is ignored.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method type: string - Parameter87.Name: - description: Parameter name + FallbackUrl: + description: The URL that we call using the `fallback_method` if + an error occurs when requesting or executing the TwiML at `url`. + If an `application_sid` parameter is present, this parameter is + ignored. + format: uri type: string - Parameter87.Value: - description: Parameter value + FallbackMethod: + description: 'The HTTP method that we should use to request the + `fallback_url`. Can be: `GET` or `POST` and the default is `POST`. + If an `application_sid` parameter is present, this parameter is + ignored.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method type: string - Parameter88.Name: - description: Parameter name + StatusCallback: + description: The URL we should call using the `status_callback_method` + to send status information to your application. If no `status_callback_event` + is specified, we will send the `completed` status. If an `application_sid` + parameter is present, this parameter is ignored. URLs must contain + a valid hostname (underscores are not permitted). + format: uri type: string - Parameter88.Value: - description: Parameter value + StatusCallbackEvent: + type: array + items: + type: string + description: 'The call progress events that we will send to the + `status_callback` URL. Can be: `initiated`, `ringing`, `answered`, + and `completed`. If no event is specified, we send the `completed` + status. If you want to receive multiple events, specify each one + in a separate `status_callback_event` parameter. See the code + sample for [monitoring call progress](https://www.twilio.com/docs/voice/api/call-resource?code-sample=code-create-a-call-resource-and-specify-a-statuscallbackevent&code-sdk-version=json). + If an `application_sid` is present, this parameter is ignored.' + StatusCallbackMethod: + description: 'The HTTP method we should use when calling the `status_callback` + URL. Can be: `GET` or `POST` and the default is `POST`. If an + `application_sid` parameter is present, this parameter is ignored.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method type: string - Parameter89.Name: - description: Parameter name + SendDigits: + description: 'A string of keys to dial after connecting to the number, + maximum of 32 digits. Valid digits in the string include: any + digit (`0`-`9`), ''`#`'', ''`*`'' and ''`w`'', to insert a half + second pause. For example, if you connected to a company phone + number and wanted to pause for one second, and then dial extension + 1234 followed by the pound key, the value of this parameter would + be `ww1234#`. Remember to URL-encode this string, since the ''`#`'' + character has special meaning in a URL. If both `SendDigits` and + `MachineDetection` parameters are provided, then `MachineDetection` + will be ignored.' type: string - Parameter89.Value: - description: Parameter value + Timeout: + description: The integer number of seconds that we should allow + the phone to ring before assuming there is no answer. The default + is `60` seconds and the maximum is `600` seconds. For some call + flows, we will add a 5-second buffer to the timeout value you + provide. For this reason, a timeout value of 10 seconds could + result in an actual timeout closer to 15 seconds. You can set + this to a short time, such as `15` seconds, to hang up before + reaching an answering machine or voicemail. + type: integer + Record: + description: Whether to record the call. Can be `true` to record + the phone call, or `false` to not. The default is `false`. The + `recording_url` is sent to the `status_callback` URL. + type: boolean + RecordingChannels: + description: 'The number of channels in the final recording. Can + be: `mono` or `dual`. The default is `mono`. `mono` records both + legs of the call in a single channel of the recording file. `dual` + records each leg to a separate channel of the recording file. + The first channel of a dual-channel recording contains the parent + call and the second channel contains the child call.' type: string - Parameter9.Name: - description: Parameter name + RecordingStatusCallback: + description: The URL that we call when the recording is available + to be accessed. type: string - Parameter9.Value: - description: Parameter value + RecordingStatusCallbackMethod: + description: 'The HTTP method we should use when calling the `recording_status_callback` + URL. Can be: `GET` or `POST` and the default is `POST`.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method type: string - Parameter90.Name: - description: Parameter name + SipAuthUsername: + description: The username used to authenticate the caller making + a SIP call. type: string - Parameter90.Value: - description: Parameter value + SipAuthPassword: + description: The password required to authenticate the user account + specified in `sip_auth_username`. type: string - Parameter91.Name: - description: Parameter name + MachineDetection: + description: 'Whether to detect if a human, answering machine, or + fax has picked up the call. Can be: `Enable` or `DetectMessageEnd`. + Use `Enable` if you would like us to return `AnsweredBy` as soon + as the called party is identified. Use `DetectMessageEnd`, if + you would like to leave a message on an answering machine. If + `send_digits` is provided, this parameter is ignored. For more + information, see [Answering Machine Detection](https://www.twilio.com/docs/voice/answering-machine-detection).' type: string - Parameter91.Value: - description: Parameter value + MachineDetectionTimeout: + description: The number of seconds that we should attempt to detect + an answering machine before timing out and sending a voice request + with `AnsweredBy` of `unknown`. The default timeout is 30 seconds. + type: integer + RecordingStatusCallbackEvent: + type: array + items: + type: string + description: 'The recording status events that will trigger calls + to the URL specified in `recording_status_callback`. Can be: `in-progress`, + `completed` and `absent`. Defaults to `completed`. Separate multiple + values with a space.' + Trim: + description: 'Whether to trim any leading and trailing silence from + the recording. Can be: `trim-silence` or `do-not-trim` and the + default is `trim-silence`.' type: string - Parameter92.Name: - description: Parameter name + CallerId: + description: The phone number, SIP address, or Client identifier + that made this call. Phone numbers are in [E.164 format](https://wwnw.twilio.com/docs/glossary/what-e164) + (e.g., +16175551212). SIP addresses are formatted as `name@company.com`. type: string - Parameter92.Value: - description: Parameter value + MachineDetectionSpeechThreshold: + description: 'The number of milliseconds that is used as the measuring + stick for the length of the speech activity, where durations lower + than this value will be interpreted as a human and longer than + this value as a machine. Possible Values: 1000-6000. Default: + 2400.' + type: integer + MachineDetectionSpeechEndThreshold: + description: 'The number of milliseconds of silence after speech + activity at which point the speech activity is considered complete. + Possible Values: 500-5000. Default: 1200.' + type: integer + MachineDetectionSilenceTimeout: + description: 'The number of milliseconds of initial silence after + which an `unknown` AnsweredBy result will be returned. Possible + Values: 2000-10000. Default: 5000.' + type: integer + AsyncAmd: + description: 'Select whether to perform answering machine detection + in the background. Default, blocks the execution of the call until + Answering Machine Detection is completed. Can be: `true` or `false`.' type: string - Parameter93.Name: - description: Parameter name + AsyncAmdStatusCallback: + description: The URL that we should call using the `async_amd_status_callback_method` + to notify customer application whether the call was answered by + human, machine or fax. + format: uri type: string - Parameter93.Value: - description: Parameter value + AsyncAmdStatusCallbackMethod: + description: 'The HTTP method we should use when calling the `async_amd_status_callback` + URL. Can be: `GET` or `POST` and the default is `POST`.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method type: string - Parameter94.Name: - description: Parameter name + Byoc: type: string - Parameter94.Value: - description: Parameter value + minLength: 34 + maxLength: 34 + pattern: ^BY[0-9a-fA-F]{32}$ + description: The SID of a BYOC (Bring Your Own Carrier) trunk to + route this call with. Note that `byoc` is only meaningful when + `to` is a phone number; it will otherwise be ignored. (Beta) + CallReason: + description: The Reason for the outgoing call. Use it to specify + the purpose of the call that is presented on the called party's + phone. (Branded Calls Beta) type: string - Parameter95.Name: - description: Parameter name + CallToken: + description: A token string needed to invoke a forwarded call. A + call_token is generated when an incoming call is received on a + Twilio number. Pass an incoming call's call_token value to a forwarded + call via the call_token parameter when creating a new call. A + forwarded call should bear the same CallerID of the original incoming + call. type: string - Parameter95.Value: - description: Parameter value + RecordingTrack: + description: 'The audio track to record for the call. Can be: `inbound`, + `outbound` or `both`. The default is `both`. `inbound` records + the audio that is received by Twilio. `outbound` records the audio + that is generated from Twilio. `both` records the audio that is + received and generated by Twilio.' type: string - Parameter96.Name: - description: Parameter name + TimeLimit: + description: The maximum duration of the call in seconds. Constraints + depend on account and configuration. + type: integer + Url: + description: The absolute URL that returns the TwiML instructions + for the call. We will call this URL using the `method` when the + call connects. For more information, see the [Url Parameter](https://www.twilio.com/docs/voice/make-calls#specify-a-url-parameter) + section in [Making Calls](https://www.twilio.com/docs/voice/make-calls). + format: uri type: string - Parameter96.Value: - description: Parameter value + Twiml: + description: TwiML instructions for the call Twilio will use without + fetching Twiml from url parameter. If both `twiml` and `url` are + provided then `twiml` parameter will be ignored. Max 4000 characters. type: string - Parameter97.Name: - description: Parameter name + ApplicationSid: type: string - Parameter97.Value: - description: Parameter value + minLength: 34 + maxLength: 34 + pattern: ^AP[0-9a-fA-F]{32}$ + description: The SID of the Application resource that will handle + the call, if the call will be handled by an application. + required: + - To + - From + title: CreateCallRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.call' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + x-twilio: + conditional: + - - url + - twiml + - application_sid + get: + description: Retrieves a collection of calls made to and from your account + operationId: ListCall + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the Call resource(s) to read. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: Only show calls made to this phone number, SIP address, Client + identifier or SIM SID. + in: query + name: To + schema: + format: phone-number + type: string + - description: Only include calls from this phone number, SIP address, Client + identifier or SIM SID. + in: query + name: From + schema: + format: phone-number + type: string + - description: Only include calls spawned by calls with this SID. + in: query + name: ParentCallSid + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ + - description: 'The status of the calls to include. Can be: `queued`, `ringing`, + `in-progress`, `canceled`, `completed`, `failed`, `busy`, or `no-answer`.' + in: query + name: Status + schema: + type: string + enum: + - queued + - ringing + - in-progress + - completed + - busy + - failed + - no-answer + - canceled + - description: 'Only include calls that started on this date. Specify a date + as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read only calls that + started on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, + to read calls that started on or before midnight of this date, and `StartTime>=YYYY-MM-DD` + to read calls that started on or after midnight of this date.' + in: query + name: StartTime + schema: + type: string + format: date-time + - description: 'Only include calls that started on this date. Specify a date + as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read only calls that + started on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, + to read calls that started on or before midnight of this date, and `StartTime>=YYYY-MM-DD` + to read calls that started on or after midnight of this date.' + in: query + name: StartTime< + schema: + type: string + format: date-time + - description: 'Only include calls that started on this date. Specify a date + as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read only calls that + started on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, + to read calls that started on or before midnight of this date, and `StartTime>=YYYY-MM-DD` + to read calls that started on or after midnight of this date.' + in: query + name: StartTime> + schema: + type: string + format: date-time + - description: 'Only include calls that ended on this date. Specify a date as + `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read only calls that + ended on this date. You can also specify an inequality, such as `EndTime<=YYYY-MM-DD`, + to read calls that ended on or before midnight of this date, and `EndTime>=YYYY-MM-DD` + to read calls that ended on or after midnight of this date.' + in: query + name: EndTime + schema: + type: string + format: date-time + - description: 'Only include calls that ended on this date. Specify a date as + `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read only calls that + ended on this date. You can also specify an inequality, such as `EndTime<=YYYY-MM-DD`, + to read calls that ended on or before midnight of this date, and `EndTime>=YYYY-MM-DD` + to read calls that ended on or after midnight of this date.' + in: query + name: EndTime< + schema: + type: string + format: date-time + - description: 'Only include calls that ended on this date. Specify a date as + `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read only calls that + ended on this date. You can also specify an inequality, such as `EndTime<=YYYY-MM-DD`, + to read calls that ended on or before midnight of this date, and `EndTime>=YYYY-MM-DD` + to read calls that ended on or after midnight of this date.' + in: query + name: EndTime> + schema: + type: string + format: date-time + - 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListCallResponse + properties: + calls: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.call' + end: + type: integer + first_page_uri: + type: string + format: uri + next_page_uri: + type: string + format: uri + page: + type: integer + page_size: + type: integer + previous_page_uri: + type: string + format: uri + start: + type: integer + uri: + type: string + format: uri + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{AccountSid}/Calls/{Sid}.json: + servers: + - url: https://api.twilio.com + description: A Call is an object that represents a connection between a telephone + and Twilio. + x-twilio: + defaultOutputProperties: + - sid + - from + - to + - status + - start_time + pathType: instance + parent: /Accounts.json + delete: + description: Delete a Call record from your account. Once the record is deleted, + it will no longer appear in the API and Account Portal logs. + operationId: DeleteCall + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the Call resource(s) to delete. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The Twilio-provided Call SID that uniquely identifies the Call + resource to delete + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + get: + description: Fetch the call specified by the provided Call SID + operationId: FetchCall + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the Call resource(s) to fetch. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The SID of the Call resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.call' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + post: + description: Initiates a call redirect or terminates a call + operationId: UpdateCall + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the Call resource(s) to update. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Call + resource to update + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Url: + description: The absolute URL that returns the TwiML instructions + for the call. We will call this URL using the `method` when the + call connects. For more information, see the [Url Parameter](https://www.twilio.com/docs/voice/make-calls#specify-a-url-parameter) + section in [Making Calls](https://www.twilio.com/docs/voice/make-calls). + format: uri type: string - Parameter98.Name: - description: Parameter name + Method: + description: 'The HTTP method we should use when calling the `url`. + Can be: `GET` or `POST` and the default is `POST`. If an `application_sid` + parameter is present, this parameter is ignored.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method type: string - Parameter98.Value: - description: Parameter value + Status: type: string - Parameter99.Name: - description: Parameter name + enum: + - canceled + - completed + description: 'The new status of the resource. Can be: `canceled` + or `completed`. Specifying `canceled` will attempt to hang up + calls that are queued or ringing; however, it will not affect + calls already in progress. Specifying `completed` will attempt + to hang up a call even if it''s already in progress.' + FallbackUrl: + description: The URL that we call using the `fallback_method` if + an error occurs when requesting or executing the TwiML at `url`. + If an `application_sid` parameter is present, this parameter is + ignored. + format: uri type: string - Parameter99.Value: - description: Parameter value + FallbackMethod: + description: 'The HTTP method that we should use to request the + `fallback_url`. Can be: `GET` or `POST` and the default is `POST`. + If an `application_sid` parameter is present, this parameter is + ignored.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method type: string StatusCallback: - description: Absolute URL of the status callback. + description: The URL we should call using the `status_callback_method` + to send status information to your application. If no `status_callback_event` + is specified, we will send the `completed` status. If an `application_sid` + parameter is present, this parameter is ignored. URLs must contain + a valid hostname (underscores are not permitted). format: uri type: string StatusCallbackMethod: - description: The http method for the status_callback (one of GET, - POST). + description: 'The HTTP method we should use when requesting the + `status_callback` URL. Can be: `GET` or `POST` and the default + is `POST`. If an `application_sid` parameter is present, this + parameter is ignored.' enum: - HEAD - GET @@ -13697,496 +11348,498 @@ paths: - DELETE format: http-method type: string - Track: - description: One of `inbound_track`, `outbound_track`, `both_tracks`. - enum: - - inbound_track - - outbound_track - - both_tracks - type: string - Url: - description: Relative or absolute url where WebSocket connection - will be established. - format: uri + Twiml: + description: TwiML instructions for the call Twilio will use without + fetching Twiml from url. Twiml and url parameters are mutually + exclusive type: string - required: - - Url - title: CreateStreamRequest + TimeLimit: + description: The maximum duration of the call in seconds. Constraints + depend on account and configuration. + type: integer + title: UpdateCallRequest type: object responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.call.stream' - description: Created + $ref: '#/components/schemas/api.v2010.account.call' + description: OK security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Events.json: servers: - url: https://api.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - - call_sid - - name - parent: /Accounts/{AccountSid}/Calls.json + - request + - response pathType: list - /2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Streams/{Sid}.json: - description: 'TODO: Resource-level docs' - post: - description: Stop a Stream using either the SID of the Stream resource or the - `name` used when creating the resource - operationId: UpdateStream + parent: /Accounts/{AccountSid}/Calls.json + get: + description: Retrieve a list of all events for a call. + operationId: ListCallEvent parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created this Stream resource. + - description: The unique SID identifier of the Account. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The SID of the [Call](https://www.twilio.com/docs/voice/api/call-resource) - the Stream resource is associated with. + - description: The unique SID identifier of the Call. in: path name: CallSid required: true schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ + - 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListCallEventResponse + properties: + events: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.call.call_event' + end: + type: integer + first_page_uri: + type: string + format: uri + next_page_uri: + type: string + format: uri + page: + type: integer + page_size: + type: integer + previous_page_uri: + type: string + format: uri + start: + type: integer + uri: + type: string + format: uri + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Feedback.json: + servers: + - url: https://api.twilio.com + description: The call Feedback subresource describes the quality experienced during + a phone call. + x-twilio: + defaultOutputProperties: + - sid + - quality_score + - date_created + pathType: instance + parent: /Accounts/{AccountSid}/Calls.json + get: + description: Fetch a Feedback resource from a call + operationId: FetchCallFeedback + parameters: + - description: The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) + responsible for this resource. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The call sid that uniquely identifies the call + in: path + name: CallSid + required: true + schema: + type: string minLength: 34 + maxLength: 34 pattern: ^CA[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.call.call_feedback' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + post: + description: Update a Feedback resource for a call + operationId: UpdateCallFeedback + parameters: + - description: The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) + responsible for this resource. + in: path + name: AccountSid + required: true + schema: type: string - - description: The SID of the Stream resource, or the `name` used when creating - the resource + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The call sid that uniquely identifies the call + in: path + name: CallSid + required: true + schema: + type: string + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + QualityScore: + description: The call quality expressed as an integer from `1` to + `5` where `1` represents very poor call quality and `5` represents + a perfect call. + type: integer + Issue: + type: array + items: + type: string + enum: + - audio-latency + - digits-not-captured + - dropped-call + - imperfect-audio + - incorrect-caller-id + - one-way-audio + - post-dial-delay + - unsolicited-call + description: 'One or more issues experienced during the call. The + issues can be: `imperfect-audio`, `dropped-call`, `incorrect-caller-id`, + `post-dial-delay`, `digits-not-captured`, `audio-latency`, `unsolicited-call`, + or `one-way-audio`.' + title: UpdateCallFeedbackRequest + type: object + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.call.call_feedback' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{AccountSid}/Calls/FeedbackSummary.json: + servers: + - url: https://api.twilio.com + description: Call FeedbackSummary resources provide an idea of how your end user's + perceive the quality of their calls and the most common issues they have encountered + in the context of all your voice traffic during a specific time frame. + x-twilio: + defaultOutputProperties: + - sid + - call_feedback_count + - quality_score_average + - start_date + pathType: list + parent: /Accounts/{AccountSid}/Calls.json + post: + description: Create a FeedbackSummary resource for a call + operationId: CreateCallFeedbackSummary + parameters: + - description: The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) + responsible for this resource. in: path - name: Sid + name: AccountSid required: true schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - Status: - description: The status. Must have the value `stopped` + StartDate: + description: Only include feedback given on or after this date. + Format is `YYYY-MM-DD` and specified in UTC. + format: date + type: string + EndDate: + description: Only include feedback given on or before this date. + Format is `YYYY-MM-DD` and specified in UTC. + format: date + type: string + IncludeSubaccounts: + description: Whether to also include Feedback resources from all + subaccounts. `true` includes feedback from all subaccounts and + `false`, the default, includes feedback from only the specified + account. + type: boolean + StatusCallback: + description: The URL that we will request when the feedback summary + is complete. + format: uri + type: string + StatusCallbackMethod: + description: The HTTP method (`GET` or `POST`) we use to make the + request to the `StatusCallback` URL. enum: - - stopped + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method type: string required: - - Status - title: UpdateStreamRequest + - StartDate + - EndDate + title: CreateCallFeedbackSummaryRequest type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.call.stream' - description: OK + $ref: '#/components/schemas/api.v2010.account.call.call_feedback_summary' + description: Created security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/Calls/FeedbackSummary/{Sid}.json: servers: - url: https://api.twilio.com + description: Call FeedbackSummary resources provide an idea of how your end user's + perceive the quality of their calls and the most common issues they have encountered + in the context of all your voice traffic during a specific time frame. x-twilio: defaultOutputProperties: - - call_sid - - name - parent: /Accounts/{AccountSid}/Calls.json + - sid + - call_feedback_count + - quality_score_average + - start_date pathType: instance - /2010-04-01/Accounts/{AccountSid}/Calls/{Sid}.json: - delete: - description: Delete a Call record from your account. Once the record is deleted, - it will no longer appear in the API and Account Portal logs. - operationId: DeleteCall + parent: /Accounts/{AccountSid}/Calls.json + get: + description: Fetch a FeedbackSummary resource from a call + operationId: FetchCallFeedbackSummary parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Call resource(s) to delete. + - description: The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) + responsible for this resource. in: path name: AccountSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ type: string - - description: The Twilio-provided Call SID that uniquely identifies the Call - resource to delete - in: path - name: Sid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^CA[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: A Call is an object that represents a connection between a telephone - and Twilio. - get: - description: Fetch the call specified by the provided Call SID - operationId: FetchCall - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Call resource(s) to fetch. - in: path - name: AccountSid - required: true - schema: maxLength: 34 - minLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Call resource to fetch. + - description: A 34 character string that uniquely identifies this resource. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^CA[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^FS[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.call' + $ref: '#/components/schemas/api.v2010.account.call.call_feedback_summary' description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: Initiates a call redirect or terminates a call - operationId: UpdateCall + delete: + description: Delete a FeedbackSummary resource from a call + operationId: DeleteCallFeedbackSummary parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Call resource(s) to update. + - description: The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) + responsible for this resource. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Call - resource to update + - description: A 34 character string that uniquely identifies this resource. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^CA[0-9a-fA-F]{32}$ type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - FallbackMethod: - description: 'The HTTP method that we should use to request the - `fallback_url`. Can be: `GET` or `POST` and the default is `POST`. - If an `application_sid` parameter is present, this parameter is - ignored.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - FallbackUrl: - description: The URL that we call using the `fallback_method` if - an error occurs when requesting or executing the TwiML at `url`. - If an `application_sid` parameter is present, this parameter is - ignored. - format: uri - type: string - Method: - description: 'The HTTP method we should use when calling the `url`. - Can be: `GET` or `POST` and the default is `POST`. If an `application_sid` - parameter is present, this parameter is ignored.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - Status: - description: 'The new status of the resource. Can be: `canceled` - or `completed`. Specifying `canceled` will attempt to hang up - calls that are queued or ringing; however, it will not affect - calls already in progress. Specifying `completed` will attempt - to hang up a call even if it''s already in progress.' - enum: - - canceled - - completed - type: string - StatusCallback: - description: The URL we should call using the `status_callback_method` - to send status information to your application. If no `status_callback_event` - is specified, we will send the `completed` status. If an `application_sid` - parameter is present, this parameter is ignored. URLs must contain - a valid hostname (underscores are not permitted). - format: uri - type: string - StatusCallbackMethod: - description: 'The HTTP method we should use when requesting the - `status_callback` URL. Can be: `GET` or `POST` and the default - is `POST`. If an `application_sid` parameter is present, this - parameter is ignored.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - TimeLimit: - description: The maximum duration of the call in seconds. Constraints - depend on account and configuration. - type: integer - Twiml: - description: TwiML instructions for the call Twilio will use without - fetching Twiml from url. Twiml and url parameters are mutually - exclusive - type: string - Url: - description: The absolute URL that returns the TwiML instructions - for the call. We will call this URL using the `method` when the - call connects. For more information, see the [Url Parameter](https://www.twilio.com/docs/voice/make-calls#specify-a-url-parameter) - section in [Making Calls](https://www.twilio.com/docs/voice/make-calls). - format: uri - type: string - title: UpdateCallRequest - type: object + minLength: 34 + maxLength: 34 + pattern: ^FS[0-9a-fA-F]{32}$ responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.call' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Notifications/{Sid}.json: servers: - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - from - - to - - status - - start_time - parent: /Accounts.json + description: Error notifications for calls + x-twilio: + defaultOutputProperties: + - sid + - call_sid + - error_code + - message_date pathType: instance - /2010-04-01/Accounts/{AccountSid}/Conferences.json: - description: Voice call conferences + parent: /Accounts/{AccountSid}/Calls.json get: - description: Retrieve a list of conferences belonging to the account used to - make the request - operationId: ListConference + description: '' + operationId: FetchCallNotification parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Conference resource(s) to read. + that created the Call Notification resource to fetch. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The `date_created` value, specified as `YYYY-MM-DD`, of the resources - to read. To read conferences that started on or before midnight on a date, - use `<=YYYY-MM-DD`, and to specify conferences that started on or after - midnight on a date, use `>=YYYY-MM-DD`. - in: query - name: DateCreated - schema: - format: date - type: string - - description: The `date_created` value, specified as `YYYY-MM-DD`, of the resources - to read. To read conferences that started on or before midnight on a date, - use `<=YYYY-MM-DD`, and to specify conferences that started on or after - midnight on a date, use `>=YYYY-MM-DD`. - in: query - name: DateCreated< - schema: - format: date - type: string - - description: The `date_created` value, specified as `YYYY-MM-DD`, of the resources - to read. To read conferences that started on or before midnight on a date, - use `<=YYYY-MM-DD`, and to specify conferences that started on or after - midnight on a date, use `>=YYYY-MM-DD`. - in: query - name: DateCreated> - schema: - format: date - type: string - - description: The `date_updated` value, specified as `YYYY-MM-DD`, of the resources - to read. To read conferences that were last updated on or before midnight - on a date, use `<=YYYY-MM-DD`, and to specify conferences that were last - updated on or after midnight on a given date, use `>=YYYY-MM-DD`. - in: query - name: DateUpdated - schema: - format: date - type: string - - description: The `date_updated` value, specified as `YYYY-MM-DD`, of the resources - to read. To read conferences that were last updated on or before midnight - on a date, use `<=YYYY-MM-DD`, and to specify conferences that were last - updated on or after midnight on a given date, use `>=YYYY-MM-DD`. - in: query - name: DateUpdated< - schema: - format: date - type: string - - description: The `date_updated` value, specified as `YYYY-MM-DD`, of the resources - to read. To read conferences that were last updated on or before midnight - on a date, use `<=YYYY-MM-DD`, and to specify conferences that were last - updated on or after midnight on a given date, use `>=YYYY-MM-DD`. - in: query - name: DateUpdated> - schema: - format: date - type: string - - description: The string that identifies the Conference resources to read. - in: query - name: FriendlyName + - description: The [Call](https://www.twilio.com/docs/voice/api/call-resource) + SID of the Call Notification resource to fetch. + in: path + name: CallSid + required: true schema: type: string - - description: 'The status of the resources to read. Can be: `init`, `in-progress`, - or `completed`.' - in: query - name: Status + minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Call + Notification resource to fetch. + in: path + name: Sid + required: true schema: - enum: - - init - - in-progress - - completed 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 + minLength: 34 + maxLength: 34 + pattern: ^NO[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - properties: - conferences: - items: - $ref: '#/components/schemas/api.v2010.account.conference' - type: array - end: - type: integer - first_page_uri: - format: uri - type: string - next_page_uri: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_uri: - format: uri - type: string - start: - type: integer - uri: - format: uri - type: string - title: ListConferenceResponse - type: object + $ref: '#/components/schemas/api.v2010.account.call.call_notification-instance' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Notifications.json: servers: - url: https://api.twilio.com + description: Error notifications for calls x-twilio: defaultOutputProperties: - sid - - friendly_name - - status - parent: /Accounts.json + - call_sid + - error_code + - message_date pathType: list - /2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Participants.json: - description: Conference participants + parent: /Accounts/{AccountSid}/Calls.json get: - description: Retrieve a list of participants belonging to the account used to - make the request - operationId: ListParticipant + description: '' + operationId: ListCallNotification parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Participant resources to read. + that created the Call Notification resources to read. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The SID of the conference with the participants to read. + - description: The [Call](https://www.twilio.com/docs/voice/api/call-resource) + SID of the Call Notification resources to read. in: path - name: ConferenceSid + name: CallSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^CF[0-9a-fA-F]{32}$ type: string - - description: 'Whether to return only participants that are muted. Can be: - `true` or `false`.' + minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ + - description: 'Only read notifications of the specified log level. Can be: `0` + to read only ERROR notifications or `1` to read only WARNING notifications. + By default, all notifications are read.' in: query - name: Muted + name: Log schema: - type: boolean - - description: 'Whether to return only participants that are on hold. Can be: - `true` or `false`.' + type: integer + - description: Only show notifications for the specified date, formatted as + `YYYY-MM-DD`. You can also specify an inequality, such as `<=YYYY-MM-DD` + for messages logged at or before midnight on a date, or `>=YYYY-MM-DD` for + messages logged at or after midnight on a date. in: query - name: Hold + name: MessageDate schema: - type: boolean - - description: 'Whether to return only participants who are coaching another - call. Can be: `true` or `false`.' + format: date + type: string + - description: Only show notifications for the specified date, formatted as + `YYYY-MM-DD`. You can also specify an inequality, such as `<=YYYY-MM-DD` + for messages logged at or before midnight on a date, or `>=YYYY-MM-DD` for + messages logged at or after midnight on a date. in: query - name: Coaching + name: MessageDate< schema: - type: boolean + format: date + type: string + - description: Only show notifications for the specified date, formatted as + `YYYY-MM-DD`. You can also specify an inequality, such as `<=YYYY-MM-DD` + for messages logged at or before midnight on a date, or `>=YYYY-MM-DD` for + messages logged at or after midnight on a date. + in: query + name: MessageDate> + schema: + format: date + type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -14200,41 +11853,55 @@ paths: content: application/json: schema: + type: object + title: ListCallNotificationResponse properties: + notifications: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.call.call_notification' end: type: integer first_page_uri: - format: uri type: string - next_page_uri: format: uri + next_page_uri: type: string + format: uri page: type: integer page_size: type: integer - participants: - items: - $ref: '#/components/schemas/api.v2010.account.conference.participant' - type: array previous_page_uri: - format: uri type: string + format: uri start: type: integer uri: - format: uri type: string - title: ListParticipantResponse - type: object + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Recordings.json: + servers: + - url: https://api.twilio.com + description: A Recording resource represents the recording associated with a voice + call, conference, or SIP Trunk. + x-twilio: + defaultOutputProperties: + - sid + - call_sid + - status + - start_time + - duration + pathType: list + parent: /Accounts/{AccountSid}/Calls.json post: - description: '' - operationId: CreateParticipant + description: Create a recording for the call + operationId: CreateCallRecording parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource. @@ -14242,274 +11909,42 @@ paths: name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The SID of the participant's conference. + - description: The SID of the [Call](https://www.twilio.com/docs/voice/api/call-resource) + to associate the resource with. in: path - name: ConferenceSid + name: CallSid required: true schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - Beep: - description: 'Whether to play a notification beep to the conference - when the participant joins. Can be: `true`, `false`, `onEnter`, - or `onExit`. The default value is `true`.' - type: string - Byoc: - description: The SID of a BYOC (Bring Your Own Carrier) trunk to - route this call with. Note that `byoc` is only meaningful when - `to` is a phone number; it will otherwise be ignored. (Beta) - maxLength: 34 - minLength: 34 - pattern: ^BY[0-9a-fA-F]{32}$ - type: string - CallReason: - description: The Reason for the outgoing call. Use it to specify - the purpose of the call that is presented on the called party's - phone. (Branded Calls Beta) - type: string - CallSidToCoach: - description: The SID of the participant who is being `coached`. - The participant being coached is the only participant who can - hear the participant who is `coaching`. - maxLength: 34 - minLength: 34 - pattern: ^CA[0-9a-fA-F]{32}$ - type: string - CallerId: - description: The phone number, Client identifier, or username portion - of SIP address that made this call. Phone numbers are in [E.164](https://www.twilio.com/docs/glossary/what-e164) - format (e.g., +16175551212). Client identifiers are formatted - `client:name`. If using a phone number, it must be a Twilio number - or a Verified [outgoing caller id](https://www.twilio.com/docs/voice/api/outgoing-caller-ids) - for your account. If the `to` parameter is a phone number, `callerId` - must also be a phone number. If `to` is sip address, this value - of `callerId` should be a username portion to be used to populate - the From header that is passed to the SIP endpoint. - type: string - Coaching: - description: 'Whether the participant is coaching another call. - Can be: `true` or `false`. If not present, defaults to `false` - unless `call_sid_to_coach` is defined. If `true`, `call_sid_to_coach` - must be defined.' - type: boolean - ConferenceRecord: - description: 'Whether to record the conference the participant is - joining. Can be: `true`, `false`, `record-from-start`, and `do-not-record`. - The default value is `false`.' - type: string - ConferenceRecordingStatusCallback: - description: The URL we should call using the `conference_recording_status_callback_method` - when the conference recording is available. - format: uri - type: string - ConferenceRecordingStatusCallbackEvent: - description: 'The conference recording state changes that generate - a call to `conference_recording_status_callback`. Can be: `in-progress`, - `completed`, `failed`, and `absent`. Separate multiple values - with a space, ex: `''in-progress completed failed''`' - items: - type: string - type: array - ConferenceRecordingStatusCallbackMethod: - description: 'The HTTP method we should use to call `conference_recording_status_callback`. - Can be: `GET` or `POST` and defaults to `POST`.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - ConferenceStatusCallback: - description: The URL we should call using the `conference_status_callback_method` - when the conference events in `conference_status_callback_event` - occur. Only the value set by the first participant to join the - conference is used. Subsequent `conference_status_callback` values - are ignored. - format: uri - type: string - ConferenceStatusCallbackEvent: - description: 'The conference state changes that should generate - a call to `conference_status_callback`. Can be: `start`, `end`, - `join`, `leave`, `mute`, `hold`, `modify`, `speaker`, and `announcement`. - Separate multiple values with a space. Defaults to `start end`.' - items: - type: string - type: array - ConferenceStatusCallbackMethod: - description: 'The HTTP method we should use to call `conference_status_callback`. - Can be: `GET` or `POST` and defaults to `POST`.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - ConferenceTrim: - description: 'Whether to trim leading and trailing silence from - your recorded conference audio files. Can be: `trim-silence` or - `do-not-trim` and defaults to `trim-silence`.' - type: string - EarlyMedia: - description: 'Whether to allow an agent to hear the state of the - outbound call, including ringing or disconnect messages. Can be: - `true` or `false` and defaults to `true`.' - type: boolean - EndConferenceOnExit: - description: 'Whether to end the conference when the participant - leaves. Can be: `true` or `false` and defaults to `false`.' - type: boolean - From: - description: The phone number, Client identifier, or username portion - of SIP address that made this call. Phone numbers are in [E.164](https://www.twilio.com/docs/glossary/what-e164) - format (e.g., +16175551212). Client identifiers are formatted - `client:name`. If using a phone number, it must be a Twilio number - or a Verified [outgoing caller id](https://www.twilio.com/docs/voice/api/outgoing-caller-ids) - for your account. If the `to` parameter is a phone number, `from` - must also be a phone number. If `to` is sip address, this value - of `from` should be a username portion to be used to populate - the P-Asserted-Identity header that is passed to the SIP endpoint. - type: string - JitterBufferSize: - description: 'Jitter buffer size for the connecting participant. - Twilio will use this setting to apply Jitter Buffer before participant''s - audio is mixed into the conference. Can be: `off`, `small`, `medium`, - and `large`. Default to `large`.' - type: string - Label: - description: A label for this participant. If one is supplied, it - may subsequently be used to fetch, update or delete the participant. - type: string - MaxParticipants: - description: The maximum number of participants in the conference. - Can be a positive integer from `2` to `250`. The default value - is `250`. - type: integer - Muted: - description: Whether the agent is muted in the conference. Can be - `true` or `false` and the default is `false`. - type: boolean - Record: - description: Whether to record the participant and their conferences, - including the time between conferences. Can be `true` or `false` - and the default is `false`. - type: boolean - RecordingChannels: - description: 'The recording channels for the final recording. Can - be: `mono` or `dual` and the default is `mono`.' - type: string - RecordingStatusCallback: - description: The URL that we should call using the `recording_status_callback_method` - when the recording status changes. - format: uri - type: string RecordingStatusCallbackEvent: - description: 'The recording state changes that should generate a - call to `recording_status_callback`. Can be: `started`, `in-progress`, - `paused`, `resumed`, `stopped`, `completed`, `failed`, and `absent`. - Separate multiple values with a space, ex: `''in-progress completed - failed''`.' - items: - type: string type: array - RecordingStatusCallbackMethod: - description: 'The HTTP method we should use when we call `recording_status_callback`. - Can be: `GET` or `POST` and defaults to `POST`.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - RecordingTrack: - description: 'The audio track to record for the call. Can be: `inbound`, - `outbound` or `both`. The default is `both`. `inbound` records - the audio that is received by Twilio. `outbound` records the audio - that is sent from Twilio. `both` records the audio that is received - and sent by Twilio.' - type: string - Region: - description: The [region](https://support.twilio.com/hc/en-us/articles/223132167-How-global-low-latency-routing-and-region-selection-work-for-conferences-and-Client-calls) - where we should mix the recorded audio. Can be:`us1`, `ie1`, `de1`, - `sg1`, `br1`, `au1`, or `jp1`. - type: string - SipAuthPassword: - description: The SIP password for authentication. - type: string - SipAuthUsername: - description: The SIP username used for authentication. - type: string - StartConferenceOnEnter: - description: 'Whether to start the conference when the participant - joins, if it has not already started. Can be: `true` or `false` - and the default is `true`. If `false` and the conference has not - started, the participant is muted and hears background music until - another participant starts the conference.' - type: boolean - StatusCallback: - description: The URL we should call using the `status_callback_method` - to send status information to your application. - format: uri - type: string - StatusCallbackEvent: - description: 'The conference state changes that should generate - a call to `status_callback`. Can be: `initiated`, `ringing`, `answered`, - and `completed`. Separate multiple values with a space. The default - value is `completed`.' items: type: string - type: array - StatusCallbackMethod: - description: 'The HTTP method we should use to call `status_callback`. - Can be: `GET` and `POST` and defaults to `POST`.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - TimeLimit: - description: The maximum duration of the call in seconds. Constraints - depend on account and configuration. - type: integer - Timeout: - description: The number of seconds that we should allow the phone - to ring before assuming there is no answer. Can be an integer - between `5` and `600`, inclusive. The default value is `60`. We - always add a 5-second timeout buffer to outgoing calls, so value - of 10 would result in an actual timeout that was closer to 15 - seconds. - type: integer - To: - description: The phone number, SIP address, or Client identifier - that received this call. Phone numbers are in [E.164](https://www.twilio.com/docs/glossary/what-e164) - format (e.g., +16175551212). SIP addresses are formatted as `sip:name@company.com`. - Client identifiers are formatted `client:name`. [Custom parameters](https://www.twilio.com/docs/voice/api/conference-participant-resource#custom-parameters) - may also be specified. + description: 'The recording status events on which we should call + the `recording_status_callback` URL. Can be: `in-progress`, `completed` + and `absent` and the default is `completed`. Separate multiple + event values with a space.' + RecordingStatusCallback: + description: The URL we should call using the `recording_status_callback_method` + on each recording event specified in `recording_status_callback_event`. + For more information, see [RecordingStatusCallback parameters](https://www.twilio.com/docs/voice/api/recording#recordingstatuscallback). + format: uri type: string - WaitMethod: - description: The HTTP method we should use to call `wait_url`. Can - be `GET` or `POST` and the default is `POST`. When using a static - audio file, this should be `GET` so that we can cache the file. + RecordingStatusCallbackMethod: + description: 'The HTTP method we should use to call `recording_status_callback`. + Can be: `GET` or `POST` and the default is `POST`.' enum: - HEAD - GET @@ -14519,73 +11954,303 @@ paths: - DELETE format: http-method type: string - WaitUrl: - description: The URL we should call using the `wait_method` for - the music to play while participants are waiting for the conference - to start. The default value is the URL of our standard hold music. - [Learn more about hold music](https://www.twilio.com/labs/twimlets/holdmusic). - format: uri + Trim: + description: 'Whether to trim any leading and trailing silence in + the recording. Can be: `trim-silence` or `do-not-trim` and the + default is `do-not-trim`. `trim-silence` trims the silence from + the beginning and end of the recording and `do-not-trim` does + not.' + type: string + RecordingChannels: + description: 'The number of channels used in the recording. Can + be: `mono` or `dual` and the default is `mono`. `mono` records + all parties of the call into one channel. `dual` records each + party of a 2-party call into separate channels.' + type: string + RecordingTrack: + description: 'The audio track to record for the call. Can be: `inbound`, + `outbound` or `both`. The default is `both`. `inbound` records + the audio that is received by Twilio. `outbound` records the audio + that is generated from Twilio. `both` records the audio that is + received and generated by Twilio.' + type: string + title: CreateCallRecordingRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.call.call_recording' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + get: + description: Retrieve a list of recordings belonging to the call used to make + the request + operationId: ListCallRecording + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the Recording resources to read. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The [Call](https://www.twilio.com/docs/voice/api/call-resource) + SID of the resources to read. + in: path + name: CallSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ + - description: 'The `date_created` value, specified as `YYYY-MM-DD`, of the + resources to read. You can also specify inequality: `DateCreated<=YYYY-MM-DD` + will return recordings generated at or before midnight on a given date, + and `DateCreated>=YYYY-MM-DD` returns recordings generated at or after midnight + on a date.' + in: query + name: DateCreated + schema: + format: date + type: string + - description: 'The `date_created` value, specified as `YYYY-MM-DD`, of the + resources to read. You can also specify inequality: `DateCreated<=YYYY-MM-DD` + will return recordings generated at or before midnight on a given date, + and `DateCreated>=YYYY-MM-DD` returns recordings generated at or after midnight + on a date.' + in: query + name: DateCreated< + schema: + format: date + type: string + - description: 'The `date_created` value, specified as `YYYY-MM-DD`, of the + resources to read. You can also specify inequality: `DateCreated<=YYYY-MM-DD` + will return recordings generated at or before midnight on a given date, + and `DateCreated>=YYYY-MM-DD` returns recordings generated at or after midnight + on a date.' + in: query + name: DateCreated> + schema: + format: date + 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListCallRecordingResponse + properties: + recordings: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.call.call_recording' + end: + type: integer + first_page_uri: + type: string + format: uri + next_page_uri: + type: string + format: uri + page: + type: integer + page_size: + type: integer + previous_page_uri: + type: string + format: uri + start: + type: integer + uri: + type: string + format: uri + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Recordings/{Sid}.json: + servers: + - url: https://api.twilio.com + description: A Recording resource represents the recording associated with a voice + call, conference, or SIP Trunk. + x-twilio: + defaultOutputProperties: + - sid + - call_sid + - status + - start_time + - duration + pathType: instance + parent: /Accounts/{AccountSid}/Calls.json + post: + description: 'Changes the status of the recording to paused, stopped, or in-progress. + Note: Pass `Twilio.CURRENT` instead of recording sid to reference current + active recording.' + operationId: UpdateCallRecording + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the Recording resource to update. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The [Call](https://www.twilio.com/docs/voice/api/call-resource) + SID of the resource to update. + in: path + name: CallSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Recording + resource to update. + in: path + name: Sid + required: true + schema: + type: string + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Status: + type: string + enum: + - in-progress + - paused + - stopped + - processing + - completed + - absent + description: 'The new status of the recording. Can be: `stopped`, + `paused`, `in-progress`.' + PauseBehavior: + description: 'Whether to record during a pause. Can be: `skip` or + `silence` and the default is `silence`. `skip` does not record + during the pause period, while `silence` will replace the actual + audio of the call with silence during the pause period. This parameter + only applies when setting `status` is set to `paused`.' type: string required: - - From - - To - title: CreateParticipantRequest + - Status + title: UpdateCallRecordingRequest type: object responses: - '201': + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.call.call_recording' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + get: + description: Fetch an instance of a recording for a call + operationId: FetchCallRecording + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the Recording resource to fetch. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The [Call](https://www.twilio.com/docs/voice/api/call-resource) + SID of the resource to fetch. + in: path + name: CallSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Recording + resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RE[0-9a-fA-F]{32}$ + responses: + '200': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.conference.participant' - description: Created + $ref: '#/components/schemas/api.v2010.account.call.call_recording' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - call_sid - - label - - status - - muted - - hold - parent: /Accounts/{AccountSid}/Conferences.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Participants/{CallSid}.json: delete: - description: Kick a participant from a given conference - operationId: DeleteParticipant + description: Delete a recording from your account + operationId: DeleteCallRecording parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Participant resources to delete. + that created the Recording resources to delete. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The SID of the conference with the participants to delete. + - description: The [Call](https://www.twilio.com/docs/voice/api/call-resource) + SID of the resources to delete. in: path - name: ConferenceSid + name: CallSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^CF[0-9a-fA-F]{32}$ type: string - - description: The [Call](https://www.twilio.com/docs/voice/api/call-resource) - SID or label of the participant to delete. Non URL safe characters in a - label must be percent encoded, for example, a space character is represented - as %20. + minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Recording + resource to delete. in: path - name: CallSid + name: Sid required: true schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^RE[0-9a-fA-F]{32}$ responses: '204': description: The resource was deleted successfully. @@ -14593,79 +12258,70 @@ paths: - accountSid_authToken: [] x-maturity: - GA - description: Conference participants + /2010-04-01/Accounts/{AccountSid}/Conferences/{Sid}.json: + servers: + - url: https://api.twilio.com + description: Voice call conferences + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - status + pathType: instance + parent: /Accounts.json get: - description: Fetch an instance of a participant - operationId: FetchParticipant + description: Fetch an instance of a conference + operationId: FetchConference parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Participant resource to fetch. + that created the Conference resource(s) to fetch. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The SID of the conference with the participant to fetch. + - description: The Twilio-provided string that uniquely identifies the Conference + resource to fetch in: path - name: ConferenceSid + name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^CF[0-9a-fA-F]{32}$ - type: string - - description: The [Call](https://www.twilio.com/docs/voice/api/call-resource) - SID or label of the participant to fetch. Non URL safe characters in a label - must be percent encoded, for example, a space character is represented as - %20. - in: path - name: CallSid - required: true - schema: - type: string responses: '200': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.conference.participant' + $ref: '#/components/schemas/api.v2010.account.conference' description: OK security: - accountSid_authToken: [] x-maturity: - GA post: - description: Update the properties of the participant - operationId: UpdateParticipant + description: '' + operationId: UpdateConference parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Participant resources to update. + that created the Conference resource(s) to update. in: path name: AccountSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ type: string - - description: The SID of the conference with the participant to update. - in: path - name: ConferenceSid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^CF[0-9a-fA-F]{32}$ - type: string - - description: The [Call](https://www.twilio.com/docs/voice/api/call-resource) - SID or label of the participant to update. Non URL safe characters in a - label must be percent encoded, for example, a space character is represented - as %20. + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Conference + resource to update in: path - name: CallSid + name: Sid required: true schema: type: string @@ -14674,81 +12330,22 @@ paths: application/x-www-form-urlencoded: schema: properties: - AnnounceMethod: - description: 'The HTTP method we should use to call `announce_url`. - Can be: `GET` or `POST` and defaults to `POST`.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - AnnounceUrl: - description: The URL we call using the `announce_method` for an - announcement to the participant. The URL must return an MP3 file, - a WAV file, or a TwiML document that contains `` or `` - commands. - format: uri - type: string - BeepOnExit: - description: 'Whether to play a notification beep to the conference - when the participant exits. Can be: `true` or `false`.' - type: boolean - CallSidToCoach: - description: The SID of the participant who is being `coached`. - The participant being coached is the only participant who can - hear the participant who is `coaching`. - maxLength: 34 - minLength: 34 - pattern: ^CA[0-9a-fA-F]{32}$ + Status: type: string - Coaching: - description: 'Whether the participant is coaching another call. - Can be: `true` or `false`. If not present, defaults to `false` - unless `call_sid_to_coach` is defined. If `true`, `call_sid_to_coach` - must be defined.' - type: boolean - EndConferenceOnExit: - description: 'Whether to end the conference when the participant - leaves. Can be: `true` or `false` and defaults to `false`.' - type: boolean - Hold: - description: 'Whether the participant should be on hold. Can be: - `true` or `false`. `true` puts the participant on hold, and `false` - lets them rejoin the conference.' - type: boolean - HoldMethod: - description: 'The HTTP method we should use to call `hold_url`. - Can be: `GET` or `POST` and the default is `GET`.' enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - HoldUrl: - description: The URL we call using the `hold_method` for music - that plays when the participant is on hold. The URL may return - an MP3 file, a WAV file, or a TwiML document that contains the - ``, `` or `` commands. + - completed + description: 'The new status of the resource. Can be: Can be: `init`, + `in-progress`, or `completed`. Specifying `completed` will end + the conference and hang up all participants' + AnnounceUrl: + description: The URL we should call to announce something into the + conference. The URL can return an MP3, a WAV, or a TwiML document + with `` or ``. format: uri type: string - Muted: - description: Whether the participant should be muted. Can be `true` - or `false`. `true` will mute the participant, and `false` will - un-mute them. Anything value other than `true` or `false` is interpreted - as `false`. - type: boolean - WaitMethod: - description: The HTTP method we should use to call `wait_url`. Can - be `GET` or `POST` and the default is `POST`. When using a static - audio file, this should be `GET` so that we can cache the file. + AnnounceMethod: + description: 'The HTTP method used to call `announce_url`. Can be: + `GET` or `POST` and the default is `POST`' enum: - HEAD - GET @@ -14758,94 +12355,114 @@ paths: - DELETE format: http-method type: string - WaitUrl: - description: The URL we should call using the `wait_method` for - the music to play while participants are waiting for the conference - to start. The default value is the URL of our standard hold music. - [Learn more about hold music](https://www.twilio.com/labs/twimlets/holdmusic). - format: uri - type: string - title: UpdateParticipantRequest + title: UpdateConferenceRequest type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.conference.participant' + $ref: '#/components/schemas/api.v2010.account.conference' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/Conferences.json: servers: - url: https://api.twilio.com + description: Voice call conferences x-twilio: defaultOutputProperties: - - call_sid - - label + - sid + - friendly_name - status - - muted - - hold - parent: /Accounts/{AccountSid}/Conferences.json - pathType: instance - /2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Recordings.json: - description: Recordings of conferences + pathType: list + parent: /Accounts.json get: - description: Retrieve a list of recordings belonging to the call used to make - the request - operationId: ListConferenceRecording - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Conference Recording resources to read. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The Conference SID that identifies the conference associated - with the recording to read. + description: Retrieve a list of conferences belonging to the account used to + make the request + operationId: ListConference + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the Conference resource(s) to read. in: path - name: ConferenceSid + name: AccountSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^CF[0-9a-fA-F]{32}$ type: string - - description: 'The `date_created` value, specified as `YYYY-MM-DD`, of the - resources to read. You can also specify inequality: `DateCreated<=YYYY-MM-DD` - will return recordings generated at or before midnight on a given date, - and `DateCreated>=YYYY-MM-DD` returns recordings generated at or after midnight - on a date.' + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The `date_created` value, specified as `YYYY-MM-DD`, of the resources + to read. To read conferences that started on or before midnight on a date, + use `<=YYYY-MM-DD`, and to specify conferences that started on or after + midnight on a date, use `>=YYYY-MM-DD`. in: query name: DateCreated schema: format: date type: string - - description: 'The `date_created` value, specified as `YYYY-MM-DD`, of the - resources to read. You can also specify inequality: `DateCreated<=YYYY-MM-DD` - will return recordings generated at or before midnight on a given date, - and `DateCreated>=YYYY-MM-DD` returns recordings generated at or after midnight - on a date.' + - description: The `date_created` value, specified as `YYYY-MM-DD`, of the resources + to read. To read conferences that started on or before midnight on a date, + use `<=YYYY-MM-DD`, and to specify conferences that started on or after + midnight on a date, use `>=YYYY-MM-DD`. in: query name: DateCreated< schema: format: date type: string - - description: 'The `date_created` value, specified as `YYYY-MM-DD`, of the - resources to read. You can also specify inequality: `DateCreated<=YYYY-MM-DD` - will return recordings generated at or before midnight on a given date, - and `DateCreated>=YYYY-MM-DD` returns recordings generated at or after midnight - on a date.' + - description: The `date_created` value, specified as `YYYY-MM-DD`, of the resources + to read. To read conferences that started on or before midnight on a date, + use `<=YYYY-MM-DD`, and to specify conferences that started on or after + midnight on a date, use `>=YYYY-MM-DD`. in: query name: DateCreated> schema: format: date type: string + - description: The `date_updated` value, specified as `YYYY-MM-DD`, of the resources + to read. To read conferences that were last updated on or before midnight + on a date, use `<=YYYY-MM-DD`, and to specify conferences that were last + updated on or after midnight on a given date, use `>=YYYY-MM-DD`. + in: query + name: DateUpdated + schema: + format: date + type: string + - description: The `date_updated` value, specified as `YYYY-MM-DD`, of the resources + to read. To read conferences that were last updated on or before midnight + on a date, use `<=YYYY-MM-DD`, and to specify conferences that were last + updated on or after midnight on a given date, use `>=YYYY-MM-DD`. + in: query + name: DateUpdated< + schema: + format: date + type: string + - description: The `date_updated` value, specified as `YYYY-MM-DD`, of the resources + to read. To read conferences that were last updated on or before midnight + on a date, use `<=YYYY-MM-DD`, and to specify conferences that were last + updated on or after midnight on a given date, use `>=YYYY-MM-DD`. + in: query + name: DateUpdated> + schema: + format: date + type: string + - description: The string that identifies the Conference resources to read. + in: query + name: FriendlyName + schema: + type: string + - description: 'The status of the resources to read. Can be: `init`, `in-progress`, + or `completed`.' + in: query + name: Status + schema: + type: string + enum: + - init + - in-progress + - completed - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -14859,40 +12476,42 @@ paths: content: application/json: schema: + type: object + title: ListConferenceResponse properties: + conferences: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.conference' end: type: integer first_page_uri: - format: uri type: string - next_page_uri: format: uri + next_page_uri: type: string + format: uri page: type: integer page_size: type: integer previous_page_uri: - format: uri type: string - recordings: - items: - $ref: '#/components/schemas/api.v2010.account.conference.conference_recording' - type: array + format: uri start: type: integer uri: - format: uri type: string - title: ListConferenceRecordingResponse - type: object + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Recordings/{Sid}.json: servers: - url: https://api.twilio.com + description: Recordings of conferences x-twilio: defaultOutputProperties: - sid @@ -14900,96 +12519,8 @@ paths: - status - start_time - duration + pathType: instance parent: /Accounts/{AccountSid}/Conferences.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Recordings/{Sid}.json: - delete: - description: Delete a recording from your account - operationId: DeleteConferenceRecording - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Conference Recording resources to delete. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The Conference SID that identifies the conference associated - with the recording to delete. - in: path - name: ConferenceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^CF[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Conference - Recording resource to delete. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^RE[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: Recordings of conferences - get: - description: Fetch an instance of a recording for a call - operationId: FetchConferenceRecording - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Conference Recording resource to fetch. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The Conference SID that identifies the conference associated - with the recording to fetch. - in: path - name: ConferenceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^CF[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Conference - Recording resource to fetch. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^RE[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.conference.conference_recording' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA post: description: 'Changes the status of the recording to paused, stopped, or in-progress. Note: To use `Twilio.CURRENT`, pass it as recording sid.' @@ -15001,20 +12532,20 @@ paths: name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - description: The Conference SID that identifies the conference associated with the recording to update. in: path name: ConferenceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^CF[0-9a-fA-F]{32}$ - type: string - description: The Twilio-provided string that uniquely identifies the Conference Recording resource to update. Use `Twilio.CURRENT` to reference the current active recording. @@ -15028,16 +12559,8 @@ paths: application/x-www-form-urlencoded: schema: properties: - PauseBehavior: - description: 'Whether to record during a pause. Can be: `skip` or - `silence` and the default is `silence`. `skip` does not record - during the pause period, while `silence` will replace the actual - audio of the call with silence during the pause period. This parameter - only applies when setting `status` is set to `paused`.' - type: string Status: - description: 'The new status of the recording. Can be: `stopped`, - `paused`, `in-progress`.' + type: string enum: - in-progress - paused @@ -15045,6 +12568,14 @@ paths: - processing - completed - absent + description: 'The new status of the recording. Can be: `stopped`, + `paused`, `in-progress`.' + PauseBehavior: + description: 'Whether to record during a pause. Can be: `skip` or + `silence` and the default is `silence`. `skip` does not record + during the pause period, while `silence` will replace the actual + audio of the call with silence during the pause period. This parameter + only applies when setting `status` is set to `paused`.' type: string required: - Status @@ -15061,143 +12592,159 @@ paths: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - conference_sid - - status - - start_time - - duration - parent: /Accounts/{AccountSid}/Conferences.json - pathType: instance - /2010-04-01/Accounts/{AccountSid}/Conferences/{Sid}.json: - description: Voice call conferences get: - description: Fetch an instance of a conference - operationId: FetchConference + description: Fetch an instance of a recording for a call + operationId: FetchConferenceRecording parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Conference resource(s) to fetch. + that created the Conference Recording resource to fetch. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Conference - resource to fetch + - description: The Conference SID that identifies the conference associated + with the recording to fetch. in: path - name: Sid + name: ConferenceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^CF[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Conference + Recording resource to fetch. + in: path + name: Sid + required: true + schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^RE[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.conference' + $ref: '#/components/schemas/api.v2010.account.conference.conference_recording' description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: '' - operationId: UpdateConference + delete: + description: Delete a recording from your account + operationId: DeleteConferenceRecording parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Conference resource(s) to update. + that created the Conference Recording resources to delete. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ + - description: The Conference SID that identifies the conference associated + with the recording to delete. + in: path + name: ConferenceSid + required: true + schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^CF[0-9a-fA-F]{32}$ - description: The Twilio-provided string that uniquely identifies the Conference - resource to update + Recording resource to delete. in: path name: Sid required: true schema: type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - AnnounceMethod: - description: 'The HTTP method used to call `announce_url`. Can be: - `GET` or `POST` and the default is `POST`' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - AnnounceUrl: - description: The URL we should call to announce something into the - conference. The URL can return an MP3, a WAV, or a TwiML document - with `` or ``. - format: uri - type: string - Status: - description: 'The new status of the resource. Can be: Can be: `init`, - `in-progress`, or `completed`. Specifying `completed` will end - the conference and hang up all participants' - enum: - - completed - type: string - title: UpdateConferenceRequest - type: object + minLength: 34 + maxLength: 34 + pattern: ^RE[0-9a-fA-F]{32}$ responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.conference' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Recordings.json: servers: - url: https://api.twilio.com + description: Recordings of conferences x-twilio: defaultOutputProperties: - sid - - friendly_name + - conference_sid - status - parent: /Accounts.json - pathType: instance - /2010-04-01/Accounts/{AccountSid}/ConnectApps.json: - description: Twilio Connect apps + - start_time + - duration + pathType: list + parent: /Accounts/{AccountSid}/Conferences.json get: - description: Retrieve a list of connect-apps belonging to the account used to - make the request - operationId: ListConnectApp + description: Retrieve a list of recordings belonging to the call used to make + the request + operationId: ListConferenceRecording parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the ConnectApp resources to read. + that created the Conference Recording resources to read. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ + - description: The Conference SID that identifies the conference associated + with the recording to read. + in: path + name: ConferenceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CF[0-9a-fA-F]{32}$ + - description: 'The `date_created` value, specified as `YYYY-MM-DD`, of the + resources to read. You can also specify inequality: `DateCreated<=YYYY-MM-DD` + will return recordings generated at or before midnight on a given date, + and `DateCreated>=YYYY-MM-DD` returns recordings generated at or after midnight + on a date.' + in: query + name: DateCreated + schema: + format: date + type: string + - description: 'The `date_created` value, specified as `YYYY-MM-DD`, of the + resources to read. You can also specify inequality: `DateCreated<=YYYY-MM-DD` + will return recordings generated at or before midnight on a given date, + and `DateCreated>=YYYY-MM-DD` returns recordings generated at or after midnight + on a date.' + in: query + name: DateCreated< + schema: + format: date + type: string + - description: 'The `date_created` value, specified as `YYYY-MM-DD`, of the + resources to read. You can also specify inequality: `DateCreated<=YYYY-MM-DD` + will return recordings generated at or before midnight on a given date, + and `DateCreated>=YYYY-MM-DD` returns recordings generated at or after midnight + on a date.' + in: query + name: DateCreated> + schema: + format: date type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. @@ -15212,79 +12759,48 @@ paths: content: application/json: schema: + type: object + title: ListConferenceRecordingResponse properties: - connect_apps: - items: - $ref: '#/components/schemas/api.v2010.account.connect_app' + recordings: type: array + items: + $ref: '#/components/schemas/api.v2010.account.conference.conference_recording' end: type: integer first_page_uri: - format: uri type: string - next_page_uri: format: uri + next_page_uri: type: string + format: uri page: type: integer page_size: type: integer previous_page_uri: - format: uri type: string + format: uri start: type: integer uri: - format: uri type: string - title: ListConnectAppResponse - type: object + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/ConnectApps/{Sid}.json: servers: - url: https://api.twilio.com + description: Twilio Connect apps x-twilio: defaultOutputProperties: - sid - friendly_name + pathType: instance parent: /Accounts.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/ConnectApps/{Sid}.json: - delete: - description: Delete an instance of a connect-app - operationId: DeleteConnectApp - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the ConnectApp resource to fetch. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the ConnectApp - resource to fetch. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^CN[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: Twilio Connect apps get: description: Fetch an instance of a connect-app operationId: FetchConnectApp @@ -15295,20 +12811,20 @@ paths: name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - description: The Twilio-provided string that uniquely identifies the ConnectApp resource to fetch. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^CN[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -15330,20 +12846,20 @@ paths: name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - description: The Twilio-provided string that uniquely identifies the ConnectApp resource to update. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^CN[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: @@ -15386,15 +12902,15 @@ paths: format: uri type: string Permissions: - description: 'A comma-separated list of the permissions you will - request from the users of this ConnectApp. Can include: `get-all` - and `post-all`.' + type: array items: + type: string enum: - get-all - post-all - type: string - type: array + description: 'A comma-separated list of the permissions you will + request from the users of this ConnectApp. Can include: `get-all` + and `post-all`.' title: UpdateConnectAppRequest type: object responses: @@ -15402,62 +12918,147 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.connect_app' + $ref: '#/components/schemas/api.v2010.account.connect_app' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + delete: + description: Delete an instance of a connect-app + operationId: DeleteConnectApp + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the ConnectApp resource to fetch. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the ConnectApp + resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CN[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{AccountSid}/ConnectApps.json: + servers: + - url: https://api.twilio.com + description: Twilio Connect apps + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + pathType: list + parent: /Accounts.json + get: + description: Retrieve a list of connect-apps belonging to the account used to + make the request + operationId: ListConnectApp + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the ConnectApp resources to read. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListConnectAppResponse + properties: + connect_apps: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.connect_app' + end: + type: integer + first_page_uri: + type: string + format: uri + next_page_uri: + type: string + format: uri + page: + type: integer + page_size: + type: integer + previous_page_uri: + type: string + format: uri + start: + type: integer + uri: + type: string + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/Addresses/{AddressSid}/DependentPhoneNumbers.json: servers: - url: https://api.twilio.com + description: Phone numbers dependent on an Address resource x-twilio: defaultOutputProperties: - sid + - phone_number - friendly_name - parent: /Accounts.json - pathType: instance - /2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers.json: - description: Incoming phone numbers on a Twilio account/project + pathType: list + parent: /Accounts/{AccountSid}/Addresses.json get: - description: Retrieve a list of incoming-phone-numbers belonging to the account - used to make the request. - operationId: ListIncomingPhoneNumber + description: '' + operationId: ListDependentPhoneNumber parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the IncomingPhoneNumber resources to read. + that created the DependentPhoneNumber resources to read. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: 'Whether to include phone numbers new to the Twilio platform. - Can be: `true` or `false` and the default is `true`.' - in: query - name: Beta - schema: - type: boolean - - description: A string that identifies the IncomingPhoneNumber resources to - read. - in: query - name: FriendlyName - schema: - type: string - - description: The phone numbers of the IncomingPhoneNumber resources to read. - You can specify partial numbers and use '*' as a wildcard for any digit. - in: query - name: PhoneNumber - schema: - format: phone-number - type: string - - description: 'Whether to include phone numbers based on their origin. Can - be: `twilio` or `hosted`. By default, phone numbers of all origin are included.' - in: query - name: Origin + - description: The SID of the Address resource associated with the phone number. + in: path + name: AddressSid + required: true schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^AD[0-9a-fA-F]{32}$ - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -15471,128 +13072,104 @@ paths: content: application/json: schema: + type: object + title: ListDependentPhoneNumberResponse properties: + dependent_phone_numbers: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.address.dependent_phone_number' end: type: integer first_page_uri: - format: uri type: string - incoming_phone_numbers: - items: - $ref: '#/components/schemas/api.v2010.account.incoming_phone_number' - type: array - next_page_uri: format: uri + next_page_uri: type: string + format: uri page: type: integer page_size: type: integer previous_page_uri: - format: uri type: string + format: uri start: type: integer uri: - format: uri type: string - title: ListIncomingPhoneNumberResponse - type: object + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/{Sid}.json: + servers: + - url: https://api.twilio.com + description: Incoming phone numbers on a Twilio account/project + x-twilio: + defaultOutputProperties: + - sid + - phone_number + - friendly_name + pathType: instance + parent: /Accounts.json post: - description: Purchase a phone-number for the account. - operationId: CreateIncomingPhoneNumber + description: Update an incoming-phone-number instance. + operationId: UpdateIncomingPhoneNumber parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that will create the resource. + that created the IncomingPhoneNumber resource to update. For more information, + see [Exchanging Numbers Between Subaccounts](https://www.twilio.com/docs/iam/api/subaccounts#exchanging-numbers). in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the IncomingPhoneNumber + resource to update. + in: path + name: Sid + required: true + schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^PN[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - AddressSid: - description: The SID of the Address resource we should associate - with the new phone number. Some regions require addresses to meet - local regulations. - maxLength: 34 - minLength: 34 - pattern: ^AD[0-9a-fA-F]{32}$ - type: string - ApiVersion: - description: The API version to use for incoming calls made to the - new phone number. The default is `2010-04-01`. - type: string - AreaCode: - description: The desired area code for your new incoming phone number. - Can be any three-digit, US or Canada area code. We will provision - an available phone number within this area code for you. **You - must provide an `area_code` or a `phone_number`.** (US and Canada - only). + AccountSid: type: string - BundleSid: - description: The SID of the Bundle resource that you associate with - the phone number. Some regions require a Bundle to meet local - Regulations. - maxLength: 34 minLength: 34 - pattern: ^BU[0-9a-fA-F]{32}$ - type: string - EmergencyAddressSid: - description: The SID of the emergency address configuration to use - for emergency calling from the new phone number. maxLength: 34 - minLength: 34 - pattern: ^AD[0-9a-fA-F]{32}$ - type: string - EmergencyStatus: - description: The parameter displays if emergency calling is enabled - for this number. Active numbers may place emergency calls by dialing - valid emergency numbers for the country. - enum: - - Active - - Inactive + pattern: ^AC[0-9a-fA-F]{32}$ + description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the IncomingPhoneNumber resource to update. For + more information, see [Exchanging Numbers Between Subaccounts](https://www.twilio.com/docs/iam/api/subaccounts#exchanging-numbers). + ApiVersion: + description: The API version to use for incoming calls made to the + phone number. The default is `2010-04-01`. type: string FriendlyName: - description: A descriptive string that you created to describe the - new phone number. It can be up to 64 characters long. By default, - this is a formatted version of the new phone number. - type: string - IdentitySid: - description: The SID of the Identity resource that we should associate - with the new phone number. Some regions require an identity to - meet local regulations. - maxLength: 34 - minLength: 34 - pattern: ^RI[0-9a-fA-F]{32}$ - type: string - PhoneNumber: - description: The phone number to purchase specified 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 + description: A descriptive string that you created to describe this + phone number. It can be up to 64 characters long. By default, + this is a formatted version of the phone number. type: string SmsApplicationSid: - description: The SID of the application that should handle SMS messages - sent to the new phone number. If an `sms_application_sid` is present, - we ignore all of the `sms_*_url` urls and use those set on the - application. - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AP[0-9a-fA-F]{32}$ - type: string + description: The SID of the application that should handle SMS messages + sent to the number. If an `sms_application_sid` is present, we + ignore all of the `sms_*_url` urls and use those set on the application. SmsFallbackMethod: description: 'The HTTP method that we should use to call `sms_fallback_url`. Can be: `GET` or `POST` and defaults to `POST`.' @@ -15623,7 +13200,7 @@ paths: format: http-method type: string SmsUrl: - description: The URL we should call when the new phone number receives + description: The URL we should call when the phone number receives an incoming SMS message. format: uri type: string @@ -15638,32 +13215,22 @@ paths: enum: - HEAD - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - TrunkSid: - description: The SID of the Trunk we should use to handle calls - to the new phone number. If a `trunk_sid` is present, we ignore - all of the voice urls and voice applications and use only those - set on the Trunk. Setting a `trunk_sid` will automatically delete - your `voice_application_sid` and vice versa. - maxLength: 34 - minLength: 34 - pattern: ^TK[0-9a-fA-F]{32}$ + - POST + - PATCH + - PUT + - DELETE + format: http-method type: string VoiceApplicationSid: - description: The SID of the application we should use to handle - calls to the new phone number. If a `voice_application_sid` is - present, we ignore all of the voice urls and use only those set - on the application. Setting a `voice_application_sid` will automatically - delete your `trunk_sid` and vice versa. - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AP[0-9a-fA-F]{32}$ - type: string + description: The SID of the application we should use to handle + phone calls to the phone number. If a `voice_application_sid` + is present, we ignore all of the voice urls and use only those + set on the application. Setting a `voice_application_sid` will + automatically delete your `trunk_sid` and vice versa. VoiceCallerIdLookup: description: 'Whether to lookup the caller''s name from the CNAM database and post it to your app. Can be: `true` or `false` and @@ -15698,69 +13265,184 @@ paths: - DELETE format: http-method type: string + VoiceUrl: + description: The URL that we should call to answer a call to the + phone number. The `voice_url` will not be called if a `voice_application_sid` + or a `trunk_sid` is set. + format: uri + type: string + EmergencyStatus: + type: string + enum: + - Active + - Inactive + description: The parameter displays if emergency calling is enabled + for this number. Active numbers may place emergency calls by dialing + valid emergency numbers for the country. + EmergencyAddressSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AD[0-9a-fA-F]{32}$ + description: The SID of the emergency address configuration to use + for emergency calling from this phone number. + TrunkSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^TK[0-9a-fA-F]{32}$ + description: The SID of the Trunk we should use to handle phone + calls to the phone number. If a `trunk_sid` is present, we ignore + all of the voice urls and voice applications and use only those + set on the Trunk. Setting a `trunk_sid` will automatically delete + your `voice_application_sid` and vice versa. VoiceReceiveMode: - description: 'The configuration parameter for the new phone number - to receive incoming voice calls or faxes. Can be: `fax` or `voice` - and defaults to `voice`.' + type: string enum: - voice - fax + description: 'The configuration parameter for the phone number to + receive incoming voice calls or faxes. Can be: `fax` or `voice` + and defaults to `voice`.' + IdentitySid: type: string - VoiceUrl: - description: The URL that we should call to answer a call to the - new phone number. The `voice_url` will not be called if a `voice_application_sid` - or a `trunk_sid` is set. - format: uri + minLength: 34 + maxLength: 34 + pattern: ^RI[0-9a-fA-F]{32}$ + description: The SID of the Identity resource that we should associate + with the phone number. Some regions require an identity to meet + local regulations. + AddressSid: type: string - title: CreateIncomingPhoneNumberRequest + minLength: 34 + maxLength: 34 + pattern: ^AD[0-9a-fA-F]{32}$ + description: The SID of the Address resource we should associate + with the phone number. Some regions require addresses to meet + local regulations. + BundleSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^BU[0-9a-fA-F]{32}$ + description: The SID of the Bundle resource that you associate with + the phone number. Some regions require a Bundle to meet local + Regulations. + title: UpdateIncomingPhoneNumberRequest type: object responses: - '201': + '200': content: application/json: schema: $ref: '#/components/schemas/api.v2010.account.incoming_phone_number' - description: Created + description: OK security: - accountSid_authToken: [] x-maturity: - GA - x-twilio: - conditional: - - - phone_number - - area_code + get: + description: Fetch an incoming-phone-number belonging to the account used to + make the request. + operationId: FetchIncomingPhoneNumber + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the IncomingPhoneNumber resource to fetch. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the IncomingPhoneNumber + resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^PN[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.incoming_phone_number' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + delete: + description: Delete a phone-numbers belonging to the account used to make the + request. + operationId: DeleteIncomingPhoneNumber + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the IncomingPhoneNumber resources to delete. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the IncomingPhoneNumber + resource to delete. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^PN[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers.json: servers: - url: https://api.twilio.com + description: Incoming phone numbers on a Twilio account/project x-twilio: defaultOutputProperties: - sid - phone_number - friendly_name - parent: /Accounts.json pathType: list - /2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/Local.json: - description: Incoming local phone numbers on a Twilio account/project + parent: /Accounts.json get: - description: '' - operationId: ListIncomingPhoneNumberLocal + description: Retrieve a list of incoming-phone-numbers belonging to the account + used to make the request. + operationId: ListIncomingPhoneNumber parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the resources to read. + that created the IncomingPhoneNumber resources to read. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - description: 'Whether to include phone numbers new to the Twilio platform. Can be: `true` or `false` and the default is `true`.' in: query name: Beta schema: type: boolean - - description: A string that identifies the resources to read. + - description: A string that identifies the IncomingPhoneNumber resources to + read. in: query name: FriendlyName schema: @@ -15791,121 +13473,75 @@ paths: content: application/json: schema: + type: object + title: ListIncomingPhoneNumberResponse properties: + incoming_phone_numbers: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.incoming_phone_number' end: type: integer first_page_uri: - format: uri type: string - incoming_phone_numbers: - items: - $ref: '#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_local' - type: array - next_page_uri: format: uri + next_page_uri: type: string + format: uri page: type: integer page_size: type: integer previous_page_uri: - format: uri type: string + format: uri start: type: integer uri: - format: uri type: string - title: ListIncomingPhoneNumberLocalResponse - type: object + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - GA post: - description: '' - operationId: CreateIncomingPhoneNumberLocal - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that will create the resource. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - AddressSid: - description: The SID of the Address resource we should associate - with the new phone number. Some regions require addresses to meet - local regulations. - maxLength: 34 - minLength: 34 - pattern: ^AD[0-9a-fA-F]{32}$ - type: string - ApiVersion: - description: The API version to use for incoming calls made to the - new phone number. The default is `2010-04-01`. - type: string - BundleSid: - description: The SID of the Bundle resource that you associate with - the phone number. Some regions require a Bundle to meet local - Regulations. - maxLength: 34 - minLength: 34 - pattern: ^BU[0-9a-fA-F]{32}$ - type: string - EmergencyAddressSid: - description: The SID of the emergency address configuration to use - for emergency calling from the new phone number. - maxLength: 34 - minLength: 34 - pattern: ^AD[0-9a-fA-F]{32}$ - type: string - EmergencyStatus: - description: The parameter displays if emergency calling is enabled - for this number. Active numbers may place emergency calls by dialing - valid emergency numbers for the country. - enum: - - Active - - Inactive + description: Purchase a phone-number for the account. + operationId: CreateIncomingPhoneNumber + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that will create the resource. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + ApiVersion: + description: The API version to use for incoming calls made to the + new phone number. The default is `2010-04-01`. type: string FriendlyName: description: A descriptive string that you created to describe the new phone number. It can be up to 64 characters long. By default, - this is a formatted version of the phone number. - type: string - IdentitySid: - description: The SID of the Identity resource that we should associate - with the new phone number. Some regions require an identity to - meet local regulations. - maxLength: 34 - minLength: 34 - pattern: ^RI[0-9a-fA-F]{32}$ - type: string - PhoneNumber: - description: The phone number to purchase specified 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 + this is a formatted version of the new phone number. type: string SmsApplicationSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AP[0-9a-fA-F]{32}$ description: The SID of the application that should handle SMS messages sent to the new phone number. If an `sms_application_sid` is present, we ignore all of the `sms_*_url` urls and use those set on the application. - maxLength: 34 - minLength: 34 - pattern: ^AP[0-9a-fA-F]{32}$ - type: string SmsFallbackMethod: description: 'The HTTP method that we should use to call `sms_fallback_url`. Can be: `GET` or `POST` and defaults to `POST`.' @@ -15957,26 +13593,16 @@ paths: - DELETE format: http-method type: string - TrunkSid: - description: The SID of the Trunk we should use to handle calls - to the new phone number. If a `trunk_sid` is present, we ignore - all of the voice urls and voice applications and use only those - set on the Trunk. Setting a `trunk_sid` will automatically delete - your `voice_application_sid` and vice versa. - maxLength: 34 - minLength: 34 - pattern: ^TK[0-9a-fA-F]{32}$ - type: string VoiceApplicationSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AP[0-9a-fA-F]{32}$ description: The SID of the application we should use to handle calls to the new phone number. If a `voice_application_sid` is present, we ignore all of the voice urls and use only those set on the application. Setting a `voice_application_sid` will automatically delete your `trunk_sid` and vice versa. - maxLength: 34 - minLength: 34 - pattern: ^AP[0-9a-fA-F]{32}$ - type: string VoiceCallerIdLookup: description: 'Whether to lookup the caller''s name from the CNAM database and post it to your app. Can be: `true` or `false` and @@ -16011,49 +13637,214 @@ paths: - DELETE format: http-method type: string - VoiceReceiveMode: - description: 'The configuration parameter for the new phone number - to receive incoming voice calls or faxes. Can be: `fax` or `voice` - and defaults to `voice`.' - enum: - - voice - - fax - type: string VoiceUrl: description: The URL that we should call to answer a call to the new phone number. The `voice_url` will not be called if a `voice_application_sid` or a `trunk_sid` is set. format: uri type: string - required: - - PhoneNumber - title: CreateIncomingPhoneNumberLocalRequest + EmergencyStatus: + type: string + enum: + - Active + - Inactive + description: The parameter displays if emergency calling is enabled + for this number. Active numbers may place emergency calls by dialing + valid emergency numbers for the country. + EmergencyAddressSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AD[0-9a-fA-F]{32}$ + description: The SID of the emergency address configuration to use + for emergency calling from the new phone number. + TrunkSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^TK[0-9a-fA-F]{32}$ + description: The SID of the Trunk we should use to handle calls + to the new phone number. If a `trunk_sid` is present, we ignore + all of the voice urls and voice applications and use only those + set on the Trunk. Setting a `trunk_sid` will automatically delete + your `voice_application_sid` and vice versa. + IdentitySid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RI[0-9a-fA-F]{32}$ + description: The SID of the Identity resource that we should associate + with the new phone number. Some regions require an identity to + meet local regulations. + AddressSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AD[0-9a-fA-F]{32}$ + description: The SID of the Address resource we should associate + with the new phone number. Some regions require addresses to meet + local regulations. + VoiceReceiveMode: + type: string + enum: + - voice + - fax + description: 'The configuration parameter for the new phone number + to receive incoming voice calls or faxes. Can be: `fax` or `voice` + and defaults to `voice`.' + BundleSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^BU[0-9a-fA-F]{32}$ + description: The SID of the Bundle resource that you associate with + the phone number. Some regions require a Bundle to meet local + Regulations. + PhoneNumber: + description: The phone number to purchase specified 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 + AreaCode: + description: The desired area code for your new incoming phone number. + Can be any three-digit, US or Canada area code. We will provision + an available phone number within this area code for you. **You + must provide an `area_code` or a `phone_number`.** (US and Canada + only). + type: string + title: CreateIncomingPhoneNumberRequest type: object responses: '201': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_local' + $ref: '#/components/schemas/api.v2010.account.incoming_phone_number' description: Created security: - accountSid_authToken: [] x-maturity: - GA + x-twilio: + conditional: + - - phone_number + - area_code + /2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/{ResourceSid}/AssignedAddOns/{Sid}.json: servers: - url: https://api.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - - phone_number + - unique_name - friendly_name + - description + pathType: instance parent: /Accounts/{AccountSid}/IncomingPhoneNumbers.json + get: + description: Fetch an instance of an Add-on installation currently assigned + to this Number. + operationId: FetchIncomingPhoneNumberAssignedAddOn + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the resource to fetch. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The SID of the Phone Number to which the Add-on is assigned. + in: path + name: ResourceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^PN[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the resource + to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^XE[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_assigned_add_on' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - Beta + delete: + description: Remove the assignment of an Add-on installation from the Number + specified. + operationId: DeleteIncomingPhoneNumberAssignedAddOn + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the resources to delete. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The SID of the Phone Number to which the Add-on is assigned. + in: path + name: ResourceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^PN[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the resource + to delete. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^XE[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - Beta + /2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/{ResourceSid}/AssignedAddOns.json: + servers: + - url: https://api.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - unique_name + - friendly_name + - description pathType: list - /2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/Mobile.json: - description: Incoming mobile phone numbers on a Twilio account/project + parent: /Accounts/{AccountSid}/IncomingPhoneNumbers.json get: - description: '' - operationId: ListIncomingPhoneNumberMobile + description: Retrieve a list of Add-on installations currently assigned to this + Number. + operationId: ListIncomingPhoneNumberAssignedAddOn parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the resources to read. @@ -16061,34 +13852,19 @@ paths: name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: 'Whether to include phone numbers new to the Twilio platform. - Can be: `true` or `false` and the default is `true`.' - in: query - name: Beta - schema: - type: boolean - - description: A string that identifies the resources to read. - in: query - name: FriendlyName - schema: - type: string - - description: The phone numbers of the IncomingPhoneNumber resources to read. - You can specify partial numbers and use '*' as a wildcard for any digit. - in: query - name: PhoneNumber - schema: - format: phone-number - type: string - - description: 'Whether to include phone numbers based on their origin. Can - be: `twilio` or `hosted`. By default, phone numbers of all origin are included.' - in: query - name: Origin + - description: The SID of the Phone Number to which the Add-on is assigned. + in: path + name: ResourceSid + required: true schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^PN[0-9a-fA-F]{32}$ - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -16102,41 +13878,41 @@ paths: content: application/json: schema: + type: object + title: ListIncomingPhoneNumberAssignedAddOnResponse properties: + assigned_add_ons: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_assigned_add_on' end: type: integer first_page_uri: - format: uri type: string - incoming_phone_numbers: - items: - $ref: '#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_mobile' - type: array - next_page_uri: format: uri + next_page_uri: type: string + format: uri page: type: integer page_size: type: integer previous_page_uri: - format: uri type: string + format: uri start: type: integer uri: - format: uri type: string - title: ListIncomingPhoneNumberMobileResponse - type: object + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - - GA + - Beta post: - description: '' - operationId: CreateIncomingPhoneNumberMobile + description: Assign an Add-on installation to the Number specified. + operationId: CreateIncomingPhoneNumberAssignedAddOn parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource. @@ -16144,226 +13920,215 @@ paths: name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ + - description: The SID of the Phone Number to assign the Add-on. + in: path + name: ResourceSid + required: true + schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^PN[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - AddressSid: - description: The SID of the Address resource we should associate - with the new phone number. Some regions require addresses to meet - local regulations. - maxLength: 34 - minLength: 34 - pattern: ^AD[0-9a-fA-F]{32}$ - type: string - ApiVersion: - description: The API version to use for incoming calls made to the - new phone number. The default is `2010-04-01`. - type: string - BundleSid: - description: The SID of the Bundle resource that you associate with - the phone number. Some regions require a Bundle to meet local - Regulations. - maxLength: 34 - minLength: 34 - pattern: ^BU[0-9a-fA-F]{32}$ - type: string - EmergencyAddressSid: - description: The SID of the emergency address configuration to use - for emergency calling from the new phone number. - maxLength: 34 - minLength: 34 - pattern: ^AD[0-9a-fA-F]{32}$ - type: string - EmergencyStatus: - description: The parameter displays if emergency calling is enabled - for this number. Active numbers may place emergency calls by dialing - valid emergency numbers for the country. - enum: - - Active - - Inactive - type: string - FriendlyName: - description: A descriptive string that you created to describe the - new phone number. It can be up to 64 characters long. By default, - the is a formatted version of the phone number. - type: string - IdentitySid: - description: The SID of the Identity resource that we should associate - with the new phone number. Some regions require an identity to - meet local regulations. - maxLength: 34 - minLength: 34 - pattern: ^RI[0-9a-fA-F]{32}$ - type: string - PhoneNumber: - description: The phone number to purchase specified 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 - SmsApplicationSid: - description: The SID of the application that should handle SMS messages - sent to the new phone number. If an `sms_application_sid` is present, - we ignore all of the `sms_*_url` urls and use those of the application. - maxLength: 34 - minLength: 34 - pattern: ^AP[0-9a-fA-F]{32}$ - type: string - SmsFallbackMethod: - description: 'The HTTP method that we should use to call `sms_fallback_url`. - Can be: `GET` or `POST` and defaults to `POST`.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - SmsFallbackUrl: - description: The URL that we should call when an error occurs while - requesting or executing the TwiML defined by `sms_url`. - format: uri - type: string - SmsMethod: - description: 'The HTTP method that we should use to call `sms_url`. - Can be: `GET` or `POST` and defaults to `POST`.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - SmsUrl: - description: The URL we should call when the new phone number receives - an incoming SMS message. - format: uri - type: string - StatusCallback: - description: The URL we should call using the `status_callback_method` - to send status information to your application. - format: uri - type: string - StatusCallbackMethod: - description: 'The HTTP method we should use to call `status_callback`. - Can be: `GET` or `POST` and defaults to `POST`.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - TrunkSid: - description: The SID of the Trunk we should use to handle calls - to the new phone number. If a `trunk_sid` is present, we ignore - all of the voice urls and voice applications and use only those - set on the Trunk. Setting a `trunk_sid` will automatically delete - your `voice_application_sid` and vice versa. - maxLength: 34 - minLength: 34 - pattern: ^TK[0-9a-fA-F]{32}$ + InstalledAddOnSid: type: string - VoiceApplicationSid: - description: The SID of the application we should use to handle - calls to the new phone number. If a `voice_application_sid` is - present, we ignore all of the voice urls and use only those set - on the application. Setting a `voice_application_sid` will automatically - delete your `trunk_sid` and vice versa. - maxLength: 34 minLength: 34 - pattern: ^AP[0-9a-fA-F]{32}$ - type: string - VoiceCallerIdLookup: - description: 'Whether to lookup the caller''s name from the CNAM - database and post it to your app. Can be: `true` or `false` and - defaults to `false`.' - type: boolean - VoiceFallbackMethod: - description: 'The HTTP method that we should use to call `voice_fallback_url`. - Can be: `GET` or `POST` and defaults to `POST`.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - VoiceFallbackUrl: - description: The URL that we should call when an error occurs retrieving - or executing the TwiML requested by `url`. - format: uri - type: string - VoiceMethod: - description: 'The HTTP method that we should use to call `voice_url`. - Can be: `GET` or `POST` and defaults to `POST`.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - VoiceReceiveMode: - description: 'The configuration parameter for the new phone number - to receive incoming voice calls or faxes. Can be: `fax` or `voice` - and defaults to `voice`.' - enum: - - voice - - fax - type: string - VoiceUrl: - description: The URL that we should call to answer a call to the - new phone number. The `voice_url` will not be called if a `voice_application_sid` - or a `trunk_sid` is set. - format: uri - type: string + maxLength: 34 + pattern: ^XE[0-9a-fA-F]{32}$ + description: The SID that identifies the Add-on installation. required: - - PhoneNumber - title: CreateIncomingPhoneNumberMobileRequest + - InstalledAddOnSid + title: CreateIncomingPhoneNumberAssignedAddOnRequest type: object responses: '201': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_mobile' + $ref: '#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_assigned_add_on' description: Created security: - accountSid_authToken: [] x-maturity: - - GA + - Beta + ? /2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/{ResourceSid}/AssignedAddOns/{AssignedAddOnSid}/Extensions/{Sid}.json + : servers: + - url: https://api.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - unique_name + - friendly_name + - product_name + pathType: instance + parent: /Accounts/{AccountSid}/IncomingPhoneNumbers/{ResourceSid}/AssignedAddOns.json + className: assigned_add_on_extension + get: + description: Fetch an instance of an Extension for the Assigned Add-on. + operationId: FetchIncomingPhoneNumberAssignedAddOnExtension + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the resource to fetch. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The SID of the Phone Number to which the Add-on is assigned. + in: path + name: ResourceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^PN[0-9a-fA-F]{32}$ + - description: The SID that uniquely identifies the assigned Add-on installation. + in: path + name: AssignedAddOnSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^XE[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the resource + to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^XF[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_assigned_add_on.incoming_phone_number_assigned_add_on_extension' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - Beta + /2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/{ResourceSid}/AssignedAddOns/{AssignedAddOnSid}/Extensions.json: + servers: + - url: https://api.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - unique_name + - friendly_name + - product_name + pathType: list + parent: /Accounts/{AccountSid}/IncomingPhoneNumbers/{ResourceSid}/AssignedAddOns.json + className: assigned_add_on_extension + get: + description: Retrieve a list of Extensions for the Assigned Add-on. + operationId: ListIncomingPhoneNumberAssignedAddOnExtension + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the resources to read. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The SID of the Phone Number to which the Add-on is assigned. + in: path + name: ResourceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^PN[0-9a-fA-F]{32}$ + - description: The SID that uniquely identifies the assigned Add-on installation. + in: path + name: AssignedAddOnSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^XE[0-9a-fA-F]{32}$ + - 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListIncomingPhoneNumberAssignedAddOnExtensionResponse + properties: + extensions: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_assigned_add_on.incoming_phone_number_assigned_add_on_extension' + end: + type: integer + first_page_uri: + type: string + format: uri + next_page_uri: + type: string + format: uri + page: + type: integer + page_size: + type: integer + previous_page_uri: + type: string + format: uri + start: + type: integer + uri: + type: string + format: uri + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - Beta + /2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/Local.json: servers: - url: https://api.twilio.com + description: Incoming local phone numbers on a Twilio account/project x-twilio: defaultOutputProperties: - sid - phone_number - friendly_name - parent: /Accounts/{AccountSid}/IncomingPhoneNumbers.json pathType: list - /2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/TollFree.json: - description: Incoming toll free phone numbers on a Twilio account/project + parent: /Accounts/{AccountSid}/IncomingPhoneNumbers.json get: description: '' - operationId: ListIncomingPhoneNumberTollFree + operationId: ListIncomingPhoneNumberLocal parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the resources to read. @@ -16371,10 +14136,10 @@ paths: name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - description: 'Whether to include phone numbers new to the Twilio platform. Can be: `true` or `false` and the default is `true`.' in: query @@ -16412,33 +14177,33 @@ paths: content: application/json: schema: + type: object + title: ListIncomingPhoneNumberLocalResponse properties: + incoming_phone_numbers: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_local' end: type: integer first_page_uri: - format: uri type: string - incoming_phone_numbers: - items: - $ref: '#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_toll_free' - type: array - next_page_uri: format: uri + next_page_uri: type: string + format: uri page: type: integer page_size: type: integer previous_page_uri: - format: uri type: string + format: uri start: type: integer uri: - format: uri type: string - title: ListIncomingPhoneNumberTollFreeResponse - type: object + format: uri description: OK security: - accountSid_authToken: [] @@ -16446,7 +14211,7 @@ paths: - GA post: description: '' - operationId: CreateIncomingPhoneNumberTollFree + operationId: CreateIncomingPhoneNumberLocal parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource. @@ -16454,78 +14219,40 @@ paths: name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - AddressSid: - description: The SID of the Address resource we should associate - with the new phone number. Some regions require addresses to meet - local regulations. - maxLength: 34 - minLength: 34 - pattern: ^AD[0-9a-fA-F]{32}$ + PhoneNumber: + description: The phone number to purchase specified 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 ApiVersion: description: The API version to use for incoming calls made to the new phone number. The default is `2010-04-01`. type: string - BundleSid: - description: The SID of the Bundle resource that you associate with - the phone number. Some regions require a Bundle to meet local - Regulations. - maxLength: 34 - minLength: 34 - pattern: ^BU[0-9a-fA-F]{32}$ - type: string - EmergencyAddressSid: - description: The SID of the emergency address configuration to use - for emergency calling from the new phone number. - maxLength: 34 - minLength: 34 - pattern: ^AD[0-9a-fA-F]{32}$ - type: string - EmergencyStatus: - description: The parameter displays if emergency calling is enabled - for this number. Active numbers may place emergency calls by dialing - valid emergency numbers for the country. - enum: - - Active - - Inactive - type: string FriendlyName: description: A descriptive string that you created to describe the new phone number. It can be up to 64 characters long. By default, - this is a formatted version of the phone number. - type: string - IdentitySid: - description: The SID of the Identity resource that we should associate - with the new phone number. Some regions require an Identity to - meet local regulations. - maxLength: 34 - minLength: 34 - pattern: ^RI[0-9a-fA-F]{32}$ - type: string - PhoneNumber: - description: The phone number to purchase specified 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 + this is a formatted version of the phone number. type: string SmsApplicationSid: - description: The SID of the application that should handle SMS messages - sent to the new phone number. If an `sms_application_sid` is present, - we ignore all `sms_*_url` values and use those of the application. - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AP[0-9a-fA-F]{32}$ - type: string + description: The SID of the application that should handle SMS messages + sent to the new phone number. If an `sms_application_sid` is present, + we ignore all of the `sms_*_url` urls and use those set on the + application. SmsFallbackMethod: description: 'The HTTP method that we should use to call `sms_fallback_url`. Can be: `GET` or `POST` and defaults to `POST`.' @@ -16577,26 +14304,16 @@ paths: - DELETE format: http-method type: string - TrunkSid: - description: The SID of the Trunk we should use to handle calls - to the new phone number. If a `trunk_sid` is present, we ignore - all of the voice urls and voice applications and use only those - set on the Trunk. Setting a `trunk_sid` will automatically delete - your `voice_application_sid` and vice versa. - maxLength: 34 - minLength: 34 - pattern: ^TK[0-9a-fA-F]{32}$ - type: string VoiceApplicationSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AP[0-9a-fA-F]{32}$ description: The SID of the application we should use to handle calls to the new phone number. If a `voice_application_sid` is - present, we ignore all of the voice urls and use those set on - the application. Setting a `voice_application_sid` will automatically + present, we ignore all of the voice urls and use only those set + on the application. Setting a `voice_application_sid` will automatically delete your `trunk_sid` and vice versa. - maxLength: 34 - minLength: 34 - pattern: ^AP[0-9a-fA-F]{32}$ - type: string VoiceCallerIdLookup: description: 'Whether to lookup the caller''s name from the CNAM database and post it to your app. Can be: `true` or `false` and @@ -16631,50 +14348,98 @@ paths: - DELETE format: http-method type: string - VoiceReceiveMode: - description: 'The configuration parameter for the new phone number - to receive incoming voice calls or faxes. Can be: `fax` or `voice` - and defaults to `voice`.' - enum: - - voice - - fax - type: string VoiceUrl: description: The URL that we should call to answer a call to the new phone number. The `voice_url` will not be called if a `voice_application_sid` or a `trunk_sid` is set. format: uri type: string + IdentitySid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RI[0-9a-fA-F]{32}$ + description: The SID of the Identity resource that we should associate + with the new phone number. Some regions require an identity to + meet local regulations. + AddressSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AD[0-9a-fA-F]{32}$ + description: The SID of the Address resource we should associate + with the new phone number. Some regions require addresses to meet + local regulations. + EmergencyStatus: + type: string + enum: + - Active + - Inactive + description: The parameter displays if emergency calling is enabled + for this number. Active numbers may place emergency calls by dialing + valid emergency numbers for the country. + EmergencyAddressSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AD[0-9a-fA-F]{32}$ + description: The SID of the emergency address configuration to use + for emergency calling from the new phone number. + TrunkSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^TK[0-9a-fA-F]{32}$ + description: The SID of the Trunk we should use to handle calls + to the new phone number. If a `trunk_sid` is present, we ignore + all of the voice urls and voice applications and use only those + set on the Trunk. Setting a `trunk_sid` will automatically delete + your `voice_application_sid` and vice versa. + VoiceReceiveMode: + type: string + enum: + - voice + - fax + description: 'The configuration parameter for the new phone number + to receive incoming voice calls or faxes. Can be: `fax` or `voice` + and defaults to `voice`.' + BundleSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^BU[0-9a-fA-F]{32}$ + description: The SID of the Bundle resource that you associate with + the phone number. Some regions require a Bundle to meet local + Regulations. required: - PhoneNumber - title: CreateIncomingPhoneNumberTollFreeRequest + title: CreateIncomingPhoneNumberLocalRequest type: object responses: '201': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_toll_free' + $ref: '#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_local' description: Created security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/Mobile.json: servers: - url: https://api.twilio.com + description: Incoming mobile phone numbers on a Twilio account/project x-twilio: defaultOutputProperties: - sid - phone_number - friendly_name - parent: /Accounts/{AccountSid}/IncomingPhoneNumbers.json pathType: list - /2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/{ResourceSid}/AssignedAddOns.json: - description: 'TODO: Resource-level docs' + parent: /Accounts/{AccountSid}/IncomingPhoneNumbers.json get: - description: Retrieve a list of Add-on installations currently assigned to this - Number. - operationId: ListIncomingPhoneNumberAssignedAddOn + description: '' + operationId: ListIncomingPhoneNumberMobile parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the resources to read. @@ -16682,156 +14447,33 @@ paths: name: AccountSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ type: string - - description: The SID of the Phone Number to which the Add-on is assigned. - in: path - name: ResourceSid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^PN[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 - responses: - '200': - content: - application/json: - schema: - properties: - assigned_add_ons: - items: - $ref: '#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_assigned_add_on' - type: array - end: - type: integer - first_page_uri: - format: uri - type: string - next_page_uri: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_uri: - format: uri - type: string - start: - type: integer - uri: - format: uri - type: string - title: ListIncomingPhoneNumberAssignedAddOnResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - Beta - post: - description: Assign an Add-on installation to the Number specified. - operationId: CreateIncomingPhoneNumberAssignedAddOn - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that will create the resource. - in: path - name: AccountSid - required: true - schema: maxLength: 34 - minLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Phone Number to assign the Add-on. - in: path - name: ResourceSid - required: true + - description: 'Whether to include phone numbers new to the Twilio platform. + Can be: `true` or `false` and the default is `true`.' + in: query + name: Beta schema: - maxLength: 34 - minLength: 34 - pattern: ^PN[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - InstalledAddOnSid: - description: The SID that identifies the Add-on installation. - maxLength: 34 - minLength: 34 - pattern: ^XE[0-9a-fA-F]{32}$ - type: string - required: - - InstalledAddOnSid - title: CreateIncomingPhoneNumberAssignedAddOnRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_assigned_add_on' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - Beta - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - unique_name - - friendly_name - - description - parent: /Accounts/{AccountSid}/IncomingPhoneNumbers.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/{ResourceSid}/AssignedAddOns/{AssignedAddOnSid}/Extensions.json: - description: 'TODO: Resource-level docs' - get: - description: Retrieve a list of Extensions for the Assigned Add-on. - operationId: ListIncomingPhoneNumberAssignedAddOnExtension - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the resources to read. - in: path - name: AccountSid - required: true + type: boolean + - description: A string that identifies the resources to read. + in: query + name: FriendlyName schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ type: string - - description: The SID of the Phone Number to which the Add-on is assigned. - in: path - name: ResourceSid - required: true + - description: The phone numbers of the IncomingPhoneNumber resources to read. + You can specify partial numbers and use '*' as a wildcard for any digit. + in: query + name: PhoneNumber schema: - maxLength: 34 - minLength: 34 - pattern: ^PN[0-9a-fA-F]{32}$ + format: phone-number type: string - - description: The SID that uniquely identifies the assigned Add-on installation. - in: path - name: AssignedAddOnSid - required: true + - description: 'Whether to include phone numbers based on their origin. Can + be: `twilio` or `hosted`. By default, phone numbers of all origin are included.' + in: query + name: Origin schema: - maxLength: 34 - minLength: 34 - pattern: ^XE[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. @@ -16846,377 +14488,391 @@ paths: content: application/json: schema: + type: object + title: ListIncomingPhoneNumberMobileResponse properties: + incoming_phone_numbers: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_mobile' end: type: integer - extensions: - items: - $ref: '#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_assigned_add_on.incoming_phone_number_assigned_add_on_extension' - type: array first_page_uri: - format: uri type: string - next_page_uri: format: uri + next_page_uri: type: string + format: uri page: type: integer page_size: type: integer previous_page_uri: - format: uri type: string + format: uri start: type: integer uri: - format: uri type: string - title: ListIncomingPhoneNumberAssignedAddOnExtensionResponse - type: object + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - - Beta - servers: - - url: https://api.twilio.com - x-twilio: - className: assigned_add_on_extension - defaultOutputProperties: - - sid - - unique_name - - friendly_name - - product_name - parent: /Accounts/{AccountSid}/IncomingPhoneNumbers/{ResourceSid}/AssignedAddOns.json - pathType: list - ? /2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/{ResourceSid}/AssignedAddOns/{AssignedAddOnSid}/Extensions/{Sid}.json - : description: 'TODO: Resource-level docs' - get: - description: Fetch an instance of an Extension for the Assigned Add-on. - operationId: FetchIncomingPhoneNumberAssignedAddOnExtension + - GA + post: + description: '' + operationId: CreateIncomingPhoneNumberMobile parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the resource to fetch. + that will create the resource. in: path name: AccountSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Phone Number to which the Add-on is assigned. - in: path - name: ResourceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^PN[0-9a-fA-F]{32}$ type: string - - description: The SID that uniquely identifies the assigned Add-on installation. - in: path - name: AssignedAddOnSid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^XE[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the resource - to fetch. - in: path - name: Sid - required: true - schema: maxLength: 34 - minLength: 34 - pattern: ^XF[0-9a-fA-F]{32}$ - type: string + pattern: ^AC[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + PhoneNumber: + description: The phone number to purchase specified 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 + ApiVersion: + description: The API version to use for incoming calls made to the + new phone number. The default is `2010-04-01`. + type: string + FriendlyName: + description: A descriptive string that you created to describe the + new phone number. It can be up to 64 characters long. By default, + the is a formatted version of the phone number. + type: string + SmsApplicationSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AP[0-9a-fA-F]{32}$ + description: The SID of the application that should handle SMS messages + sent to the new phone number. If an `sms_application_sid` is present, + we ignore all of the `sms_*_url` urls and use those of the application. + SmsFallbackMethod: + description: 'The HTTP method that we should use to call `sms_fallback_url`. + Can be: `GET` or `POST` and defaults to `POST`.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + type: string + SmsFallbackUrl: + description: The URL that we should call when an error occurs while + requesting or executing the TwiML defined by `sms_url`. + format: uri + type: string + SmsMethod: + description: 'The HTTP method that we should use to call `sms_url`. + Can be: `GET` or `POST` and defaults to `POST`.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + type: string + SmsUrl: + description: The URL we should call when the new phone number receives + an incoming SMS message. + format: uri + type: string + StatusCallback: + description: The URL we should call using the `status_callback_method` + to send status information to your application. + format: uri + type: string + StatusCallbackMethod: + description: 'The HTTP method we should use to call `status_callback`. + Can be: `GET` or `POST` and defaults to `POST`.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + type: string + VoiceApplicationSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AP[0-9a-fA-F]{32}$ + description: The SID of the application we should use to handle + calls to the new phone number. If a `voice_application_sid` is + present, we ignore all of the voice urls and use only those set + on the application. Setting a `voice_application_sid` will automatically + delete your `trunk_sid` and vice versa. + VoiceCallerIdLookup: + description: 'Whether to lookup the caller''s name from the CNAM + database and post it to your app. Can be: `true` or `false` and + defaults to `false`.' + type: boolean + VoiceFallbackMethod: + description: 'The HTTP method that we should use to call `voice_fallback_url`. + Can be: `GET` or `POST` and defaults to `POST`.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + type: string + VoiceFallbackUrl: + description: The URL that we should call when an error occurs retrieving + or executing the TwiML requested by `url`. + format: uri + type: string + VoiceMethod: + description: 'The HTTP method that we should use to call `voice_url`. + Can be: `GET` or `POST` and defaults to `POST`.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + type: string + VoiceUrl: + description: The URL that we should call to answer a call to the + new phone number. The `voice_url` will not be called if a `voice_application_sid` + or a `trunk_sid` is set. + format: uri + type: string + IdentitySid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RI[0-9a-fA-F]{32}$ + description: The SID of the Identity resource that we should associate + with the new phone number. Some regions require an identity to + meet local regulations. + AddressSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AD[0-9a-fA-F]{32}$ + description: The SID of the Address resource we should associate + with the new phone number. Some regions require addresses to meet + local regulations. + EmergencyStatus: + type: string + enum: + - Active + - Inactive + description: The parameter displays if emergency calling is enabled + for this number. Active numbers may place emergency calls by dialing + valid emergency numbers for the country. + EmergencyAddressSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AD[0-9a-fA-F]{32}$ + description: The SID of the emergency address configuration to use + for emergency calling from the new phone number. + TrunkSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^TK[0-9a-fA-F]{32}$ + description: The SID of the Trunk we should use to handle calls + to the new phone number. If a `trunk_sid` is present, we ignore + all of the voice urls and voice applications and use only those + set on the Trunk. Setting a `trunk_sid` will automatically delete + your `voice_application_sid` and vice versa. + VoiceReceiveMode: + type: string + enum: + - voice + - fax + description: 'The configuration parameter for the new phone number + to receive incoming voice calls or faxes. Can be: `fax` or `voice` + and defaults to `voice`.' + BundleSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^BU[0-9a-fA-F]{32}$ + description: The SID of the Bundle resource that you associate with + the phone number. Some regions require a Bundle to meet local + Regulations. + required: + - PhoneNumber + title: CreateIncomingPhoneNumberMobileRequest + type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_assigned_add_on.incoming_phone_number_assigned_add_on_extension' - description: OK + $ref: '#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_mobile' + description: Created security: - accountSid_authToken: [] x-maturity: - - Beta + - GA + /2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/TollFree.json: servers: - url: https://api.twilio.com + description: Incoming toll free phone numbers on a Twilio account/project x-twilio: - className: assigned_add_on_extension defaultOutputProperties: - sid - - unique_name + - phone_number - friendly_name - - product_name - parent: /Accounts/{AccountSid}/IncomingPhoneNumbers/{ResourceSid}/AssignedAddOns.json - pathType: instance - /2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/{ResourceSid}/AssignedAddOns/{Sid}.json: - delete: - description: Remove the assignment of an Add-on installation from the Number - specified. - operationId: DeleteIncomingPhoneNumberAssignedAddOn + pathType: list + parent: /Accounts/{AccountSid}/IncomingPhoneNumbers.json + get: + description: '' + operationId: ListIncomingPhoneNumberTollFree parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the resources to delete. + that created the resources to read. in: path name: AccountSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Phone Number to which the Add-on is assigned. - in: path - name: ResourceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^PN[0-9a-fA-F]{32}$ type: string - - description: The Twilio-provided string that uniquely identifies the resource - to delete. - in: path - name: Sid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^XE[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 an instance of an Add-on installation currently assigned - to this Number. - operationId: FetchIncomingPhoneNumberAssignedAddOn - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the resource to fetch. - in: path - name: AccountSid - required: true - schema: maxLength: 34 - minLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Phone Number to which the Add-on is assigned. - in: path - name: ResourceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^PN[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the resource - to fetch. - in: path - name: Sid - required: true + - description: 'Whether to include phone numbers new to the Twilio platform. + Can be: `true` or `false` and the default is `true`.' + in: query + name: Beta schema: - maxLength: 34 - minLength: 34 - pattern: ^XE[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_assigned_add_on' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - Beta - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - unique_name - - friendly_name - - description - parent: /Accounts/{AccountSid}/IncomingPhoneNumbers.json - pathType: instance - /2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/{Sid}.json: - delete: - description: Delete a phone-numbers belonging to the account used to make the - request. - operationId: DeleteIncomingPhoneNumber - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the IncomingPhoneNumber resources to delete. - in: path - name: AccountSid - required: true + type: boolean + - description: A string that identifies the resources to read. + in: query + name: FriendlyName schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ type: string - - description: The Twilio-provided string that uniquely identifies the IncomingPhoneNumber - resource to delete. - in: path - name: Sid - required: true + - description: The phone numbers of the IncomingPhoneNumber resources to read. + You can specify partial numbers and use '*' as a wildcard for any digit. + in: query + name: PhoneNumber schema: - maxLength: 34 - minLength: 34 - pattern: ^PN[0-9a-fA-F]{32}$ + format: phone-number type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: Incoming phone numbers on a Twilio account/project - get: - description: Fetch an incoming-phone-number belonging to the account used to - make the request. - operationId: FetchIncomingPhoneNumber - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the IncomingPhoneNumber resource to fetch. - in: path - name: AccountSid - required: true + - description: 'Whether to include phone numbers based on their origin. Can + be: `twilio` or `hosted`. By default, phone numbers of all origin are included.' + in: query + name: Origin schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ type: string - - description: The Twilio-provided string that uniquely identifies the IncomingPhoneNumber - resource to fetch. - in: path - name: Sid - required: true + - description: How many resources to return in each list page. The default is + 50, and the maximum is 1000. + in: query + name: PageSize schema: - maxLength: 34 - minLength: 34 - pattern: ^PN[0-9a-fA-F]{32}$ - type: string + maximum: 1000 + minimum: 1 + type: integer responses: '200': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.incoming_phone_number' + type: object + title: ListIncomingPhoneNumberTollFreeResponse + properties: + incoming_phone_numbers: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_toll_free' + end: + type: integer + first_page_uri: + type: string + format: uri + next_page_uri: + type: string + format: uri + page: + type: integer + page_size: + type: integer + previous_page_uri: + type: string + format: uri + start: + type: integer + uri: + type: string + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - GA post: - description: Update an incoming-phone-number instance. - operationId: UpdateIncomingPhoneNumber + description: '' + operationId: CreateIncomingPhoneNumberTollFree parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the IncomingPhoneNumber resource to update. For more information, - see [Exchanging Numbers Between Subaccounts](https://www.twilio.com/docs/iam/api/subaccounts#exchanging-numbers). + that will create the resource. in: path name: AccountSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ type: string - - description: The Twilio-provided string that uniquely identifies the IncomingPhoneNumber - resource to update. - in: path - name: Sid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^PN[0-9a-fA-F]{32}$ - type: string + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - AccountSid: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the IncomingPhoneNumber resource to update. For - more information, see [Exchanging Numbers Between Subaccounts](https://www.twilio.com/docs/iam/api/subaccounts#exchanging-numbers). - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - AddressSid: - description: The SID of the Address resource we should associate - with the phone number. Some regions require addresses to meet - local regulations. - maxLength: 34 - minLength: 34 - pattern: ^AD[0-9a-fA-F]{32}$ + PhoneNumber: + description: The phone number to purchase specified 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 ApiVersion: description: The API version to use for incoming calls made to the - phone number. The default is `2010-04-01`. - type: string - BundleSid: - description: The SID of the Bundle resource that you associate with - the phone number. Some regions require a Bundle to meet local - Regulations. - maxLength: 34 - minLength: 34 - pattern: ^BU[0-9a-fA-F]{32}$ - type: string - EmergencyAddressSid: - description: The SID of the emergency address configuration to use - for emergency calling from this phone number. - maxLength: 34 - minLength: 34 - pattern: ^AD[0-9a-fA-F]{32}$ - type: string - EmergencyStatus: - description: The parameter displays if emergency calling is enabled - for this number. Active numbers may place emergency calls by dialing - valid emergency numbers for the country. - enum: - - Active - - Inactive + new phone number. The default is `2010-04-01`. type: string FriendlyName: - description: A descriptive string that you created to describe this - phone number. It can be up to 64 characters long. By default, + description: A descriptive string that you created to describe the + new phone number. It can be up to 64 characters long. By default, this is a formatted version of the phone number. type: string - IdentitySid: - description: The SID of the Identity resource that we should associate - with the phone number. Some regions require an identity to meet - local regulations. - maxLength: 34 - minLength: 34 - pattern: ^RI[0-9a-fA-F]{32}$ - type: string SmsApplicationSid: - description: The SID of the application that should handle SMS messages - sent to the number. If an `sms_application_sid` is present, we - ignore all of the `sms_*_url` urls and use those set on the application. - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AP[0-9a-fA-F]{32}$ - type: string + description: The SID of the application that should handle SMS messages + sent to the new phone number. If an `sms_application_sid` is present, + we ignore all `sms_*_url` values and use those of the application. SmsFallbackMethod: description: 'The HTTP method that we should use to call `sms_fallback_url`. Can be: `GET` or `POST` and defaults to `POST`.' @@ -17247,7 +14903,7 @@ paths: format: http-method type: string SmsUrl: - description: The URL we should call when the phone number receives + description: The URL we should call when the new phone number receives an incoming SMS message. format: uri type: string @@ -17268,26 +14924,16 @@ paths: - DELETE format: http-method type: string - TrunkSid: - description: The SID of the Trunk we should use to handle phone - calls to the phone number. If a `trunk_sid` is present, we ignore - all of the voice urls and voice applications and use only those - set on the Trunk. Setting a `trunk_sid` will automatically delete - your `voice_application_sid` and vice versa. - maxLength: 34 - minLength: 34 - pattern: ^TK[0-9a-fA-F]{32}$ - type: string VoiceApplicationSid: - description: The SID of the application we should use to handle - phone calls to the phone number. If a `voice_application_sid` - is present, we ignore all of the voice urls and use only those - set on the application. Setting a `voice_application_sid` will - automatically delete your `trunk_sid` and vice versa. - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AP[0-9a-fA-F]{32}$ - type: string + description: The SID of the application we should use to handle + calls to the new phone number. If a `voice_application_sid` is + present, we ignore all of the voice urls and use those set on + the application. Setting a `voice_application_sid` will automatically + delete your `trunk_sid` and vice versa. VoiceCallerIdLookup: description: 'Whether to lookup the caller''s name from the CNAM database and post it to your app. Can be: `true` or `false` and @@ -17322,44 +14968,218 @@ paths: - DELETE format: http-method type: string + VoiceUrl: + description: The URL that we should call to answer a call to the + new phone number. The `voice_url` will not be called if a `voice_application_sid` + or a `trunk_sid` is set. + format: uri + type: string + IdentitySid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RI[0-9a-fA-F]{32}$ + description: The SID of the Identity resource that we should associate + with the new phone number. Some regions require an Identity to + meet local regulations. + AddressSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AD[0-9a-fA-F]{32}$ + description: The SID of the Address resource we should associate + with the new phone number. Some regions require addresses to meet + local regulations. + EmergencyStatus: + type: string + enum: + - Active + - Inactive + description: The parameter displays if emergency calling is enabled + for this number. Active numbers may place emergency calls by dialing + valid emergency numbers for the country. + EmergencyAddressSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AD[0-9a-fA-F]{32}$ + description: The SID of the emergency address configuration to use + for emergency calling from the new phone number. + TrunkSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^TK[0-9a-fA-F]{32}$ + description: The SID of the Trunk we should use to handle calls + to the new phone number. If a `trunk_sid` is present, we ignore + all of the voice urls and voice applications and use only those + set on the Trunk. Setting a `trunk_sid` will automatically delete + your `voice_application_sid` and vice versa. VoiceReceiveMode: - description: 'The configuration parameter for the phone number to - receive incoming voice calls or faxes. Can be: `fax` or `voice` - and defaults to `voice`.' + type: string enum: - voice - fax + description: 'The configuration parameter for the new phone number + to receive incoming voice calls or faxes. Can be: `fax` or `voice` + and defaults to `voice`.' + BundleSid: type: string - VoiceUrl: - description: The URL that we should call to answer a call to the - phone number. The `voice_url` will not be called if a `voice_application_sid` - or a `trunk_sid` is set. - format: uri + minLength: 34 + maxLength: 34 + pattern: ^BU[0-9a-fA-F]{32}$ + description: The SID of the Bundle resource that you associate with + the phone number. Some regions require a Bundle to meet local + Regulations. + required: + - PhoneNumber + title: CreateIncomingPhoneNumberTollFreeRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.incoming_phone_number.incoming_phone_number_toll_free' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{AccountSid}/Keys/{Sid}.json: + servers: + - url: https://api.twilio.com + description: API keys + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - date_created + pathType: instance + parent: /Accounts.json + get: + description: '' + operationId: FetchKey + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the Key resource to fetch. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Key resource + to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^SK[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.key' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + post: + description: '' + operationId: UpdateKey + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the Key resources to update. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Key resource + to update. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^SK[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: A descriptive string that you create to describe the + resource. It can be up to 64 characters long. type: string - title: UpdateIncomingPhoneNumberRequest + title: UpdateKeyRequest type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.incoming_phone_number' + $ref: '#/components/schemas/api.v2010.account.key' description: OK security: - accountSid_authToken: [] x-maturity: - GA + delete: + description: '' + operationId: DeleteKey + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the Key resources to delete. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Key resource + to delete. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^SK[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{AccountSid}/Keys.json: servers: - url: https://api.twilio.com + description: API keys x-twilio: defaultOutputProperties: - sid - - phone_number - friendly_name + - date_created + pathType: list parent: /Accounts.json - pathType: instance - /2010-04-01/Accounts/{AccountSid}/Keys.json: - description: API keys get: description: '' operationId: ListKey @@ -17370,10 +15190,10 @@ paths: name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[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 @@ -17387,33 +15207,33 @@ paths: content: application/json: schema: + type: object + title: ListKeyResponse properties: + keys: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.key' end: type: integer first_page_uri: - format: uri type: string - keys: - items: - $ref: '#/components/schemas/api.v2010.account.key' - type: array - next_page_uri: format: uri + next_page_uri: type: string + format: uri page: type: integer page_size: type: integer previous_page_uri: - format: uri type: string + format: uri start: type: integer uri: - format: uri type: string - title: ListKeyResponse - type: object + format: uri description: OK security: - accountSid_authToken: [] @@ -17429,10 +15249,10 @@ paths: name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: @@ -17449,206 +15269,382 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.new_key' - description: Created + $ref: '#/components/schemas/api.v2010.account.new_key' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + x-twilio: + className: new_key + /2010-04-01/Accounts/{AccountSid}/Messages/{MessageSid}/Media/{Sid}.json: + servers: + - url: https://api.twilio.com + description: The Media resource represents a piece of media, such as an image, + that is associated with a message. + x-twilio: + defaultOutputProperties: + - sid + - parent_sid + - content_type + pathType: instance + parent: /Accounts/{AccountSid}/Messages.json + delete: + description: Delete media from your account. Once delete, you will no longer + be billed + operationId: DeleteMedia + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the Media resource(s) to delete. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The SID of the Message resource that this Media resource belongs + to. + in: path + name: MessageSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^(SM|MM)[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Media + resource to delete + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^ME[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + get: + description: Fetch a single media instance belonging to the account used to + make the request + operationId: FetchMedia + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the Media resource(s) to fetch. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The SID of the Message resource that this Media resource belongs + to. + in: path + name: MessageSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^(SM|MM)[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Media + resource to fetch + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^ME[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.message.media' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{AccountSid}/Messages/{MessageSid}/Media.json: + servers: + - url: https://api.twilio.com + description: The Media resource represents a piece of media, such as an image, + that is associated with a message. + x-twilio: + defaultOutputProperties: + - sid + - parent_sid + - content_type + pathType: list + parent: /Accounts/{AccountSid}/Messages.json + get: + description: Retrieve a list of Media resources belonging to the account used + to make the request + operationId: ListMedia + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the Media resource(s) to read. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The SID of the Message resource that this Media resource belongs + to. + in: path + name: MessageSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^(SM|MM)[0-9a-fA-F]{32}$ + - description: 'Only include media that was created on this date. Specify a + date as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read media that + was created on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, + to read media that was created on or before midnight of this date, and `StartTime>=YYYY-MM-DD` + to read media that was created on or after midnight of this date.' + in: query + name: DateCreated + schema: + type: string + format: date-time + - description: 'Only include media that was created on this date. Specify a + date as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read media that + was created on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, + to read media that was created on or before midnight of this date, and `StartTime>=YYYY-MM-DD` + to read media that was created on or after midnight of this date.' + in: query + name: DateCreated< + schema: + type: string + format: date-time + - description: 'Only include media that was created on this date. Specify a + date as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read media that + was created on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, + to read media that was created on or before midnight of this date, and `StartTime>=YYYY-MM-DD` + to read media that was created on or after midnight of this date.' + in: query + name: DateCreated> + schema: + type: string + format: date-time + - 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListMediaResponse + properties: + media_list: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.message.media' + end: + type: integer + first_page_uri: + type: string + format: uri + next_page_uri: + type: string + format: uri + page: + type: integer + page_size: + type: integer + previous_page_uri: + type: string + format: uri + start: + type: integer + uri: + type: string + format: uri + description: OK security: - accountSid_authToken: [] x-maturity: - GA - x-twilio: - className: new_key + /2010-04-01/Accounts/{AccountSid}/Queues/{QueueSid}/Members/{CallSid}.json: servers: - url: https://api.twilio.com + description: Calls in a call queue x-twilio: defaultOutputProperties: - - sid - - friendly_name - - date_created - parent: /Accounts.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/Keys/{Sid}.json: - delete: - description: '' - operationId: DeleteKey + - call_sid + - date_enqueued + - position + - wait_time + pathType: instance + parent: /Accounts/{AccountSid}/Queues.json + get: + description: Fetch a specific member from the queue + operationId: FetchMember parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Key resources to delete. + that created the Member resource(s) to fetch. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Key resource - to delete. + - description: The SID of the Queue in which to find the members to fetch. in: path - name: Sid + name: QueueSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^SK[0-9a-fA-F]{32}$ type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: API keys - get: - description: '' - operationId: FetchKey - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Key resource to fetch. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Key resource - to fetch. + maxLength: 34 + pattern: ^QU[0-9a-fA-F]{32}$ + - description: The [Call](https://www.twilio.com/docs/voice/api/call-resource) + SID of the resource(s) to fetch. in: path - name: Sid + name: CallSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^SK[0-9a-fA-F]{32}$ type: string responses: '200': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.key' + $ref: '#/components/schemas/api.v2010.account.queue.member' description: OK security: - accountSid_authToken: [] x-maturity: - GA post: - description: '' - operationId: UpdateKey + description: Dequeue a member from a queue and have the member's call begin + executing the TwiML document at that URL + operationId: UpdateMember parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Key resources to update. + that created the Member resource(s) to update. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Key resource - to update. + - description: The SID of the Queue in which to find the members to update. in: path - name: Sid + name: QueueSid required: true schema: - maxLength: 34 + type: string minLength: 34 - pattern: ^SK[0-9a-fA-F]{32}$ + maxLength: 34 + pattern: ^QU[0-9a-fA-F]{32}$ + - description: The [Call](https://www.twilio.com/docs/voice/api/call-resource) + SID of the resource(s) to update. + in: path + name: CallSid + required: true + schema: type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - FriendlyName: - description: A descriptive string that you create to describe the - resource. It can be up to 64 characters long. + Url: + description: The absolute URL of the Queue resource. + format: uri type: string - title: UpdateKeyRequest + Method: + description: How to pass the update request data. Can be `GET` or + `POST` and the default is `POST`. `POST` sends the data as encoded + form data and `GET` sends the data as query parameters. + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + type: string + required: + - Url + title: UpdateMemberRequest type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.key' + $ref: '#/components/schemas/api.v2010.account.queue.member' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/Queues/{QueueSid}/Members.json: servers: - url: https://api.twilio.com + description: Calls in a call queue x-twilio: defaultOutputProperties: - - sid - - friendly_name - - date_created - parent: /Accounts.json - pathType: instance - /2010-04-01/Accounts/{AccountSid}/Messages.json: - description: A Message resource represents an inbound or outbound message. + - call_sid + - date_enqueued + - position + - wait_time + pathType: list + parent: /Accounts/{AccountSid}/Queues.json get: - description: Retrieve a list of messages belonging to the account used to make - the request - operationId: ListMessage + description: Retrieve the members of the queue + operationId: ListMember parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Message resources to read. + that created the Member resource(s) to read. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: Read messages sent to only this phone number. - in: query - name: To - schema: - format: phone-number - type: string - - description: Read messages sent from only this phone number or alphanumeric - sender ID. - in: query - name: From - schema: - format: phone-number - type: string - - description: 'The date of the messages to show. Specify a date as `YYYY-MM-DD` - in GMT to read only messages sent on this date. For example: `2009-07-06`. - You can also specify an inequality, such as `DateSent<=YYYY-MM-DD`, to read - messages sent on or before midnight on a date, and `DateSent>=YYYY-MM-DD` - to read messages sent on or after midnight on a date.' - in: query - name: DateSent - schema: - format: date-time - type: string - - description: 'The date of the messages to show. Specify a date as `YYYY-MM-DD` - in GMT to read only messages sent on this date. For example: `2009-07-06`. - You can also specify an inequality, such as `DateSent<=YYYY-MM-DD`, to read - messages sent on or before midnight on a date, and `DateSent>=YYYY-MM-DD` - to read messages sent on or after midnight on a date.' - in: query - name: DateSent< - schema: - format: date-time - type: string - - description: 'The date of the messages to show. Specify a date as `YYYY-MM-DD` - in GMT to read only messages sent on this date. For example: `2009-07-06`. - You can also specify an inequality, such as `DateSent<=YYYY-MM-DD`, to read - messages sent on or before midnight on a date, and `DateSent>=YYYY-MM-DD` - to read messages sent on or after midnight on a date.' - in: query - name: DateSent> + - description: The SID of the Queue in which to find the members + in: path + name: QueueSid + required: true schema: - format: date-time type: string + minLength: 34 + maxLength: 34 + pattern: ^QU[0-9a-fA-F]{32}$ - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -17662,38 +15658,52 @@ paths: content: application/json: schema: + type: object + title: ListMemberResponse properties: + queue_members: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.queue.member' end: type: integer first_page_uri: - format: uri type: string - messages: - items: - $ref: '#/components/schemas/api.v2010.account.message' - type: array - next_page_uri: format: uri + next_page_uri: type: string + format: uri page: type: integer page_size: type: integer previous_page_uri: - format: uri type: string + format: uri start: type: integer uri: - format: uri type: string - title: ListMessageResponse - type: object + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/Messages.json: + servers: + - url: https://api.twilio.com + description: A Message resource represents an inbound or outbound message. + x-twilio: + defaultOutputProperties: + - sid + - from + - to + - status + - direction + - date_sent + pathType: list + parent: /Accounts.json post: description: Send a message from the account used to make the request operationId: CreateMessage @@ -17704,60 +15714,45 @@ paths: name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - AddressRetention: - description: Determines if the address can be stored or obfuscated - based on privacy settings - enum: - - retain + To: + description: The destination phone number in [E.164](https://www.twilio.com/docs/glossary/what-e164) + format for SMS/MMS or [Channel user address](https://www.twilio.com/docs/sms/channels#channel-addresses) + for other 3rd-party channels. + format: phone-number + type: string + StatusCallback: + description: 'The URL we should call using the `status_callback_method` + to send status information to your application. If specified, + we POST these message status changes to the URL: `queued`, `failed`, + `sent`, `delivered`, or `undelivered`. Twilio will POST its [standard + request parameters](https://www.twilio.com/docs/sms/twiml#request-parameters) + as well as some additional parameters including `MessageSid`, + `MessageStatus`, and `ErrorCode`. If you include this parameter + with the `messaging_service_sid`, we use this URL instead of the + Status Callback URL of the [Messaging Service](https://www.twilio.com/docs/sms/services/api). + URLs must contain a valid hostname and underscores are not allowed.' + format: uri type: string ApplicationSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AP[0-9a-fA-F]{32}$ description: The SID of the application that should receive message status. We POST a `message_sid` parameter and a `message_status` parameter with a value of `sent` or `failed` to the [application](https://www.twilio.com/docs/usage/api/applications)'s `message_status_callback`. If a `status_callback` parameter is also passed, it will be ignored and the application's `message_status_callback` parameter will be used. - maxLength: 34 - minLength: 34 - pattern: ^AP[0-9a-fA-F]{32}$ - type: string - Attempt: - description: Total number of attempts made ( including this ) to - send out the message regardless of the provider used - type: integer - Body: - description: The text of the message you want to send. Can be up - to 1,600 characters in length. - type: string - ContentRetention: - description: Determines if the message content can be stored or - redacted based on privacy settings - enum: - - retain - type: string - ForceDelivery: - description: Reserved - type: boolean - From: - description: A Twilio phone number in [E.164](https://www.twilio.com/docs/glossary/what-e164) - format, an [alphanumeric sender ID](https://www.twilio.com/docs/sms/send-messages#use-an-alphanumeric-sender-id), - or a [Channel Endpoint address](https://www.twilio.com/docs/sms/channels#channel-addresses) - that is enabled for the type of message you want to send. Phone - numbers or [short codes](https://www.twilio.com/docs/sms/api/short-code) - purchased from Twilio also work here. You cannot, for example, - spoof messages from a private cell phone number. If you are using - `messaging_service_sid`, this parameter must be empty. - format: phone-number - type: string MaxPrice: description: The maximum total price in US dollars that you will pay for the message to be delivered. Can be a decimal value that @@ -17767,36 +15762,6 @@ paths: of `Failed` is sent to the status callback. If `MaxPrice` is not set, the message cost is not checked. type: number - MediaUrl: - description: The URL of the media to send with the message. The - media can be of type `gif`, `png`, and `jpeg` and will be formatted - correctly on the recipient's device. The media size limit is 5MB - for supported file types (JPEG, PNG, GIF) and 500KB for [other - types](https://www.twilio.com/docs/sms/accepted-mime-types) of - accepted media. To send more than one image in the message body, - provide multiple `media_url` parameters in the POST request. You - can include up to 10 `media_url` parameters per message. You can - send images in an SMS message in only the US and Canada. - items: - format: uri - type: string - type: array - MessagingServiceSid: - description: The SID of the [Messaging Service](https://www.twilio.com/docs/sms/services#send-a-message-with-copilot) - you want to associate with the Message. Set this parameter to - use the [Messaging Service Settings and Copilot Features](https://www.twilio.com/console/sms/services) - you have configured and leave the `from` parameter empty. When - only this parameter is set, Twilio will use your enabled Copilot - Features to select the `from` phone number for delivery. - maxLength: 34 - minLength: 34 - pattern: ^MG[0-9a-fA-F]{32}$ - type: string - PersistentAction: - description: Rich actions for Channels Messages. - items: - type: string - type: array ProvideFeedback: description: Whether to confirm delivery of the message. Set this value to `true` if you are sending messages that have a trackable @@ -17804,44 +15769,10 @@ paths: using the [Message Feedback API](https://www.twilio.com/docs/sms/api/message-feedback-resource). This parameter is `false` by default. type: boolean - ScheduleType: - description: Indicates your intent to schedule a message. Pass the - value `fixed` to schedule a message at a fixed time. - enum: - - fixed - type: string - SendAsMms: - description: If set to True, Twilio will deliver the message as - a single MMS message, regardless of the presence of media. - type: boolean - SendAt: - description: The time that Twilio will send the message. Must be - in ISO 8601 format. - format: date-time - type: string - SmartEncoded: - description: 'Whether to detect Unicode characters that have a similar - GSM-7 character and replace them. Can be: `true` or `false`.' - type: boolean - StatusCallback: - description: 'The URL we should call using the `status_callback_method` - to send status information to your application. If specified, - we POST these message status changes to the URL: `queued`, `failed`, - `sent`, `delivered`, or `undelivered`. Twilio will POST its [standard - request parameters](https://www.twilio.com/docs/sms/twiml#request-parameters) - as well as some additional parameters including `MessageSid`, - `MessageStatus`, and `ErrorCode`. If you include this parameter - with the `messaging_service_sid`, we use this URL instead of the - Status Callback URL of the [Messaging Service](https://www.twilio.com/docs/sms/services/api). - URLs must contain a valid hostname and underscores are not allowed.' - format: uri - type: string - To: - description: The destination phone number in [E.164](https://www.twilio.com/docs/glossary/what-e164) - format for SMS/MMS or [Channel user address](https://www.twilio.com/docs/sms/channels#channel-addresses) - for other 3rd-party channels. - format: phone-number - type: string + Attempt: + description: Total number of attempts made ( including this ) to + send out the message regardless of the provider used + type: integer ValidityPeriod: description: How long in seconds the message can remain in our outgoing message queue. After this period elapses, the message fails and @@ -17851,159 +15782,164 @@ paths: not be queued after this period. We recommend that this value be at least 5 seconds. type: integer - required: - - To - title: CreateMessageRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.message' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA - x-twilio: - conditional: - - - from - - messaging_service_sid - - - body - - media_url - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - from - - to - - status - - direction - - date_sent - parent: /Accounts.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/Messages/{MessageSid}/Feedback.json: - description: Customer-provided feedback on delivery confirmation - post: - description: '' - operationId: CreateMessageFeedback - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that will create the resource. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Message resource for which the feedback was provided. - in: path - name: MessageSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^(SM|MM)[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Outcome: - description: 'Whether the feedback has arrived. Can be: `unconfirmed` - or `confirmed`. If `provide_feedback`=`true` in [the initial HTTP - POST](https://www.twilio.com/docs/sms/api/message-resource#create-a-message-resource), - the initial value of this property is `unconfirmed`. After the - message arrives, update the value to `confirmed`.' + ForceDelivery: + description: Reserved + type: boolean + ContentRetention: + type: string enum: - - confirmed - - unconfirmed + - retain + description: Determines if the message content can be stored or + redacted based on privacy settings + AddressRetention: + type: string + enum: + - retain + description: Determines if the address can be stored or obfuscated + based on privacy settings + SmartEncoded: + description: 'Whether to detect Unicode characters that have a similar + GSM-7 character and replace them. Can be: `true` or `false`.' + type: boolean + PersistentAction: + type: array + items: + type: string + description: Rich actions for Channels Messages. + ScheduleType: + type: string + enum: + - fixed + description: Indicates your intent to schedule a message. Pass the + value `fixed` to schedule a message at a fixed time. + SendAt: + type: string + format: date-time + description: The time that Twilio will send the message. Must be + in ISO 8601 format. + SendAsMms: + description: If set to True, Twilio will deliver the message as + a single MMS message, regardless of the presence of media. + type: boolean + From: + description: A Twilio phone number in [E.164](https://www.twilio.com/docs/glossary/what-e164) + format, an [alphanumeric sender ID](https://www.twilio.com/docs/sms/send-messages#use-an-alphanumeric-sender-id), + or a [Channel Endpoint address](https://www.twilio.com/docs/sms/channels#channel-addresses) + that is enabled for the type of message you want to send. Phone + numbers or [short codes](https://www.twilio.com/docs/sms/api/short-code) + purchased from Twilio also work here. You cannot, for example, + spoof messages from a private cell phone number. If you are using + `messaging_service_sid`, this parameter must be empty. + format: phone-number type: string - title: CreateMessageFeedbackRequest + MessagingServiceSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^MG[0-9a-fA-F]{32}$ + description: The SID of the [Messaging Service](https://www.twilio.com/docs/sms/services#send-a-message-with-copilot) + you want to associate with the Message. Set this parameter to + use the [Messaging Service Settings and Copilot Features](https://www.twilio.com/console/sms/services) + you have configured and leave the `from` parameter empty. When + only this parameter is set, Twilio will use your enabled Copilot + Features to select the `from` phone number for delivery. + Body: + description: The text of the message you want to send. Can be up + to 1,600 characters in length. + type: string + MediaUrl: + type: array + items: + format: uri + type: string + description: The URL of the media to send with the message. The + media can be of type `gif`, `png`, and `jpeg` and will be formatted + correctly on the recipient's device. The media size limit is 5MB + for supported file types (JPEG, PNG, GIF) and 500KB for [other + types](https://www.twilio.com/docs/sms/accepted-mime-types) of + accepted media. To send more than one image in the message body, + provide multiple `media_url` parameters in the POST request. You + can include up to 10 `media_url` parameters per message. You can + send images in an SMS message in only the US and Canada. + required: + - To + title: CreateMessageRequest type: object responses: '201': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.message.message_feedback' + $ref: '#/components/schemas/api.v2010.account.message' description: Created security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - message_sid - - outcome - - date_created - parent: /Accounts/{AccountSid}/Messages.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/Messages/{MessageSid}/Media.json: - description: The Media resource represents a piece of media, such as an image, - that is associated with a message. + x-twilio: + conditional: + - - from + - messaging_service_sid + - - body + - media_url get: - description: Retrieve a list of Media resources belonging to the account used - to make the request - operationId: ListMedia + description: Retrieve a list of messages belonging to the account used to make + the request + operationId: ListMessage parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Media resource(s) to read. + that created the Message resources to read. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Message resource that this Media resource belongs - to. - in: path - name: MessageSid - required: true + - description: Read messages sent to only this phone number. + in: query + name: To schema: - maxLength: 34 - minLength: 34 - pattern: ^(SM|MM)[0-9a-fA-F]{32}$ + format: phone-number type: string - - description: 'Only include media that was created on this date. Specify a - date as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read media that - was created on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, - to read media that was created on or before midnight of this date, and `StartTime>=YYYY-MM-DD` - to read media that was created on or after midnight of this date.' + - description: Read messages sent from only this phone number or alphanumeric + sender ID. in: query - name: DateCreated + name: From schema: - format: date-time + format: phone-number type: string - - description: 'Only include media that was created on this date. Specify a - date as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read media that - was created on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, - to read media that was created on or before midnight of this date, and `StartTime>=YYYY-MM-DD` - to read media that was created on or after midnight of this date.' + - description: 'The date of the messages to show. Specify a date as `YYYY-MM-DD` + in GMT to read only messages sent on this date. For example: `2009-07-06`. + You can also specify an inequality, such as `DateSent<=YYYY-MM-DD`, to read + messages sent on or before midnight on a date, and `DateSent>=YYYY-MM-DD` + to read messages sent on or after midnight on a date.' in: query - name: DateCreated< + name: DateSent schema: - format: date-time type: string - - description: 'Only include media that was created on this date. Specify a - date as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read media that - was created on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, - to read media that was created on or before midnight of this date, and `StartTime>=YYYY-MM-DD` - to read media that was created on or after midnight of this date.' + format: date-time + - description: 'The date of the messages to show. Specify a date as `YYYY-MM-DD` + in GMT to read only messages sent on this date. For example: `2009-07-06`. + You can also specify an inequality, such as `DateSent<=YYYY-MM-DD`, to read + messages sent on or before midnight on a date, and `DateSent>=YYYY-MM-DD` + to read messages sent on or after midnight on a date.' in: query - name: DateCreated> + name: DateSent< schema: + type: string format: date-time + - description: 'The date of the messages to show. Specify a date as `YYYY-MM-DD` + in GMT to read only messages sent on this date. For example: `2009-07-06`. + You can also specify an inequality, such as `DateSent<=YYYY-MM-DD`, to read + messages sent on or before midnight on a date, and `DateSent>=YYYY-MM-DD` + to read messages sent on or after midnight on a date.' + in: query + name: DateSent> + schema: type: string + format: date-time - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -18017,148 +15953,52 @@ paths: content: application/json: schema: + type: object + title: ListMessageResponse properties: - end: - type: integer - first_page_uri: - format: uri - type: string - media_list: - items: - $ref: '#/components/schemas/api.v2010.account.message.media' + messages: type: array - next_page_uri: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_uri: - format: uri - type: string - start: - type: integer - uri: - format: uri - type: string - title: ListMediaResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - parent_sid - - content_type - parent: /Accounts/{AccountSid}/Messages.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/Messages/{MessageSid}/Media/{Sid}.json: - delete: - description: Delete media from your account. Once delete, you will no longer - be billed - operationId: DeleteMedia - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Media resource(s) to delete. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Message resource that this Media resource belongs - to. - in: path - name: MessageSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^(SM|MM)[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Media - resource to delete - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^ME[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: The Media resource represents a piece of media, such as an image, - that is associated with a message. - get: - description: Fetch a single media instance belonging to the account used to - make the request - operationId: FetchMedia - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Media resource(s) to fetch. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Message resource that this Media resource belongs - to. - in: path - name: MessageSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^(SM|MM)[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Media - resource to fetch - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^ME[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.message.media' + items: + $ref: '#/components/schemas/api.v2010.account.message' + end: + type: integer + first_page_uri: + type: string + format: uri + next_page_uri: + type: string + format: uri + page: + type: integer + page_size: + type: integer + previous_page_uri: + type: string + format: uri + start: + type: integer + uri: + type: string + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/Messages/{Sid}.json: servers: - url: https://api.twilio.com + description: A Message resource represents an inbound or outbound message. x-twilio: defaultOutputProperties: - sid - - parent_sid - - content_type - parent: /Accounts/{AccountSid}/Messages.json + - from + - to + - status + - direction + - date_sent pathType: instance - /2010-04-01/Accounts/{AccountSid}/Messages/{Sid}.json: + parent: /Accounts.json delete: description: Deletes a message record from your account operationId: DeleteMessage @@ -18169,20 +16009,20 @@ paths: name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - description: The Twilio-provided string that uniquely identifies the Message resource to delete. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^(SM|MM)[0-9a-fA-F]{32}$ - type: string responses: '204': description: The resource was deleted successfully. @@ -18190,7 +16030,6 @@ paths: - accountSid_authToken: [] x-maturity: - GA - description: A Message resource represents an inbound or outbound message. get: description: Fetch a message belonging to the account used to make the request operationId: FetchMessage @@ -18201,20 +16040,20 @@ paths: name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - description: The Twilio-provided string that uniquely identifies the Message resource to fetch. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^(SM|MM)[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -18237,20 +16076,20 @@ paths: name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - description: The Twilio-provided string that uniquely identifies the Message resource to update. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^(SM|MM)[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: @@ -18261,11 +16100,11 @@ paths: to 1,600 characters long. type: string Status: - description: When set as `canceled`, allows a message cancelation - request if a message has not yet been sent. + type: string enum: - canceled - type: string + description: When set as `canceled`, allows a message cancelation + request if a message has not yet been sent. title: UpdateMessageRequest type: object responses: @@ -18279,69 +16118,130 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/Messages/{MessageSid}/Feedback.json: servers: - url: https://api.twilio.com + description: Customer-provided feedback on delivery confirmation x-twilio: defaultOutputProperties: - - sid - - from - - to - - status - - direction - - date_sent - parent: /Accounts.json - pathType: instance - /2010-04-01/Accounts/{AccountSid}/Notifications.json: - description: '[DEPRECATED] Log entries' - get: - description: Retrieve a list of notifications belonging to the account used - to make the request - operationId: ListNotification + - message_sid + - outcome + - date_created + pathType: list + parent: /Accounts/{AccountSid}/Messages.json + post: + description: '' + operationId: CreateMessageFeedback parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Notification resources to read. + that will create the resource. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: 'Only read notifications of the specified log level. Can be: `0` - to read only ERROR notifications or `1` to read only WARNING notifications. - By default, all notifications are read.' - in: query - name: Log - schema: - type: integer - - description: Only show notifications for the specified date, formatted as - `YYYY-MM-DD`. You can also specify an inequality, such as `<=YYYY-MM-DD` - for messages logged at or before midnight on a date, or `>=YYYY-MM-DD` for - messages logged at or after midnight on a date. - in: query - name: MessageDate + - description: The SID of the Message resource for which the feedback was provided. + in: path + name: MessageSid + required: true schema: - format: date type: string - - description: Only show notifications for the specified date, formatted as - `YYYY-MM-DD`. You can also specify an inequality, such as `<=YYYY-MM-DD` - for messages logged at or before midnight on a date, or `>=YYYY-MM-DD` for - messages logged at or after midnight on a date. - in: query - name: MessageDate< + minLength: 34 + maxLength: 34 + pattern: ^(SM|MM)[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Outcome: + type: string + enum: + - confirmed + - unconfirmed + description: 'Whether the feedback has arrived. Can be: `unconfirmed` + or `confirmed`. If `provide_feedback`=`true` in [the initial HTTP + POST](https://www.twilio.com/docs/sms/api/message-resource#create-a-message-resource), + the initial value of this property is `unconfirmed`. After the + message arrives, update the value to `confirmed`.' + title: CreateMessageFeedbackRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.message.message_feedback' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{AccountSid}/SigningKeys.json: + servers: + - url: https://api.twilio.com + description: Create a new signing key + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - secret + pathType: list + parent: /Accounts.json + post: + description: Create a new Signing Key for the account making the request. + operationId: CreateNewSigningKey + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that will be responsible for the new Key resource. + in: path + name: AccountSid + required: true schema: - format: date type: string - - description: Only show notifications for the specified date, formatted as - `YYYY-MM-DD`. You can also specify an inequality, such as `<=YYYY-MM-DD` - for messages logged at or before midnight on a date, or `>=YYYY-MM-DD` for - messages logged at or after midnight on a date. - in: query - name: MessageDate> + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: A descriptive string that you create to describe the + resource. It can be up to 64 characters long. + type: string + title: CreateNewSigningKeyRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.new_signing_key' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + x-twilio: + className: new_signing_key + get: + description: '' + operationId: ListSigningKey + parameters: + - description: '' + in: path + name: AccountSid + required: true schema: - format: date type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -18355,50 +16255,50 @@ paths: content: application/json: schema: + type: object + title: ListSigningKeyResponse properties: + signing_keys: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.signing_key' end: type: integer first_page_uri: - format: uri type: string - next_page_uri: format: uri + next_page_uri: type: string - notifications: - items: - $ref: '#/components/schemas/api.v2010.account.notification' - type: array + format: uri page: type: integer page_size: type: integer previous_page_uri: - format: uri type: string + format: uri start: type: integer uri: - format: uri type: string - title: ListNotificationResponse - type: object + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/Notifications/{Sid}.json: servers: - url: https://api.twilio.com + description: '[DEPRECATED] Log entries' x-twilio: defaultOutputProperties: - sid - call_sid - error_code - message_date + pathType: instance parent: /Accounts.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/Notifications/{Sid}.json: - description: '[DEPRECATED] Log entries' get: description: Fetch a notification belonging to the account used to make the request @@ -18410,20 +16310,20 @@ paths: name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - description: The Twilio-provided string that uniquely identifies the Notification resource to fetch. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^NO[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -18435,46 +16335,66 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/Notifications.json: servers: - url: https://api.twilio.com + description: '[DEPRECATED] Log entries' x-twilio: defaultOutputProperties: - sid - call_sid - error_code - message_date - parent: /Accounts.json - pathType: instance - /2010-04-01/Accounts/{AccountSid}/OutgoingCallerIds.json: - description: An OutgoingCallerId resource represents a single verified number - that may be used as a caller ID when making outgoing calls via the REST API - and within the TwiML verb. + pathType: list + parent: /Accounts.json get: - description: Retrieve a list of outgoing-caller-ids belonging to the account - used to make the request - operationId: ListOutgoingCallerId + description: Retrieve a list of notifications belonging to the account used + to make the request + operationId: ListNotification parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the OutgoingCallerId resources to read. + that created the Notification resources to read. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ + - description: 'Only read notifications of the specified log level. Can be: `0` + to read only ERROR notifications or `1` to read only WARNING notifications. + By default, all notifications are read.' + in: query + name: Log + schema: + type: integer + - description: Only show notifications for the specified date, formatted as + `YYYY-MM-DD`. You can also specify an inequality, such as `<=YYYY-MM-DD` + for messages logged at or before midnight on a date, or `>=YYYY-MM-DD` for + messages logged at or after midnight on a date. + in: query + name: MessageDate + schema: + format: date type: string - - description: The phone number of the OutgoingCallerId resources to read. + - description: Only show notifications for the specified date, formatted as + `YYYY-MM-DD`. You can also specify an inequality, such as `<=YYYY-MM-DD` + for messages logged at or before midnight on a date, or `>=YYYY-MM-DD` for + messages logged at or after midnight on a date. in: query - name: PhoneNumber + name: MessageDate< schema: - format: phone-number + format: date type: string - - description: The string that identifies the OutgoingCallerId resources to - read. + - description: Only show notifications for the specified date, formatted as + `YYYY-MM-DD`. You can also specify an inequality, such as `<=YYYY-MM-DD` + for messages logged at or before midnight on a date, or `>=YYYY-MM-DD` for + messages logged at or after midnight on a date. in: query - name: FriendlyName + name: MessageDate> schema: + format: date type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. @@ -18489,122 +16409,133 @@ paths: content: application/json: schema: + type: object + title: ListNotificationResponse properties: + notifications: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.notification' end: type: integer first_page_uri: - format: uri type: string - next_page_uri: format: uri + next_page_uri: type: string - outgoing_caller_ids: - items: - $ref: '#/components/schemas/api.v2010.account.outgoing_caller_id' - type: array + format: uri page: type: integer page_size: type: integer previous_page_uri: - format: uri type: string + format: uri start: type: integer uri: - format: uri type: string - title: ListOutgoingCallerIdResponse - type: object + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: '' - operationId: CreateValidationRequest + /2010-04-01/Accounts/{AccountSid}/OutgoingCallerIds/{Sid}.json: + servers: + - url: https://api.twilio.com + description: An OutgoingCallerId resource represents a single verified number + that may be used as a caller ID when making outgoing calls via the REST API + and within the TwiML verb. + x-twilio: + defaultOutputProperties: + - sid + - phone_number + - friendly_name + pathType: instance + parent: /Accounts.json + get: + description: Fetch an outgoing-caller-id belonging to the account used to make + the request + operationId: FetchOutgoingCallerId parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - responsible for the new caller ID resource. + that created the OutgoingCallerId resource to fetch. in: path name: AccountSid required: true schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the OutgoingCallerId + resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 maxLength: 34 + pattern: ^PN[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.outgoing_caller_id' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + post: + description: Updates the caller-id + operationId: UpdateOutgoingCallerId + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the OutgoingCallerId resources to update. + in: path + name: AccountSid + required: true + schema: + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the OutgoingCallerId + resource to update. + in: path + name: Sid + required: true + schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^PN[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - CallDelay: - description: The number of seconds to delay before initiating the - verification call. Can be an integer between `0` and `60`, inclusive. - The default is `0`. - type: integer - Extension: - description: The digits to dial after connecting the verification - call. - type: string FriendlyName: description: A descriptive string that you create to describe the - new caller ID resource. It can be up to 64 characters long. The - default value is a formatted version of the phone number. - type: string - PhoneNumber: - description: The phone number to verify 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 - type: string - StatusCallback: - description: The URL we should call using the `status_callback_method` - to send status information about the verification process to your - application. - format: uri - type: string - StatusCallbackMethod: - description: 'The HTTP method we should use to call `status_callback`. - Can be: `GET` or `POST`, and the default is `POST`.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method + resource. It can be up to 64 characters long. type: string - required: - - PhoneNumber - title: CreateValidationRequestRequest + title: UpdateOutgoingCallerIdRequest type: object responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.validation_request' - description: Created + $ref: '#/components/schemas/api.v2010.account.outgoing_caller_id' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - x-twilio: - className: validation_request - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - phone_number - - friendly_name - parent: /Accounts.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/OutgoingCallerIds/{Sid}.json: delete: description: Delete the caller-id specified from the account operationId: DeleteOutgoingCallerId @@ -18615,20 +16546,20 @@ paths: name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - description: The Twilio-provided string that uniquely identifies the OutgoingCallerId resource to delete. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^PN[0-9a-fA-F]{32}$ - type: string responses: '204': description: The resource was deleted successfully. @@ -18636,365 +16567,431 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/OutgoingCallerIds.json: + servers: + - url: https://api.twilio.com description: An OutgoingCallerId resource represents a single verified number that may be used as a caller ID when making outgoing calls via the REST API and within the TwiML verb. + x-twilio: + defaultOutputProperties: + - sid + - phone_number + - friendly_name + pathType: list + parent: /Accounts.json get: - description: Fetch an outgoing-caller-id belonging to the account used to make - the request - operationId: FetchOutgoingCallerId + description: Retrieve a list of outgoing-caller-ids belonging to the account + used to make the request + operationId: ListOutgoingCallerId parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the OutgoingCallerId resource to fetch. + that created the OutgoingCallerId resources to read. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ + - description: The phone number of the OutgoingCallerId resources to read. + in: query + name: PhoneNumber + schema: + format: phone-number type: string - - description: The Twilio-provided string that uniquely identifies the OutgoingCallerId - resource to fetch. - in: path - name: Sid - required: true + - description: The string that identifies the OutgoingCallerId resources to + read. + in: query + name: FriendlyName schema: - maxLength: 34 - minLength: 34 - pattern: ^PN[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 responses: '200': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.outgoing_caller_id' + type: object + title: ListOutgoingCallerIdResponse + properties: + outgoing_caller_ids: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.outgoing_caller_id' + end: + type: integer + first_page_uri: + type: string + format: uri + next_page_uri: + type: string + format: uri + page: + type: integer + page_size: + type: integer + previous_page_uri: + type: string + format: uri + start: + type: integer + uri: + type: string + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - GA post: - description: Updates the caller-id - operationId: UpdateOutgoingCallerId + description: '' + operationId: CreateValidationRequest parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the OutgoingCallerId resources to update. + responsible for the new caller ID resource. in: path name: AccountSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ type: string - - description: The Twilio-provided string that uniquely identifies the OutgoingCallerId - resource to update. - in: path - name: Sid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^PN[0-9a-fA-F]{32}$ - type: string + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: + PhoneNumber: + description: The phone number to verify 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 + type: string FriendlyName: description: A descriptive string that you create to describe the - resource. It can be up to 64 characters long. + new caller ID resource. It can be up to 64 characters long. The + default value is a formatted version of the phone number. type: string - title: UpdateOutgoingCallerIdRequest + CallDelay: + description: The number of seconds to delay before initiating the + verification call. Can be an integer between `0` and `60`, inclusive. + The default is `0`. + type: integer + Extension: + description: The digits to dial after connecting the verification + call. + type: string + StatusCallback: + description: The URL we should call using the `status_callback_method` + to send status information about the verification process to your + application. + format: uri + type: string + StatusCallbackMethod: + description: 'The HTTP method we should use to call `status_callback`. + Can be: `GET` or `POST`, and the default is `POST`.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + type: string + required: + - PhoneNumber + title: CreateValidationRequestRequest type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.outgoing_caller_id' - description: OK + $ref: '#/components/schemas/api.v2010.account.validation_request' + description: Created security: - accountSid_authToken: [] x-maturity: - GA + x-twilio: + className: validation_request + /2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Participants/{CallSid}.json: servers: - url: https://api.twilio.com + description: Conference participants x-twilio: defaultOutputProperties: - - sid - - phone_number - - friendly_name - parent: /Accounts.json + - call_sid + - label + - status + - muted + - hold pathType: instance - /2010-04-01/Accounts/{AccountSid}/Queues.json: - description: Queues of calls + parent: /Accounts/{AccountSid}/Conferences.json get: - description: Retrieve a list of queues belonging to the account used to make - the request - operationId: ListQueue + description: Fetch an instance of a participant + operationId: FetchParticipant parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Queue resources to read. + that created the Participant resource to fetch. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ + - description: The SID of the conference with the participant to fetch. + in: path + name: ConferenceSid + required: true + schema: 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 + minLength: 34 + maxLength: 34 + pattern: ^CF[0-9a-fA-F]{32}$ + - description: The [Call](https://www.twilio.com/docs/voice/api/call-resource) + SID or label of the participant to fetch. Non URL safe characters in a label + must be percent encoded, for example, a space character is represented as + %20. + in: path + name: CallSid + required: true schema: - maximum: 1000 - minimum: 1 - type: integer + type: string responses: '200': content: application/json: schema: - properties: - end: - type: integer - first_page_uri: - format: uri - type: string - next_page_uri: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_uri: - format: uri - type: string - queues: - items: - $ref: '#/components/schemas/api.v2010.account.queue' - type: array - start: - type: integer - uri: - format: uri - type: string - title: ListQueueResponse - type: object + $ref: '#/components/schemas/api.v2010.account.conference.participant' description: OK security: - accountSid_authToken: [] x-maturity: - GA post: - description: Create a queue - operationId: CreateQueue + description: Update the properties of the participant + operationId: UpdateParticipant parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that will create the resource. + that created the Participant resources to update. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ + - description: The SID of the conference with the participant to update. + in: path + name: ConferenceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CF[0-9a-fA-F]{32}$ + - description: The [Call](https://www.twilio.com/docs/voice/api/call-resource) + SID or label of the participant to update. Non URL safe characters in a + label must be percent encoded, for example, a space character is represented + as %20. + in: path + name: CallSid + required: true + schema: type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - FriendlyName: - description: A descriptive string that you created to describe this - resource. It can be up to 64 characters long. + Muted: + description: Whether the participant should be muted. Can be `true` + or `false`. `true` will mute the participant, and `false` will + un-mute them. Anything value other than `true` or `false` is interpreted + as `false`. + type: boolean + Hold: + description: 'Whether the participant should be on hold. Can be: + `true` or `false`. `true` puts the participant on hold, and `false` + lets them rejoin the conference.' + type: boolean + HoldUrl: + description: The URL we call using the `hold_method` for music + that plays when the participant is on hold. The URL may return + an MP3 file, a WAV file, or a TwiML document that contains the + ``, `` or `` commands. + format: uri + type: string + HoldMethod: + description: 'The HTTP method we should use to call `hold_url`. + Can be: `GET` or `POST` and the default is `GET`.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + type: string + AnnounceUrl: + description: The URL we call using the `announce_method` for an + announcement to the participant. The URL must return an MP3 file, + a WAV file, or a TwiML document that contains `` or `` + commands. + format: uri + type: string + AnnounceMethod: + description: 'The HTTP method we should use to call `announce_url`. + Can be: `GET` or `POST` and defaults to `POST`.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + type: string + WaitUrl: + description: The URL we should call using the `wait_method` for + the music to play while participants are waiting for the conference + to start. The default value is the URL of our standard hold music. + [Learn more about hold music](https://www.twilio.com/labs/twimlets/holdmusic). + format: uri + type: string + WaitMethod: + description: The HTTP method we should use to call `wait_url`. Can + be `GET` or `POST` and the default is `POST`. When using a static + audio file, this should be `GET` so that we can cache the file. + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method type: string - MaxSize: - description: The maximum number of calls allowed to be in the queue. - The default is 100. The maximum is 5000. - type: integer - required: - - FriendlyName - title: CreateQueueRequest + BeepOnExit: + description: 'Whether to play a notification beep to the conference + when the participant exits. Can be: `true` or `false`.' + type: boolean + EndConferenceOnExit: + description: 'Whether to end the conference when the participant + leaves. Can be: `true` or `false` and defaults to `false`.' + type: boolean + Coaching: + description: 'Whether the participant is coaching another call. + Can be: `true` or `false`. If not present, defaults to `false` + unless `call_sid_to_coach` is defined. If `true`, `call_sid_to_coach` + must be defined.' + type: boolean + CallSidToCoach: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ + description: The SID of the participant who is being `coached`. + The participant being coached is the only participant who can + hear the participant who is `coaching`. + title: UpdateParticipantRequest type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.queue' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - current_size - - average_wait_time - parent: /Accounts.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/Queues/{QueueSid}/Members.json: - description: Calls in a call queue - get: - description: Retrieve the members of the queue - operationId: ListMember - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Member resource(s) to read. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Queue in which to find the members - in: path - name: QueueSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^QU[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 responses: '200': content: application/json: schema: - properties: - end: - type: integer - first_page_uri: - format: uri - type: string - next_page_uri: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_uri: - format: uri - type: string - queue_members: - items: - $ref: '#/components/schemas/api.v2010.account.queue.member' - type: array - start: - type: integer - uri: - format: uri - type: string - title: ListMemberResponse - type: object + $ref: '#/components/schemas/api.v2010.account.conference.participant' description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - call_sid - - date_enqueued - - position - - wait_time - parent: /Accounts/{AccountSid}/Queues.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/Queues/{QueueSid}/Members/{CallSid}.json: - description: Calls in a call queue - get: - description: Fetch a specific member from the queue - operationId: FetchMember + delete: + description: Kick a participant from a given conference + operationId: DeleteParticipant parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Member resource(s) to fetch. + that created the Participant resources to delete. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Queue in which to find the members to fetch. + - description: The SID of the conference with the participants to delete. in: path - name: QueueSid + name: ConferenceSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^QU[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^CF[0-9a-fA-F]{32}$ - description: The [Call](https://www.twilio.com/docs/voice/api/call-resource) - SID of the resource(s) to fetch. + SID or label of the participant to delete. Non URL safe characters in a + label must be percent encoded, for example, a space character is represented + as %20. in: path name: CallSid required: true schema: type: string responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.queue.member' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Participants.json: + servers: + - url: https://api.twilio.com + description: Conference participants + x-twilio: + defaultOutputProperties: + - call_sid + - label + - status + - muted + - hold + pathType: list + parent: /Accounts/{AccountSid}/Conferences.json post: - description: Dequeue a member from a queue and have the member's call begin - executing the TwiML document at that URL - operationId: UpdateMember + description: '' + operationId: CreateParticipant parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Member resource(s) to update. + that will create the resource. in: path name: AccountSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ type: string - - description: The SID of the Queue in which to find the members to update. - in: path - name: QueueSid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^QU[0-9a-fA-F]{32}$ - type: string - - description: The [Call](https://www.twilio.com/docs/voice/api/call-resource) - SID of the resource(s) to update. + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The SID of the participant's conference. in: path - name: CallSid + name: ConferenceSid required: true schema: type: string @@ -19003,10 +17000,97 @@ paths: application/x-www-form-urlencoded: schema: properties: - Method: - description: How to pass the update request data. Can be `GET` or - `POST` and the default is `POST`. `POST` sends the data as encoded - form data and `GET` sends the data as query parameters. + From: + description: The phone number, Client identifier, or username portion + of SIP address that made this call. Phone numbers are in [E.164](https://www.twilio.com/docs/glossary/what-e164) + format (e.g., +16175551212). Client identifiers are formatted + `client:name`. If using a phone number, it must be a Twilio number + or a Verified [outgoing caller id](https://www.twilio.com/docs/voice/api/outgoing-caller-ids) + for your account. If the `to` parameter is a phone number, `from` + must also be a phone number. If `to` is sip address, this value + of `from` should be a username portion to be used to populate + the P-Asserted-Identity header that is passed to the SIP endpoint. + type: string + To: + description: The phone number, SIP address, or Client identifier + that received this call. Phone numbers are in [E.164](https://www.twilio.com/docs/glossary/what-e164) + format (e.g., +16175551212). SIP addresses are formatted as `sip:name@company.com`. + Client identifiers are formatted `client:name`. [Custom parameters](https://www.twilio.com/docs/voice/api/conference-participant-resource#custom-parameters) + may also be specified. + type: string + StatusCallback: + description: The URL we should call using the `status_callback_method` + to send status information to your application. + format: uri + type: string + StatusCallbackMethod: + description: 'The HTTP method we should use to call `status_callback`. + Can be: `GET` and `POST` and defaults to `POST`.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + type: string + StatusCallbackEvent: + type: array + items: + type: string + description: 'The conference state changes that should generate + a call to `status_callback`. Can be: `initiated`, `ringing`, `answered`, + and `completed`. Separate multiple values with a space. The default + value is `completed`.' + Label: + description: A label for this participant. If one is supplied, it + may subsequently be used to fetch, update or delete the participant. + type: string + Timeout: + description: The number of seconds that we should allow the phone + to ring before assuming there is no answer. Can be an integer + between `5` and `600`, inclusive. The default value is `60`. We + always add a 5-second timeout buffer to outgoing calls, so value + of 10 would result in an actual timeout that was closer to 15 + seconds. + type: integer + Record: + description: Whether to record the participant and their conferences, + including the time between conferences. Can be `true` or `false` + and the default is `false`. + type: boolean + Muted: + description: Whether the agent is muted in the conference. Can be + `true` or `false` and the default is `false`. + type: boolean + Beep: + description: 'Whether to play a notification beep to the conference + when the participant joins. Can be: `true`, `false`, `onEnter`, + or `onExit`. The default value is `true`.' + type: string + StartConferenceOnEnter: + description: 'Whether to start the conference when the participant + joins, if it has not already started. Can be: `true` or `false` + and the default is `true`. If `false` and the conference has not + started, the participant is muted and hears background music until + another participant starts the conference.' + type: boolean + EndConferenceOnExit: + description: 'Whether to end the conference when the participant + leaves. Can be: `true` or `false` and defaults to `false`.' + type: boolean + WaitUrl: + description: The URL we should call using the `wait_method` for + the music to play while participants are waiting for the conference + to start. The default value is the URL of our standard hold music. + [Learn more about hold music](https://www.twilio.com/labs/twimlets/holdmusic). + format: uri + type: string + WaitMethod: + description: The HTTP method we should use to call `wait_url`. Can + be `GET` or `POST` and the default is `POST`. When using a static + audio file, this should be `GET` so that we can cache the file. enum: - HEAD - GET @@ -19016,588 +17100,683 @@ paths: - DELETE format: http-method type: string - Url: - description: The absolute URL of the Queue resource. + EarlyMedia: + description: 'Whether to allow an agent to hear the state of the + outbound call, including ringing or disconnect messages. Can be: + `true` or `false` and defaults to `true`.' + type: boolean + MaxParticipants: + description: The maximum number of participants in the conference. + Can be a positive integer from `2` to `250`. The default value + is `250`. + type: integer + ConferenceRecord: + description: 'Whether to record the conference the participant is + joining. Can be: `true`, `false`, `record-from-start`, and `do-not-record`. + The default value is `false`.' + type: string + ConferenceTrim: + description: 'Whether to trim leading and trailing silence from + your recorded conference audio files. Can be: `trim-silence` or + `do-not-trim` and defaults to `trim-silence`.' + type: string + ConferenceStatusCallback: + description: The URL we should call using the `conference_status_callback_method` + when the conference events in `conference_status_callback_event` + occur. Only the value set by the first participant to join the + conference is used. Subsequent `conference_status_callback` values + are ignored. format: uri type: string - required: - - Url - title: UpdateMemberRequest - type: object - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.queue.member' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - call_sid - - date_enqueued - - position - - wait_time - parent: /Accounts/{AccountSid}/Queues.json - pathType: instance - /2010-04-01/Accounts/{AccountSid}/Queues/{Sid}.json: - delete: - description: Remove an empty queue - operationId: DeleteQueue - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Queue resource to delete. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Queue - resource to delete - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^QU[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: Queues of calls - get: - description: Fetch an instance of a queue identified by the QueueSid - operationId: FetchQueue - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Queue resource to fetch. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Queue - resource to fetch - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^QU[0-9a-fA-F]{32}$ - type: string + ConferenceStatusCallbackMethod: + description: 'The HTTP method we should use to call `conference_status_callback`. + Can be: `GET` or `POST` and defaults to `POST`.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + type: string + ConferenceStatusCallbackEvent: + type: array + items: + type: string + description: 'The conference state changes that should generate + a call to `conference_status_callback`. Can be: `start`, `end`, + `join`, `leave`, `mute`, `hold`, `modify`, `speaker`, and `announcement`. + Separate multiple values with a space. Defaults to `start end`.' + RecordingChannels: + description: 'The recording channels for the final recording. Can + be: `mono` or `dual` and the default is `mono`.' + type: string + RecordingStatusCallback: + description: The URL that we should call using the `recording_status_callback_method` + when the recording status changes. + format: uri + type: string + RecordingStatusCallbackMethod: + description: 'The HTTP method we should use when we call `recording_status_callback`. + Can be: `GET` or `POST` and defaults to `POST`.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + type: string + SipAuthUsername: + description: The SIP username used for authentication. + type: string + SipAuthPassword: + description: The SIP password for authentication. + type: string + Region: + description: The [region](https://support.twilio.com/hc/en-us/articles/223132167-How-global-low-latency-routing-and-region-selection-work-for-conferences-and-Client-calls) + where we should mix the recorded audio. Can be:`us1`, `ie1`, `de1`, + `sg1`, `br1`, `au1`, or `jp1`. + type: string + ConferenceRecordingStatusCallback: + description: The URL we should call using the `conference_recording_status_callback_method` + when the conference recording is available. + format: uri + type: string + ConferenceRecordingStatusCallbackMethod: + description: 'The HTTP method we should use to call `conference_recording_status_callback`. + Can be: `GET` or `POST` and defaults to `POST`.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + type: string + RecordingStatusCallbackEvent: + type: array + items: + type: string + description: 'The recording state changes that should generate a + call to `recording_status_callback`. Can be: `started`, `in-progress`, + `paused`, `resumed`, `stopped`, `completed`, `failed`, and `absent`. + Separate multiple values with a space, ex: `''in-progress completed + failed''`.' + ConferenceRecordingStatusCallbackEvent: + type: array + items: + type: string + description: 'The conference recording state changes that generate + a call to `conference_recording_status_callback`. Can be: `in-progress`, + `completed`, `failed`, and `absent`. Separate multiple values + with a space, ex: `''in-progress completed failed''`' + Coaching: + description: 'Whether the participant is coaching another call. + Can be: `true` or `false`. If not present, defaults to `false` + unless `call_sid_to_coach` is defined. If `true`, `call_sid_to_coach` + must be defined.' + type: boolean + CallSidToCoach: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ + description: The SID of the participant who is being `coached`. + The participant being coached is the only participant who can + hear the participant who is `coaching`. + JitterBufferSize: + description: 'Jitter buffer size for the connecting participant. + Twilio will use this setting to apply Jitter Buffer before participant''s + audio is mixed into the conference. Can be: `off`, `small`, `medium`, + and `large`. Default to `large`.' + type: string + Byoc: + type: string + minLength: 34 + maxLength: 34 + pattern: ^BY[0-9a-fA-F]{32}$ + description: The SID of a BYOC (Bring Your Own Carrier) trunk to + route this call with. Note that `byoc` is only meaningful when + `to` is a phone number; it will otherwise be ignored. (Beta) + CallerId: + description: The phone number, Client identifier, or username portion + of SIP address that made this call. Phone numbers are in [E.164](https://www.twilio.com/docs/glossary/what-e164) + format (e.g., +16175551212). Client identifiers are formatted + `client:name`. If using a phone number, it must be a Twilio number + or a Verified [outgoing caller id](https://www.twilio.com/docs/voice/api/outgoing-caller-ids) + for your account. If the `to` parameter is a phone number, `callerId` + must also be a phone number. If `to` is sip address, this value + of `callerId` should be a username portion to be used to populate + the From header that is passed to the SIP endpoint. + type: string + CallReason: + description: The Reason for the outgoing call. Use it to specify + the purpose of the call that is presented on the called party's + phone. (Branded Calls Beta) + type: string + RecordingTrack: + description: 'The audio track to record for the call. Can be: `inbound`, + `outbound` or `both`. The default is `both`. `inbound` records + the audio that is received by Twilio. `outbound` records the audio + that is sent from Twilio. `both` records the audio that is received + and sent by Twilio.' + type: string + TimeLimit: + description: The maximum duration of the call in seconds. Constraints + depend on account and configuration. + type: integer + required: + - From + - To + title: CreateParticipantRequest + type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.queue' - description: OK + $ref: '#/components/schemas/api.v2010.account.conference.participant' + description: Created security: - accountSid_authToken: [] x-maturity: - GA - post: - description: Update the queue with the new parameters - operationId: UpdateQueue + get: + description: Retrieve a list of participants belonging to the account used to + make the request + operationId: ListParticipant parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Queue resource to update. + that created the Participant resources to read. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Queue - resource to update + - description: The SID of the conference with the participants to read. in: path - name: Sid + name: ConferenceSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^QU[0-9a-fA-F]{32}$ type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - FriendlyName: - description: A descriptive string that you created to describe this - resource. It can be up to 64 characters long. - type: string - MaxSize: - description: The maximum number of calls allowed to be in the queue. - The default is 100. The maximum is 5000. - type: integer - title: UpdateQueueRequest - type: object + minLength: 34 + maxLength: 34 + pattern: ^CF[0-9a-fA-F]{32}$ + - description: 'Whether to return only participants that are muted. Can be: + `true` or `false`.' + in: query + name: Muted + schema: + type: boolean + - description: 'Whether to return only participants that are on hold. Can be: + `true` or `false`.' + in: query + name: Hold + schema: + type: boolean + - description: 'Whether to return only participants who are coaching another + call. Can be: `true` or `false`.' + in: query + name: Coaching + schema: + type: boolean + - 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 responses: '200': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.queue' + type: object + title: ListParticipantResponse + properties: + participants: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.conference.participant' + end: + type: integer + first_page_uri: + type: string + format: uri + next_page_uri: + type: string + format: uri + page: + type: integer + page_size: + type: integer + previous_page_uri: + type: string + format: uri + start: + type: integer + uri: + type: string + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Payments.json: servers: - url: https://api.twilio.com + description: Twilio enabled secure payments solution for accepting credit and + ACH payments over the phone. x-twilio: defaultOutputProperties: - sid - - friendly_name - - current_size - - average_wait_time - parent: /Accounts.json - pathType: instance - /2010-04-01/Accounts/{AccountSid}/Recordings.json: - description: Recordings of phone calls - get: - description: Retrieve a list of recordings belonging to the account used to - make the request - operationId: ListRecording + pathType: list + parent: /Accounts/{AccountSid}/Calls.json + post: + description: create an instance of payments. This will start a new payments + session + operationId: CreatePayments parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Recording resources to read. + that will create the resource. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: 'Only include recordings that were created on this date. Specify - a date as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read recordings - that were created on this date. You can also specify an inequality, such - as `DateCreated<=YYYY-MM-DD`, to read recordings that were created on or - before midnight of this date, and `DateCreated>=YYYY-MM-DD` to read recordings - that were created on or after midnight of this date.' - in: query - name: DateCreated - schema: - format: date-time - type: string - - description: 'Only include recordings that were created on this date. Specify - a date as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read recordings - that were created on this date. You can also specify an inequality, such - as `DateCreated<=YYYY-MM-DD`, to read recordings that were created on or - before midnight of this date, and `DateCreated>=YYYY-MM-DD` to read recordings - that were created on or after midnight of this date.' - in: query - name: DateCreated< - schema: - format: date-time - type: string - - description: 'Only include recordings that were created on this date. Specify - a date as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read recordings - that were created on this date. You can also specify an inequality, such - as `DateCreated<=YYYY-MM-DD`, to read recordings that were created on or - before midnight of this date, and `DateCreated>=YYYY-MM-DD` to read recordings - that were created on or after midnight of this date.' - in: query - name: DateCreated> - schema: - format: date-time - type: string - - description: The [Call](https://www.twilio.com/docs/voice/api/call-resource) - SID of the resources to read. - in: query + - description: The SID of the call that will create the resource. Call leg associated + with this sid is expected to provide payment information thru DTMF. + in: path name: CallSid + required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^CA[0-9a-fA-F]{32}$ type: string - - description: The Conference SID that identifies the conference associated - with the recording to read. - in: query - name: ConferenceSid - schema: - maxLength: 34 minLength: 34 - pattern: ^CF[0-9a-fA-F]{32}$ - type: string - - description: A boolean parameter indicating whether to retrieve soft deleted - recordings or not. Recordings metadata are kept after deletion for a retention - period of 40 days. - in: query - name: IncludeSoftDeleted - schema: - type: boolean - - 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 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + IdempotencyKey: + description: A unique token that will be used to ensure that multiple + API calls with the same information do not result in multiple + transactions. This should be a unique string value per API call + and can be a randomly generated. + type: string + StatusCallback: + description: Provide an absolute or relative URL to receive status + updates regarding your Pay session. Read more about the [expected + StatusCallback values](https://www.twilio.com/docs/voice/api/payment-resource#statuscallback) + format: uri + type: string + BankAccountType: + type: string + enum: + - consumer-checking + - consumer-savings + - commercial-checking + description: Type of bank account if payment source is ACH. One + of `consumer-checking`, `consumer-savings`, or `commercial-checking`. + The default value is `consumer-checking`. + ChargeAmount: + description: A positive decimal value less than 1,000,000 to charge + against the credit card or bank account. Default currency can + be overwritten with `currency` field. Leave blank or set to 0 + to tokenize. + type: number + Currency: + description: The currency of the `charge_amount`, formatted as [ISO + 4127](http://www.iso.org/iso/home/standards/currency_codes.htm) + format. The default value is `USD` and all values allowed from + the Pay Connector are accepted. + type: string + Description: + description: The description can be used to provide more details + regarding the transaction. This information is submitted along + with the payment details to the Payment Connector which are then + posted on the transactions. + type: string + Input: + description: A list of inputs that should be accepted. Currently + only `dtmf` is supported. All digits captured during a pay session + are redacted from the logs. + type: string + MinPostalCodeLength: + description: A positive integer that is used to validate the length + of the `PostalCode` inputted by the user. User must enter this + many digits. + type: integer + Parameter: + description: A single-level JSON object used to pass custom parameters + to payment processors. (Required for ACH payments). The information + that has to be included here depends on the Connector. [Read + more](https://www.twilio.com/console/voice/pay-connectors). + PaymentConnector: + description: This is the unique name corresponding to the Pay Connector + installed in the Twilio Add-ons. Learn more about [ Connectors](https://www.twilio.com/console/voice/pay-connectors). + The default value is `Default`. + type: string + PaymentMethod: + type: string + enum: + - credit-card + - ach-debit + description: Type of payment being captured. One of `credit-card` + or `ach-debit`. The default value is `credit-card`. + PostalCode: + description: Indicates whether the credit card postal code (zip + code) is a required piece of payment information that must be + provided by the caller. The default is `true`. + type: boolean + SecurityCode: + description: Indicates whether the credit card security code is + a required piece of payment information that must be provided + by the caller. The default is `true`. + type: boolean + Timeout: + description: The number of seconds that should wait for the + caller to press a digit between each subsequent digit, after the + first one, before moving on to validate the digits captured. The + default is `5`, maximum is `600`. + type: integer + TokenType: + type: string + enum: + - one-time + - reusable + description: Indicates whether the payment method should be tokenized + as a `one-time` or `reusable` token. The default value is `reusable`. + Do not enter a charge amount when tokenizing. If a charge amount + is entered, the payment method will be charged and not tokenized. + ValidCardTypes: + description: Credit card types separated by space that Pay should + accept. The default value is `visa mastercard amex` + type: string + required: + - IdempotencyKey + - StatusCallback + title: CreatePaymentsRequest + type: object responses: - '200': + '201': content: application/json: schema: - properties: - end: - type: integer - first_page_uri: - format: uri - type: string - next_page_uri: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_uri: - format: uri - type: string - recordings: - items: - $ref: '#/components/schemas/api.v2010.account.recording' - type: array - start: - type: integer - uri: - format: uri - type: string - title: ListRecordingResponse - type: object - description: OK + $ref: '#/components/schemas/api.v2010.account.call.payments' + description: Created security: - accountSid_authToken: [] x-maturity: - - GA + - Preview + /2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Payments/{Sid}.json: servers: - url: https://api.twilio.com + description: Twilio enabled secure payments solution for accepting credit and + ACH payments over the phone. x-twilio: defaultOutputProperties: - sid - - call_sid - - status - - start_time - - duration - parent: /Accounts.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/Recordings/{RecordingSid}/Transcriptions.json: - description: References to text transcriptions of call recordings - get: - description: '' - operationId: ListRecordingTranscription + pathType: instance + parent: /Accounts/{AccountSid}/Calls.json + post: + description: update an instance of payments with different phases of payment + flows. + operationId: UpdatePayments parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Transcription resources to read. + that will update the resource. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The SID of the [Recording](https://www.twilio.com/docs/voice/api/recording) - that created the transcriptions to read. + - description: The SID of the call that will update the resource. This should + be the same call sid that was used to create payments resource. in: path - name: RecordingSid + name: CallSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^RE[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 + minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ + - description: The SID of Payments session that needs to be updated. + in: path + name: Sid + required: true schema: - maximum: 1000 - minimum: 1 - type: integer + type: string + minLength: 34 + maxLength: 34 + pattern: ^PK[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + IdempotencyKey: + description: A unique token that will be used to ensure that multiple + API calls with the same information do not result in multiple + transactions. This should be a unique string value per API call + and can be a randomly generated. + type: string + StatusCallback: + description: Provide an absolute or relative URL to receive status + updates regarding your Pay session. Read more about the [Update](https://www.twilio.com/docs/voice/api/payment-resource#statuscallback-update) + and [Complete/Cancel](https://www.twilio.com/docs/voice/api/payment-resource#statuscallback-cancelcomplete) + POST requests. + format: uri + type: string + Capture: + type: string + enum: + - payment-card-number + - expiration-date + - security-code + - postal-code + - bank-routing-number + - bank-account-number + description: The piece of payment information that you wish the + caller to enter. Must be one of `payment-card-number`, `expiration-date`, + `security-code`, `postal-code`, `bank-routing-number`, or `bank-account-number`. + Status: + type: string + enum: + - complete + - cancel + description: Indicates whether the current payment session should + be cancelled or completed. When `cancel` the payment session is + cancelled. When `complete`, Twilio sends the payment information + to the selected Pay Connector for processing. + required: + - IdempotencyKey + - StatusCallback + title: UpdatePaymentsRequest + type: object responses: - '200': + '202': content: application/json: schema: - properties: - end: - type: integer - first_page_uri: - format: uri - type: string - next_page_uri: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_uri: - format: uri - type: string - start: - type: integer - transcriptions: - items: - $ref: '#/components/schemas/api.v2010.account.recording.recording_transcription' - type: array - uri: - format: uri - type: string - title: ListRecordingTranscriptionResponse - type: object - description: OK + $ref: '#/components/schemas/api.v2010.account.call.payments' + description: Accepted security: - accountSid_authToken: [] x-maturity: - - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - type - - status - - duration - parent: /Accounts/{AccountSid}/Recordings.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/Recordings/{RecordingSid}/Transcriptions/{Sid}.json: - delete: - description: '' - operationId: DeleteRecordingTranscription + - Preview + /2010-04-01/Accounts/{AccountSid}/Queues/{Sid}.json: + servers: + - url: https://api.twilio.com + description: Queues of calls + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - current_size + - average_wait_time + pathType: instance + parent: /Accounts.json + get: + description: Fetch an instance of a queue identified by the QueueSid + operationId: FetchQueue parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Transcription resources to delete. + that created the Queue resource to fetch. in: path name: AccountSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ type: string - - description: The SID of the [Recording](https://www.twilio.com/docs/voice/api/recording) - that created the transcription to delete. - in: path - name: RecordingSid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^RE[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Transcription - resource to delete. + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Queue + resource to fetch in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^TR[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^QU[0-9a-fA-F]{32}$ responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.queue' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - description: References to text transcriptions of call recordings - get: - description: '' - operationId: FetchRecordingTranscription + post: + description: Update the queue with the new parameters + operationId: UpdateQueue parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Transcription resource to fetch. + that created the Queue resource to update. in: path name: AccountSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ type: string - - description: The SID of the [Recording](https://www.twilio.com/docs/voice/api/recording) - that created the transcription to fetch. - in: path - name: RecordingSid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^RE[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Transcription - resource to fetch. + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Queue + resource to update in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^TR[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^QU[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: A descriptive string that you created to describe this + resource. It can be up to 64 characters long. + type: string + MaxSize: + description: The maximum number of calls allowed to be in the queue. + The default is 100. The maximum is 5000. + type: integer + title: UpdateQueueRequest + type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.recording.recording_transcription' + $ref: '#/components/schemas/api.v2010.account.queue' description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - type - - status - - duration - parent: /Accounts/{AccountSid}/Recordings.json - pathType: instance - /2010-04-01/Accounts/{AccountSid}/Recordings/{ReferenceSid}/AddOnResults.json: - description: The results of an Add-on API call - get: - description: Retrieve a list of results belonging to the recording - operationId: ListRecordingAddOnResult + delete: + description: Remove an empty queue + operationId: DeleteQueue parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Recording AddOnResult resources to read. + that created the Queue resource to delete. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The SID of the recording to which the result to read belongs. + - description: The Twilio-provided string that uniquely identifies the Queue + resource to delete in: path - name: ReferenceSid + name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^RE[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 + minLength: 34 + maxLength: 34 + pattern: ^QU[0-9a-fA-F]{32}$ responses: - '200': - content: - application/json: - schema: - properties: - add_on_results: - items: - $ref: '#/components/schemas/api.v2010.account.recording.recording_add_on_result' - type: array - end: - type: integer - first_page_uri: - format: uri - type: string - next_page_uri: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_uri: - format: uri - type: string - start: - type: integer - uri: - format: uri - type: string - title: ListRecordingAddOnResultResponse - type: object - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/Queues.json: servers: - url: https://api.twilio.com + description: Queues of calls x-twilio: defaultOutputProperties: - sid - - status - - add_on_sid - - date_created - parent: /Accounts/{AccountSid}/Recordings.json + - friendly_name + - current_size + - average_wait_time pathType: list - /2010-04-01/Accounts/{AccountSid}/Recordings/{ReferenceSid}/AddOnResults/{AddOnResultSid}/Payloads.json: - description: A single Add-on results' payload + parent: /Accounts.json get: - description: Retrieve a list of payloads belonging to the AddOnResult - operationId: ListRecordingAddOnResultPayload + description: Retrieve a list of queues belonging to the account used to make + the request + operationId: ListQueue parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Recording AddOnResult Payload resources to read. + that created the Queue resources to read. in: path name: AccountSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ type: string - - description: The SID of the recording to which the AddOnResult resource that - contains the payloads to read belongs. - in: path - name: ReferenceSid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^RE[0-9a-fA-F]{32}$ - type: string - - description: The SID of the AddOnResult to which the payloads to read belongs. - in: path - name: AddOnResultSid - required: true - schema: maxLength: 34 - minLength: 34 - pattern: ^XR[0-9a-fA-F]{32}$ - type: string + pattern: ^AC[0-9a-fA-F]{32}$ - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -19611,204 +17790,309 @@ paths: content: application/json: schema: + type: object + title: ListQueueResponse properties: + queues: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.queue' end: type: integer first_page_uri: - format: uri type: string - next_page_uri: format: uri + next_page_uri: type: string + format: uri page: type: integer page_size: type: integer - payloads: - items: - $ref: '#/components/schemas/api.v2010.account.recording.recording_add_on_result.recording_add_on_result_payload' - type: array previous_page_uri: - format: uri type: string + format: uri start: type: integer uri: - format: uri type: string - title: ListRecordingAddOnResultPayloadResponse - type: object + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - GA + post: + description: Create a queue + operationId: CreateQueue + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that will create the resource. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: A descriptive string that you created to describe this + resource. It can be up to 64 characters long. + type: string + MaxSize: + description: The maximum number of calls allowed to be in the queue. + The default is 100. The maximum is 5000. + type: integer + required: + - FriendlyName + title: CreateQueueRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.queue' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{AccountSid}/Recordings/{Sid}.json: servers: - url: https://api.twilio.com + description: Recordings of phone calls x-twilio: defaultOutputProperties: - sid - - label - - content_type - parent: /Accounts/{AccountSid}/Recordings/{ReferenceSid}/AddOnResults.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/Recordings/{ReferenceSid}/AddOnResults/{AddOnResultSid}/Payloads/{Sid}.json: - delete: - description: Delete a payload from the result along with all associated Data - operationId: DeleteRecordingAddOnResultPayload + - call_sid + - status + - start_time + - duration + pathType: instance + parent: /Accounts.json + get: + description: Fetch an instance of a recording + operationId: FetchRecording parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Recording AddOnResult Payload resources to delete. + that created the Recording resource to fetch. in: path name: AccountSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ type: string - - description: The SID of the recording to which the AddOnResult resource that - contains the payloads to delete belongs. - in: path - name: ReferenceSid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^RE[0-9a-fA-F]{32}$ - type: string - - description: The SID of the AddOnResult to which the payloads to delete belongs. - in: path - name: AddOnResultSid - required: true - schema: maxLength: 34 - minLength: 34 - pattern: ^XR[0-9a-fA-F]{32}$ - type: string + pattern: ^AC[0-9a-fA-F]{32}$ - description: The Twilio-provided string that uniquely identifies the Recording - AddOnResult Payload resource to delete. + resource to fetch. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^XH[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^RE[0-9a-fA-F]{32}$ + - description: A boolean parameter indicating whether to retrieve soft deleted + recordings or not. Recordings metadata are kept after deletion for a retention + period of 40 days. + in: query + name: IncludeSoftDeleted + schema: + type: boolean responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.recording' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - description: A single Add-on results' payload - get: - description: Fetch an instance of a result payload - operationId: FetchRecordingAddOnResultPayload + delete: + description: Delete a recording from your account + operationId: DeleteRecording parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Recording AddOnResult Payload resource to fetch. + that created the Recording resources to delete. in: path name: AccountSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ type: string - - description: The SID of the recording to which the AddOnResult resource that - contains the payload to fetch belongs. - in: path - name: ReferenceSid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^RE[0-9a-fA-F]{32}$ - type: string - - description: The SID of the AddOnResult to which the payload to fetch belongs. - in: path - name: AddOnResultSid - required: true - schema: maxLength: 34 - minLength: 34 - pattern: ^XR[0-9a-fA-F]{32}$ - type: string + pattern: ^AC[0-9a-fA-F]{32}$ - description: The Twilio-provided string that uniquely identifies the Recording - AddOnResult Payload resource to fetch. + resource to delete. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^XH[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^RE[0-9a-fA-F]{32}$ responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.recording.recording_add_on_result.recording_add_on_result_payload' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/Recordings.json: servers: - url: https://api.twilio.com + description: Recordings of phone calls x-twilio: defaultOutputProperties: - sid - - label - - content_type - parent: /Accounts/{AccountSid}/Recordings/{ReferenceSid}/AddOnResults.json - pathType: instance - /2010-04-01/Accounts/{AccountSid}/Recordings/{ReferenceSid}/AddOnResults/{Sid}.json: - delete: - description: Delete a result and purge all associated Payloads - operationId: DeleteRecordingAddOnResult + - call_sid + - status + - start_time + - duration + pathType: list + parent: /Accounts.json + get: + description: Retrieve a list of recordings belonging to the account used to + make the request + operationId: ListRecording parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Recording AddOnResult resources to delete. + that created the Recording resources to read. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ + - description: 'Only include recordings that were created on this date. Specify + a date as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read recordings + that were created on this date. You can also specify an inequality, such + as `DateCreated<=YYYY-MM-DD`, to read recordings that were created on or + before midnight of this date, and `DateCreated>=YYYY-MM-DD` to read recordings + that were created on or after midnight of this date.' + in: query + name: DateCreated + schema: type: string - - description: The SID of the recording to which the result to delete belongs. - in: path - name: ReferenceSid - required: true + format: date-time + - description: 'Only include recordings that were created on this date. Specify + a date as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read recordings + that were created on this date. You can also specify an inequality, such + as `DateCreated<=YYYY-MM-DD`, to read recordings that were created on or + before midnight of this date, and `DateCreated>=YYYY-MM-DD` to read recordings + that were created on or after midnight of this date.' + in: query + name: DateCreated< schema: - maxLength: 34 - minLength: 34 - pattern: ^RE[0-9a-fA-F]{32}$ type: string - - description: The Twilio-provided string that uniquely identifies the Recording - AddOnResult resource to delete. - in: path - name: Sid - required: true + format: date-time + - description: 'Only include recordings that were created on this date. Specify + a date as `YYYY-MM-DD` in GMT, for example: `2009-07-06`, to read recordings + that were created on this date. You can also specify an inequality, such + as `DateCreated<=YYYY-MM-DD`, to read recordings that were created on or + before midnight of this date, and `DateCreated>=YYYY-MM-DD` to read recordings + that were created on or after midnight of this date.' + in: query + name: DateCreated> schema: - maxLength: 34 + type: string + format: date-time + - description: The [Call](https://www.twilio.com/docs/voice/api/call-resource) + SID of the resources to read. + in: query + name: CallSid + schema: + type: string minLength: 34 - pattern: ^XR[0-9a-fA-F]{32}$ + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ + - description: The Conference SID that identifies the conference associated + with the recording to read. + in: query + name: ConferenceSid + schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^CF[0-9a-fA-F]{32}$ + - description: A boolean parameter indicating whether to retrieve soft deleted + recordings or not. Recordings metadata are kept after deletion for a retention + period of 40 days. + in: query + name: IncludeSoftDeleted + schema: + type: boolean + - 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 responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + type: object + title: ListRecordingResponse + properties: + recordings: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.recording' + end: + type: integer + first_page_uri: + type: string + format: uri + next_page_uri: + type: string + format: uri + page: + type: integer + page_size: + type: integer + previous_page_uri: + type: string + format: uri + start: + type: integer + uri: + type: string + format: uri + description: OK security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/Recordings/{ReferenceSid}/AddOnResults/{Sid}.json: + servers: + - url: https://api.twilio.com description: The results of an Add-on API call + x-twilio: + defaultOutputProperties: + - sid + - status + - add_on_sid + - date_created + pathType: instance + parent: /Accounts/{AccountSid}/Recordings.json get: description: Fetch an instance of an AddOnResult operationId: FetchRecordingAddOnResult @@ -19819,29 +18103,29 @@ paths: name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - description: The SID of the recording to which the result to fetch belongs. in: path name: ReferenceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^RE[0-9a-fA-F]{32}$ - type: string - description: The Twilio-provided string that uniquely identifies the Recording AddOnResult resource to fetch. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^XR[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -19853,125 +18137,81 @@ paths: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - status - - add_on_sid - - date_created - parent: /Accounts/{AccountSid}/Recordings.json - pathType: instance - /2010-04-01/Accounts/{AccountSid}/Recordings/{Sid}.json: delete: - description: Delete a recording from your account - operationId: DeleteRecording + description: Delete a result and purge all associated Payloads + operationId: DeleteRecordingAddOnResult parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Recording resources to delete. + that created the Recording AddOnResult resources to delete. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Recording - resource to delete. + - description: The SID of the recording to which the result to delete belongs. in: path - name: Sid + name: ReferenceSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^RE[0-9a-fA-F]{32}$ type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: Recordings of phone calls - get: - description: Fetch an instance of a recording - operationId: FetchRecording - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Recording resource to fetch. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string + maxLength: 34 + pattern: ^RE[0-9a-fA-F]{32}$ - description: The Twilio-provided string that uniquely identifies the Recording - resource to fetch. + AddOnResult resource to delete. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^RE[0-9a-fA-F]{32}$ type: string - - description: A boolean parameter indicating whether to retrieve soft deleted - recordings or not. Recordings metadata are kept after deletion for a retention - period of 40 days. - in: query - name: IncludeSoftDeleted - schema: - type: boolean + minLength: 34 + maxLength: 34 + pattern: ^XR[0-9a-fA-F]{32}$ responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.recording' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/Recordings/{ReferenceSid}/AddOnResults.json: servers: - url: https://api.twilio.com + description: The results of an Add-on API call x-twilio: defaultOutputProperties: - sid - - call_sid - status - - start_time - - duration - parent: /Accounts.json - pathType: instance - /2010-04-01/Accounts/{AccountSid}/SIP.json: - description: 'TODO: Resource-level docs' - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: [] - parent: /Accounts.json + - add_on_sid + - date_created pathType: list - /2010-04-01/Accounts/{AccountSid}/SIP/CredentialLists.json: - description: Lists of SIP credentials + parent: /Accounts/{AccountSid}/Recordings.json get: - description: Get All Credential Lists - operationId: ListSipCredentialList + description: Retrieve a list of results belonging to the recording + operationId: ListRecordingAddOnResult parameters: - - description: The unique id of the Account that is responsible for this resource. + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the Recording AddOnResult resources to read. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ + - description: The SID of the recording to which the result to read belongs. + in: path + name: ReferenceSid + required: true + schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^RE[0-9a-fA-F]{32}$ - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -19985,108 +18225,197 @@ paths: content: application/json: schema: + type: object + title: ListRecordingAddOnResultResponse properties: - credential_lists: - items: - $ref: '#/components/schemas/api.v2010.account.sip.sip_credential_list' + add_on_results: type: array + items: + $ref: '#/components/schemas/api.v2010.account.recording.recording_add_on_result' end: type: integer first_page_uri: - format: uri type: string - next_page_uri: format: uri + next_page_uri: type: string + format: uri page: type: integer page_size: type: integer previous_page_uri: - format: uri type: string + format: uri start: type: integer uri: - format: uri type: string - title: ListSipCredentialListResponse - type: object + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: Create a Credential List - operationId: CreateSipCredentialList + /2010-04-01/Accounts/{AccountSid}/Recordings/{ReferenceSid}/AddOnResults/{AddOnResultSid}/Payloads/{Sid}.json: + servers: + - url: https://api.twilio.com + description: A single Add-on results' payload + x-twilio: + defaultOutputProperties: + - sid + - label + - content_type + pathType: instance + parent: /Accounts/{AccountSid}/Recordings/{ReferenceSid}/AddOnResults.json + get: + description: Fetch an instance of a result payload + operationId: FetchRecordingAddOnResultPayload parameters: - - description: The unique id of the Account that is responsible for this resource. + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the Recording AddOnResult Payload resource to fetch. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The SID of the recording to which the AddOnResult resource that + contains the payload to fetch belongs. + in: path + name: ReferenceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RE[0-9a-fA-F]{32}$ + - description: The SID of the AddOnResult to which the payload to fetch belongs. + in: path + name: AddOnResultSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^XR[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Recording + AddOnResult Payload resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^XH[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.recording.recording_add_on_result.recording_add_on_result_payload' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + delete: + description: Delete a payload from the result along with all associated Data + operationId: DeleteRecordingAddOnResultPayload + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the Recording AddOnResult Payload resources to delete. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The SID of the recording to which the AddOnResult resource that + contains the payloads to delete belongs. + in: path + name: ReferenceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RE[0-9a-fA-F]{32}$ + - description: The SID of the AddOnResult to which the payloads to delete belongs. + in: path + name: AddOnResultSid + required: true + schema: + type: string minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ + maxLength: 34 + pattern: ^XR[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Recording + AddOnResult Payload resource to delete. + in: path + name: Sid + required: true + schema: type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - FriendlyName: - description: A human readable descriptive text that describes the - CredentialList, up to 64 characters long. - type: string - required: - - FriendlyName - title: CreateSipCredentialListRequest - type: object + minLength: 34 + maxLength: 34 + pattern: ^XH[0-9a-fA-F]{32}$ responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.sip.sip_credential_list' - description: Created + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/Recordings/{ReferenceSid}/AddOnResults/{AddOnResultSid}/Payloads.json: servers: - url: https://api.twilio.com + description: A single Add-on results' payload x-twilio: defaultOutputProperties: - sid - - friendly_name - parent: /Accounts/{AccountSid}/SIP.json + - label + - content_type pathType: list - /2010-04-01/Accounts/{AccountSid}/SIP/CredentialLists/{CredentialListSid}/Credentials.json: - description: Username and password information for SIP Domains + parent: /Accounts/{AccountSid}/Recordings/{ReferenceSid}/AddOnResults.json get: - description: Retrieve a list of credentials. - operationId: ListSipCredential + description: Retrieve a list of payloads belonging to the AddOnResult + operationId: ListRecordingAddOnResultPayload parameters: - - description: The unique id of the Account that is responsible for this resource. + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the Recording AddOnResult Payload resources to read. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The unique id that identifies the credential list that contains - the desired credentials. + - description: The SID of the recording to which the AddOnResult resource that + contains the payloads to read belongs. in: path - name: CredentialListSid + name: ReferenceSid required: true schema: - maxLength: 34 + type: string minLength: 34 - pattern: ^CL[0-9a-fA-F]{32}$ + maxLength: 34 + pattern: ^RE[0-9a-fA-F]{32}$ + - description: The SID of the AddOnResult to which the payloads to read belongs. + in: path + name: AddOnResultSid + required: true + schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^XR[0-9a-fA-F]{32}$ - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -20100,135 +18429,129 @@ paths: content: application/json: schema: + type: object + title: ListRecordingAddOnResultPayloadResponse properties: - credentials: - items: - $ref: '#/components/schemas/api.v2010.account.sip.sip_credential_list.sip_credential' + payloads: type: array + items: + $ref: '#/components/schemas/api.v2010.account.recording.recording_add_on_result.recording_add_on_result_payload' end: type: integer first_page_uri: - format: uri type: string - next_page_uri: format: uri + next_page_uri: type: string + format: uri page: type: integer page_size: type: integer previous_page_uri: - format: uri type: string + format: uri start: type: integer uri: - format: uri type: string - title: ListSipCredentialResponse - type: object + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: Create a new credential resource. - operationId: CreateSipCredential + /2010-04-01/Accounts/{AccountSid}/Recordings/{RecordingSid}/Transcriptions/{Sid}.json: + servers: + - url: https://api.twilio.com + description: References to text transcriptions of call recordings + x-twilio: + defaultOutputProperties: + - sid + - type + - status + - duration + pathType: instance + parent: /Accounts/{AccountSid}/Recordings.json + get: + description: '' + operationId: FetchRecordingTranscription parameters: - - description: The unique id of the Account that is responsible for this resource. + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the Transcription resource to fetch. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The unique id that identifies the credential list to include - the created credential. + - description: The SID of the [Recording](https://www.twilio.com/docs/voice/api/recording) + that created the transcription to fetch. in: path - name: CredentialListSid + name: RecordingSid required: true schema: - maxLength: 34 + type: string minLength: 34 - pattern: ^CL[0-9a-fA-F]{32}$ + maxLength: 34 + pattern: ^RE[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Transcription + resource to fetch. + in: path + name: Sid + required: true + schema: type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Password: - description: The password that the username will use when authenticating - SIP requests. The password must be a minimum of 12 characters, - contain at least 1 digit, and have mixed case. (eg `IWasAtSignal2018`) - type: string - Username: - description: The username that will be passed when authenticating - SIP requests. The username should be sent in response to Twilio's - challenge of the initial INVITE. It can be up to 32 characters - long. - type: string - required: - - Username - - Password - title: CreateSipCredentialRequest - type: object + minLength: 34 + maxLength: 34 + pattern: ^TR[0-9a-fA-F]{32}$ responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.sip.sip_credential_list.sip_credential' - description: Created + $ref: '#/components/schemas/api.v2010.account.recording.recording_transcription' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - username - - credential_list_sid - parent: /Accounts/{AccountSid}/SIP/CredentialLists.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/SIP/CredentialLists/{CredentialListSid}/Credentials/{Sid}.json: delete: - description: Delete a credential resource. - operationId: DeleteSipCredential + description: '' + operationId: DeleteRecordingTranscription parameters: - - description: The unique id of the Account that is responsible for this resource. + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the Transcription resources to delete. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The unique id that identifies the credential list that contains - the desired credentials. + - description: The SID of the [Recording](https://www.twilio.com/docs/voice/api/recording) + that created the transcription to delete. in: path - name: CredentialListSid + name: RecordingSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^CL[0-9a-fA-F]{32}$ type: string - - description: The unique id that identifies the resource to delete. + minLength: 34 + maxLength: 34 + pattern: ^RE[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Transcription + resource to delete. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^CR[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^TR[0-9a-fA-F]{32}$ responses: '204': description: The resource was deleted successfully. @@ -20236,297 +18559,455 @@ paths: - accountSid_authToken: [] x-maturity: - GA - description: Username and password information for SIP Domains + /2010-04-01/Accounts/{AccountSid}/Recordings/{RecordingSid}/Transcriptions.json: + servers: + - url: https://api.twilio.com + description: References to text transcriptions of call recordings + x-twilio: + defaultOutputProperties: + - sid + - type + - status + - duration + pathType: list + parent: /Accounts/{AccountSid}/Recordings.json + get: + description: '' + operationId: ListRecordingTranscription + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the Transcription resources to read. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The SID of the [Recording](https://www.twilio.com/docs/voice/api/recording) + that created the transcriptions to read. + in: path + name: RecordingSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RE[0-9a-fA-F]{32}$ + - 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListRecordingTranscriptionResponse + properties: + transcriptions: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.recording.recording_transcription' + end: + type: integer + first_page_uri: + type: string + format: uri + next_page_uri: + type: string + format: uri + page: + type: integer + page_size: + type: integer + previous_page_uri: + type: string + format: uri + start: + type: integer + uri: + type: string + format: uri + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{AccountSid}/SMS/ShortCodes/{Sid}.json: + servers: + - url: https://api.twilio.com + description: Messaging short codes + x-twilio: + defaultOutputProperties: + - sid + - short_code + - friendly_name + pathType: instance + parent: /Accounts.json get: - description: Fetch a single credential. - operationId: FetchSipCredential + description: Fetch an instance of a short code + operationId: FetchShortCode parameters: - - description: The unique id of the Account that is responsible for this resource. + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the ShortCode resource(s) to fetch. in: path name: AccountSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ type: string - - description: The unique id that identifies the credential list that contains - the desired credential. - in: path - name: CredentialListSid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^CL[0-9a-fA-F]{32}$ - type: string - - description: The unique id that identifies the resource to fetch. + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - 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: ^CR[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^SC[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.sip.sip_credential_list.sip_credential' + $ref: '#/components/schemas/api.v2010.account.short_code' description: OK security: - accountSid_authToken: [] x-maturity: - GA post: - description: Update a credential resource. - operationId: UpdateSipCredential + description: Update a short code with the following parameters + operationId: UpdateShortCode parameters: - - description: The unique id of the Account that is responsible for this resource. + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the ShortCode resource(s) to update. in: path name: AccountSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ type: string - - description: The unique id that identifies the credential list that includes - this credential. - in: path - name: CredentialListSid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^CL[0-9a-fA-F]{32}$ - type: string - - description: The unique id that identifies the resource to update. + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - 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: ^CR[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^SC[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - Password: - description: The password that the username will use when authenticating - SIP requests. The password must be a minimum of 12 characters, - contain at least 1 digit, and have mixed case. (eg `IWasAtSignal2018`) + FriendlyName: + description: A descriptive string that you created to describe this + resource. It can be up to 64 characters long. By default, the + `FriendlyName` is the short code. type: string - title: UpdateSipCredentialRequest + ApiVersion: + description: 'The API version to use to start a new TwiML session. + Can be: `2010-04-01` or `2008-08-01`.' + type: string + SmsUrl: + description: The URL we should call when receiving an incoming SMS + message to this short code. + format: uri + type: string + SmsMethod: + description: 'The HTTP method we should use when calling the `sms_url`. + Can be: `GET` or `POST`.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + type: string + SmsFallbackUrl: + description: The URL that we should call if an error occurs while + retrieving or executing the TwiML from `sms_url`. + format: uri + type: string + SmsFallbackMethod: + description: 'The HTTP method that we should use to call the `sms_fallback_url`. + Can be: `GET` or `POST`.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + type: string + title: UpdateShortCodeRequest type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.sip.sip_credential_list.sip_credential' + $ref: '#/components/schemas/api.v2010.account.short_code' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/SMS/ShortCodes.json: servers: - url: https://api.twilio.com + description: Messaging short codes x-twilio: defaultOutputProperties: - sid - - username - - credential_list_sid - parent: /Accounts/{AccountSid}/SIP/CredentialLists.json - pathType: instance - /2010-04-01/Accounts/{AccountSid}/SIP/CredentialLists/{Sid}.json: - delete: - description: Delete a Credential List - operationId: DeleteSipCredentialList + - short_code + - friendly_name + pathType: list + parent: /Accounts.json + get: + description: Retrieve a list of short-codes belonging to the account used to + make the request + operationId: ListShortCode parameters: - - description: The unique id of the Account that is responsible for this resource. + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the ShortCode resource(s) to read. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ + - description: The string that identifies the ShortCode resources to read. + in: query + name: FriendlyName + schema: type: string - - description: The credential list Sid that uniquely identifies this resource - in: path - name: Sid - required: true + - description: Only show the ShortCode resources that match this pattern. You + can specify partial numbers and use '*' as a wildcard for any digit. + in: query + name: ShortCode schema: - maxLength: 34 - minLength: 34 - pattern: ^CL[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 responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + type: object + title: ListShortCodeResponse + properties: + short_codes: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.short_code' + end: + type: integer + first_page_uri: + type: string + format: uri + next_page_uri: + type: string + format: uri + page: + type: integer + page_size: + type: integer + previous_page_uri: + type: string + format: uri + start: + type: integer + uri: + type: string + format: uri + description: OK security: - accountSid_authToken: [] x-maturity: - GA - description: Lists of SIP credentials + /2010-04-01/Accounts/{AccountSid}/SigningKeys/{Sid}.json: + servers: + - url: https://api.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + pathType: instance + parent: /Accounts.json get: - description: Get a Credential List - operationId: FetchSipCredentialList + description: '' + operationId: FetchSigningKey parameters: - - description: The unique id of the Account that is responsible for this resource. + - description: '' in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The credential list Sid that uniquely identifies this resource + - description: '' in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^CL[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^SK[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.sip.sip_credential_list' + $ref: '#/components/schemas/api.v2010.account.signing_key' description: OK security: - accountSid_authToken: [] x-maturity: - GA post: - description: Update a Credential List - operationId: UpdateSipCredentialList + description: '' + operationId: UpdateSigningKey parameters: - - description: The unique id of the Account that is responsible for this resource. + - description: '' in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The credential list Sid that uniquely identifies this resource + - description: '' in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^CL[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^SK[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: FriendlyName: - description: A human readable descriptive text for a CredentialList, - up to 64 characters long. + description: '' type: string - required: - - FriendlyName - title: UpdateSipCredentialListRequest + title: UpdateSigningKeyRequest type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.sip.sip_credential_list' + $ref: '#/components/schemas/api.v2010.account.signing_key' description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - parent: /Accounts/{AccountSid}/SIP.json - pathType: instance - /2010-04-01/Accounts/{AccountSid}/SIP/Domains.json: - description: Custom DNS hostnames that can accept SIP traffic - get: - description: Retrieve a list of domains belonging to the account used to make - the request - operationId: ListSipDomain + delete: + description: '' + operationId: DeleteSigningKey parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the SipDomain resources to read. + - description: '' in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[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 + - description: '' + in: path + name: Sid + required: true schema: - maximum: 1000 - minimum: 1 - type: integer + type: string + minLength: 34 + maxLength: 34 + pattern: ^SK[0-9a-fA-F]{32}$ responses: - '200': - content: - application/json: - schema: - properties: - domains: - items: - $ref: '#/components/schemas/api.v2010.account.sip.sip_domain' - type: array - end: - type: integer - first_page_uri: - format: uri - type: string - next_page_uri: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_uri: - format: uri - type: string - start: - type: integer - uri: - format: uri - type: string - title: ListSipDomainResponse - type: object - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/SIP.json: + servers: + - url: https://api.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: [] + pathType: list + parent: /Accounts.json + /2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth.json: + servers: + - url: https://api.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: [] + pathType: list + parent: /Accounts/{AccountSid}/SIP/Domains.json + className: auth_types + /2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Calls.json: + servers: + - url: https://api.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: [] + pathType: list + parent: /Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth.json + className: auth_type_calls + /2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Calls/CredentialListMappings.json: + servers: + - url: https://api.twilio.com + description: Credential lists for SIP calls + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + pathType: list + parent: /Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Calls.json + className: auth_calls_credential_list_mapping post: - description: Create a new Domain - operationId: CreateSipDomain + description: Create a new credential list mapping resource + operationId: CreateSipAuthCallsCredentialListMapping parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that will create the resource. @@ -20534,149 +19015,46 @@ paths: name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - ByocTrunkSid: - description: The SID of the BYOC Trunk(Bring Your Own Carrier) resource - that the Sip Domain will be associated with. - maxLength: 34 - minLength: 34 - pattern: ^BY[0-9a-fA-F]{32}$ - type: string - DomainName: - description: The unique address you reserve on Twilio to which you - route your SIP traffic. Domain names can contain letters, digits, - and "-" and must end with `sip.twilio.com`. - type: string - EmergencyCallerSid: - description: Whether an emergency caller sid is configured for the - domain. If present, this phone number will be used as the callback - for the emergency call. - maxLength: 34 - minLength: 34 - pattern: ^PN[0-9a-fA-F]{32}$ - type: string - EmergencyCallingEnabled: - description: Whether emergency calling is enabled for the domain. - If enabled, allows emergency calls on the domain from phone numbers - with validated addresses. - type: boolean - FriendlyName: - description: A descriptive string that you created to describe the - resource. It can be up to 64 characters long. - type: string - Secure: - description: Whether secure SIP is enabled for the domain. If enabled, - TLS will be enforced and SRTP will be negotiated on all incoming - calls to this sip domain. - type: boolean - SipRegistration: - description: Whether to allow SIP Endpoints to register with the - domain to receive calls. Can be `true` or `false`. `true` allows - SIP Endpoints to register with the domain to receive calls, `false` - does not. - type: boolean - VoiceFallbackMethod: - description: 'The HTTP method we should use to call `voice_fallback_url`. - Can be: `GET` or `POST`.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - VoiceFallbackUrl: - description: The URL that we should call when an error occurs while - retrieving or executing the TwiML from `voice_url`. - format: uri - type: string - VoiceMethod: - description: 'The HTTP method we should use to call `voice_url`. - Can be: `GET` or `POST`.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - VoiceStatusCallbackMethod: - description: 'The HTTP method we should use to call `voice_status_callback_url`. - Can be: `GET` or `POST`.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - VoiceStatusCallbackUrl: - description: The URL that we should call to pass status parameters - (such as call ended) to your application. - format: uri - type: string - VoiceUrl: - description: The URL we should when the domain receives a call. - format: uri + - description: The SID of the SIP domain that will contain the new resource. + in: path + name: DomainSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^SD[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + CredentialListSid: type: string + minLength: 34 + maxLength: 34 + pattern: ^CL[0-9a-fA-F]{32}$ + description: The SID of the CredentialList resource to map to the + SIP domain. required: - - DomainName - title: CreateSipDomainRequest + - CredentialListSid + title: CreateSipAuthCallsCredentialListMappingRequest type: object responses: '201': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.sip.sip_domain' + $ref: '#/components/schemas/api.v2010.account.sip.sip_domain.sip_auth.sip_auth_calls.sip_auth_calls_credential_list_mapping' description: Created security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - domain_name - - friendly_name - parent: /Accounts/{AccountSid}/SIP.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth.json: - description: 'TODO: Resource-level docs' - servers: - - url: https://api.twilio.com - x-twilio: - className: auth_types - defaultOutputProperties: [] - parent: /Accounts/{AccountSid}/SIP/Domains.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Calls.json: - description: 'TODO: Resource-level docs' - servers: - - url: https://api.twilio.com - x-twilio: - className: auth_type_calls - defaultOutputProperties: [] - parent: /Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Calls/CredentialListMappings.json: - description: Credential lists for SIP calls get: description: Retrieve a list of credential list mappings belonging to the domain used in the request @@ -20688,19 +19066,19 @@ paths: name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - description: The SID of the SIP domain that contains the resources to read. in: path name: DomainSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^SD[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 @@ -20714,98 +19092,93 @@ paths: content: application/json: schema: + type: object + title: ListSipAuthCallsCredentialListMappingResponse properties: contents: + type: array items: $ref: '#/components/schemas/api.v2010.account.sip.sip_domain.sip_auth.sip_auth_calls.sip_auth_calls_credential_list_mapping' - type: array end: type: integer first_page_uri: - format: uri type: string - next_page_uri: format: uri + next_page_uri: type: string + format: uri page: type: integer page_size: type: integer previous_page_uri: - format: uri type: string + format: uri start: type: integer uri: - format: uri type: string - title: ListSipAuthCallsCredentialListMappingResponse - type: object + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: Create a new credential list mapping resource - operationId: CreateSipAuthCallsCredentialListMapping + /2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Calls/CredentialListMappings/{Sid}.json: + servers: + - url: https://api.twilio.com + description: Credential lists for SIP calls + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + pathType: instance + parent: /Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Calls.json + className: auth_calls_credential_list_mapping + get: + description: Fetch a specific instance of a credential list mapping + operationId: FetchSipAuthCallsCredentialListMapping parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that will create the resource. + that created the CredentialListMapping resource to fetch. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The SID of the SIP domain that will contain the new resource. + - description: The SID of the SIP domain that contains the resource to fetch. in: path name: DomainSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^SD[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the CredentialListMapping + resource to fetch. + in: path + name: Sid + required: true + schema: type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - CredentialListSid: - description: The SID of the CredentialList resource to map to the - SIP domain. - maxLength: 34 - minLength: 34 - pattern: ^CL[0-9a-fA-F]{32}$ - type: string - required: - - CredentialListSid - title: CreateSipAuthCallsCredentialListMappingRequest - type: object + minLength: 34 + maxLength: 34 + pattern: ^CL[0-9a-fA-F]{32}$ responses: - '201': + '200': content: application/json: schema: $ref: '#/components/schemas/api.v2010.account.sip.sip_domain.sip_auth.sip_auth_calls.sip_auth_calls_credential_list_mapping' - description: Created + description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://api.twilio.com - x-twilio: - className: auth_calls_credential_list_mapping - defaultOutputProperties: - - sid - - friendly_name - parent: /Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Calls.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Calls/CredentialListMappings/{Sid}.json: delete: description: Delete a credential list mapping from the requested domain operationId: DeleteSipAuthCallsCredentialListMapping @@ -20816,29 +19189,29 @@ paths: name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - description: The SID of the SIP domain that contains the resource to delete. in: path name: DomainSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^SD[0-9a-fA-F]{32}$ - type: string - description: The Twilio-provided string that uniquely identifies the CredentialListMapping resource to delete. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^CL[0-9a-fA-F]{32}$ - type: string responses: '204': description: The resource was deleted successfully. @@ -20846,62 +19219,67 @@ paths: - accountSid_authToken: [] x-maturity: - GA - description: Credential lists for SIP calls - get: - description: Fetch a specific instance of a credential list mapping - operationId: FetchSipAuthCallsCredentialListMapping + /2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Calls/IpAccessControlListMappings.json: + servers: + - url: https://api.twilio.com + description: IP address lists for SIP calls + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + pathType: list + parent: /Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Calls.json + className: auth_calls_ip_access_control_list_mapping + post: + description: Create a new IP Access Control List mapping + operationId: CreateSipAuthCallsIpAccessControlListMapping parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the CredentialListMapping resource to fetch. + that will create the resource. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The SID of the SIP domain that contains the resource to fetch. + - description: The SID of the SIP domain that will contain the new resource. in: path name: DomainSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^SD[0-9a-fA-F]{32}$ type: string - - description: The Twilio-provided string that uniquely identifies the CredentialListMapping - resource to fetch. - in: path - name: Sid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^CL[0-9a-fA-F]{32}$ - type: string + maxLength: 34 + pattern: ^SD[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + IpAccessControlListSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AL[0-9a-fA-F]{32}$ + description: The SID of the IpAccessControlList resource to map + to the SIP domain. + required: + - IpAccessControlListSid + title: CreateSipAuthCallsIpAccessControlListMappingRequest + type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.sip.sip_domain.sip_auth.sip_auth_calls.sip_auth_calls_credential_list_mapping' - description: OK + $ref: '#/components/schemas/api.v2010.account.sip.sip_domain.sip_auth.sip_auth_calls.sip_auth_calls_ip_access_control_list_mapping' + description: Created security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://api.twilio.com - x-twilio: - className: auth_calls_credential_list_mapping - defaultOutputProperties: - - sid - - friendly_name - parent: /Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Calls.json - pathType: instance - /2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Calls/IpAccessControlListMappings.json: - description: IP address lists for SIP calls get: description: Retrieve a list of IP Access Control List mappings belonging to the domain used in the request @@ -20913,19 +19291,19 @@ paths: name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - description: The SID of the SIP domain that contains the resources to read. in: path name: DomainSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^SD[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 @@ -20939,98 +19317,93 @@ paths: content: application/json: schema: + type: object + title: ListSipAuthCallsIpAccessControlListMappingResponse properties: contents: + type: array items: $ref: '#/components/schemas/api.v2010.account.sip.sip_domain.sip_auth.sip_auth_calls.sip_auth_calls_ip_access_control_list_mapping' - type: array end: type: integer first_page_uri: - format: uri type: string - next_page_uri: format: uri + next_page_uri: type: string + format: uri page: type: integer page_size: type: integer previous_page_uri: - format: uri type: string + format: uri start: type: integer uri: - format: uri type: string - title: ListSipAuthCallsIpAccessControlListMappingResponse - type: object + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: Create a new IP Access Control List mapping - operationId: CreateSipAuthCallsIpAccessControlListMapping + /2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Calls/IpAccessControlListMappings/{Sid}.json: + servers: + - url: https://api.twilio.com + description: IP address lists for SIP calls + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + pathType: instance + parent: /Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Calls.json + className: auth_calls_ip_access_control_list_mapping + get: + description: Fetch a specific instance of an IP Access Control List mapping + operationId: FetchSipAuthCallsIpAccessControlListMapping parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that will create the resource. + that created the IpAccessControlListMapping resource to fetch. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The SID of the SIP domain that will contain the new resource. + - description: The SID of the SIP domain that contains the resource to fetch. in: path name: DomainSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^SD[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the IpAccessControlListMapping + resource to fetch. + in: path + name: Sid + required: true + schema: type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - IpAccessControlListSid: - description: The SID of the IpAccessControlList resource to map - to the SIP domain. - maxLength: 34 - minLength: 34 - pattern: ^AL[0-9a-fA-F]{32}$ - type: string - required: - - IpAccessControlListSid - title: CreateSipAuthCallsIpAccessControlListMappingRequest - type: object + minLength: 34 + maxLength: 34 + pattern: ^AL[0-9a-fA-F]{32}$ responses: - '201': + '200': content: application/json: schema: $ref: '#/components/schemas/api.v2010.account.sip.sip_domain.sip_auth.sip_auth_calls.sip_auth_calls_ip_access_control_list_mapping' - description: Created + description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://api.twilio.com - x-twilio: - className: auth_calls_ip_access_control_list_mapping - defaultOutputProperties: - - sid - - friendly_name - parent: /Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Calls.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Calls/IpAccessControlListMappings/{Sid}.json: delete: description: Delete an IP Access Control List mapping from the requested domain operationId: DeleteSipAuthCallsIpAccessControlListMapping @@ -21041,29 +19414,29 @@ paths: name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - description: The SID of the SIP domain that contains the resources to delete. in: path name: DomainSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^SD[0-9a-fA-F]{32}$ - type: string - description: The Twilio-provided string that uniquely identifies the IpAccessControlListMapping resource to delete. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AL[0-9a-fA-F]{32}$ - type: string responses: '204': description: The resource was deleted successfully. @@ -21071,71 +19444,76 @@ paths: - accountSid_authToken: [] x-maturity: - GA - description: IP address lists for SIP calls - get: - description: Fetch a specific instance of an IP Access Control List mapping - operationId: FetchSipAuthCallsIpAccessControlListMapping + /2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Registrations.json: + servers: + - url: https://api.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: [] + pathType: list + parent: /Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth.json + className: auth_type_registrations + /2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Registrations/CredentialListMappings.json: + servers: + - url: https://api.twilio.com + description: Credential lists for SIP registrations + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + pathType: list + parent: /Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Registrations.json + className: auth_registrations_credential_list_mapping + post: + description: Create a new credential list mapping resource + operationId: CreateSipAuthRegistrationsCredentialListMapping parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the IpAccessControlListMapping resource to fetch. + that will create the resource. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The SID of the SIP domain that contains the resource to fetch. + - description: The SID of the SIP domain that will contain the new resource. in: path name: DomainSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^SD[0-9a-fA-F]{32}$ type: string - - description: The Twilio-provided string that uniquely identifies the IpAccessControlListMapping - resource to fetch. - in: path - name: Sid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^AL[0-9a-fA-F]{32}$ - type: string + maxLength: 34 + pattern: ^SD[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + CredentialListSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CL[0-9a-fA-F]{32}$ + description: The SID of the CredentialList resource to map to the + SIP domain. + required: + - CredentialListSid + title: CreateSipAuthRegistrationsCredentialListMappingRequest + type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.sip.sip_domain.sip_auth.sip_auth_calls.sip_auth_calls_ip_access_control_list_mapping' - description: OK + $ref: '#/components/schemas/api.v2010.account.sip.sip_domain.sip_auth.sip_auth_registrations.sip_auth_registrations_credential_list_mapping' + description: Created security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://api.twilio.com - x-twilio: - className: auth_calls_ip_access_control_list_mapping - defaultOutputProperties: - - sid - - friendly_name - parent: /Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Calls.json - pathType: instance - /2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Registrations.json: - description: 'TODO: Resource-level docs' - servers: - - url: https://api.twilio.com - x-twilio: - className: auth_type_registrations - defaultOutputProperties: [] - parent: /Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Registrations/CredentialListMappings.json: - description: Credential lists for SIP registrations get: description: Retrieve a list of credential list mappings belonging to the domain used in the request @@ -21147,19 +19525,19 @@ paths: name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - description: The SID of the SIP domain that contains the resources to read. in: path name: DomainSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^SD[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 @@ -21173,218 +19551,167 @@ paths: content: application/json: schema: + type: object + title: ListSipAuthRegistrationsCredentialListMappingResponse properties: contents: + type: array items: $ref: '#/components/schemas/api.v2010.account.sip.sip_domain.sip_auth.sip_auth_registrations.sip_auth_registrations_credential_list_mapping' - type: array end: type: integer first_page_uri: - format: uri type: string - next_page_uri: format: uri + next_page_uri: type: string + format: uri page: type: integer page_size: type: integer previous_page_uri: - format: uri type: string + format: uri start: type: integer uri: - format: uri type: string - title: ListSipAuthRegistrationsCredentialListMappingResponse - type: object + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: Create a new credential list mapping resource - operationId: CreateSipAuthRegistrationsCredentialListMapping - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that will create the resource. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The SID of the SIP domain that will contain the new resource. - in: path - name: DomainSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^SD[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - CredentialListSid: - description: The SID of the CredentialList resource to map to the - SIP domain. - maxLength: 34 - minLength: 34 - pattern: ^CL[0-9a-fA-F]{32}$ - type: string - required: - - CredentialListSid - title: CreateSipAuthRegistrationsCredentialListMappingRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.sip.sip_domain.sip_auth.sip_auth_registrations.sip_auth_registrations_credential_list_mapping' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA + /2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Registrations/CredentialListMappings/{Sid}.json: servers: - url: https://api.twilio.com + description: Credential lists for SIP registrations x-twilio: - className: auth_registrations_credential_list_mapping defaultOutputProperties: - sid - friendly_name + pathType: instance parent: /Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Registrations.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Registrations/CredentialListMappings/{Sid}.json: - delete: - description: Delete a credential list mapping from the requested domain - operationId: DeleteSipAuthRegistrationsCredentialListMapping + className: auth_registrations_credential_list_mapping + get: + description: Fetch a specific instance of a credential list mapping + operationId: FetchSipAuthRegistrationsCredentialListMapping parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the CredentialListMapping resources to delete. + that created the CredentialListMapping resource to fetch. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The SID of the SIP domain that contains the resources to delete. + - description: The SID of the SIP domain that contains the resource to fetch. in: path name: DomainSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^SD[0-9a-fA-F]{32}$ - type: string - description: The Twilio-provided string that uniquely identifies the CredentialListMapping - resource to delete. + resource to fetch. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^CL[0-9a-fA-F]{32}$ - type: string responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.sip.sip_domain.sip_auth.sip_auth_registrations.sip_auth_registrations_credential_list_mapping' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - description: Credential lists for SIP registrations - get: - description: Fetch a specific instance of a credential list mapping - operationId: FetchSipAuthRegistrationsCredentialListMapping + delete: + description: Delete a credential list mapping from the requested domain + operationId: DeleteSipAuthRegistrationsCredentialListMapping parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the CredentialListMapping resource to fetch. + that created the CredentialListMapping resources to delete. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The SID of the SIP domain that contains the resource to fetch. + - description: The SID of the SIP domain that contains the resources to delete. in: path name: DomainSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^SD[0-9a-fA-F]{32}$ - type: string - description: The Twilio-provided string that uniquely identifies the CredentialListMapping - resource to fetch. + resource to delete. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^CL[0-9a-fA-F]{32}$ - type: string responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.sip.sip_domain.sip_auth.sip_auth_registrations.sip_auth_registrations_credential_list_mapping' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/SIP/CredentialLists/{CredentialListSid}/Credentials.json: servers: - url: https://api.twilio.com + description: Username and password information for SIP Domains x-twilio: - className: auth_registrations_credential_list_mapping defaultOutputProperties: - sid - - friendly_name - parent: /Accounts/{AccountSid}/SIP/Domains/{DomainSid}/Auth/Registrations.json - pathType: instance - /2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/CredentialListMappings.json: - description: Credential lists associated with a SIP Domain + - username + - credential_list_sid + pathType: list + parent: /Accounts/{AccountSid}/SIP/CredentialLists.json get: - description: Read multiple CredentialListMapping resources from an account. - operationId: ListSipCredentialListMapping + description: Retrieve a list of credentials. + operationId: ListSipCredential parameters: - - description: The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) - responsible for this resource. + - description: The unique id of the Account that is responsible for this resource. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: A 34 character string that uniquely identifies the SIP Domain - that includes the resource to read. + - description: The unique id that identifies the credential list that contains + the desired credentials. in: path - name: DomainSid + name: CredentialListSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^SD[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^CL[0-9a-fA-F]{32}$ - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -21398,352 +19725,234 @@ paths: content: application/json: schema: + type: object + title: ListSipCredentialResponse properties: - credential_list_mappings: - items: - $ref: '#/components/schemas/api.v2010.account.sip.sip_domain.sip_credential_list_mapping' + credentials: type: array + items: + $ref: '#/components/schemas/api.v2010.account.sip.sip_credential_list.sip_credential' end: type: integer first_page_uri: - format: uri type: string - next_page_uri: format: uri + next_page_uri: type: string + format: uri page: type: integer page_size: type: integer previous_page_uri: - format: uri type: string + format: uri start: type: integer uri: - format: uri type: string - title: ListSipCredentialListMappingResponse - type: object + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - GA post: - description: Create a CredentialListMapping resource for an account. - operationId: CreateSipCredentialListMapping + description: Create a new credential resource. + operationId: CreateSipCredential parameters: - - description: The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) - responsible for this resource. + - description: The unique id of the Account that is responsible for this resource. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: A 34 character string that uniquely identifies the SIP Domain - for which the CredentialList resource will be mapped. + - description: The unique id that identifies the credential list to include + the created credential. in: path - name: DomainSid + name: CredentialListSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^SD[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^CL[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - CredentialListSid: - description: A 34 character string that uniquely identifies the - CredentialList resource to map to the SIP domain. - maxLength: 34 - minLength: 34 - pattern: ^CL[0-9a-fA-F]{32}$ + Username: + description: The username that will be passed when authenticating + SIP requests. The username should be sent in response to Twilio's + challenge of the initial INVITE. It can be up to 32 characters + long. + type: string + Password: + description: The password that the username will use when authenticating + SIP requests. The password must be a minimum of 12 characters, + contain at least 1 digit, and have mixed case. (eg `IWasAtSignal2018`) type: string required: - - CredentialListSid - title: CreateSipCredentialListMappingRequest + - Username + - Password + title: CreateSipCredentialRequest type: object responses: '201': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.sip.sip_domain.sip_credential_list_mapping' + $ref: '#/components/schemas/api.v2010.account.sip.sip_credential_list.sip_credential' description: Created security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/SIP/CredentialLists/{CredentialListSid}/Credentials/{Sid}.json: servers: - url: https://api.twilio.com + description: Username and password information for SIP Domains x-twilio: defaultOutputProperties: - sid - - friendly_name - parent: /Accounts/{AccountSid}/SIP/Domains.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/CredentialListMappings/{Sid}.json: - delete: - description: Delete a CredentialListMapping resource from an account. - operationId: DeleteSipCredentialListMapping - parameters: - - description: The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) - responsible for this resource. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: A 34 character string that uniquely identifies the SIP Domain - that includes the resource to delete. - in: path - name: DomainSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^SD[0-9a-fA-F]{32}$ - type: string - - description: A 34 character string that uniquely identifies the resource to - delete. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^CL[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: Credential lists associated with a SIP Domain - get: - description: Fetch a single CredentialListMapping resource from an account. - operationId: FetchSipCredentialListMapping - parameters: - - description: The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) - responsible for this resource. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: A 34 character string that uniquely identifies the SIP Domain - that includes the resource to fetch. - in: path - name: DomainSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^SD[0-9a-fA-F]{32}$ - type: string - - description: A 34 character string that uniquely identifies the resource to - fetch. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^CL[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.sip.sip_domain.sip_credential_list_mapping' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - parent: /Accounts/{AccountSid}/SIP/Domains.json + - username + - credential_list_sid pathType: instance - /2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/IpAccessControlListMappings.json: - description: Access control lists associated with a SIP Domain + parent: /Accounts/{AccountSid}/SIP/CredentialLists.json get: - description: Retrieve a list of IpAccessControlListMapping resources. - operationId: ListSipIpAccessControlListMapping + description: Fetch a single credential. + operationId: FetchSipCredential parameters: - description: The unique id of the Account that is responsible for this resource. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: A 34 character string that uniquely identifies the SIP domain. + - description: The unique id that identifies the credential list that contains + the desired credential. in: path - name: DomainSid + name: CredentialListSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^SD[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 + minLength: 34 + maxLength: 34 + pattern: ^CL[0-9a-fA-F]{32}$ + - description: The unique id that identifies the resource to fetch. + in: path + name: Sid + required: true schema: - maximum: 1000 - minimum: 1 - type: integer + type: string + minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - properties: - end: - type: integer - first_page_uri: - format: uri - type: string - ip_access_control_list_mappings: - items: - $ref: '#/components/schemas/api.v2010.account.sip.sip_domain.sip_ip_access_control_list_mapping' - type: array - next_page_uri: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_uri: - format: uri - type: string - start: - type: integer - uri: - format: uri - type: string - title: ListSipIpAccessControlListMappingResponse - type: object + $ref: '#/components/schemas/api.v2010.account.sip.sip_credential_list.sip_credential' description: OK security: - accountSid_authToken: [] x-maturity: - GA post: - description: Create a new IpAccessControlListMapping resource. - operationId: CreateSipIpAccessControlListMapping + description: Update a credential resource. + operationId: UpdateSipCredential parameters: - description: The unique id of the Account that is responsible for this resource. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: A 34 character string that uniquely identifies the SIP domain. + - description: The unique id that identifies the credential list that includes + this credential. in: path - name: DomainSid + name: CredentialListSid required: true schema: - maxLength: 34 + type: string minLength: 34 - pattern: ^SD[0-9a-fA-F]{32}$ + maxLength: 34 + pattern: ^CL[0-9a-fA-F]{32}$ + - description: The unique id that identifies the resource to update. + in: path + name: Sid + required: true + schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - IpAccessControlListSid: - description: The unique id of the IP access control list to map - to the SIP domain. - maxLength: 34 - minLength: 34 - pattern: ^AL[0-9a-fA-F]{32}$ + Password: + description: The password that the username will use when authenticating + SIP requests. The password must be a minimum of 12 characters, + contain at least 1 digit, and have mixed case. (eg `IWasAtSignal2018`) type: string - required: - - IpAccessControlListSid - title: CreateSipIpAccessControlListMappingRequest + title: UpdateSipCredentialRequest type: object responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.sip.sip_domain.sip_ip_access_control_list_mapping' - description: Created + $ref: '#/components/schemas/api.v2010.account.sip.sip_credential_list.sip_credential' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - parent: /Accounts/{AccountSid}/SIP/Domains.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/IpAccessControlListMappings/{Sid}.json: delete: - description: Delete an IpAccessControlListMapping resource. - operationId: DeleteSipIpAccessControlListMapping + description: Delete a credential resource. + operationId: DeleteSipCredential parameters: - description: The unique id of the Account that is responsible for this resource. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: A 34 character string that uniquely identifies the SIP domain. + - description: The unique id that identifies the credential list that contains + the desired credentials. in: path - name: DomainSid + name: CredentialListSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^SD[0-9a-fA-F]{32}$ type: string - - description: A 34 character string that uniquely identifies the resource to - delete. + minLength: 34 + maxLength: 34 + pattern: ^CL[0-9a-fA-F]{32}$ + - description: The unique id that identifies the resource to delete. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^AL[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ responses: '204': description: The resource was deleted successfully. @@ -21751,379 +19960,293 @@ paths: - accountSid_authToken: [] x-maturity: - GA - description: Access control lists associated with a SIP Domain + /2010-04-01/Accounts/{AccountSid}/SIP/CredentialLists.json: + servers: + - url: https://api.twilio.com + description: Lists of SIP credentials + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + pathType: list + parent: /Accounts/{AccountSid}/SIP.json get: - description: Fetch an IpAccessControlListMapping resource. - operationId: FetchSipIpAccessControlListMapping + description: Get All Credential Lists + operationId: ListSipCredentialList parameters: - description: The unique id of the Account that is responsible for this resource. in: path name: AccountSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ type: string - - description: A 34 character string that uniquely identifies the SIP domain. - in: path - name: DomainSid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^SD[0-9a-fA-F]{32}$ - type: string - - description: A 34 character string that uniquely identifies the resource to - fetch. - in: path - name: Sid - required: true - schema: maxLength: 34 - minLength: 34 - pattern: ^AL[0-9a-fA-F]{32}$ - type: string + pattern: ^AC[0-9a-fA-F]{32}$ + - 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 responses: '200': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.sip.sip_domain.sip_ip_access_control_list_mapping' + type: object + title: ListSipCredentialListResponse + properties: + credential_lists: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.sip.sip_credential_list' + end: + type: integer + first_page_uri: + type: string + format: uri + next_page_uri: + type: string + format: uri + page: + type: integer + page_size: + type: integer + previous_page_uri: + type: string + format: uri + start: + type: integer + uri: + type: string + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - parent: /Accounts/{AccountSid}/SIP/Domains.json - pathType: instance - /2010-04-01/Accounts/{AccountSid}/SIP/Domains/{Sid}.json: - delete: - description: Delete an instance of a Domain - operationId: DeleteSipDomain + post: + description: Create a Credential List + operationId: CreateSipCredentialList parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the SipDomain resources to delete. + - description: The unique id of the Account that is responsible for this resource. in: path name: AccountSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ type: string - - description: The Twilio-provided string that uniquely identifies the SipDomain - resource to delete. - in: path - name: Sid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^SD[0-9a-fA-F]{32}$ - type: string + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: A human readable descriptive text that describes the + CredentialList, up to 64 characters long. + type: string + required: + - FriendlyName + title: CreateSipCredentialListRequest + type: object responses: - '204': - description: The resource was deleted successfully. + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.sip.sip_credential_list' + description: Created security: - accountSid_authToken: [] x-maturity: - GA - description: Custom DNS hostnames that can accept SIP traffic + /2010-04-01/Accounts/{AccountSid}/SIP/CredentialLists/{Sid}.json: + servers: + - url: https://api.twilio.com + description: Lists of SIP credentials + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + pathType: instance + parent: /Accounts/{AccountSid}/SIP.json get: - description: Fetch an instance of a Domain - operationId: FetchSipDomain + description: Get a Credential List + operationId: FetchSipCredentialList parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the SipDomain resource to fetch. + - description: The unique id of the Account that is responsible for this resource. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the SipDomain - resource to fetch. + - description: The credential list Sid that uniquely identifies this resource in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^SD[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^CL[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.sip.sip_domain' + $ref: '#/components/schemas/api.v2010.account.sip.sip_credential_list' description: OK security: - accountSid_authToken: [] x-maturity: - GA post: - description: Update the attributes of a domain - operationId: UpdateSipDomain + description: Update a Credential List + operationId: UpdateSipCredentialList parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the SipDomain resource to update. + - description: The unique id of the Account that is responsible for this resource. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the SipDomain - resource to update. + - description: The credential list Sid that uniquely identifies this resource in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^SD[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^CL[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - ByocTrunkSid: - description: The SID of the BYOC Trunk(Bring Your Own Carrier) resource - that the Sip Domain will be associated with. - maxLength: 34 - minLength: 34 - pattern: ^BY[0-9a-fA-F]{32}$ - type: string - DomainName: - description: The unique address you reserve on Twilio to which you - route your SIP traffic. Domain names can contain letters, digits, - and "-" and must end with `sip.twilio.com`. - type: string - EmergencyCallerSid: - description: Whether an emergency caller sid is configured for the - domain. If present, this phone number will be used as the callback - for the emergency call. - maxLength: 34 - minLength: 34 - pattern: ^PN[0-9a-fA-F]{32}$ - type: string - EmergencyCallingEnabled: - description: Whether emergency calling is enabled for the domain. - If enabled, allows emergency calls on the domain from phone numbers - with validated addresses. - type: boolean FriendlyName: - description: A descriptive string that you created to describe the - resource. It can be up to 64 characters long. - type: string - Secure: - description: Whether secure SIP is enabled for the domain. If enabled, - TLS will be enforced and SRTP will be negotiated on all incoming - calls to this sip domain. - type: boolean - SipRegistration: - description: Whether to allow SIP Endpoints to register with the - domain to receive calls. Can be `true` or `false`. `true` allows - SIP Endpoints to register with the domain to receive calls, `false` - does not. - type: boolean - VoiceFallbackMethod: - description: 'The HTTP method we should use to call `voice_fallback_url`. - Can be: `GET` or `POST`.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - VoiceFallbackUrl: - description: The URL that we should call when an error occurs while - retrieving or executing the TwiML requested by `voice_url`. - format: uri - type: string - VoiceMethod: - description: The HTTP method we should use to call `voice_url` - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - VoiceStatusCallbackMethod: - description: 'The HTTP method we should use to call `voice_status_callback_url`. - Can be: `GET` or `POST`.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - VoiceStatusCallbackUrl: - description: The URL that we should call to pass status parameters - (such as call ended) to your application. - format: uri - type: string - VoiceUrl: - description: The URL we should call when the domain receives a call. - format: uri + description: A human readable descriptive text for a CredentialList, + up to 64 characters long. type: string - title: UpdateSipDomainRequest + required: + - FriendlyName + title: UpdateSipCredentialListRequest type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.sip.sip_domain' + $ref: '#/components/schemas/api.v2010.account.sip.sip_credential_list' description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - domain_name - - friendly_name - parent: /Accounts/{AccountSid}/SIP.json - pathType: instance - /2010-04-01/Accounts/{AccountSid}/SIP/IpAccessControlLists.json: - description: Access control lists of IP address resources - get: - description: Retrieve a list of IpAccessControlLists that belong to the account - used to make the request - operationId: ListSipIpAccessControlList + delete: + description: Delete a Credential List + operationId: DeleteSipCredentialList parameters: - - description: The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) - responsible for this resource. + - description: The unique id of the Account that is responsible for this resource. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[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 + - description: The credential list Sid that uniquely identifies this resource + in: path + name: Sid + required: true schema: - maximum: 1000 - minimum: 1 - type: integer + type: string + minLength: 34 + maxLength: 34 + pattern: ^CL[0-9a-fA-F]{32}$ responses: - '200': - content: - application/json: - schema: - properties: - end: - type: integer - first_page_uri: - format: uri - type: string - ip_access_control_lists: - items: - $ref: '#/components/schemas/api.v2010.account.sip.sip_ip_access_control_list' - type: array - next_page_uri: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_uri: - format: uri - type: string - start: - type: integer - uri: - format: uri - type: string - title: ListSipIpAccessControlListResponse - type: object - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/CredentialListMappings.json: + servers: + - url: https://api.twilio.com + description: Credential lists associated with a SIP Domain + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + pathType: list + parent: /Accounts/{AccountSid}/SIP/Domains.json post: - description: Create a new IpAccessControlList resource - operationId: CreateSipIpAccessControlList + description: Create a CredentialListMapping resource for an account. + operationId: CreateSipCredentialListMapping parameters: - description: The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource. in: path - name: AccountSid + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: A 34 character string that uniquely identifies the SIP Domain + for which the CredentialList resource will be mapped. + in: path + name: DomainSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^SD[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - FriendlyName: - description: A human readable descriptive text that describes the - IpAccessControlList, up to 64 characters long. + CredentialListSid: type: string + minLength: 34 + maxLength: 34 + pattern: ^CL[0-9a-fA-F]{32}$ + description: A 34 character string that uniquely identifies the + CredentialList resource to map to the SIP domain. required: - - FriendlyName - title: CreateSipIpAccessControlListRequest + - CredentialListSid + title: CreateSipCredentialListMappingRequest type: object responses: '201': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.sip.sip_ip_access_control_list' + $ref: '#/components/schemas/api.v2010.account.sip.sip_domain.sip_credential_list_mapping' description: Created security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - parent: /Accounts/{AccountSid}/SIP.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/SIP/IpAccessControlLists/{IpAccessControlListSid}/IpAddresses.json: - description: IP addresses that have access to a SIP Domain get: - description: Read multiple IpAddress resources. - operationId: ListSipIpAddress + description: Read multiple CredentialListMapping resources from an account. + operationId: ListSipCredentialListMapping parameters: - description: The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource. @@ -22131,20 +20254,20 @@ paths: name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The IpAccessControlList Sid that identifies the IpAddress resources - to read. + - description: A 34 character string that uniquely identifies the SIP Domain + that includes the resource to read. in: path - name: IpAccessControlListSid + name: DomainSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^AL[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^SD[0-9a-fA-F]{32}$ - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -22158,41 +20281,51 @@ paths: content: application/json: schema: + type: object + title: ListSipCredentialListMappingResponse properties: + credential_list_mappings: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.sip.sip_domain.sip_credential_list_mapping' end: type: integer first_page_uri: - format: uri type: string - ip_addresses: - items: - $ref: '#/components/schemas/api.v2010.account.sip.sip_ip_access_control_list.sip_ip_address' - type: array - next_page_uri: format: uri + next_page_uri: type: string + format: uri page: type: integer page_size: type: integer previous_page_uri: - format: uri type: string + format: uri start: type: integer uri: - format: uri type: string - title: ListSipIpAddressResponse - type: object + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: Create a new IpAddress resource. - operationId: CreateSipIpAddress + /2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/CredentialListMappings/{Sid}.json: + servers: + - url: https://api.twilio.com + description: Credential lists associated with a SIP Domain + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + pathType: instance + parent: /Accounts/{AccountSid}/SIP/Domains.json + get: + description: Fetch a single CredentialListMapping resource from an account. + operationId: FetchSipCredentialListMapping parameters: - description: The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource. @@ -22200,68 +20333,44 @@ paths: name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The IpAccessControlList Sid with which to associate the created - IpAddress resource. + - description: A 34 character string that uniquely identifies the SIP Domain + that includes the resource to fetch. in: path - name: IpAccessControlListSid + name: DomainSid required: true schema: - maxLength: 34 + type: string minLength: 34 - pattern: ^AL[0-9a-fA-F]{32}$ + maxLength: 34 + pattern: ^SD[0-9a-fA-F]{32}$ + - description: A 34 character string that uniquely identifies the resource to + fetch. + in: path + name: Sid + required: true + schema: type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - CidrPrefixLength: - description: An integer representing the length of the CIDR prefix - to use with this IP address when accepting traffic. By default - the entire IP address is used. - type: integer - FriendlyName: - description: A human readable descriptive text for this resource, - up to 64 characters long. - type: string - IpAddress: - description: An IP address in dotted decimal notation from which - you want to accept traffic. Any SIP requests from this IP address - will be allowed by Twilio. IPv4 only supported today. - type: string - required: - - FriendlyName - - IpAddress - title: CreateSipIpAddressRequest - type: object + minLength: 34 + maxLength: 34 + pattern: ^CL[0-9a-fA-F]{32}$ responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.sip.sip_ip_access_control_list.sip_ip_address' - description: Created + $ref: '#/components/schemas/api.v2010.account.sip.sip_domain.sip_credential_list_mapping' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - ip_address - - friendly_name - parent: /Accounts/{AccountSid}/SIP/IpAccessControlLists.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/SIP/IpAccessControlLists/{IpAccessControlListSid}/IpAddresses/{Sid}.json: delete: - description: Delete an IpAddress resource. - operationId: DeleteSipIpAddress + description: Delete a CredentialListMapping resource from an account. + operationId: DeleteSipCredentialListMapping parameters: - description: The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this resource. @@ -22269,30 +20378,30 @@ paths: name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The IpAccessControlList Sid that identifies the IpAddress resources - to delete. + - description: A 34 character string that uniquely identifies the SIP Domain + that includes the resource to delete. in: path - name: IpAccessControlListSid + name: DomainSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^AL[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^SD[0-9a-fA-F]{32}$ - description: A 34 character string that uniquely identifies the resource to delete. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^IP[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^CL[0-9a-fA-F]{32}$ responses: '204': description: The resource was deleted successfully. @@ -22300,279 +20409,434 @@ paths: - accountSid_authToken: [] x-maturity: - GA - description: IP addresses that have access to a SIP Domain + /2010-04-01/Accounts/{AccountSid}/SIP/Domains.json: + servers: + - url: https://api.twilio.com + description: Custom DNS hostnames that can accept SIP traffic + x-twilio: + defaultOutputProperties: + - sid + - domain_name + - friendly_name + pathType: list + parent: /Accounts/{AccountSid}/SIP.json get: - description: Read one IpAddress resource. - operationId: FetchSipIpAddress + description: Retrieve a list of domains belonging to the account used to make + the request + operationId: ListSipDomain parameters: - - description: The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) - responsible for this resource. + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the SipDomain resources to read. in: path name: AccountSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ type: string - - description: The IpAccessControlList Sid that identifies the IpAddress resources - to fetch. - in: path - name: IpAccessControlListSid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^AL[0-9a-fA-F]{32}$ - type: string - - description: A 34 character string that uniquely identifies the IpAddress - resource to fetch. - in: path - name: Sid - required: true - schema: maxLength: 34 - minLength: 34 - pattern: ^IP[0-9a-fA-F]{32}$ - type: string + pattern: ^AC[0-9a-fA-F]{32}$ + - 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 responses: '200': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.sip.sip_ip_access_control_list.sip_ip_address' + type: object + title: ListSipDomainResponse + properties: + domains: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.sip.sip_domain' + end: + type: integer + first_page_uri: + type: string + format: uri + next_page_uri: + type: string + format: uri + page: + type: integer + page_size: + type: integer + previous_page_uri: + type: string + format: uri + start: + type: integer + uri: + type: string + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - GA post: - description: Update an IpAddress resource. - operationId: UpdateSipIpAddress + description: Create a new Domain + operationId: CreateSipDomain parameters: - - description: The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) - responsible for this resource. + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that will create the resource. in: path name: AccountSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ type: string - - description: The IpAccessControlList Sid that identifies the IpAddress resources - to update. - in: path - name: IpAccessControlListSid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^AL[0-9a-fA-F]{32}$ - type: string - - description: A 34 character string that identifies the IpAddress resource - to update. - in: path - name: Sid - required: true - schema: maxLength: 34 - minLength: 34 - pattern: ^IP[0-9a-fA-F]{32}$ - type: string + pattern: ^AC[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - CidrPrefixLength: - description: An integer representing the length of the CIDR prefix - to use with this IP address when accepting traffic. By default - the entire IP address is used. - type: integer + DomainName: + description: The unique address you reserve on Twilio to which you + route your SIP traffic. Domain names can contain letters, digits, + and "-" and must end with `sip.twilio.com`. + type: string FriendlyName: - description: A human readable descriptive text for this resource, - up to 64 characters long. + description: A descriptive string that you created to describe the + resource. It can be up to 64 characters long. type: string - IpAddress: - description: An IP address in dotted decimal notation from which - you want to accept traffic. Any SIP requests from this IP address - will be allowed by Twilio. IPv4 only supported today. + VoiceUrl: + description: The URL we should when the domain receives a call. + format: uri type: string - title: UpdateSipIpAddressRequest + VoiceMethod: + description: 'The HTTP method we should use to call `voice_url`. + Can be: `GET` or `POST`.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + type: string + VoiceFallbackUrl: + description: The URL that we should call when an error occurs while + retrieving or executing the TwiML from `voice_url`. + format: uri + type: string + VoiceFallbackMethod: + description: 'The HTTP method we should use to call `voice_fallback_url`. + Can be: `GET` or `POST`.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + type: string + VoiceStatusCallbackUrl: + description: The URL that we should call to pass status parameters + (such as call ended) to your application. + format: uri + type: string + VoiceStatusCallbackMethod: + description: 'The HTTP method we should use to call `voice_status_callback_url`. + Can be: `GET` or `POST`.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + type: string + SipRegistration: + description: Whether to allow SIP Endpoints to register with the + domain to receive calls. Can be `true` or `false`. `true` allows + SIP Endpoints to register with the domain to receive calls, `false` + does not. + type: boolean + EmergencyCallingEnabled: + description: Whether emergency calling is enabled for the domain. + If enabled, allows emergency calls on the domain from phone numbers + with validated addresses. + type: boolean + Secure: + description: Whether secure SIP is enabled for the domain. If enabled, + TLS will be enforced and SRTP will be negotiated on all incoming + calls to this sip domain. + type: boolean + ByocTrunkSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^BY[0-9a-fA-F]{32}$ + description: The SID of the BYOC Trunk(Bring Your Own Carrier) resource + that the Sip Domain will be associated with. + EmergencyCallerSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^PN[0-9a-fA-F]{32}$ + description: Whether an emergency caller sid is configured for the + domain. If present, this phone number will be used as the callback + for the emergency call. + required: + - DomainName + title: CreateSipDomainRequest type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.sip.sip_ip_access_control_list.sip_ip_address' - description: OK + $ref: '#/components/schemas/api.v2010.account.sip.sip_domain' + description: Created security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/SIP/Domains/{Sid}.json: servers: - url: https://api.twilio.com + description: Custom DNS hostnames that can accept SIP traffic x-twilio: defaultOutputProperties: - sid - - ip_address + - domain_name - friendly_name - parent: /Accounts/{AccountSid}/SIP/IpAccessControlLists.json pathType: instance - /2010-04-01/Accounts/{AccountSid}/SIP/IpAccessControlLists/{Sid}.json: - delete: - description: Delete an IpAccessControlList from the requested account - operationId: DeleteSipIpAccessControlList + parent: /Accounts/{AccountSid}/SIP.json + get: + description: Fetch an instance of a Domain + operationId: FetchSipDomain parameters: - - description: The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) - responsible for this resource. + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the SipDomain resource to fetch. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: A 34 character string that uniquely identifies the resource to - delete. + - description: The Twilio-provided string that uniquely identifies the SipDomain + resource to fetch. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^AL[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^SD[0-9a-fA-F]{32}$ responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.sip.sip_domain' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - description: Access control lists of IP address resources - get: - description: Fetch a specific instance of an IpAccessControlList - operationId: FetchSipIpAccessControlList + post: + description: Update the attributes of a domain + operationId: UpdateSipDomain parameters: - - description: The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) - responsible for this resource. + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the SipDomain resource to update. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: A 34 character string that uniquely identifies the resource to - fetch. + - description: The Twilio-provided string that uniquely identifies the SipDomain + resource to update. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^AL[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^SD[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: A descriptive string that you created to describe the + resource. It can be up to 64 characters long. + type: string + VoiceFallbackMethod: + description: 'The HTTP method we should use to call `voice_fallback_url`. + Can be: `GET` or `POST`.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + type: string + VoiceFallbackUrl: + description: The URL that we should call when an error occurs while + retrieving or executing the TwiML requested by `voice_url`. + format: uri + type: string + VoiceMethod: + description: The HTTP method we should use to call `voice_url` + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + type: string + VoiceStatusCallbackMethod: + description: 'The HTTP method we should use to call `voice_status_callback_url`. + Can be: `GET` or `POST`.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + type: string + VoiceStatusCallbackUrl: + description: The URL that we should call to pass status parameters + (such as call ended) to your application. + format: uri + type: string + VoiceUrl: + description: The URL we should call when the domain receives a call. + format: uri + type: string + SipRegistration: + description: Whether to allow SIP Endpoints to register with the + domain to receive calls. Can be `true` or `false`. `true` allows + SIP Endpoints to register with the domain to receive calls, `false` + does not. + type: boolean + DomainName: + description: The unique address you reserve on Twilio to which you + route your SIP traffic. Domain names can contain letters, digits, + and "-" and must end with `sip.twilio.com`. + type: string + EmergencyCallingEnabled: + description: Whether emergency calling is enabled for the domain. + If enabled, allows emergency calls on the domain from phone numbers + with validated addresses. + type: boolean + Secure: + description: Whether secure SIP is enabled for the domain. If enabled, + TLS will be enforced and SRTP will be negotiated on all incoming + calls to this sip domain. + type: boolean + ByocTrunkSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^BY[0-9a-fA-F]{32}$ + description: The SID of the BYOC Trunk(Bring Your Own Carrier) resource + that the Sip Domain will be associated with. + EmergencyCallerSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^PN[0-9a-fA-F]{32}$ + description: Whether an emergency caller sid is configured for the + domain. If present, this phone number will be used as the callback + for the emergency call. + title: UpdateSipDomainRequest + type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.sip.sip_ip_access_control_list' + $ref: '#/components/schemas/api.v2010.account.sip.sip_domain' description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: Rename an IpAccessControlList - operationId: UpdateSipIpAccessControlList + delete: + description: Delete an instance of a Domain + operationId: DeleteSipDomain parameters: - - description: The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) - responsible for this resource. + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the SipDomain resources to delete. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: A 34 character string that uniquely identifies the resource to - udpate. + - description: The Twilio-provided string that uniquely identifies the SipDomain + resource to delete. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^AL[0-9a-fA-F]{32}$ type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - FriendlyName: - description: A human readable descriptive text, up to 64 characters - long. - type: string - required: - - FriendlyName - title: UpdateSipIpAccessControlListRequest - type: object + minLength: 34 + maxLength: 34 + pattern: ^SD[0-9a-fA-F]{32}$ responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.sip.sip_ip_access_control_list' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/SIP/IpAccessControlLists.json: servers: - url: https://api.twilio.com + description: Access control lists of IP address resources x-twilio: defaultOutputProperties: - sid - friendly_name + pathType: list parent: /Accounts/{AccountSid}/SIP.json - pathType: instance - /2010-04-01/Accounts/{AccountSid}/SMS/ShortCodes.json: - description: Messaging short codes get: - description: Retrieve a list of short-codes belonging to the account used to - make the request - operationId: ListShortCode + description: Retrieve a list of IpAccessControlLists that belong to the account + used to make the request + operationId: ListSipIpAccessControlList parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the ShortCode resource(s) to read. + - description: The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) + responsible for this resource. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The string that identifies the ShortCode resources to read. - in: query - name: FriendlyName - schema: - type: string - - description: Only show the ShortCode resources that match this pattern. You - can specify partial numbers and use '*' as a wildcard for any digit. - in: query - name: ShortCode - schema: - type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -22586,308 +20850,193 @@ paths: content: application/json: schema: + type: object + title: ListSipIpAccessControlListResponse properties: + ip_access_control_lists: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.sip.sip_ip_access_control_list' end: type: integer first_page_uri: - format: uri type: string - next_page_uri: format: uri + next_page_uri: type: string + format: uri page: type: integer page_size: type: integer previous_page_uri: - format: uri type: string - short_codes: - items: - $ref: '#/components/schemas/api.v2010.account.short_code' - type: array + format: uri start: type: integer uri: - format: uri type: string - title: ListShortCodeResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - short_code - - friendly_name - parent: /Accounts.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/SMS/ShortCodes/{Sid}.json: - description: Messaging short codes - get: - description: Fetch an instance of a short code - operationId: FetchShortCode - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the ShortCode resource(s) to fetch. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[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/api.v2010.account.short_code' + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - GA post: - description: Update a short code with the following parameters - operationId: UpdateShortCode + description: Create a new IpAccessControlList resource + operationId: CreateSipIpAccessControlList parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the ShortCode resource(s) to update. + - description: The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) + responsible for this resource. in: path name: AccountSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[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: - ApiVersion: - description: 'The API version to use to start a new TwiML session. - Can be: `2010-04-01` or `2008-08-01`.' - type: string - FriendlyName: - description: A descriptive string that you created to describe this - resource. It can be up to 64 characters long. By default, the - `FriendlyName` is the short code. - type: string - SmsFallbackMethod: - description: 'The HTTP method that we should use to call the `sms_fallback_url`. - Can be: `GET` or `POST`.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - SmsFallbackUrl: - description: The URL that we should call if an error occurs while - retrieving or executing the TwiML from `sms_url`. - format: uri - type: string - SmsMethod: - description: 'The HTTP method we should use when calling the `sms_url`. - Can be: `GET` or `POST`.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - SmsUrl: - description: The URL we should call when receiving an incoming SMS - message to this short code. - format: uri + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: A human readable descriptive text that describes the + IpAccessControlList, up to 64 characters long. type: string - title: UpdateShortCodeRequest + required: + - FriendlyName + title: CreateSipIpAccessControlListRequest type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.short_code' - description: OK + $ref: '#/components/schemas/api.v2010.account.sip.sip_ip_access_control_list' + description: Created security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/SIP/IpAccessControlLists/{Sid}.json: servers: - url: https://api.twilio.com + description: Access control lists of IP address resources x-twilio: defaultOutputProperties: - sid - - short_code - friendly_name - parent: /Accounts.json pathType: instance - /2010-04-01/Accounts/{AccountSid}/SigningKeys.json: - description: Create a new signing key + parent: /Accounts/{AccountSid}/SIP.json get: - description: '' - operationId: ListSigningKey + description: Fetch a specific instance of an IpAccessControlList + operationId: FetchSipIpAccessControlList parameters: - - description: '' + - description: The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) + responsible for this resource. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[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 + - description: A 34 character string that uniquely identifies the resource to + fetch. + in: path + name: Sid + required: true schema: - maximum: 1000 - minimum: 1 - type: integer + type: string + minLength: 34 + maxLength: 34 + pattern: ^AL[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - properties: - end: - type: integer - first_page_uri: - format: uri - type: string - next_page_uri: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_uri: - format: uri - type: string - signing_keys: - items: - $ref: '#/components/schemas/api.v2010.account.signing_key' - type: array - start: - type: integer - uri: - format: uri - type: string - title: ListSigningKeyResponse - type: object + $ref: '#/components/schemas/api.v2010.account.sip.sip_ip_access_control_list' description: OK security: - accountSid_authToken: [] x-maturity: - GA post: - description: Create a new Signing Key for the account making the request. - operationId: CreateNewSigningKey + description: Rename an IpAccessControlList + operationId: UpdateSipIpAccessControlList parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that will be responsible for the new Key resource. + - description: The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) + responsible for this resource. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ + - description: A 34 character string that uniquely identifies the resource to + udpate. + in: path + name: Sid + required: true + schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^AL[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: FriendlyName: - description: A descriptive string that you create to describe the - resource. It can be up to 64 characters long. + description: A human readable descriptive text, up to 64 characters + long. type: string - title: CreateNewSigningKeyRequest + required: + - FriendlyName + title: UpdateSipIpAccessControlListRequest type: object responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.new_signing_key' - description: Created + $ref: '#/components/schemas/api.v2010.account.sip.sip_ip_access_control_list' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - x-twilio: - className: new_signing_key - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - secret - parent: /Accounts.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/SigningKeys/{Sid}.json: delete: - description: '' - operationId: DeleteSigningKey + description: Delete an IpAccessControlList from the requested account + operationId: DeleteSipIpAccessControlList parameters: - - description: '' + - description: The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) + responsible for this resource. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: '' + - description: A 34 character string that uniquely identifies the resource to + delete. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^SK[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^AL[0-9a-fA-F]{32}$ responses: '204': description: The resource was deleted successfully. @@ -22895,154 +21044,179 @@ paths: - accountSid_authToken: [] x-maturity: - GA - description: 'TODO: Resource-level docs' + /2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/IpAccessControlListMappings/{Sid}.json: + servers: + - url: https://api.twilio.com + description: Access control lists associated with a SIP Domain + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + pathType: instance + parent: /Accounts/{AccountSid}/SIP/Domains.json get: - description: '' - operationId: FetchSigningKey + description: Fetch an IpAccessControlListMapping resource. + operationId: FetchSipIpAccessControlListMapping parameters: - - description: '' + - description: The unique id of the Account that is responsible for this resource. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ + - description: A 34 character string that uniquely identifies the SIP domain. + in: path + name: DomainSid + required: true + schema: type: string - - description: '' + minLength: 34 + maxLength: 34 + pattern: ^SD[0-9a-fA-F]{32}$ + - description: A 34 character string that uniquely identifies the resource to + fetch. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^SK[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^AL[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.signing_key' + $ref: '#/components/schemas/api.v2010.account.sip.sip_domain.sip_ip_access_control_list_mapping' description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: '' - operationId: UpdateSigningKey + delete: + description: Delete an IpAccessControlListMapping resource. + operationId: DeleteSipIpAccessControlListMapping parameters: - - description: '' + - description: The unique id of the Account that is responsible for this resource. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ + - description: A 34 character string that uniquely identifies the SIP domain. + in: path + name: DomainSid + required: true + schema: type: string - - description: '' + minLength: 34 + maxLength: 34 + pattern: ^SD[0-9a-fA-F]{32}$ + - description: A 34 character string that uniquely identifies the resource to + delete. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^SK[0-9a-fA-F]{32}$ type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - FriendlyName: - description: '' - type: string - title: UpdateSigningKeyRequest - type: object + minLength: 34 + maxLength: 34 + pattern: ^AL[0-9a-fA-F]{32}$ responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.signing_key' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/SIP/Domains/{DomainSid}/IpAccessControlListMappings.json: servers: - url: https://api.twilio.com + description: Access control lists associated with a SIP Domain x-twilio: defaultOutputProperties: - sid - friendly_name - parent: /Accounts.json - pathType: instance - /2010-04-01/Accounts/{AccountSid}/Tokens.json: - description: Credentials for ICE servers + pathType: list + parent: /Accounts/{AccountSid}/SIP/Domains.json post: - description: Create a new token for ICE servers - operationId: CreateToken + description: Create a new IpAccessControlListMapping resource. + operationId: CreateSipIpAccessControlListMapping parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that will create the resource. + - description: The unique id of the Account that is responsible for this resource. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: A 34 character string that uniquely identifies the SIP domain. in: path - name: AccountSid + name: DomainSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^SD[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - Ttl: - description: The duration in seconds for which the generated credentials - are valid. The default value is 86400 (24 hours). - type: integer - title: CreateTokenRequest + IpAccessControlListSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AL[0-9a-fA-F]{32}$ + description: The unique id of the IP access control list to map + to the SIP domain. + required: + - IpAccessControlListSid + title: CreateSipIpAccessControlListMappingRequest type: object responses: '201': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.token' + $ref: '#/components/schemas/api.v2010.account.sip.sip_domain.sip_ip_access_control_list_mapping' description: Created security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - username - - ice_servers - parent: /Accounts.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/Transcriptions.json: - description: Text transcriptions of call recordings get: - description: Retrieve a list of transcriptions belonging to the account used - to make the request - operationId: ListTranscription + description: Retrieve a list of IpAccessControlListMapping resources. + operationId: ListSipIpAccessControlListMapping parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Transcription resources to read. + - description: The unique id of the Account that is responsible for this resource. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ + - description: A 34 character string that uniquely identifies the SIP domain. + in: path + name: DomainSid + required: true + schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^SD[0-9a-fA-F]{32}$ - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -23056,429 +21230,1984 @@ paths: content: application/json: schema: + type: object + title: ListSipIpAccessControlListMappingResponse properties: + ip_access_control_list_mappings: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.sip.sip_domain.sip_ip_access_control_list_mapping' end: type: integer first_page_uri: - format: uri type: string - next_page_uri: format: uri + next_page_uri: type: string + format: uri page: type: integer page_size: type: integer previous_page_uri: - format: uri type: string + format: uri start: type: integer - transcriptions: - items: - $ref: '#/components/schemas/api.v2010.account.transcription' - type: array uri: - format: uri type: string - title: ListTranscriptionResponse - type: object + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/SIP/IpAccessControlLists/{IpAccessControlListSid}/IpAddresses.json: servers: - url: https://api.twilio.com + description: IP addresses that have access to a SIP Domain x-twilio: defaultOutputProperties: - sid - - type - - status - - duration - parent: /Accounts.json + - ip_address + - friendly_name pathType: list - /2010-04-01/Accounts/{AccountSid}/Transcriptions/{Sid}.json: - delete: - description: Delete a transcription from the account used to make the request - operationId: DeleteTranscription + parent: /Accounts/{AccountSid}/SIP/IpAccessControlLists.json + get: + description: Read multiple IpAddress resources. + operationId: ListSipIpAddress parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Transcription resources to delete. + - description: The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) + responsible for this resource. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Transcription - resource to delete. + - description: The IpAccessControlList Sid that identifies the IpAddress resources + to read. in: path - name: Sid + name: IpAccessControlListSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^TR[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^AL[0-9a-fA-F]{32}$ + - 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 responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + type: object + title: ListSipIpAddressResponse + properties: + ip_addresses: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.sip.sip_ip_access_control_list.sip_ip_address' + end: + type: integer + first_page_uri: + type: string + format: uri + next_page_uri: + type: string + format: uri + page: + type: integer + page_size: + type: integer + previous_page_uri: + type: string + format: uri + start: + type: integer + uri: + type: string + format: uri + description: OK security: - accountSid_authToken: [] x-maturity: - GA - description: Text transcriptions of call recordings - get: - description: Fetch an instance of a Transcription - operationId: FetchTranscription + post: + description: Create a new IpAddress resource. + operationId: CreateSipIpAddress parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the Transcription resource to fetch. + - description: The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) + responsible for this resource. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Transcription - resource to fetch. + - description: The IpAccessControlList Sid with which to associate the created + IpAddress resource. in: path - name: Sid + name: IpAccessControlListSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^TR[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^AL[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: A human readable descriptive text for this resource, + up to 64 characters long. + type: string + IpAddress: + description: An IP address in dotted decimal notation from which + you want to accept traffic. Any SIP requests from this IP address + will be allowed by Twilio. IPv4 only supported today. + type: string + CidrPrefixLength: + description: An integer representing the length of the CIDR prefix + to use with this IP address when accepting traffic. By default + the entire IP address is used. + type: integer + required: + - FriendlyName + - IpAddress + title: CreateSipIpAddressRequest + type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account.transcription' - description: OK + $ref: '#/components/schemas/api.v2010.account.sip.sip_ip_access_control_list.sip_ip_address' + description: Created security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/SIP/IpAccessControlLists/{IpAccessControlListSid}/IpAddresses/{Sid}.json: servers: - url: https://api.twilio.com + description: IP addresses that have access to a SIP Domain x-twilio: defaultOutputProperties: - sid - - type - - status - - duration - parent: /Accounts.json + - ip_address + - friendly_name pathType: instance - /2010-04-01/Accounts/{AccountSid}/Usage.json: - description: 'TODO: Resource-level docs' - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: [] - parent: /Accounts.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/Usage/Records.json: - description: Twilio account usage records + parent: /Accounts/{AccountSid}/SIP/IpAccessControlLists.json get: - description: Retrieve a list of usage-records belonging to the account used - to make the request - operationId: ListUsageRecord + description: Read one IpAddress resource. + operationId: FetchSipIpAddress parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the UsageRecord resources to read. + - description: The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) + responsible for this resource. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ + - description: The IpAccessControlList Sid that identifies the IpAddress resources + to fetch. + in: path + name: IpAccessControlListSid + required: true + schema: type: string - - description: The [usage category](https://www.twilio.com/docs/usage/api/usage-record#usage-categories) - of the UsageRecord resources to read. Only UsageRecord resources in the - specified category are retrieved. - in: query - name: Category + minLength: 34 + maxLength: 34 + pattern: ^AL[0-9a-fA-F]{32}$ + - description: A 34 character string that uniquely identifies the IpAddress + resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IP[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.sip.sip_ip_access_control_list.sip_ip_address' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + post: + description: Update an IpAddress resource. + operationId: UpdateSipIpAddress + parameters: + - description: The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) + responsible for this resource. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The IpAccessControlList Sid that identifies the IpAddress resources + to update. + in: path + name: IpAccessControlListSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AL[0-9a-fA-F]{32}$ + - description: A 34 character string that identifies the IpAddress resource + to update. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IP[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + IpAddress: + description: An IP address in dotted decimal notation from which + you want to accept traffic. Any SIP requests from this IP address + will be allowed by Twilio. IPv4 only supported today. + type: string + FriendlyName: + description: A human readable descriptive text for this resource, + up to 64 characters long. + type: string + CidrPrefixLength: + description: An integer representing the length of the CIDR prefix + to use with this IP address when accepting traffic. By default + the entire IP address is used. + type: integer + title: UpdateSipIpAddressRequest + type: object + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.sip.sip_ip_access_control_list.sip_ip_address' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + delete: + description: Delete an IpAddress resource. + operationId: DeleteSipIpAddress + parameters: + - description: The unique id of the [Account](https://www.twilio.com/docs/iam/api/account) + responsible for this resource. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The IpAccessControlList Sid that identifies the IpAddress resources + to delete. + in: path + name: IpAccessControlListSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AL[0-9a-fA-F]{32}$ + - description: A 34 character string that uniquely identifies the resource to + delete. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IP[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Siprec.json: + servers: + - url: https://api.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - call_sid + - name + pathType: list + parent: /Accounts/{AccountSid}/Calls.json + post: + description: Create a Siprec + operationId: CreateSiprec + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created this Siprec resource. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The SID of the [Call](https://www.twilio.com/docs/voice/api/call-resource) + the Siprec resource is associated with. + in: path + name: CallSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Name: + description: The user-specified name of this Siprec, if one was + given when the Siprec was created. This may be used to stop the + Siprec. + type: string + ConnectorName: + description: Unique name used when configuring the connector via + Marketplace Add-on. + type: string + Track: + type: string + enum: + - inbound_track + - outbound_track + - both_tracks + description: One of `inbound_track`, `outbound_track`, `both_tracks`. + StatusCallback: + description: Absolute URL of the status callback. + format: uri + type: string + StatusCallbackMethod: + description: The http method for the status_callback (one of GET, + POST). + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + type: string + Parameter1.Name: + description: Parameter name + type: string + Parameter1.Value: + description: Parameter value + type: string + Parameter2.Name: + description: Parameter name + type: string + Parameter2.Value: + description: Parameter value + type: string + Parameter3.Name: + description: Parameter name + type: string + Parameter3.Value: + description: Parameter value + type: string + Parameter4.Name: + description: Parameter name + type: string + Parameter4.Value: + description: Parameter value + type: string + Parameter5.Name: + description: Parameter name + type: string + Parameter5.Value: + description: Parameter value + type: string + Parameter6.Name: + description: Parameter name + type: string + Parameter6.Value: + description: Parameter value + type: string + Parameter7.Name: + description: Parameter name + type: string + Parameter7.Value: + description: Parameter value + type: string + Parameter8.Name: + description: Parameter name + type: string + Parameter8.Value: + description: Parameter value + type: string + Parameter9.Name: + description: Parameter name + type: string + Parameter9.Value: + description: Parameter value + type: string + Parameter10.Name: + description: Parameter name + type: string + Parameter10.Value: + description: Parameter value + type: string + Parameter11.Name: + description: Parameter name + type: string + Parameter11.Value: + description: Parameter value + type: string + Parameter12.Name: + description: Parameter name + type: string + Parameter12.Value: + description: Parameter value + type: string + Parameter13.Name: + description: Parameter name + type: string + Parameter13.Value: + description: Parameter value + type: string + Parameter14.Name: + description: Parameter name + type: string + Parameter14.Value: + description: Parameter value + type: string + Parameter15.Name: + description: Parameter name + type: string + Parameter15.Value: + description: Parameter value + type: string + Parameter16.Name: + description: Parameter name + type: string + Parameter16.Value: + description: Parameter value + type: string + Parameter17.Name: + description: Parameter name + type: string + Parameter17.Value: + description: Parameter value + type: string + Parameter18.Name: + description: Parameter name + type: string + Parameter18.Value: + description: Parameter value + type: string + Parameter19.Name: + description: Parameter name + type: string + Parameter19.Value: + description: Parameter value + type: string + Parameter20.Name: + description: Parameter name + type: string + Parameter20.Value: + description: Parameter value + type: string + Parameter21.Name: + description: Parameter name + type: string + Parameter21.Value: + description: Parameter value + type: string + Parameter22.Name: + description: Parameter name + type: string + Parameter22.Value: + description: Parameter value + type: string + Parameter23.Name: + description: Parameter name + type: string + Parameter23.Value: + description: Parameter value + type: string + Parameter24.Name: + description: Parameter name + type: string + Parameter24.Value: + description: Parameter value + type: string + Parameter25.Name: + description: Parameter name + type: string + Parameter25.Value: + description: Parameter value + type: string + Parameter26.Name: + description: Parameter name + type: string + Parameter26.Value: + description: Parameter value + type: string + Parameter27.Name: + description: Parameter name + type: string + Parameter27.Value: + description: Parameter value + type: string + Parameter28.Name: + description: Parameter name + type: string + Parameter28.Value: + description: Parameter value + type: string + Parameter29.Name: + description: Parameter name + type: string + Parameter29.Value: + description: Parameter value + type: string + Parameter30.Name: + description: Parameter name + type: string + Parameter30.Value: + description: Parameter value + type: string + Parameter31.Name: + description: Parameter name + type: string + Parameter31.Value: + description: Parameter value + type: string + Parameter32.Name: + description: Parameter name + type: string + Parameter32.Value: + description: Parameter value + type: string + Parameter33.Name: + description: Parameter name + type: string + Parameter33.Value: + description: Parameter value + type: string + Parameter34.Name: + description: Parameter name + type: string + Parameter34.Value: + description: Parameter value + type: string + Parameter35.Name: + description: Parameter name + type: string + Parameter35.Value: + description: Parameter value + type: string + Parameter36.Name: + description: Parameter name + type: string + Parameter36.Value: + description: Parameter value + type: string + Parameter37.Name: + description: Parameter name + type: string + Parameter37.Value: + description: Parameter value + type: string + Parameter38.Name: + description: Parameter name + type: string + Parameter38.Value: + description: Parameter value + type: string + Parameter39.Name: + description: Parameter name + type: string + Parameter39.Value: + description: Parameter value + type: string + Parameter40.Name: + description: Parameter name + type: string + Parameter40.Value: + description: Parameter value + type: string + Parameter41.Name: + description: Parameter name + type: string + Parameter41.Value: + description: Parameter value + type: string + Parameter42.Name: + description: Parameter name + type: string + Parameter42.Value: + description: Parameter value + type: string + Parameter43.Name: + description: Parameter name + type: string + Parameter43.Value: + description: Parameter value + type: string + Parameter44.Name: + description: Parameter name + type: string + Parameter44.Value: + description: Parameter value + type: string + Parameter45.Name: + description: Parameter name + type: string + Parameter45.Value: + description: Parameter value + type: string + Parameter46.Name: + description: Parameter name + type: string + Parameter46.Value: + description: Parameter value + type: string + Parameter47.Name: + description: Parameter name + type: string + Parameter47.Value: + description: Parameter value + type: string + Parameter48.Name: + description: Parameter name + type: string + Parameter48.Value: + description: Parameter value + type: string + Parameter49.Name: + description: Parameter name + type: string + Parameter49.Value: + description: Parameter value + type: string + Parameter50.Name: + description: Parameter name + type: string + Parameter50.Value: + description: Parameter value + type: string + Parameter51.Name: + description: Parameter name + type: string + Parameter51.Value: + description: Parameter value + type: string + Parameter52.Name: + description: Parameter name + type: string + Parameter52.Value: + description: Parameter value + type: string + Parameter53.Name: + description: Parameter name + type: string + Parameter53.Value: + description: Parameter value + type: string + Parameter54.Name: + description: Parameter name + type: string + Parameter54.Value: + description: Parameter value + type: string + Parameter55.Name: + description: Parameter name + type: string + Parameter55.Value: + description: Parameter value + type: string + Parameter56.Name: + description: Parameter name + type: string + Parameter56.Value: + description: Parameter value + type: string + Parameter57.Name: + description: Parameter name + type: string + Parameter57.Value: + description: Parameter value + type: string + Parameter58.Name: + description: Parameter name + type: string + Parameter58.Value: + description: Parameter value + type: string + Parameter59.Name: + description: Parameter name + type: string + Parameter59.Value: + description: Parameter value + type: string + Parameter60.Name: + description: Parameter name + type: string + Parameter60.Value: + description: Parameter value + type: string + Parameter61.Name: + description: Parameter name + type: string + Parameter61.Value: + description: Parameter value + type: string + Parameter62.Name: + description: Parameter name + type: string + Parameter62.Value: + description: Parameter value + type: string + Parameter63.Name: + description: Parameter name + type: string + Parameter63.Value: + description: Parameter value + type: string + Parameter64.Name: + description: Parameter name + type: string + Parameter64.Value: + description: Parameter value + type: string + Parameter65.Name: + description: Parameter name + type: string + Parameter65.Value: + description: Parameter value + type: string + Parameter66.Name: + description: Parameter name + type: string + Parameter66.Value: + description: Parameter value + type: string + Parameter67.Name: + description: Parameter name + type: string + Parameter67.Value: + description: Parameter value + type: string + Parameter68.Name: + description: Parameter name + type: string + Parameter68.Value: + description: Parameter value + type: string + Parameter69.Name: + description: Parameter name + type: string + Parameter69.Value: + description: Parameter value + type: string + Parameter70.Name: + description: Parameter name + type: string + Parameter70.Value: + description: Parameter value + type: string + Parameter71.Name: + description: Parameter name + type: string + Parameter71.Value: + description: Parameter value + type: string + Parameter72.Name: + description: Parameter name + type: string + Parameter72.Value: + description: Parameter value + type: string + Parameter73.Name: + description: Parameter name + type: string + Parameter73.Value: + description: Parameter value + type: string + Parameter74.Name: + description: Parameter name + type: string + Parameter74.Value: + description: Parameter value + type: string + Parameter75.Name: + description: Parameter name + type: string + Parameter75.Value: + description: Parameter value + type: string + Parameter76.Name: + description: Parameter name + type: string + Parameter76.Value: + description: Parameter value + type: string + Parameter77.Name: + description: Parameter name + type: string + Parameter77.Value: + description: Parameter value + type: string + Parameter78.Name: + description: Parameter name + type: string + Parameter78.Value: + description: Parameter value + type: string + Parameter79.Name: + description: Parameter name + type: string + Parameter79.Value: + description: Parameter value + type: string + Parameter80.Name: + description: Parameter name + type: string + Parameter80.Value: + description: Parameter value + type: string + Parameter81.Name: + description: Parameter name + type: string + Parameter81.Value: + description: Parameter value + type: string + Parameter82.Name: + description: Parameter name + type: string + Parameter82.Value: + description: Parameter value + type: string + Parameter83.Name: + description: Parameter name + type: string + Parameter83.Value: + description: Parameter value + type: string + Parameter84.Name: + description: Parameter name + type: string + Parameter84.Value: + description: Parameter value + type: string + Parameter85.Name: + description: Parameter name + type: string + Parameter85.Value: + description: Parameter value + type: string + Parameter86.Name: + description: Parameter name + type: string + Parameter86.Value: + description: Parameter value + type: string + Parameter87.Name: + description: Parameter name + type: string + Parameter87.Value: + description: Parameter value + type: string + Parameter88.Name: + description: Parameter name + type: string + Parameter88.Value: + description: Parameter value + type: string + Parameter89.Name: + description: Parameter name + type: string + Parameter89.Value: + description: Parameter value + type: string + Parameter90.Name: + description: Parameter name + type: string + Parameter90.Value: + description: Parameter value + type: string + Parameter91.Name: + description: Parameter name + type: string + Parameter91.Value: + description: Parameter value + type: string + Parameter92.Name: + description: Parameter name + type: string + Parameter92.Value: + description: Parameter value + type: string + Parameter93.Name: + description: Parameter name + type: string + Parameter93.Value: + description: Parameter value + type: string + Parameter94.Name: + description: Parameter name + type: string + Parameter94.Value: + description: Parameter value + type: string + Parameter95.Name: + description: Parameter name + type: string + Parameter95.Value: + description: Parameter value + type: string + Parameter96.Name: + description: Parameter name + type: string + Parameter96.Value: + description: Parameter value + type: string + Parameter97.Name: + description: Parameter name + type: string + Parameter97.Value: + description: Parameter value + type: string + Parameter98.Name: + description: Parameter name + type: string + Parameter98.Value: + description: Parameter value + type: string + Parameter99.Name: + description: Parameter name + type: string + Parameter99.Value: + description: Parameter value + type: string + title: CreateSiprecRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.call.siprec' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Siprec/{Sid}.json: + servers: + - url: https://api.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - call_sid + - name + pathType: instance + parent: /Accounts/{AccountSid}/Calls.json + post: + description: Stop a Siprec using either the SID of the Siprec resource or the + `name` used when creating the resource + operationId: UpdateSiprec + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created this Siprec resource. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The SID of the [Call](https://www.twilio.com/docs/voice/api/call-resource) + the Siprec resource is associated with. + in: path + name: CallSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ + - description: The SID of the Siprec resource, or the `name` used when creating + the resource + in: path + name: Sid + required: true + schema: + type: string + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Status: + type: string + enum: + - stopped + description: The status. Must have the value `stopped` + required: + - Status + title: UpdateSiprecRequest + type: object + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.call.siprec' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Streams.json: + servers: + - url: https://api.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - call_sid + - name + pathType: list + parent: /Accounts/{AccountSid}/Calls.json + post: + description: Create a Stream + operationId: CreateStream + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created this Stream resource. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The SID of the [Call](https://www.twilio.com/docs/voice/api/call-resource) + the Stream resource is associated with. + in: path + name: CallSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Url: + description: Relative or absolute url where WebSocket connection + will be established. + format: uri + type: string + Name: + description: The user-specified name of this Stream, if one was + given when the Stream was created. This may be used to stop the + Stream. + type: string + Track: + type: string + enum: + - inbound_track + - outbound_track + - both_tracks + description: One of `inbound_track`, `outbound_track`, `both_tracks`. + StatusCallback: + description: Absolute URL of the status callback. + format: uri + type: string + StatusCallbackMethod: + description: The http method for the status_callback (one of GET, + POST). + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + type: string + Parameter1.Name: + description: Parameter name + type: string + Parameter1.Value: + description: Parameter value + type: string + Parameter2.Name: + description: Parameter name + type: string + Parameter2.Value: + description: Parameter value + type: string + Parameter3.Name: + description: Parameter name + type: string + Parameter3.Value: + description: Parameter value + type: string + Parameter4.Name: + description: Parameter name + type: string + Parameter4.Value: + description: Parameter value + type: string + Parameter5.Name: + description: Parameter name + type: string + Parameter5.Value: + description: Parameter value + type: string + Parameter6.Name: + description: Parameter name + type: string + Parameter6.Value: + description: Parameter value + type: string + Parameter7.Name: + description: Parameter name + type: string + Parameter7.Value: + description: Parameter value + type: string + Parameter8.Name: + description: Parameter name + type: string + Parameter8.Value: + description: Parameter value + type: string + Parameter9.Name: + description: Parameter name + type: string + Parameter9.Value: + description: Parameter value + type: string + Parameter10.Name: + description: Parameter name + type: string + Parameter10.Value: + description: Parameter value + type: string + Parameter11.Name: + description: Parameter name + type: string + Parameter11.Value: + description: Parameter value + type: string + Parameter12.Name: + description: Parameter name + type: string + Parameter12.Value: + description: Parameter value + type: string + Parameter13.Name: + description: Parameter name + type: string + Parameter13.Value: + description: Parameter value + type: string + Parameter14.Name: + description: Parameter name + type: string + Parameter14.Value: + description: Parameter value + type: string + Parameter15.Name: + description: Parameter name + type: string + Parameter15.Value: + description: Parameter value + type: string + Parameter16.Name: + description: Parameter name + type: string + Parameter16.Value: + description: Parameter value + type: string + Parameter17.Name: + description: Parameter name + type: string + Parameter17.Value: + description: Parameter value + type: string + Parameter18.Name: + description: Parameter name + type: string + Parameter18.Value: + description: Parameter value + type: string + Parameter19.Name: + description: Parameter name + type: string + Parameter19.Value: + description: Parameter value + type: string + Parameter20.Name: + description: Parameter name + type: string + Parameter20.Value: + description: Parameter value + type: string + Parameter21.Name: + description: Parameter name + type: string + Parameter21.Value: + description: Parameter value + type: string + Parameter22.Name: + description: Parameter name + type: string + Parameter22.Value: + description: Parameter value + type: string + Parameter23.Name: + description: Parameter name + type: string + Parameter23.Value: + description: Parameter value + type: string + Parameter24.Name: + description: Parameter name + type: string + Parameter24.Value: + description: Parameter value + type: string + Parameter25.Name: + description: Parameter name + type: string + Parameter25.Value: + description: Parameter value + type: string + Parameter26.Name: + description: Parameter name + type: string + Parameter26.Value: + description: Parameter value + type: string + Parameter27.Name: + description: Parameter name + type: string + Parameter27.Value: + description: Parameter value + type: string + Parameter28.Name: + description: Parameter name + type: string + Parameter28.Value: + description: Parameter value + type: string + Parameter29.Name: + description: Parameter name + type: string + Parameter29.Value: + description: Parameter value + type: string + Parameter30.Name: + description: Parameter name + type: string + Parameter30.Value: + description: Parameter value + type: string + Parameter31.Name: + description: Parameter name + type: string + Parameter31.Value: + description: Parameter value + type: string + Parameter32.Name: + description: Parameter name + type: string + Parameter32.Value: + description: Parameter value + type: string + Parameter33.Name: + description: Parameter name + type: string + Parameter33.Value: + description: Parameter value + type: string + Parameter34.Name: + description: Parameter name + type: string + Parameter34.Value: + description: Parameter value + type: string + Parameter35.Name: + description: Parameter name + type: string + Parameter35.Value: + description: Parameter value + type: string + Parameter36.Name: + description: Parameter name + type: string + Parameter36.Value: + description: Parameter value + type: string + Parameter37.Name: + description: Parameter name + type: string + Parameter37.Value: + description: Parameter value + type: string + Parameter38.Name: + description: Parameter name + type: string + Parameter38.Value: + description: Parameter value + type: string + Parameter39.Name: + description: Parameter name + type: string + Parameter39.Value: + description: Parameter value + type: string + Parameter40.Name: + description: Parameter name + type: string + Parameter40.Value: + description: Parameter value + type: string + Parameter41.Name: + description: Parameter name + type: string + Parameter41.Value: + description: Parameter value + type: string + Parameter42.Name: + description: Parameter name + type: string + Parameter42.Value: + description: Parameter value + type: string + Parameter43.Name: + description: Parameter name + type: string + Parameter43.Value: + description: Parameter value + type: string + Parameter44.Name: + description: Parameter name + type: string + Parameter44.Value: + description: Parameter value + type: string + Parameter45.Name: + description: Parameter name + type: string + Parameter45.Value: + description: Parameter value + type: string + Parameter46.Name: + description: Parameter name + type: string + Parameter46.Value: + description: Parameter value + type: string + Parameter47.Name: + description: Parameter name + type: string + Parameter47.Value: + description: Parameter value + type: string + Parameter48.Name: + description: Parameter name + type: string + Parameter48.Value: + description: Parameter value + type: string + Parameter49.Name: + description: Parameter name + type: string + Parameter49.Value: + description: Parameter value + type: string + Parameter50.Name: + description: Parameter name + type: string + Parameter50.Value: + description: Parameter value + type: string + Parameter51.Name: + description: Parameter name + type: string + Parameter51.Value: + description: Parameter value + type: string + Parameter52.Name: + description: Parameter name + type: string + Parameter52.Value: + description: Parameter value + type: string + Parameter53.Name: + description: Parameter name + type: string + Parameter53.Value: + description: Parameter value + type: string + Parameter54.Name: + description: Parameter name + type: string + Parameter54.Value: + description: Parameter value + type: string + Parameter55.Name: + description: Parameter name + type: string + Parameter55.Value: + description: Parameter value + type: string + Parameter56.Name: + description: Parameter name + type: string + Parameter56.Value: + description: Parameter value + type: string + Parameter57.Name: + description: Parameter name + type: string + Parameter57.Value: + description: Parameter value + type: string + Parameter58.Name: + description: Parameter name + type: string + Parameter58.Value: + description: Parameter value + type: string + Parameter59.Name: + description: Parameter name + type: string + Parameter59.Value: + description: Parameter value + type: string + Parameter60.Name: + description: Parameter name + type: string + Parameter60.Value: + description: Parameter value + type: string + Parameter61.Name: + description: Parameter name + type: string + Parameter61.Value: + description: Parameter value + type: string + Parameter62.Name: + description: Parameter name + type: string + Parameter62.Value: + description: Parameter value + type: string + Parameter63.Name: + description: Parameter name + type: string + Parameter63.Value: + description: Parameter value + type: string + Parameter64.Name: + description: Parameter name + type: string + Parameter64.Value: + description: Parameter value + type: string + Parameter65.Name: + description: Parameter name + type: string + Parameter65.Value: + description: Parameter value + type: string + Parameter66.Name: + description: Parameter name + type: string + Parameter66.Value: + description: Parameter value + type: string + Parameter67.Name: + description: Parameter name + type: string + Parameter67.Value: + description: Parameter value + type: string + Parameter68.Name: + description: Parameter name + type: string + Parameter68.Value: + description: Parameter value + type: string + Parameter69.Name: + description: Parameter name + type: string + Parameter69.Value: + description: Parameter value + type: string + Parameter70.Name: + description: Parameter name + type: string + Parameter70.Value: + description: Parameter value + type: string + Parameter71.Name: + description: Parameter name + type: string + Parameter71.Value: + description: Parameter value + type: string + Parameter72.Name: + description: Parameter name + type: string + Parameter72.Value: + description: Parameter value + type: string + Parameter73.Name: + description: Parameter name + type: string + Parameter73.Value: + description: Parameter value + type: string + Parameter74.Name: + description: Parameter name + type: string + Parameter74.Value: + description: Parameter value + type: string + Parameter75.Name: + description: Parameter name + type: string + Parameter75.Value: + description: Parameter value + type: string + Parameter76.Name: + description: Parameter name + type: string + Parameter76.Value: + description: Parameter value + type: string + Parameter77.Name: + description: Parameter name + type: string + Parameter77.Value: + description: Parameter value + type: string + Parameter78.Name: + description: Parameter name + type: string + Parameter78.Value: + description: Parameter value + type: string + Parameter79.Name: + description: Parameter name + type: string + Parameter79.Value: + description: Parameter value + type: string + Parameter80.Name: + description: Parameter name + type: string + Parameter80.Value: + description: Parameter value + type: string + Parameter81.Name: + description: Parameter name + type: string + Parameter81.Value: + description: Parameter value + type: string + Parameter82.Name: + description: Parameter name + type: string + Parameter82.Value: + description: Parameter value + type: string + Parameter83.Name: + description: Parameter name + type: string + Parameter83.Value: + description: Parameter value + type: string + Parameter84.Name: + description: Parameter name + type: string + Parameter84.Value: + description: Parameter value + type: string + Parameter85.Name: + description: Parameter name + type: string + Parameter85.Value: + description: Parameter value + type: string + Parameter86.Name: + description: Parameter name + type: string + Parameter86.Value: + description: Parameter value + type: string + Parameter87.Name: + description: Parameter name + type: string + Parameter87.Value: + description: Parameter value + type: string + Parameter88.Name: + description: Parameter name + type: string + Parameter88.Value: + description: Parameter value + type: string + Parameter89.Name: + description: Parameter name + type: string + Parameter89.Value: + description: Parameter value + type: string + Parameter90.Name: + description: Parameter name + type: string + Parameter90.Value: + description: Parameter value + type: string + Parameter91.Name: + description: Parameter name + type: string + Parameter91.Value: + description: Parameter value + type: string + Parameter92.Name: + description: Parameter name + type: string + Parameter92.Value: + description: Parameter value + type: string + Parameter93.Name: + description: Parameter name + type: string + Parameter93.Value: + description: Parameter value + type: string + Parameter94.Name: + description: Parameter name + type: string + Parameter94.Value: + description: Parameter value + type: string + Parameter95.Name: + description: Parameter name + type: string + Parameter95.Value: + description: Parameter value + type: string + Parameter96.Name: + description: Parameter name + type: string + Parameter96.Value: + description: Parameter value + type: string + Parameter97.Name: + description: Parameter name + type: string + Parameter97.Value: + description: Parameter value + type: string + Parameter98.Name: + description: Parameter name + type: string + Parameter98.Value: + description: Parameter value + type: string + Parameter99.Name: + description: Parameter name + type: string + Parameter99.Value: + description: Parameter value + type: string + required: + - Url + title: CreateStreamRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.call.stream' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Streams/{Sid}.json: + servers: + - url: https://api.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - call_sid + - name + pathType: instance + parent: /Accounts/{AccountSid}/Calls.json + post: + description: Stop a Stream using either the SID of the Stream resource or the + `name` used when creating the resource + operationId: UpdateStream + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created this Stream resource. + in: path + name: AccountSid + required: true schema: - enum: - - a2p-registration-fees - - agent-conference - - amazon-polly - - answering-machine-detection - - authy-authentications - - authy-calls-outbound - - authy-monthly-fees - - authy-phone-intelligence - - authy-phone-verifications - - authy-sms-outbound - - call-progess-events - - calleridlookups - - calls - - calls-client - - calls-globalconference - - calls-inbound - - calls-inbound-local - - calls-inbound-mobile - - calls-inbound-tollfree - - calls-outbound - - calls-pay-verb-transactions - - calls-recordings - - calls-sip - - calls-sip-inbound - - calls-sip-outbound - - calls-transfers - - carrier-lookups - - conversations - - conversations-api-requests - - conversations-conversation-events - - conversations-endpoint-connectivity - - conversations-events - - conversations-participant-events - - conversations-participants - - cps - - flex-usage - - fraud-lookups - - group-rooms - - group-rooms-data-track - - group-rooms-encrypted-media-recorded - - group-rooms-media-downloaded - - group-rooms-media-recorded - - group-rooms-media-routed - - group-rooms-media-stored - - group-rooms-participant-minutes - - group-rooms-recorded-minutes - - imp-v1-usage - - lookups - - marketplace - - marketplace-algorithmia-named-entity-recognition - - marketplace-cadence-transcription - - marketplace-cadence-translation - - marketplace-capio-speech-to-text - - marketplace-convriza-ababa - - marketplace-deepgram-phrase-detector - - marketplace-digital-segment-business-info - - marketplace-facebook-offline-conversions - - marketplace-google-speech-to-text - - marketplace-ibm-watson-message-insights - - marketplace-ibm-watson-message-sentiment - - marketplace-ibm-watson-recording-analysis - - marketplace-ibm-watson-tone-analyzer - - marketplace-icehook-systems-scout - - marketplace-infogroup-dataaxle-bizinfo - - marketplace-keen-io-contact-center-analytics - - marketplace-marchex-cleancall - - marketplace-marchex-sentiment-analysis-for-sms - - marketplace-marketplace-nextcaller-social-id - - marketplace-mobile-commons-opt-out-classifier - - marketplace-nexiwave-voicemail-to-text - - marketplace-nextcaller-advanced-caller-identification - - marketplace-nomorobo-spam-score - - marketplace-payfone-tcpa-compliance - - marketplace-remeeting-automatic-speech-recognition - - marketplace-tcpa-defense-solutions-blacklist-feed - - marketplace-telo-opencnam - - marketplace-truecnam-true-spam - - marketplace-twilio-caller-name-lookup-us - - marketplace-twilio-carrier-information-lookup - - marketplace-voicebase-pci - - marketplace-voicebase-transcription - - marketplace-voicebase-transcription-custom-vocabulary - - marketplace-whitepages-pro-caller-identification - - marketplace-whitepages-pro-phone-intelligence - - marketplace-whitepages-pro-phone-reputation - - marketplace-wolfarm-spoken-results - - marketplace-wolfram-short-answer - - marketplace-ytica-contact-center-reporting-analytics - - mediastorage - - mms - - mms-inbound - - mms-inbound-longcode - - mms-inbound-shortcode - - mms-messages-carrierfees - - mms-outbound - - mms-outbound-longcode - - mms-outbound-shortcode - - monitor-reads - - monitor-storage - - monitor-writes - - notify - - notify-actions-attempts - - notify-channels - - number-format-lookups - - pchat - - pchat-users - - peer-to-peer-rooms-participant-minutes - - pfax - - pfax-minutes - - pfax-minutes-inbound - - pfax-minutes-outbound - - pfax-pages - - phonenumbers - - phonenumbers-cps - - phonenumbers-emergency - - phonenumbers-local - - phonenumbers-mobile - - phonenumbers-setups - - phonenumbers-tollfree - - premiumsupport - - proxy - - proxy-active-sessions - - pstnconnectivity - - pv - - pv-composition-media-downloaded - - pv-composition-media-encrypted - - pv-composition-media-stored - - pv-composition-minutes - - pv-recording-compositions - - pv-room-participants - - pv-room-participants-au1 - - pv-room-participants-br1 - - pv-room-participants-ie1 - - pv-room-participants-jp1 - - pv-room-participants-sg1 - - pv-room-participants-us1 - - pv-room-participants-us2 - - pv-rooms - - pv-sip-endpoint-registrations - - recordings - - recordingstorage - - rooms-group-bandwidth - - rooms-group-minutes - - rooms-peer-to-peer-minutes - - shortcodes - - shortcodes-customerowned - - shortcodes-mms-enablement - - shortcodes-mps - - shortcodes-random - - shortcodes-uk - - shortcodes-vanity - - small-group-rooms - - small-group-rooms-data-track - - small-group-rooms-participant-minutes - - sms - - sms-inbound - - sms-inbound-longcode - - sms-inbound-shortcode - - sms-messages-carrierfees - - sms-messages-features - - sms-messages-features-senderid - - sms-outbound - - sms-outbound-content-inspection - - sms-outbound-longcode - - sms-outbound-shortcode - - speech-recognition - - studio-engagements - - sync - - sync-actions - - sync-endpoint-hours - - sync-endpoint-hours-above-daily-cap - - taskrouter-tasks - - totalprice - - transcriptions - - trunking-cps - - trunking-emergency-calls - - trunking-origination - - trunking-origination-local - - trunking-origination-mobile - - trunking-origination-tollfree - - trunking-recordings - - trunking-secure - - trunking-termination - - turnmegabytes - - turnmegabytes-australia - - turnmegabytes-brasil - - turnmegabytes-germany - - turnmegabytes-india - - turnmegabytes-ireland - - turnmegabytes-japan - - turnmegabytes-singapore - - turnmegabytes-useast - - turnmegabytes-uswest - - twilio-interconnect - - verify-push - - verify-totp - - verify-whatsapp-conversations-business-initiated - - video-recordings - - voice-insights - - voice-insights-client-insights-on-demand-minute - - voice-insights-ptsn-insights-on-demand-minute - - voice-insights-sip-interface-insights-on-demand-minute - - voice-insights-sip-trunking-insights-on-demand-minute - - wireless - - wireless-orders - - wireless-orders-artwork - - wireless-orders-bulk - - wireless-orders-esim - - wireless-orders-starter - - wireless-usage - - wireless-usage-commands - - wireless-usage-commands-africa - - wireless-usage-commands-asia - - wireless-usage-commands-centralandsouthamerica - - wireless-usage-commands-europe - - wireless-usage-commands-home - - wireless-usage-commands-northamerica - - wireless-usage-commands-oceania - - wireless-usage-commands-roaming - - wireless-usage-data - - wireless-usage-data-africa - - wireless-usage-data-asia - - wireless-usage-data-centralandsouthamerica - - wireless-usage-data-custom-additionalmb - - wireless-usage-data-custom-first5mb - - wireless-usage-data-domestic-roaming - - wireless-usage-data-europe - - wireless-usage-data-individual-additionalgb - - wireless-usage-data-individual-firstgb - - wireless-usage-data-international-roaming-canada - - wireless-usage-data-international-roaming-india - - wireless-usage-data-international-roaming-mexico - - wireless-usage-data-northamerica - - wireless-usage-data-oceania - - wireless-usage-data-pooled - - wireless-usage-data-pooled-downlink - - wireless-usage-data-pooled-uplink - - wireless-usage-mrc - - wireless-usage-mrc-custom - - wireless-usage-mrc-individual - - wireless-usage-mrc-pooled - - wireless-usage-mrc-suspended - - wireless-usage-sms - - wireless-usage-voice type: string - - description: 'Only include usage that has occurred on or after this date. - Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify - offsets from the current date, such as: `-30days`, which will set the start - date to be 30 days before the current date.' - in: query - name: StartDate + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The SID of the [Call](https://www.twilio.com/docs/voice/api/call-resource) + the Stream resource is associated with. + in: path + name: CallSid + required: true schema: - format: date type: string - - description: 'Only include usage that occurred on or before this date. Specify - the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets - from the current date, such as: `+30days`, which will set the end date to - 30 days from the current date.' - in: query - name: EndDate + minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ + - description: The SID of the Stream resource, or the `name` used when creating + the resource + in: path + name: Sid + required: true schema: - format: date type: string - - description: 'Whether to include usage from the master account and all its - subaccounts. Can be: `true` (the default) to include usage from the master - account and all subaccounts or `false` to retrieve usage from only the specified - account.' - in: query - name: IncludeSubaccounts + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Status: + type: string + enum: + - stopped + description: The status. Must have the value `stopped` + required: + - Status + title: UpdateStreamRequest + type: object + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.call.stream' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{AccountSid}/Tokens.json: + servers: + - url: https://api.twilio.com + description: Credentials for ICE servers + x-twilio: + defaultOutputProperties: + - username + - ice_servers + pathType: list + parent: /Accounts.json + post: + description: Create a new token for ICE servers + operationId: CreateToken + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that will create the resource. + in: path + name: AccountSid + required: true schema: - type: boolean + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Ttl: + description: The duration in seconds for which the generated credentials + are valid. The default value is 86400 (24 hours). + type: integer + title: CreateTokenRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.token' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{AccountSid}/Transcriptions/{Sid}.json: + servers: + - url: https://api.twilio.com + description: Text transcriptions of call recordings + x-twilio: + defaultOutputProperties: + - sid + - type + - status + - duration + pathType: instance + parent: /Accounts.json + get: + description: Fetch an instance of a Transcription + operationId: FetchTranscription + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the Transcription resource to fetch. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Transcription + resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^TR[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.transcription' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + delete: + description: Delete a transcription from the account used to make the request + operationId: DeleteTranscription + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the Transcription resources to delete. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Transcription + resource to delete. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^TR[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{AccountSid}/Transcriptions.json: + servers: + - url: https://api.twilio.com + description: Text transcriptions of call recordings + x-twilio: + defaultOutputProperties: + - sid + - type + - status + - duration + pathType: list + parent: /Accounts.json + get: + description: Retrieve a list of transcriptions belonging to the account used + to make the request + operationId: ListTranscription + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the Transcription resources to read. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -23492,40 +23221,50 @@ paths: content: application/json: schema: + type: object + title: ListTranscriptionResponse properties: + transcriptions: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.transcription' end: type: integer first_page_uri: - format: uri type: string - next_page_uri: format: uri + next_page_uri: type: string + format: uri page: type: integer page_size: type: integer previous_page_uri: - format: uri type: string + format: uri start: type: integer uri: - format: uri type: string - usage_records: - items: - $ref: '#/components/schemas/api.v2010.account.usage.usage_record' - type: array - title: ListUsageRecordResponse - type: object + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/Usage.json: + servers: + - url: https://api.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: [] + pathType: list + parent: /Accounts.json + /2010-04-01/Accounts/{AccountSid}/Usage/Records.json: servers: - url: https://api.twilio.com + description: Twilio account usage records x-twilio: defaultOutputProperties: - category @@ -23533,13 +23272,12 @@ paths: - end_date - count - count_unit - parent: /Accounts/{AccountSid}/Usage.json pathType: list - /2010-04-01/Accounts/{AccountSid}/Usage/Records/AllTime.json: - description: Usage records for all time + parent: /Accounts/{AccountSid}/Usage.json get: - description: '' - operationId: ListUsageRecordAllTime + description: Retrieve a list of usage-records belonging to the account used + to make the request + operationId: ListUsageRecord parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the UsageRecord resources to read. @@ -23547,16 +23285,17 @@ paths: name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - description: The [usage category](https://www.twilio.com/docs/usage/api/usage-record#usage-categories) of the UsageRecord resources to read. Only UsageRecord resources in the specified category are retrieved. in: query name: Category schema: + type: string enum: - a2p-registration-fees - agent-conference @@ -23802,7 +23541,6 @@ paths: - wireless-usage-mrc-suspended - wireless-usage-sms - wireless-usage-voice - type: string - description: 'Only include usage that has occurred on or after this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `-30days`, which will set the start @@ -23842,40 +23580,42 @@ paths: content: application/json: schema: + type: object + title: ListUsageRecordResponse properties: + usage_records: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.usage.usage_record' end: type: integer first_page_uri: - format: uri type: string - next_page_uri: format: uri + next_page_uri: type: string + format: uri page: type: integer page_size: type: integer previous_page_uri: - format: uri type: string + format: uri start: type: integer uri: - format: uri type: string - usage_records: - items: - $ref: '#/components/schemas/api.v2010.account.usage.usage_record.usage_record_all_time' - type: array - title: ListUsageRecordAllTimeResponse - type: object + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/Usage/Records/AllTime.json: servers: - url: https://api.twilio.com + description: Usage records for all time x-twilio: defaultOutputProperties: - category @@ -23883,13 +23623,11 @@ paths: - end_date - count - count_unit - parent: /Accounts/{AccountSid}/Usage/Records.json pathType: list - /2010-04-01/Accounts/{AccountSid}/Usage/Records/Daily.json: - description: Usage records summarized by day + parent: /Accounts/{AccountSid}/Usage/Records.json get: description: '' - operationId: ListUsageRecordDaily + operationId: ListUsageRecordAllTime parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the UsageRecord resources to read. @@ -23897,16 +23635,17 @@ paths: name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - description: The [usage category](https://www.twilio.com/docs/usage/api/usage-record#usage-categories) of the UsageRecord resources to read. Only UsageRecord resources in the specified category are retrieved. in: query name: Category schema: + type: string enum: - a2p-registration-fees - agent-conference @@ -24152,7 +23891,6 @@ paths: - wireless-usage-mrc-suspended - wireless-usage-sms - wireless-usage-voice - type: string - description: 'Only include usage that has occurred on or after this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `-30days`, which will set the start @@ -24192,40 +23930,42 @@ paths: content: application/json: schema: + type: object + title: ListUsageRecordAllTimeResponse properties: + usage_records: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.usage.usage_record.usage_record_all_time' end: type: integer first_page_uri: - format: uri type: string - next_page_uri: format: uri + next_page_uri: type: string + format: uri page: type: integer page_size: type: integer previous_page_uri: - format: uri type: string + format: uri start: type: integer uri: - format: uri type: string - usage_records: - items: - $ref: '#/components/schemas/api.v2010.account.usage.usage_record.usage_record_daily' - type: array - title: ListUsageRecordDailyResponse - type: object + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/Usage/Records/Daily.json: servers: - url: https://api.twilio.com + description: Usage records summarized by day x-twilio: defaultOutputProperties: - category @@ -24233,13 +23973,11 @@ paths: - end_date - count - count_unit - parent: /Accounts/{AccountSid}/Usage/Records.json pathType: list - /2010-04-01/Accounts/{AccountSid}/Usage/Records/LastMonth.json: - description: Usage records for last month + parent: /Accounts/{AccountSid}/Usage/Records.json get: description: '' - operationId: ListUsageRecordLastMonth + operationId: ListUsageRecordDaily parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the UsageRecord resources to read. @@ -24247,16 +23985,17 @@ paths: name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - description: The [usage category](https://www.twilio.com/docs/usage/api/usage-record#usage-categories) of the UsageRecord resources to read. Only UsageRecord resources in the specified category are retrieved. in: query name: Category schema: + type: string enum: - a2p-registration-fees - agent-conference @@ -24502,7 +24241,6 @@ paths: - wireless-usage-mrc-suspended - wireless-usage-sms - wireless-usage-voice - type: string - description: 'Only include usage that has occurred on or after this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `-30days`, which will set the start @@ -24542,40 +24280,42 @@ paths: content: application/json: schema: + type: object + title: ListUsageRecordDailyResponse properties: + usage_records: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.usage.usage_record.usage_record_daily' end: type: integer first_page_uri: - format: uri type: string - next_page_uri: format: uri + next_page_uri: type: string + format: uri page: type: integer page_size: type: integer previous_page_uri: - format: uri type: string + format: uri start: type: integer uri: - format: uri type: string - usage_records: - items: - $ref: '#/components/schemas/api.v2010.account.usage.usage_record.usage_record_last_month' - type: array - title: ListUsageRecordLastMonthResponse - type: object + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/Usage/Records/LastMonth.json: servers: - url: https://api.twilio.com + description: Usage records for last month x-twilio: defaultOutputProperties: - category @@ -24583,13 +24323,11 @@ paths: - end_date - count - count_unit - parent: /Accounts/{AccountSid}/Usage/Records.json pathType: list - /2010-04-01/Accounts/{AccountSid}/Usage/Records/Monthly.json: - description: Usage records summarized by month + parent: /Accounts/{AccountSid}/Usage/Records.json get: description: '' - operationId: ListUsageRecordMonthly + operationId: ListUsageRecordLastMonth parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the UsageRecord resources to read. @@ -24597,16 +24335,17 @@ paths: name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - description: The [usage category](https://www.twilio.com/docs/usage/api/usage-record#usage-categories) of the UsageRecord resources to read. Only UsageRecord resources in the specified category are retrieved. in: query name: Category schema: + type: string enum: - a2p-registration-fees - agent-conference @@ -24852,7 +24591,6 @@ paths: - wireless-usage-mrc-suspended - wireless-usage-sms - wireless-usage-voice - type: string - description: 'Only include usage that has occurred on or after this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `-30days`, which will set the start @@ -24892,40 +24630,42 @@ paths: content: application/json: schema: + type: object + title: ListUsageRecordLastMonthResponse properties: + usage_records: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.usage.usage_record.usage_record_last_month' end: type: integer first_page_uri: - format: uri type: string - next_page_uri: format: uri + next_page_uri: type: string + format: uri page: type: integer page_size: type: integer previous_page_uri: - format: uri type: string + format: uri start: type: integer uri: - format: uri type: string - usage_records: - items: - $ref: '#/components/schemas/api.v2010.account.usage.usage_record.usage_record_monthly' - type: array - title: ListUsageRecordMonthlyResponse - type: object + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/Usage/Records/Monthly.json: servers: - url: https://api.twilio.com + description: Usage records summarized by month x-twilio: defaultOutputProperties: - category @@ -24933,13 +24673,11 @@ paths: - end_date - count - count_unit - parent: /Accounts/{AccountSid}/Usage/Records.json pathType: list - /2010-04-01/Accounts/{AccountSid}/Usage/Records/ThisMonth.json: - description: Usage records for this month + parent: /Accounts/{AccountSid}/Usage/Records.json get: description: '' - operationId: ListUsageRecordThisMonth + operationId: ListUsageRecordMonthly parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the UsageRecord resources to read. @@ -24947,16 +24685,17 @@ paths: name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - description: The [usage category](https://www.twilio.com/docs/usage/api/usage-record#usage-categories) of the UsageRecord resources to read. Only UsageRecord resources in the specified category are retrieved. in: query name: Category schema: + type: string enum: - a2p-registration-fees - agent-conference @@ -25202,7 +24941,6 @@ paths: - wireless-usage-mrc-suspended - wireless-usage-sms - wireless-usage-voice - type: string - description: 'Only include usage that has occurred on or after this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `-30days`, which will set the start @@ -25242,40 +24980,42 @@ paths: content: application/json: schema: + type: object + title: ListUsageRecordMonthlyResponse properties: + usage_records: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.usage.usage_record.usage_record_monthly' end: type: integer first_page_uri: - format: uri type: string - next_page_uri: format: uri + next_page_uri: type: string + format: uri page: type: integer page_size: type: integer previous_page_uri: - format: uri type: string + format: uri start: type: integer uri: - format: uri type: string - usage_records: - items: - $ref: '#/components/schemas/api.v2010.account.usage.usage_record.usage_record_this_month' - type: array - title: ListUsageRecordThisMonthResponse - type: object + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/Usage/Records/ThisMonth.json: servers: - url: https://api.twilio.com + description: Usage records for this month x-twilio: defaultOutputProperties: - category @@ -25283,13 +25023,11 @@ paths: - end_date - count - count_unit - parent: /Accounts/{AccountSid}/Usage/Records.json pathType: list - /2010-04-01/Accounts/{AccountSid}/Usage/Records/Today.json: - description: Usage records for today + parent: /Accounts/{AccountSid}/Usage/Records.json get: description: '' - operationId: ListUsageRecordToday + operationId: ListUsageRecordThisMonth parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the UsageRecord resources to read. @@ -25297,16 +25035,17 @@ paths: name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - description: The [usage category](https://www.twilio.com/docs/usage/api/usage-record#usage-categories) of the UsageRecord resources to read. Only UsageRecord resources in the specified category are retrieved. in: query name: Category schema: + type: string enum: - a2p-registration-fees - agent-conference @@ -25552,7 +25291,6 @@ paths: - wireless-usage-mrc-suspended - wireless-usage-sms - wireless-usage-voice - type: string - description: 'Only include usage that has occurred on or after this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `-30days`, which will set the start @@ -25592,40 +25330,42 @@ paths: content: application/json: schema: + type: object + title: ListUsageRecordThisMonthResponse properties: + usage_records: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.usage.usage_record.usage_record_this_month' end: type: integer first_page_uri: - format: uri type: string - next_page_uri: format: uri + next_page_uri: type: string + format: uri page: type: integer page_size: type: integer previous_page_uri: - format: uri type: string + format: uri start: type: integer uri: - format: uri type: string - usage_records: - items: - $ref: '#/components/schemas/api.v2010.account.usage.usage_record.usage_record_today' - type: array - title: ListUsageRecordTodayResponse - type: object + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/Usage/Records/Today.json: servers: - url: https://api.twilio.com + description: Usage records for today x-twilio: defaultOutputProperties: - category @@ -25633,13 +25373,11 @@ paths: - end_date - count - count_unit - parent: /Accounts/{AccountSid}/Usage/Records.json pathType: list - /2010-04-01/Accounts/{AccountSid}/Usage/Records/Yearly.json: - description: Usage records summarized by year + parent: /Accounts/{AccountSid}/Usage/Records.json get: description: '' - operationId: ListUsageRecordYearly + operationId: ListUsageRecordToday parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the UsageRecord resources to read. @@ -25647,16 +25385,17 @@ paths: name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - description: The [usage category](https://www.twilio.com/docs/usage/api/usage-record#usage-categories) of the UsageRecord resources to read. Only UsageRecord resources in the specified category are retrieved. in: query name: Category schema: + type: string enum: - a2p-registration-fees - agent-conference @@ -25902,7 +25641,6 @@ paths: - wireless-usage-mrc-suspended - wireless-usage-sms - wireless-usage-voice - type: string - description: 'Only include usage that has occurred on or after this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `-30days`, which will set the start @@ -25942,40 +25680,42 @@ paths: content: application/json: schema: + type: object + title: ListUsageRecordTodayResponse properties: + usage_records: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.usage.usage_record.usage_record_today' end: type: integer first_page_uri: - format: uri type: string - next_page_uri: format: uri + next_page_uri: type: string + format: uri page: type: integer page_size: type: integer previous_page_uri: - format: uri type: string + format: uri start: type: integer uri: - format: uri type: string - usage_records: - items: - $ref: '#/components/schemas/api.v2010.account.usage.usage_record.usage_record_yearly' - type: array - title: ListUsageRecordYearlyResponse - type: object + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/Usage/Records/Yearly.json: servers: - url: https://api.twilio.com + description: Usage records summarized by year x-twilio: defaultOutputProperties: - category @@ -25983,13 +25723,11 @@ paths: - end_date - count - count_unit - parent: /Accounts/{AccountSid}/Usage/Records.json pathType: list - /2010-04-01/Accounts/{AccountSid}/Usage/Records/Yesterday.json: - description: Usage records for yesterday + parent: /Accounts/{AccountSid}/Usage/Records.json get: description: '' - operationId: ListUsageRecordYesterday + operationId: ListUsageRecordYearly parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the UsageRecord resources to read. @@ -25997,16 +25735,17 @@ paths: name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - description: The [usage category](https://www.twilio.com/docs/usage/api/usage-record#usage-categories) of the UsageRecord resources to read. Only UsageRecord resources in the specified category are retrieved. in: query name: Category schema: + type: string enum: - a2p-registration-fees - agent-conference @@ -26252,7 +25991,6 @@ paths: - wireless-usage-mrc-suspended - wireless-usage-sms - wireless-usage-voice - type: string - description: 'Only include usage that has occurred on or after this date. Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets from the current date, such as: `-30days`, which will set the start @@ -26292,40 +26030,42 @@ paths: content: application/json: schema: + type: object + title: ListUsageRecordYearlyResponse properties: + usage_records: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.usage.usage_record.usage_record_yearly' end: type: integer first_page_uri: - format: uri type: string - next_page_uri: format: uri + next_page_uri: type: string + format: uri page: type: integer page_size: type: integer previous_page_uri: - format: uri type: string + format: uri start: type: integer uri: - format: uri type: string - usage_records: - items: - $ref: '#/components/schemas/api.v2010.account.usage.usage_record.usage_record_yesterday' - type: array - title: ListUsageRecordYesterdayResponse - type: object + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - GA + /2010-04-01/Accounts/{AccountSid}/Usage/Records/Yesterday.json: servers: - url: https://api.twilio.com + description: Usage records for yesterday x-twilio: defaultOutputProperties: - category @@ -26333,52 +26073,29 @@ paths: - end_date - count - count_unit - parent: /Accounts/{AccountSid}/Usage/Records.json pathType: list - /2010-04-01/Accounts/{AccountSid}/Usage/Triggers.json: - description: Webhooks that notify you of usage thresholds + parent: /Accounts/{AccountSid}/Usage/Records.json get: - description: Retrieve a list of usage-triggers belonging to the account used - to make the request - operationId: ListUsageTrigger + description: '' + operationId: ListUsageRecordYesterday parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the UsageTrigger resources to read. + that created the UsageRecord resources to read. in: path name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: 'The frequency of recurring UsageTriggers to read. Can be: `daily`, - `monthly`, or `yearly` to read recurring UsageTriggers. An empty value or - a value of `alltime` reads non-recurring UsageTriggers.' - in: query - name: Recurring - schema: - enum: - - daily - - monthly - - yearly - - alltime - type: string - - description: 'The trigger field of the UsageTriggers to read. Can be: `count`, - `usage`, or `price` as described in the [UsageRecords documentation](https://www.twilio.com/docs/usage/api/usage-record#usage-count-price).' + - description: The [usage category](https://www.twilio.com/docs/usage/api/usage-record#usage-categories) + of the UsageRecord resources to read. Only UsageRecord resources in the + specified category are retrieved. in: query - name: TriggerBy + name: Category schema: - enum: - - count - - usage - - price type: string - - description: The usage category of the UsageTriggers to read. Must be a supported - [usage categories](https://www.twilio.com/docs/usage/api/usage-record#usage-categories). - in: query - name: UsageCategory - schema: enum: - a2p-registration-fees - agent-conference @@ -26624,7 +26341,32 @@ paths: - wireless-usage-mrc-suspended - wireless-usage-sms - wireless-usage-voice + - description: 'Only include usage that has occurred on or after this date. + Specify the date in GMT and format as `YYYY-MM-DD`. You can also specify + offsets from the current date, such as: `-30days`, which will set the start + date to be 30 days before the current date.' + in: query + name: StartDate + schema: + format: date + type: string + - description: 'Only include usage that occurred on or before this date. Specify + the date in GMT and format as `YYYY-MM-DD`. You can also specify offsets + from the current date, such as: `+30days`, which will set the end date to + 30 days from the current date.' + in: query + name: EndDate + schema: + format: date type: string + - description: 'Whether to include usage from the master account and all its + subaccounts. Can be: `true` (the default) to include usage from the master + account and all subaccounts or `false` to retrieve usage from only the specified + account.' + in: query + name: IncludeSubaccounts + schema: + type: boolean - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -26638,52 +26380,109 @@ paths: content: application/json: schema: + type: object + title: ListUsageRecordYesterdayResponse properties: + usage_records: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.usage.usage_record.usage_record_yesterday' end: type: integer first_page_uri: - format: uri type: string - next_page_uri: format: uri + next_page_uri: type: string + format: uri page: type: integer page_size: type: integer previous_page_uri: - format: uri type: string + format: uri start: type: integer uri: - format: uri type: string - usage_triggers: - items: - $ref: '#/components/schemas/api.v2010.account.usage.usage_trigger' - type: array - title: ListUsageTriggerResponse - type: object + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: Create a new UsageTrigger - operationId: CreateUsageTrigger + /2010-04-01/Accounts/{AccountSid}/Usage/Triggers/{Sid}.json: + servers: + - url: https://api.twilio.com + description: Webhooks that notify you of usage thresholds + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - usage_category + - trigger_by + pathType: instance + parent: /Accounts/{AccountSid}/Usage.json + get: + description: Fetch and instance of a usage-trigger + operationId: FetchUsageTrigger parameters: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that will create the resource. + that created the UsageTrigger resource to fetch. in: path name: AccountSid required: true schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the UsageTrigger + resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 maxLength: 34 + pattern: ^UT[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.usage.usage_trigger' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + post: + description: Update an instance of a usage trigger + operationId: UpdateUsageTrigger + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the UsageTrigger resources to update. + in: path + name: AccountSid + required: true + schema: + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the UsageTrigger + resource to update. + in: path + name: Sid + required: true + schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^UT[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: @@ -26706,31 +26505,90 @@ paths: the trigger fires. format: uri type: string - FriendlyName: - description: A descriptive string that you create to describe the - resource. It can be up to 64 characters long. - type: string - Recurring: - description: 'The frequency of a recurring UsageTrigger. Can be: - `daily`, `monthly`, or `yearly` for recurring triggers or empty - for non-recurring triggers. A trigger will only fire once during - each period. Recurring times are in GMT.' - enum: - - daily - - monthly - - yearly - - alltime - type: string - TriggerBy: - description: 'The field in the [UsageRecord](https://www.twilio.com/docs/usage/api/usage-record) - resource that should fire the trigger. Can be: `count`, `usage`, - or `price` as described in the [UsageRecords documentation](https://www.twilio.com/docs/usage/api/usage-record#usage-count-price). The - default is `usage`.' - enum: - - count - - usage - - price - type: string + FriendlyName: + description: A descriptive string that you create to describe the + resource. It can be up to 64 characters long. + type: string + title: UpdateUsageTriggerRequest + type: object + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/api.v2010.account.usage.usage_trigger' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + delete: + description: '' + operationId: DeleteUsageTrigger + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the UsageTrigger resources to delete. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the UsageTrigger + resource to delete. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^UT[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + /2010-04-01/Accounts/{AccountSid}/Usage/Triggers.json: + servers: + - url: https://api.twilio.com + description: Webhooks that notify you of usage thresholds + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - usage_category + - trigger_by + pathType: list + parent: /Accounts/{AccountSid}/Usage.json + post: + description: Create a new UsageTrigger + operationId: CreateUsageTrigger + parameters: + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that will create the resource. + in: path + name: AccountSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + CallbackUrl: + description: The URL we should call using `callback_method` when + the trigger fires. + format: uri + type: string TriggerValue: description: The usage value at which the trigger should fire. For convenience, you can use an offset value such as `+30` to specify @@ -26738,9 +26596,7 @@ paths: Be sure to urlencode a `+` as `%2B`. type: string UsageCategory: - description: The usage category that the trigger should watch. Use - one of the supported [usage categories](https://www.twilio.com/docs/usage/api/usage-record#usage-categories) - for this value. + type: string enum: - a2p-registration-fees - agent-conference @@ -26895,222 +26751,100 @@ paths: - shortcodes-vanity - small-group-rooms - small-group-rooms-data-track - - small-group-rooms-participant-minutes - - sms - - sms-inbound - - sms-inbound-longcode - - sms-inbound-shortcode - - sms-messages-carrierfees - - sms-messages-features - - sms-messages-features-senderid - - sms-outbound - - sms-outbound-content-inspection - - sms-outbound-longcode - - sms-outbound-shortcode - - speech-recognition - - studio-engagements - - sync - - sync-actions - - sync-endpoint-hours - - sync-endpoint-hours-above-daily-cap - - taskrouter-tasks - - totalprice - - transcriptions - - trunking-cps - - trunking-emergency-calls - - trunking-origination - - trunking-origination-local - - trunking-origination-mobile - - trunking-origination-tollfree - - trunking-recordings - - trunking-secure - - trunking-termination - - turnmegabytes - - turnmegabytes-australia - - turnmegabytes-brasil - - turnmegabytes-germany - - turnmegabytes-india - - turnmegabytes-ireland - - turnmegabytes-japan - - turnmegabytes-singapore - - turnmegabytes-useast - - turnmegabytes-uswest - - twilio-interconnect - - verify-push - - verify-totp - - verify-whatsapp-conversations-business-initiated - - video-recordings - - voice-insights - - voice-insights-client-insights-on-demand-minute - - voice-insights-ptsn-insights-on-demand-minute - - voice-insights-sip-interface-insights-on-demand-minute - - voice-insights-sip-trunking-insights-on-demand-minute - - wireless - - wireless-orders - - wireless-orders-artwork - - wireless-orders-bulk - - wireless-orders-esim - - wireless-orders-starter - - wireless-usage - - wireless-usage-commands - - wireless-usage-commands-africa - - wireless-usage-commands-asia - - wireless-usage-commands-centralandsouthamerica - - wireless-usage-commands-europe - - wireless-usage-commands-home - - wireless-usage-commands-northamerica - - wireless-usage-commands-oceania - - wireless-usage-commands-roaming - - wireless-usage-data - - wireless-usage-data-africa - - wireless-usage-data-asia - - wireless-usage-data-centralandsouthamerica - - wireless-usage-data-custom-additionalmb - - wireless-usage-data-custom-first5mb - - wireless-usage-data-domestic-roaming - - wireless-usage-data-europe - - wireless-usage-data-individual-additionalgb - - wireless-usage-data-individual-firstgb - - wireless-usage-data-international-roaming-canada - - wireless-usage-data-international-roaming-india - - wireless-usage-data-international-roaming-mexico - - wireless-usage-data-northamerica - - wireless-usage-data-oceania - - wireless-usage-data-pooled - - wireless-usage-data-pooled-downlink - - wireless-usage-data-pooled-uplink - - wireless-usage-mrc - - wireless-usage-mrc-custom - - wireless-usage-mrc-individual - - wireless-usage-mrc-pooled - - wireless-usage-mrc-suspended - - wireless-usage-sms - - wireless-usage-voice - type: string - required: - - CallbackUrl - - TriggerValue - - UsageCategory - title: CreateUsageTriggerRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.usage.usage_trigger' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - usage_category - - trigger_by - parent: /Accounts/{AccountSid}/Usage.json - pathType: list - /2010-04-01/Accounts/{AccountSid}/Usage/Triggers/{Sid}.json: - delete: - description: '' - operationId: DeleteUsageTrigger - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the UsageTrigger resources to delete. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the UsageTrigger - resource to delete. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^UT[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: Webhooks that notify you of usage thresholds - get: - description: Fetch and instance of a usage-trigger - operationId: FetchUsageTrigger - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the UsageTrigger resource to fetch. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the UsageTrigger - resource to fetch. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^UT[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account.usage.usage_trigger' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: Update an instance of a usage trigger - operationId: UpdateUsageTrigger - parameters: - - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - that created the UsageTrigger resources to update. - in: path - name: AccountSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the UsageTrigger - resource to update. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^UT[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: + - small-group-rooms-participant-minutes + - sms + - sms-inbound + - sms-inbound-longcode + - sms-inbound-shortcode + - sms-messages-carrierfees + - sms-messages-features + - sms-messages-features-senderid + - sms-outbound + - sms-outbound-content-inspection + - sms-outbound-longcode + - sms-outbound-shortcode + - speech-recognition + - studio-engagements + - sync + - sync-actions + - sync-endpoint-hours + - sync-endpoint-hours-above-daily-cap + - taskrouter-tasks + - totalprice + - transcriptions + - trunking-cps + - trunking-emergency-calls + - trunking-origination + - trunking-origination-local + - trunking-origination-mobile + - trunking-origination-tollfree + - trunking-recordings + - trunking-secure + - trunking-termination + - turnmegabytes + - turnmegabytes-australia + - turnmegabytes-brasil + - turnmegabytes-germany + - turnmegabytes-india + - turnmegabytes-ireland + - turnmegabytes-japan + - turnmegabytes-singapore + - turnmegabytes-useast + - turnmegabytes-uswest + - twilio-interconnect + - verify-push + - verify-totp + - verify-whatsapp-conversations-business-initiated + - video-recordings + - voice-insights + - voice-insights-client-insights-on-demand-minute + - voice-insights-ptsn-insights-on-demand-minute + - voice-insights-sip-interface-insights-on-demand-minute + - voice-insights-sip-trunking-insights-on-demand-minute + - wireless + - wireless-orders + - wireless-orders-artwork + - wireless-orders-bulk + - wireless-orders-esim + - wireless-orders-starter + - wireless-usage + - wireless-usage-commands + - wireless-usage-commands-africa + - wireless-usage-commands-asia + - wireless-usage-commands-centralandsouthamerica + - wireless-usage-commands-europe + - wireless-usage-commands-home + - wireless-usage-commands-northamerica + - wireless-usage-commands-oceania + - wireless-usage-commands-roaming + - wireless-usage-data + - wireless-usage-data-africa + - wireless-usage-data-asia + - wireless-usage-data-centralandsouthamerica + - wireless-usage-data-custom-additionalmb + - wireless-usage-data-custom-first5mb + - wireless-usage-data-domestic-roaming + - wireless-usage-data-europe + - wireless-usage-data-individual-additionalgb + - wireless-usage-data-individual-firstgb + - wireless-usage-data-international-roaming-canada + - wireless-usage-data-international-roaming-india + - wireless-usage-data-international-roaming-mexico + - wireless-usage-data-northamerica + - wireless-usage-data-oceania + - wireless-usage-data-pooled + - wireless-usage-data-pooled-downlink + - wireless-usage-data-pooled-uplink + - wireless-usage-mrc + - wireless-usage-mrc-custom + - wireless-usage-mrc-individual + - wireless-usage-mrc-pooled + - wireless-usage-mrc-suspended + - wireless-usage-sms + - wireless-usage-voice + description: The usage category that the trigger should watch. Use + one of the supported [usage categories](https://www.twilio.com/docs/usage/api/usage-record#usage-categories) + for this value. CallbackMethod: description: 'The HTTP method we should use to call `callback_url`. Can be: `GET` or `POST` and the default is `POST`.' @@ -27123,124 +26857,390 @@ paths: - DELETE format: http-method type: string - CallbackUrl: - description: The URL we should call using `callback_method` when - the trigger fires. - format: uri - type: string FriendlyName: description: A descriptive string that you create to describe the resource. It can be up to 64 characters long. type: string - title: UpdateUsageTriggerRequest + Recurring: + type: string + enum: + - daily + - monthly + - yearly + - alltime + description: 'The frequency of a recurring UsageTrigger. Can be: + `daily`, `monthly`, or `yearly` for recurring triggers or empty + for non-recurring triggers. A trigger will only fire once during + each period. Recurring times are in GMT.' + TriggerBy: + type: string + enum: + - count + - usage + - price + description: 'The field in the [UsageRecord](https://www.twilio.com/docs/usage/api/usage-record) + resource that should fire the trigger. Can be: `count`, `usage`, + or `price` as described in the [UsageRecords documentation](https://www.twilio.com/docs/usage/api/usage-record#usage-count-price). The + default is `usage`.' + required: + - CallbackUrl + - TriggerValue + - UsageCategory + title: CreateUsageTriggerRequest type: object responses: - '200': + '201': content: application/json: schema: $ref: '#/components/schemas/api.v2010.account.usage.usage_trigger' - description: OK + description: Created security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - usage_category - - trigger_by - parent: /Accounts/{AccountSid}/Usage.json - pathType: instance - /2010-04-01/Accounts/{Sid}.json: - description: Twilio accounts (aka Project) or subaccounts get: - description: Fetch the account specified by the provided Account Sid - operationId: FetchAccount + description: Retrieve a list of usage-triggers belonging to the account used + to make the request + operationId: ListUsageTrigger parameters: - - description: The Account Sid that uniquely identifies the account to fetch + - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the UsageTrigger resources to read. in: path - name: Sid + name: AccountSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ + - description: 'The frequency of recurring UsageTriggers to read. Can be: `daily`, + `monthly`, or `yearly` to read recurring UsageTriggers. An empty value or + a value of `alltime` reads non-recurring UsageTriggers.' + in: query + name: Recurring + schema: type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/api.v2010.account' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: Modify the properties of a given Account - operationId: UpdateAccount - parameters: - - description: The Account Sid that uniquely identifies the account to update - in: path - name: Sid - required: true + enum: + - daily + - monthly + - yearly + - alltime + - description: 'The trigger field of the UsageTriggers to read. Can be: `count`, + `usage`, or `price` as described in the [UsageRecords documentation](https://www.twilio.com/docs/usage/api/usage-record#usage-count-price).' + in: query + name: TriggerBy + schema: + type: string + enum: + - count + - usage + - price + - description: The usage category of the UsageTriggers to read. Must be a supported + [usage categories](https://www.twilio.com/docs/usage/api/usage-record#usage-categories). + in: query + name: UsageCategory + schema: + type: string + enum: + - a2p-registration-fees + - agent-conference + - amazon-polly + - answering-machine-detection + - authy-authentications + - authy-calls-outbound + - authy-monthly-fees + - authy-phone-intelligence + - authy-phone-verifications + - authy-sms-outbound + - call-progess-events + - calleridlookups + - calls + - calls-client + - calls-globalconference + - calls-inbound + - calls-inbound-local + - calls-inbound-mobile + - calls-inbound-tollfree + - calls-outbound + - calls-pay-verb-transactions + - calls-recordings + - calls-sip + - calls-sip-inbound + - calls-sip-outbound + - calls-transfers + - carrier-lookups + - conversations + - conversations-api-requests + - conversations-conversation-events + - conversations-endpoint-connectivity + - conversations-events + - conversations-participant-events + - conversations-participants + - cps + - flex-usage + - fraud-lookups + - group-rooms + - group-rooms-data-track + - group-rooms-encrypted-media-recorded + - group-rooms-media-downloaded + - group-rooms-media-recorded + - group-rooms-media-routed + - group-rooms-media-stored + - group-rooms-participant-minutes + - group-rooms-recorded-minutes + - imp-v1-usage + - lookups + - marketplace + - marketplace-algorithmia-named-entity-recognition + - marketplace-cadence-transcription + - marketplace-cadence-translation + - marketplace-capio-speech-to-text + - marketplace-convriza-ababa + - marketplace-deepgram-phrase-detector + - marketplace-digital-segment-business-info + - marketplace-facebook-offline-conversions + - marketplace-google-speech-to-text + - marketplace-ibm-watson-message-insights + - marketplace-ibm-watson-message-sentiment + - marketplace-ibm-watson-recording-analysis + - marketplace-ibm-watson-tone-analyzer + - marketplace-icehook-systems-scout + - marketplace-infogroup-dataaxle-bizinfo + - marketplace-keen-io-contact-center-analytics + - marketplace-marchex-cleancall + - marketplace-marchex-sentiment-analysis-for-sms + - marketplace-marketplace-nextcaller-social-id + - marketplace-mobile-commons-opt-out-classifier + - marketplace-nexiwave-voicemail-to-text + - marketplace-nextcaller-advanced-caller-identification + - marketplace-nomorobo-spam-score + - marketplace-payfone-tcpa-compliance + - marketplace-remeeting-automatic-speech-recognition + - marketplace-tcpa-defense-solutions-blacklist-feed + - marketplace-telo-opencnam + - marketplace-truecnam-true-spam + - marketplace-twilio-caller-name-lookup-us + - marketplace-twilio-carrier-information-lookup + - marketplace-voicebase-pci + - marketplace-voicebase-transcription + - marketplace-voicebase-transcription-custom-vocabulary + - marketplace-whitepages-pro-caller-identification + - marketplace-whitepages-pro-phone-intelligence + - marketplace-whitepages-pro-phone-reputation + - marketplace-wolfarm-spoken-results + - marketplace-wolfram-short-answer + - marketplace-ytica-contact-center-reporting-analytics + - mediastorage + - mms + - mms-inbound + - mms-inbound-longcode + - mms-inbound-shortcode + - mms-messages-carrierfees + - mms-outbound + - mms-outbound-longcode + - mms-outbound-shortcode + - monitor-reads + - monitor-storage + - monitor-writes + - notify + - notify-actions-attempts + - notify-channels + - number-format-lookups + - pchat + - pchat-users + - peer-to-peer-rooms-participant-minutes + - pfax + - pfax-minutes + - pfax-minutes-inbound + - pfax-minutes-outbound + - pfax-pages + - phonenumbers + - phonenumbers-cps + - phonenumbers-emergency + - phonenumbers-local + - phonenumbers-mobile + - phonenumbers-setups + - phonenumbers-tollfree + - premiumsupport + - proxy + - proxy-active-sessions + - pstnconnectivity + - pv + - pv-composition-media-downloaded + - pv-composition-media-encrypted + - pv-composition-media-stored + - pv-composition-minutes + - pv-recording-compositions + - pv-room-participants + - pv-room-participants-au1 + - pv-room-participants-br1 + - pv-room-participants-ie1 + - pv-room-participants-jp1 + - pv-room-participants-sg1 + - pv-room-participants-us1 + - pv-room-participants-us2 + - pv-rooms + - pv-sip-endpoint-registrations + - recordings + - recordingstorage + - rooms-group-bandwidth + - rooms-group-minutes + - rooms-peer-to-peer-minutes + - shortcodes + - shortcodes-customerowned + - shortcodes-mms-enablement + - shortcodes-mps + - shortcodes-random + - shortcodes-uk + - shortcodes-vanity + - small-group-rooms + - small-group-rooms-data-track + - small-group-rooms-participant-minutes + - sms + - sms-inbound + - sms-inbound-longcode + - sms-inbound-shortcode + - sms-messages-carrierfees + - sms-messages-features + - sms-messages-features-senderid + - sms-outbound + - sms-outbound-content-inspection + - sms-outbound-longcode + - sms-outbound-shortcode + - speech-recognition + - studio-engagements + - sync + - sync-actions + - sync-endpoint-hours + - sync-endpoint-hours-above-daily-cap + - taskrouter-tasks + - totalprice + - transcriptions + - trunking-cps + - trunking-emergency-calls + - trunking-origination + - trunking-origination-local + - trunking-origination-mobile + - trunking-origination-tollfree + - trunking-recordings + - trunking-secure + - trunking-termination + - turnmegabytes + - turnmegabytes-australia + - turnmegabytes-brasil + - turnmegabytes-germany + - turnmegabytes-india + - turnmegabytes-ireland + - turnmegabytes-japan + - turnmegabytes-singapore + - turnmegabytes-useast + - turnmegabytes-uswest + - twilio-interconnect + - verify-push + - verify-totp + - verify-whatsapp-conversations-business-initiated + - video-recordings + - voice-insights + - voice-insights-client-insights-on-demand-minute + - voice-insights-ptsn-insights-on-demand-minute + - voice-insights-sip-interface-insights-on-demand-minute + - voice-insights-sip-trunking-insights-on-demand-minute + - wireless + - wireless-orders + - wireless-orders-artwork + - wireless-orders-bulk + - wireless-orders-esim + - wireless-orders-starter + - wireless-usage + - wireless-usage-commands + - wireless-usage-commands-africa + - wireless-usage-commands-asia + - wireless-usage-commands-centralandsouthamerica + - wireless-usage-commands-europe + - wireless-usage-commands-home + - wireless-usage-commands-northamerica + - wireless-usage-commands-oceania + - wireless-usage-commands-roaming + - wireless-usage-data + - wireless-usage-data-africa + - wireless-usage-data-asia + - wireless-usage-data-centralandsouthamerica + - wireless-usage-data-custom-additionalmb + - wireless-usage-data-custom-first5mb + - wireless-usage-data-domestic-roaming + - wireless-usage-data-europe + - wireless-usage-data-individual-additionalgb + - wireless-usage-data-individual-firstgb + - wireless-usage-data-international-roaming-canada + - wireless-usage-data-international-roaming-india + - wireless-usage-data-international-roaming-mexico + - wireless-usage-data-northamerica + - wireless-usage-data-oceania + - wireless-usage-data-pooled + - wireless-usage-data-pooled-downlink + - wireless-usage-data-pooled-uplink + - wireless-usage-mrc + - wireless-usage-mrc-custom + - wireless-usage-mrc-individual + - wireless-usage-mrc-pooled + - wireless-usage-mrc-suspended + - wireless-usage-sms + - wireless-usage-voice + - description: How many resources to return in each list page. The default is + 50, and the maximum is 1000. + in: query + name: PageSize schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - FriendlyName: - description: Update the human-readable description of this Account - type: string - Status: - description: 'Alter the status of this account: use `closed` to - irreversibly close this account, `suspended` to temporarily suspend - it, or `active` to reactivate it.' - enum: - - active - - suspended - - closed - type: string - title: UpdateAccountRequest - type: object + maximum: 1000 + minimum: 1 + type: integer responses: '200': content: application/json: schema: - $ref: '#/components/schemas/api.v2010.account' + type: object + title: ListUsageTriggerResponse + properties: + usage_triggers: + type: array + items: + $ref: '#/components/schemas/api.v2010.account.usage.usage_trigger' + end: + type: integer + first_page_uri: + type: string + format: uri + next_page_uri: + type: string + format: uri + page: + type: integer + page_size: + type: integer + previous_page_uri: + type: string + format: uri + start: + type: integer + uri: + type: string + format: uri description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - status - pathType: instance servers: - url: https://api.twilio.com x-maturity: -- description: This product is Generally Available. - name: GA -- description: PLEASE NOTE that this is a Beta product that is subject to change. +- name: GA + description: This product is Generally Available. +- name: Beta + description: PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution. - name: Beta -- description: PLEASE NOTE that this is a Preview product that is subject to change. +- name: Preview + description: PLEASE NOTE that this is a Preview product that is subject to change. Use it with caution. If you currently do not have developer preview access, please contact help@twilio.com. - name: Preview diff --git a/spec/yaml/twilio_autopilot_v1.yaml b/spec/yaml/twilio_autopilot_v1.yaml index ec41919c..3b39c78f 100644 --- a/spec/yaml/twilio_autopilot_v1.yaml +++ b/spec/yaml/twilio_autopilot_v1.yaml @@ -1,14 +1,15 @@ components: schemas: autopilot.v1.assistant: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource callback_events: description: Reserved nullable: true @@ -19,16 +20,16 @@ components: nullable: true type: string date_created: - description: The RFC 2822 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was created date_updated: - description: The RFC 2822 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was last + updated development_stage: description: A string describing the state of the assistant. nullable: true @@ -38,12 +39,12 @@ components: nullable: true type: string latest_model_build_sid: - description: Reserved - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^UG[0-9a-fA-F]{32}$ - type: string + nullable: true + description: Reserved links: description: A list of the URLs of the Assistant's related resources format: uri-map @@ -58,12 +59,12 @@ components: nullable: true type: boolean sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^UA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource unique_name: description: An application-defined string that uniquely identifies the resource @@ -74,91 +75,149 @@ components: format: uri nullable: true type: string - type: object autopilot.v1.assistant.defaults: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource assistant_sid: - description: The SID of the Assistant that is the parent of the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^UA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Assistant that is the parent of the resource data: - description: The JSON string that describes the default task links nullable: true + description: The JSON string that describes the default task links url: description: The absolute URL of the Defaults resource format: uri nullable: true type: string - type: object autopilot.v1.assistant.dialogue: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource assistant_sid: - description: The SID of the Assistant that is the parent of the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^UA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Assistant that is the parent of the resource data: - description: The JSON string that describes the dialogue session object nullable: true + description: The JSON string that describes the dialogue session object sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^UK[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource url: description: The absolute URL of the Dialogue resource format: uri nullable: true type: string + autopilot.v1.assistant.task.field: type: object - autopilot.v1.assistant.field_type: properties: account_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true description: The SID of the Account that created the resource + assistant_sid: + type: string + minLength: 34 maxLength: 34 + pattern: ^UA[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Assistant that is the parent of the Task associated + with the resource + date_created: + type: string + format: date-time + nullable: true + description: The RFC 2822 date and time in GMT when the resource was created + date_updated: + type: string + format: date-time + nullable: true + description: The RFC 2822 date and time in GMT when the resource was last + updated + field_type: + description: The Field Type of the field + nullable: true + type: string + sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^UE[0-9a-fA-F]{32}$ nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ + description: The unique string that identifies the resource + task_sid: type: string - assistant_sid: - description: The SID of the Assistant that is the parent of the resource + minLength: 34 maxLength: 34 + pattern: ^UD[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) + resource associated with this Field + unique_name: + description: An application-defined string that uniquely identifies the + resource + nullable: true + type: string + url: + description: The absolute URL of the Field resource + format: uri + nullable: true + type: string + autopilot.v1.assistant.field_type: + type: object + properties: + account_sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ nullable: true - pattern: ^UA[0-9a-fA-F]{32}$ + description: The SID of the Account that created the resource + assistant_sid: type: string + minLength: 34 + maxLength: 34 + pattern: ^UA[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Assistant that is the parent of the resource date_created: - description: The RFC 2822 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was created date_updated: - description: The RFC 2822 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was last + updated friendly_name: description: The string that you assigned to describe the resource nullable: true @@ -169,12 +228,12 @@ components: nullable: true type: object sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^UB[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource unique_name: description: An application-defined string that uniquely identifies the resource @@ -185,61 +244,61 @@ components: format: uri nullable: true type: string - type: object autopilot.v1.assistant.field_type.field_value: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource assistant_sid: - description: The SID of the Assistant that is the parent of the FieldType - associated with the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^UA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Assistant that is the parent of the FieldType + associated with the resource date_created: - description: The RFC 2822 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was created date_updated: - description: The RFC 2822 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was last + updated field_type_sid: - description: The SID of the Field Type associated with the Field Value - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^UB[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Field Type associated with the Field Value language: description: The ISO language-country tag that identifies the language of the value nullable: true type: string sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^UC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource synonym_of: - description: The word for which the field value is a synonym of - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^UC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The word for which the field value is a synonym of url: description: The absolute URL of the FieldValue resource format: uri @@ -249,52 +308,52 @@ components: description: The Field Value data nullable: true type: string - type: object autopilot.v1.assistant.model_build: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource assistant_sid: - description: The SID of the Assistant that is the parent of the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^UA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Assistant that is the parent of the resource build_duration: description: The time in seconds it took to build the model nullable: true type: integer date_created: - description: The RFC 2822 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was created date_updated: - description: The RFC 2822 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was last + updated error_code: description: More information about why the model build failed, if `status` is `failed` nullable: true type: integer sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^UG[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource status: - description: The status of the model build process + type: string enum: - enqueued - building @@ -302,7 +361,7 @@ components: - failed - canceled nullable: true - type: string + description: The status of the model build process unique_name: description: An application-defined string that uniquely identifies the resource @@ -313,77 +372,77 @@ components: format: uri nullable: true type: string - type: object autopilot.v1.assistant.query: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource assistant_sid: - description: The SID of the Assistant that is the parent of the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^UA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Assistant that is the parent of the resource date_created: - description: The RFC 2822 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was created date_updated: - description: The RFC 2822 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was last + updated dialogue_sid: - description: The SID of the [Dialogue](https://www.twilio.com/docs/autopilot/api/dialogue). - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^UK[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the [Dialogue](https://www.twilio.com/docs/autopilot/api/dialogue). language: description: The ISO language-country string that specifies the language used by the Query nullable: true type: string model_build_sid: - description: The SID of the [Model Build](https://www.twilio.com/docs/autopilot/api/model-build) - queried - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^UG[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the [Model Build](https://www.twilio.com/docs/autopilot/api/model-build) + queried query: description: The end-user's natural language input nullable: true type: string results: + nullable: true description: The natural language analysis results that include the Task recognized and a list of identified Fields - nullable: true sample_sid: - description: The SID of an optional reference to the Sample created from - the query - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^UF[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of an optional reference to the Sample created from + the query sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^UH[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource source_channel: description: The communication channel from where the end-user input came nullable: true @@ -397,189 +456,112 @@ components: format: uri nullable: true type: string + autopilot.v1.restore_assistant: type: object - autopilot.v1.assistant.style_sheet: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ type: string - assistant_sid: - description: The SID of the Assistant that is the parent of the resource - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ nullable: true - pattern: ^UA[0-9a-fA-F]{32}$ - type: string - data: - description: The JSON string that describes the style sheet object - nullable: true - url: - description: The absolute URL of the StyleSheet resource - format: uri - nullable: true - type: string - type: object - autopilot.v1.assistant.task: - properties: - account_sid: description: The SID of the Account that created the resource - maxLength: 34 - minLength: 34 + callback_events: + description: Reserved nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ type: string - actions_url: - description: The URL from which the Assistant can fetch actions + callback_url: + description: Reserved format: uri nullable: true type: string - assistant_sid: - description: The SID of the Assistant that is the parent of the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^UA[0-9a-fA-F]{32}$ - type: string date_created: - description: The RFC 2822 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was created date_updated: + type: string + format: date-time + nullable: true description: The RFC 2822 date and time in GMT when the resource was last updated - format: date-time + development_stage: + description: A string describing the state of the assistant. nullable: true type: string friendly_name: description: The string that you assigned to describe the resource nullable: true type: string - links: - description: A list of the URLs of related resources - format: uri-map - nullable: true - type: object - sid: - description: The unique string that identifies the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^UD[0-9a-fA-F]{32}$ - type: string - unique_name: - description: An application-defined string that uniquely identifies the - resource - nullable: true - type: string - url: - description: The absolute URL of the Task resource - format: uri - nullable: true + latest_model_build_sid: type: string - type: object - autopilot.v1.assistant.task.field: - properties: - account_sid: - description: The SID of the Account that created the resource - maxLength: 34 minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - assistant_sid: - description: The SID of the Assistant that is the parent of the Task associated - with the resource maxLength: 34 - minLength: 34 - nullable: true - pattern: ^UA[0-9a-fA-F]{32}$ - type: string - date_created: - description: The RFC 2822 date and time in GMT when the resource was created - format: date-time + pattern: ^UG[0-9a-fA-F]{32}$ nullable: true - type: string - date_updated: - description: The RFC 2822 date and time in GMT when the resource was last - updated - format: date-time + description: Reserved + log_queries: + description: Whether queries should be logged and kept after training nullable: true - type: string - field_type: - description: The Field Type of the field + type: boolean + needs_model_build: + description: Whether model needs to be rebuilt nullable: true - type: string + type: boolean sid: - description: The unique string that identifies the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^UE[0-9a-fA-F]{32}$ type: string - task_sid: - description: The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) - resource associated with this Field - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^UA[0-9a-fA-F]{32}$ nullable: true - pattern: ^UD[0-9a-fA-F]{32}$ - type: string + description: The unique string that identifies the resource unique_name: description: An application-defined string that uniquely identifies the resource nullable: true type: string - url: - description: The absolute URL of the Field resource - format: uri - nullable: true - type: string - type: object autopilot.v1.assistant.task.sample: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource assistant_sid: - description: The SID of the Assistant that is the parent of the Task associated - with the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^UA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Assistant that is the parent of the Task associated + with the resource date_created: - description: The RFC 2822 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was created date_updated: - description: The RFC 2822 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was last + updated language: description: An ISO language-country string that specifies the language used for the sample nullable: true type: string sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^UF[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource source_channel: description: The communication channel from which the sample was captured nullable: true @@ -589,69 +571,153 @@ components: nullable: true type: string task_sid: - description: The SID of the Task associated with the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^UD[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Task associated with the resource url: description: The absolute URL of the Sample resource format: uri nullable: true type: string + autopilot.v1.assistant.style_sheet: type: object - autopilot.v1.assistant.task.task_actions: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource assistant_sid: - description: The SID of the Assistant that is the parent of the Task associated - with the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^UA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Assistant that is the parent of the resource data: - description: The JSON string that specifies the actions that instruct the - Assistant on how to perform the task nullable: true - task_sid: - description: The SID of the Task associated with the resource + description: The JSON string that describes the style sheet object + url: + description: The absolute URL of the StyleSheet resource + format: uri + nullable: true + type: string + autopilot.v1.assistant.task: + type: object + properties: + account_sid: + type: string + minLength: 34 maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created the resource + actions_url: + description: The URL from which the Assistant can fetch actions + format: uri + nullable: true + type: string + assistant_sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^UA[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Assistant that is the parent of the resource + date_created: + type: string + format: date-time + nullable: true + description: The RFC 2822 date and time in GMT when the resource was created + date_updated: + type: string + format: date-time + nullable: true + description: The RFC 2822 date and time in GMT when the resource was last + updated + friendly_name: + description: The string that you assigned to describe the resource + nullable: true + type: string + links: + description: A list of the URLs of related resources + format: uri-map nullable: true + type: object + sid: + type: string + minLength: 34 + maxLength: 34 pattern: ^UD[0-9a-fA-F]{32}$ + nullable: true + description: The unique string that identifies the resource + unique_name: + description: An application-defined string that uniquely identifies the + resource + nullable: true type: string url: - description: The absolute URL of the TaskActions resource + description: The absolute URL of the Task resource format: uri nullable: true type: string + autopilot.v1.assistant.task.task_actions: type: object - autopilot.v1.assistant.task.task_statistics: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource assistant_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^UA[0-9a-fA-F]{32}$ + nullable: true description: The SID of the Assistant that is the parent of the Task associated with the resource + data: + nullable: true + description: The JSON string that specifies the actions that instruct the + Assistant on how to perform the task + task_sid: + type: string + minLength: 34 maxLength: 34 + pattern: ^UD[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Task associated with the resource + url: + description: The absolute URL of the TaskActions resource + format: uri + nullable: true + type: string + autopilot.v1.assistant.task.task_statistics: + type: object + properties: + account_sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ nullable: true - pattern: ^UA[0-9a-fA-F]{32}$ + description: The SID of the Account that created the resource + assistant_sid: type: string + minLength: 34 + maxLength: 34 + pattern: ^UA[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Assistant that is the parent of the Task associated + with the resource fields_count: description: The total number of Fields associated with the Task nullable: true @@ -661,57 +727,57 @@ components: nullable: true type: integer task_sid: - description: The SID of the Task for which the statistics were collected - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^UD[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Task for which the statistics were collected url: description: The absolute URL of the TaskStatistics resource format: uri nullable: true type: string - type: object autopilot.v1.assistant.webhook: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource assistant_sid: - description: The SID of the Assistant that is the parent of the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^UA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Assistant that is the parent of the resource date_created: - description: The RFC 2822 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was created date_updated: - description: The RFC 2822 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was last + updated events: description: The list of space-separated events that this Webhook is subscribed to. nullable: true type: string sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^UM[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource unique_name: description: An application-defined string that uniquely identifies the resource @@ -731,72 +797,6 @@ components: format: uri nullable: true type: string - type: object - autopilot.v1.restore_assistant: - properties: - account_sid: - description: The SID of the Account that created the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - callback_events: - description: Reserved - nullable: true - type: string - callback_url: - description: Reserved - format: uri - nullable: true - type: string - date_created: - description: The RFC 2822 date and time in GMT when the resource was created - format: date-time - nullable: true - type: string - date_updated: - description: The RFC 2822 date and time in GMT when the resource was last - updated - format: date-time - nullable: true - type: string - development_stage: - description: A string describing the state of the assistant. - nullable: true - type: string - friendly_name: - description: The string that you assigned to describe the resource - nullable: true - type: string - latest_model_build_sid: - description: Reserved - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^UG[0-9a-fA-F]{32}$ - type: string - log_queries: - description: Whether queries should be logged and kept after training - nullable: true - type: boolean - needs_model_build: - description: Whether model needs to be rebuilt - nullable: true - type: boolean - sid: - description: The unique string that identifies the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^UA[0-9a-fA-F]{32}$ - type: string - unique_name: - description: An application-defined string that uniquely identifies the - resource - nullable: true - type: string - type: object securitySchemes: accountSid_authToken: scheme: basic @@ -815,37 +815,159 @@ info: version: 1.30.0 openapi: 3.0.1 paths: - /v1/Assistants: + /v1/Assistants/{Sid}: + servers: + - url: https://autopilot.twilio.com description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - unique_name + - friendly_name + pathType: instance get: description: '' - operationId: ListAssistant + operationId: FetchAssistant parameters: - - description: How many resources to return in each list page. The default is - 50, and the maximum is 1000. - in: query - name: PageSize + - description: The Twilio-provided string that uniquely identifies the Assistant + resource to fetch. + in: path + name: Sid + required: true schema: - maximum: 1000 - minimum: 1 - type: integer + type: string responses: '200': content: application/json: schema: - properties: - assistants: - items: - $ref: '#/components/schemas/autopilot.v1.assistant' + $ref: '#/components/schemas/autopilot.v1.assistant' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - Preview + post: + description: '' + operationId: UpdateAssistant + parameters: + - description: The Twilio-provided string that uniquely identifies the Assistant + resource to update. + in: path + name: Sid + required: true + schema: + type: string + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: A descriptive string that you create to describe the + resource. It is not unique and can be up to 255 characters long. + type: string + LogQueries: + description: 'Whether queries should be logged and kept after training. + Can be: `true` or `false` and defaults to `true`. If `true`, queries + are stored for 30 days, and then deleted. If `false`, no queries + are stored.' + type: boolean + UniqueName: + description: An application-defined string that uniquely identifies + the resource. It can be used as an alternative to the `sid` in + the URL path to address the resource. The first 64 characters + must be unique. + type: string + CallbackUrl: + description: Reserved. + format: uri + type: string + CallbackEvents: + description: Reserved. + type: string + StyleSheet: + description: The JSON string that defines the Assistant's [style + sheet](https://www.twilio.com/docs/autopilot/api/assistant/stylesheet) + Defaults: + description: A JSON object that defines the Assistant's [default + tasks](https://www.twilio.com/docs/autopilot/api/assistant/defaults) + for various scenarios, including initiation actions and fallback + tasks. + DevelopmentStage: + description: A string describing the state of the assistant. + type: string + title: UpdateAssistantRequest + type: object + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/autopilot.v1.assistant' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - Preview + delete: + description: '' + operationId: DeleteAssistant + parameters: + - description: The Twilio-provided string that uniquely identifies the Assistant + resource to delete. + in: path + name: Sid + required: true + schema: + type: string + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - Preview + /v1/Assistants: + servers: + - url: https://autopilot.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - unique_name + - friendly_name + pathType: list + get: + description: '' + operationId: ListAssistant + 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListAssistantResponse + properties: + assistants: type: array + items: + $ref: '#/components/schemas/autopilot.v1.assistant' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -859,9 +981,8 @@ paths: url: format: uri type: string - type: object - title: ListAssistantResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] @@ -875,18 +996,6 @@ paths: application/x-www-form-urlencoded: schema: properties: - CallbackEvents: - description: Reserved. - type: string - CallbackUrl: - description: Reserved. - format: uri - type: string - Defaults: - description: A JSON object that defines the Assistant's [default - tasks](https://www.twilio.com/docs/autopilot/api/assistant/defaults) - for various scenarios, including initiation actions and fallback - tasks. FriendlyName: description: A descriptive string that you create to describe the new resource. It is not unique and can be up to 255 characters @@ -898,15 +1007,27 @@ paths: are stored for 30 days, and then deleted. If `false`, no queries are stored.' type: boolean - StyleSheet: - description: The JSON string that defines the Assistant's [style - sheet](https://www.twilio.com/docs/autopilot/api/assistant/stylesheet) UniqueName: description: An application-defined string that uniquely identifies the new resource. It can be used as an alternative to the `sid` in the URL path to address the resource. The first 64 characters must be unique. type: string + CallbackUrl: + description: Reserved. + format: uri + type: string + CallbackEvents: + description: Reserved. + type: string + StyleSheet: + description: The JSON string that defines the Assistant's [style + sheet](https://www.twilio.com/docs/autopilot/api/assistant/stylesheet) + Defaults: + description: A JSON object that defines the Assistant's [default + tasks](https://www.twilio.com/docs/autopilot/api/assistant/defaults) + for various scenarios, including initiation actions and fallback + tasks. title: CreateAssistantRequest type: object responses: @@ -920,55 +1041,16 @@ paths: - accountSid_authToken: [] x-maturity: - Preview + /v1/Assistants/{AssistantSid}/Defaults: servers: - url: https://autopilot.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - unique_name - - friendly_name - pathType: list - /v1/Assistants/Restore: description: 'TODO: Resource-level docs' - post: - description: '' - operationId: UpdateRestoreAssistant - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Assistant: - description: The Twilio-provided string that uniquely identifies - the Assistant resource to restore. - type: string - required: - - Assistant - title: UpdateRestoreAssistantRequest - type: object - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/autopilot.v1.restore_assistant' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - Preview - servers: - - url: https://autopilot.twilio.com x-twilio: - className: restore_assistant defaultOutputProperties: - - account_sid - - sid - - unique_name - - friendly_name - pathType: list - /v1/Assistants/{AssistantSid}/Defaults: - description: 'TODO: Resource-level docs' + - data + pathType: instance + parent: /Assistants + className: defaults get: description: '' operationId: FetchDefaults @@ -1023,16 +1105,16 @@ paths: - accountSid_authToken: [] x-maturity: - Preview + /v1/Assistants/{AssistantSid}/Dialogues/{Sid}: servers: - url: https://autopilot.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - className: defaults defaultOutputProperties: + - sid - data - parent: /Assistants pathType: instance - /v1/Assistants/{AssistantSid}/Dialogues/{Sid}: - description: 'TODO: Resource-level docs' + parent: /Assistants get: description: '' operationId: FetchDialogue @@ -1062,151 +1144,114 @@ paths: - accountSid_authToken: [] x-maturity: - Preview + /v1/Assistants/{AssistantSid}/Tasks/{TaskSid}/Fields/{Sid}: servers: - url: https://autopilot.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - - data - parent: /Assistants + - unique_name + - field_type pathType: instance - /v1/Assistants/{AssistantSid}/FieldTypes: - description: 'TODO: Resource-level docs' + parent: /Assistants/{AssistantSid}/Tasks get: description: '' - operationId: ListFieldType + operationId: FetchField parameters: - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) - that is the parent of the resources to read. + that is the parent of the Task associated with the resource to fetch. in: path name: AssistantSid required: true schema: 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 + - description: The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) + resource associated with the Field resource to fetch. + in: path + name: TaskSid + required: true schema: - maximum: 1000 - minimum: 1 - type: integer + type: string + - description: The Twilio-provided string that uniquely identifies the Field + resource to fetch. + in: path + name: Sid + required: true + schema: + type: string responses: '200': content: application/json: schema: - properties: - field_types: - items: - $ref: '#/components/schemas/autopilot.v1.assistant.field_type' - type: array - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - title: ListFieldTypeResponse - type: object + $ref: '#/components/schemas/autopilot.v1.assistant.task.field' description: OK security: - accountSid_authToken: [] x-maturity: - Preview - post: + delete: description: '' - operationId: CreateFieldType + operationId: DeleteField parameters: - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) - that is the parent of the new resource. + that is the parent of the Task associated with the resources to delete. in: path name: AssistantSid required: true schema: type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - FriendlyName: - description: A descriptive string that you create to describe the - new resource. It is not unique and can be up to 255 characters - long. - type: string - UniqueName: - description: An application-defined string that uniquely identifies - the new resource. It can be used as an alternative to the `sid` - in the URL path to address the resource. The first 64 characters - must be unique. - type: string - required: - - UniqueName - title: CreateFieldTypeRequest - type: object + - description: The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) + resource associated with the Field resource to delete. + in: path + name: TaskSid + required: true + schema: + type: string + - description: The Twilio-provided string that uniquely identifies the Field + resource to delete. + in: path + name: Sid + required: true + schema: + type: string responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/autopilot.v1.assistant.field_type' - description: Created + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - Preview + /v1/Assistants/{AssistantSid}/Tasks/{TaskSid}/Fields: servers: - url: https://autopilot.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - unique_name - - friendly_name - parent: /Assistants + - field_type pathType: list - /v1/Assistants/{AssistantSid}/FieldTypes/{FieldTypeSid}/FieldValues: - description: 'TODO: Resource-level docs' + parent: /Assistants/{AssistantSid}/Tasks get: description: '' - operationId: ListFieldValue + operationId: ListField parameters: - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) - that is the parent of the FieldType associated with the resources to read. + that is the parent of the Task associated with the resources to read. in: path name: AssistantSid required: true schema: type: string - - description: The SID of the Field Type associated with the Field Value to - read. + - description: The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) + resource associated with the Field resources to read. in: path - name: FieldTypeSid + name: TaskSid required: true schema: type: string - - description: 'The [ISO language-country](https://docs.oracle.com/cd/E13214_01/wli/docs92/xref/xqisocodes.html) - tag that specifies the language of the value. Currently supported tags: - `en-US`' - in: query - name: Language - schema: - type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -1220,18 +1265,19 @@ paths: content: application/json: schema: + type: object + title: ListFieldResponse properties: - field_values: - items: - $ref: '#/components/schemas/autopilot.v1.assistant.field_type.field_value' + fields: type: array + items: + $ref: '#/components/schemas/autopilot.v1.assistant.task.field' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1245,9 +1291,8 @@ paths: url: format: uri type: string - type: object - title: ListFieldValueResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] @@ -1255,18 +1300,19 @@ paths: - Preview post: description: '' - operationId: CreateFieldValue + operationId: CreateField parameters: - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) - that is the parent of the FieldType associated with the new resource. + that is the parent of the Task associated with the new resource. in: path name: AssistantSid required: true schema: type: string - - description: The SID of the Field Type associated with the Field Value. + - description: The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) + resource associated with the new Field resource. in: path - name: FieldTypeSid + name: TaskSid required: true schema: type: string @@ -1275,123 +1321,119 @@ paths: application/x-www-form-urlencoded: schema: properties: - Language: - description: 'The [ISO language-country](https://docs.oracle.com/cd/E13214_01/wli/docs92/xref/xqisocodes.html) - tag that specifies the language of the value. Currently supported - tags: `en-US`' - type: string - SynonymOf: - description: The string value that indicates which word the field - value is a synonym of. + FieldType: + description: 'The Field Type of the new field. Can be: a [Built-in + Field Type](https://www.twilio.com/docs/autopilot/built-in-field-types), + the `unique_name`, or the `sid` of a custom Field Type.' type: string - Value: - description: The Field Value data. + UniqueName: + description: An application-defined string that uniquely identifies + the new resource. This value must be a unique string of no more + than 64 characters. It can be used as an alternative to the `sid` + in the URL path to address the resource. type: string required: - - Language - - Value - title: CreateFieldValueRequest + - FieldType + - UniqueName + title: CreateFieldRequest type: object responses: '201': content: application/json: schema: - $ref: '#/components/schemas/autopilot.v1.assistant.field_type.field_value' + $ref: '#/components/schemas/autopilot.v1.assistant.task.field' description: Created security: - accountSid_authToken: [] x-maturity: - Preview + /v1/Assistants/{AssistantSid}/FieldTypes/{Sid}: servers: - url: https://autopilot.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - - value - - language - parent: /Assistants/{AssistantSid}/FieldTypes - pathType: list - /v1/Assistants/{AssistantSid}/FieldTypes/{FieldTypeSid}/FieldValues/{Sid}: - delete: + - unique_name + - friendly_name + pathType: instance + parent: /Assistants + get: description: '' - operationId: DeleteFieldValue + operationId: FetchFieldType parameters: - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) - that is the parent of the FieldType associated with the resources to delete. + that is the parent of the resource to fetch. in: path name: AssistantSid required: true schema: type: string - - description: The SID of the Field Type associated with the Field Value to - delete. - in: path - name: FieldTypeSid - required: true - schema: - type: string - - description: The Twilio-provided string that uniquely identifies the FieldValue - resource to delete. + - description: The Twilio-provided string that uniquely identifies the FieldType + resource to fetch. in: path name: Sid required: true schema: type: string responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/autopilot.v1.assistant.field_type' + description: OK security: - accountSid_authToken: [] x-maturity: - Preview - description: 'TODO: Resource-level docs' - get: + post: description: '' - operationId: FetchFieldValue + operationId: UpdateFieldType parameters: - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) - that is the parent of the FieldType associated with the resource to fetch. + that is the parent of the to update. in: path name: AssistantSid required: true schema: type: string - - description: The SID of the Field Type associated with the Field Value to - fetch. - in: path - name: FieldTypeSid - required: true - schema: - type: string - - description: The Twilio-provided string that uniquely identifies the FieldValue - resource to fetch. + - description: The Twilio-provided string that uniquely identifies the FieldType + resource to update. in: path name: Sid required: true schema: type: string + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: A descriptive string that you create to describe the + resource. It is not unique and can be up to 255 characters long. + type: string + UniqueName: + description: An application-defined string that uniquely identifies + the resource. It can be used as an alternative to the `sid` in + the URL path to address the resource. The first 64 characters + must be unique. + type: string + title: UpdateFieldTypeRequest + type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/autopilot.v1.assistant.field_type.field_value' + $ref: '#/components/schemas/autopilot.v1.assistant.field_type' description: OK security: - accountSid_authToken: [] x-maturity: - Preview - servers: - - url: https://autopilot.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - value - - language - parent: /Assistants/{AssistantSid}/FieldTypes - pathType: instance - /v1/Assistants/{AssistantSid}/FieldTypes/{Sid}: delete: description: '' operationId: DeleteFieldType @@ -1417,31 +1459,69 @@ paths: - accountSid_authToken: [] x-maturity: - Preview + /v1/Assistants/{AssistantSid}/FieldTypes: + servers: + - url: https://autopilot.twilio.com description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - unique_name + - friendly_name + pathType: list + parent: /Assistants get: description: '' - operationId: FetchFieldType + operationId: ListFieldType parameters: - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) - that is the parent of the resource to fetch. + that is the parent of the resources to read. in: path name: AssistantSid required: true schema: type: string - - description: The Twilio-provided string that uniquely identifies the FieldType - resource to fetch. - in: path - name: Sid - required: true + - description: How many resources to return in each list page. The default is + 50, and the maximum is 1000. + in: query + name: PageSize schema: - type: string - responses: - '200': + maximum: 1000 + minimum: 1 + type: integer + responses: + '200': content: application/json: schema: - $ref: '#/components/schemas/autopilot.v1.assistant.field_type' + type: object + title: ListFieldTypeResponse + properties: + field_types: + type: array + items: + $ref: '#/components/schemas/autopilot.v1.assistant.field_type' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string description: OK security: - accountSid_authToken: [] @@ -1449,72 +1529,161 @@ paths: - Preview post: description: '' - operationId: UpdateFieldType + operationId: CreateFieldType parameters: - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) - that is the parent of the to update. + that is the parent of the new resource. in: path name: AssistantSid required: true schema: type: string - - description: The Twilio-provided string that uniquely identifies the FieldType - resource to update. - in: path - name: Sid - required: true - schema: - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - FriendlyName: - description: A descriptive string that you create to describe the - resource. It is not unique and can be up to 255 characters long. - type: string UniqueName: description: An application-defined string that uniquely identifies - the resource. It can be used as an alternative to the `sid` in - the URL path to address the resource. The first 64 characters + the new resource. It can be used as an alternative to the `sid` + in the URL path to address the resource. The first 64 characters must be unique. type: string - title: UpdateFieldTypeRequest + FriendlyName: + description: A descriptive string that you create to describe the + new resource. It is not unique and can be up to 255 characters + long. + type: string + required: + - UniqueName + title: CreateFieldTypeRequest type: object responses: - '200': + '201': content: application/json: schema: $ref: '#/components/schemas/autopilot.v1.assistant.field_type' - description: OK + description: Created security: - accountSid_authToken: [] x-maturity: - Preview + /v1/Assistants/{AssistantSid}/FieldTypes/{FieldTypeSid}/FieldValues/{Sid}: servers: - url: https://autopilot.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - - unique_name - - friendly_name - parent: /Assistants + - value + - language pathType: instance - /v1/Assistants/{AssistantSid}/ModelBuilds: + parent: /Assistants/{AssistantSid}/FieldTypes + get: + description: '' + operationId: FetchFieldValue + parameters: + - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) + that is the parent of the FieldType associated with the resource to fetch. + in: path + name: AssistantSid + required: true + schema: + type: string + - description: The SID of the Field Type associated with the Field Value to + fetch. + in: path + name: FieldTypeSid + required: true + schema: + type: string + - description: The Twilio-provided string that uniquely identifies the FieldValue + resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/autopilot.v1.assistant.field_type.field_value' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - Preview + delete: + description: '' + operationId: DeleteFieldValue + parameters: + - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) + that is the parent of the FieldType associated with the resources to delete. + in: path + name: AssistantSid + required: true + schema: + type: string + - description: The SID of the Field Type associated with the Field Value to + delete. + in: path + name: FieldTypeSid + required: true + schema: + type: string + - description: The Twilio-provided string that uniquely identifies the FieldValue + resource to delete. + in: path + name: Sid + required: true + schema: + type: string + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - Preview + /v1/Assistants/{AssistantSid}/FieldTypes/{FieldTypeSid}/FieldValues: + servers: + - url: https://autopilot.twilio.com description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - value + - language + pathType: list + parent: /Assistants/{AssistantSid}/FieldTypes get: description: '' - operationId: ListModelBuild + operationId: ListFieldValue parameters: - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) - that is the parent of the resources to read. + that is the parent of the FieldType associated with the resources to read. in: path name: AssistantSid required: true schema: type: string + - description: The SID of the Field Type associated with the Field Value to + read. + in: path + name: FieldTypeSid + required: true + schema: + type: string + - description: 'The [ISO language-country](https://docs.oracle.com/cd/E13214_01/wli/docs92/xref/xqisocodes.html) + tag that specifies the language of the value. Currently supported tags: + `en-US`' + in: query + name: Language + schema: + type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -1528,14 +1697,19 @@ paths: content: application/json: schema: + type: object + title: ListFieldValueResponse properties: + field_values: + type: array + items: + $ref: '#/components/schemas/autopilot.v1.assistant.field_type.field_value' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1549,13 +1723,8 @@ paths: url: format: uri type: string - type: object - model_builds: - items: - $ref: '#/components/schemas/autopilot.v1.assistant.model_build' - type: array - title: ListModelBuildResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] @@ -1563,81 +1732,66 @@ paths: - Preview post: description: '' - operationId: CreateModelBuild + operationId: CreateFieldValue parameters: - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) - that is the parent of the new resource. + that is the parent of the FieldType associated with the new resource. in: path name: AssistantSid required: true schema: type: string + - description: The SID of the Field Type associated with the Field Value. + in: path + name: FieldTypeSid + required: true + schema: + type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - StatusCallback: - description: The URL we should call using a POST method to send - status information to your application. - format: uri + Language: + description: 'The [ISO language-country](https://docs.oracle.com/cd/E13214_01/wli/docs92/xref/xqisocodes.html) + tag that specifies the language of the value. Currently supported + tags: `en-US`' type: string - UniqueName: - description: An application-defined string that uniquely identifies - the new resource. This value must be a unique string of no more - than 64 characters. It can be used as an alternative to the `sid` - in the URL path to address the resource. + Value: + description: The Field Value data. type: string - title: CreateModelBuildRequest + SynonymOf: + description: The string value that indicates which word the field + value is a synonym of. + type: string + required: + - Language + - Value + title: CreateFieldValueRequest type: object responses: '201': content: application/json: schema: - $ref: '#/components/schemas/autopilot.v1.assistant.model_build' + $ref: '#/components/schemas/autopilot.v1.assistant.field_type.field_value' description: Created security: - accountSid_authToken: [] x-maturity: - Preview + /v1/Assistants/{AssistantSid}/ModelBuilds/{Sid}: servers: - url: https://autopilot.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - unique_name - status - date_created + pathType: instance parent: /Assistants - pathType: list - /v1/Assistants/{AssistantSid}/ModelBuilds/{Sid}: - delete: - description: '' - operationId: DeleteModelBuild - parameters: - - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) - that is the parent of the resources to delete. - in: path - name: AssistantSid - required: true - schema: - type: string - - description: The Twilio-provided string that uniquely identifies the ModelBuild - resource to delete. - in: path - name: Sid - required: true - schema: - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - Preview - description: 'TODO: Resource-level docs' get: description: '' operationId: FetchModelBuild @@ -1709,21 +1863,46 @@ paths: - accountSid_authToken: [] x-maturity: - Preview + delete: + description: '' + operationId: DeleteModelBuild + parameters: + - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) + that is the parent of the resources to delete. + in: path + name: AssistantSid + required: true + schema: + type: string + - description: The Twilio-provided string that uniquely identifies the ModelBuild + resource to delete. + in: path + name: Sid + required: true + schema: + type: string + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - Preview + /v1/Assistants/{AssistantSid}/ModelBuilds: servers: - url: https://autopilot.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - unique_name - status - date_created + pathType: list parent: /Assistants - pathType: instance - /v1/Assistants/{AssistantSid}/Queries: - description: 'TODO: Resource-level docs' get: description: '' - operationId: ListQuery + operationId: ListModelBuild parameters: - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resources to read. @@ -1732,33 +1911,6 @@ paths: required: true schema: type: string - - description: 'The [ISO language-country](https://docs.oracle.com/cd/E13214_01/wli/docs92/xref/xqisocodes.html) - string that specifies the language used by the Query resources to read. - For example: `en-US`.' - in: query - name: Language - schema: - type: string - - description: The SID or unique name of the [Model Build](https://www.twilio.com/docs/autopilot/api/model-build) - to be queried. - in: query - name: ModelBuild - schema: - type: string - - description: 'The status of the resources to read. Can be: `pending-review`, - `reviewed`, or `discarded`' - in: query - name: Status - schema: - type: string - - description: The SID of the [Dialogue](https://www.twilio.com/docs/autopilot/api/dialogue). - in: query - name: DialogueSid - schema: - maxLength: 34 - minLength: 34 - pattern: ^UK[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 @@ -1772,14 +1924,19 @@ paths: content: application/json: schema: + type: object + title: ListModelBuildResponse properties: + model_builds: + type: array + items: + $ref: '#/components/schemas/autopilot.v1.assistant.model_build' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1793,13 +1950,8 @@ paths: url: format: uri type: string - type: object - queries: - items: - $ref: '#/components/schemas/autopilot.v1.assistant.query' - type: array - title: ListQueryResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] @@ -1807,7 +1959,7 @@ paths: - Preview post: description: '' - operationId: CreateQuery + operationId: CreateModelBuild parameters: - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the new resource. @@ -1821,79 +1973,42 @@ paths: application/x-www-form-urlencoded: schema: properties: - Language: - description: 'The [ISO language-country](https://docs.oracle.com/cd/E13214_01/wli/docs92/xref/xqisocodes.html) - string that specifies the language used for the new query. For - example: `en-US`.' - type: string - ModelBuild: - description: The SID or unique name of the [Model Build](https://www.twilio.com/docs/autopilot/api/model-build) - to be queried. - type: string - Query: - description: The end-user's natural language input. It can be up - to 2048 characters long. + StatusCallback: + description: The URL we should call using a POST method to send + status information to your application. + format: uri type: string - Tasks: - description: The list of tasks to limit the new query to. Tasks - are expressed as a comma-separated list of task `unique_name` - values. For example, `task-unique_name-1, task-unique_name-2`. - Listing specific tasks is useful to constrain the paths that a - user can take. + UniqueName: + description: An application-defined string that uniquely identifies + the new resource. This value must be a unique string of no more + than 64 characters. It can be used as an alternative to the `sid` + in the URL path to address the resource. type: string - required: - - Language - - Query - title: CreateQueryRequest + title: CreateModelBuildRequest type: object responses: '201': content: application/json: schema: - $ref: '#/components/schemas/autopilot.v1.assistant.query' + $ref: '#/components/schemas/autopilot.v1.assistant.model_build' description: Created security: - accountSid_authToken: [] x-maturity: - Preview + /v1/Assistants/{AssistantSid}/Queries/{Sid}: servers: - url: https://autopilot.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - query - status - language + pathType: instance parent: /Assistants - pathType: list - /v1/Assistants/{AssistantSid}/Queries/{Sid}: - delete: - description: '' - operationId: DeleteQuery - parameters: - - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) - that is the parent of the resources to delete. - in: path - name: AssistantSid - required: true - schema: - type: string - - description: The Twilio-provided string that uniquely identifies the Query - resource to delete. - in: path - name: Sid - required: true - schema: - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - Preview - description: 'TODO: Resource-level docs' get: description: '' operationId: FetchQuery @@ -1947,12 +2062,12 @@ paths: schema: properties: SampleSid: - description: The SID of an optional reference to the [Sample](https://www.twilio.com/docs/autopilot/api/task-sample) - created from the query. - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^UF[0-9a-fA-F]{32}$ - type: string + description: The SID of an optional reference to the [Sample](https://www.twilio.com/docs/autopilot/api/task-sample) + created from the query. Status: description: 'The new status of the resource. Can be: `pending-review`, `reviewed`, or `discarded`' @@ -1970,83 +2085,46 @@ paths: - accountSid_authToken: [] x-maturity: - Preview - servers: - - url: https://autopilot.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - query - - status - - language - parent: /Assistants - pathType: instance - /v1/Assistants/{AssistantSid}/StyleSheet: - description: 'TODO: Resource-level docs' - get: - description: Returns Style sheet JSON object for the Assistant - operationId: FetchStyleSheet + delete: + description: '' + operationId: DeleteQuery parameters: - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) - that is the parent of the resource to fetch. + that is the parent of the resources to delete. in: path name: AssistantSid required: true schema: type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/autopilot.v1.assistant.style_sheet' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - Preview - post: - description: Updates the style sheet for an Assistant identified by `assistant_sid`. - operationId: UpdateStyleSheet - parameters: - - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) - that is the parent of the resource to update. + - description: The Twilio-provided string that uniquely identifies the Query + resource to delete. in: path - name: AssistantSid + name: Sid required: true schema: type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - StyleSheet: - description: The JSON string that describes the style sheet object. - title: UpdateStyleSheetRequest - type: object responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/autopilot.v1.assistant.style_sheet' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - Preview + /v1/Assistants/{AssistantSid}/Queries: servers: - url: https://autopilot.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - - data + - sid + - query + - status + - language + pathType: list parent: /Assistants - pathType: instance - /v1/Assistants/{AssistantSid}/Tasks: - description: 'TODO: Resource-level docs' get: description: '' - operationId: ListTask + operationId: ListQuery parameters: - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resources to read. @@ -2055,6 +2133,33 @@ paths: required: true schema: type: string + - description: 'The [ISO language-country](https://docs.oracle.com/cd/E13214_01/wli/docs92/xref/xqisocodes.html) + string that specifies the language used by the Query resources to read. + For example: `en-US`.' + in: query + name: Language + schema: + type: string + - description: The SID or unique name of the [Model Build](https://www.twilio.com/docs/autopilot/api/model-build) + to be queried. + in: query + name: ModelBuild + schema: + type: string + - description: 'The status of the resources to read. Can be: `pending-review`, + `reviewed`, or `discarded`' + in: query + name: Status + schema: + type: string + - description: The SID of the [Dialogue](https://www.twilio.com/docs/autopilot/api/dialogue). + in: query + name: DialogueSid + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^UK[0-9a-fA-F]{32}$ - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -2068,14 +2173,19 @@ paths: content: application/json: schema: + type: object + title: ListQueryResponse properties: + queries: + type: array + items: + $ref: '#/components/schemas/autopilot.v1.assistant.query' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -2089,13 +2199,8 @@ paths: url: format: uri type: string - type: object - tasks: - items: - $ref: '#/components/schemas/autopilot.v1.assistant.task' - type: array - title: ListTaskResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] @@ -2103,7 +2208,7 @@ paths: - Preview post: description: '' - operationId: CreateTask + operationId: CreateQuery parameters: - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the new resource. @@ -2117,308 +2222,127 @@ paths: application/x-www-form-urlencoded: schema: properties: - Actions: - description: The JSON string that specifies the [actions](https://www.twilio.com/docs/autopilot/actions) - that instruct the Assistant on how to perform the task. It is - optional and not unique. - ActionsUrl: - description: The URL from which the Assistant can fetch actions. - format: uri + Language: + description: 'The [ISO language-country](https://docs.oracle.com/cd/E13214_01/wli/docs92/xref/xqisocodes.html) + string that specifies the language used for the new query. For + example: `en-US`.' type: string - FriendlyName: - description: A descriptive string that you create to describe the - new resource. It is not unique and can be up to 255 characters - long. + Query: + description: The end-user's natural language input. It can be up + to 2048 characters long. type: string - UniqueName: - description: An application-defined string that uniquely identifies - the new resource. It can be used as an alternative to the `sid` - in the URL path to address the resource. This value must be unique - and 64 characters or less in length. + Tasks: + description: The list of tasks to limit the new query to. Tasks + are expressed as a comma-separated list of task `unique_name` + values. For example, `task-unique_name-1, task-unique_name-2`. + Listing specific tasks is useful to constrain the paths that a + user can take. + type: string + ModelBuild: + description: The SID or unique name of the [Model Build](https://www.twilio.com/docs/autopilot/api/model-build) + to be queried. type: string required: - - UniqueName - title: CreateTaskRequest + - Language + - Query + title: CreateQueryRequest type: object responses: '201': content: application/json: schema: - $ref: '#/components/schemas/autopilot.v1.assistant.task' + $ref: '#/components/schemas/autopilot.v1.assistant.query' description: Created security: - accountSid_authToken: [] x-maturity: - Preview + /v1/Assistants/Restore: servers: - url: https://autopilot.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: + - account_sid - sid - unique_name - friendly_name - parent: /Assistants pathType: list - /v1/Assistants/{AssistantSid}/Tasks/{Sid}: - delete: - description: '' - operationId: DeleteTask - parameters: - - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) - that is the parent of the resources to delete. - in: path - name: AssistantSid - required: true - schema: - type: string - - description: The Twilio-provided string that uniquely identifies the Task - resource to delete. - in: path - name: Sid - required: true - schema: - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - Preview - description: 'TODO: Resource-level docs' - get: - description: '' - operationId: FetchTask - parameters: - - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) - that is the parent of the resource to fetch. - in: path - name: AssistantSid - required: true - schema: - type: string - - description: The Twilio-provided string that uniquely identifies the Task - resource to fetch. - in: path - name: Sid - required: true - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/autopilot.v1.assistant.task' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - Preview + className: restore_assistant post: description: '' - operationId: UpdateTask - parameters: - - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) - that is the parent of the resource to update. - in: path - name: AssistantSid - required: true - schema: - type: string - - description: The Twilio-provided string that uniquely identifies the Task - resource to update. - in: path - name: Sid - required: true - schema: - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Actions: - description: The JSON string that specifies the [actions](https://www.twilio.com/docs/autopilot/actions) - that instruct the Assistant on how to perform the task. - ActionsUrl: - description: The URL from which the Assistant can fetch actions. - format: uri - type: string - FriendlyName: - description: A descriptive string that you create to describe the - resource. It is not unique and can be up to 255 characters long. - type: string - UniqueName: - description: An application-defined string that uniquely identifies - the resource. This value must be 64 characters or less in length - and be unique. It can be used as an alternative to the `sid` in - the URL path to address the resource. - type: string - title: UpdateTaskRequest - type: object - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/autopilot.v1.assistant.task' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - Preview - servers: - - url: https://autopilot.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - unique_name - - friendly_name - parent: /Assistants - pathType: instance - /v1/Assistants/{AssistantSid}/Tasks/{TaskSid}/Actions: - description: 'TODO: Resource-level docs' - get: - description: Returns JSON actions for the Task. - operationId: FetchTaskActions - parameters: - - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) - that is the parent of the Task for which the task actions to fetch were - defined. - in: path - name: AssistantSid - required: true - schema: - type: string - - description: The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) - for which the task actions to fetch were defined. - in: path - name: TaskSid - required: true - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/autopilot.v1.assistant.task.task_actions' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - Preview - post: - description: Updates the actions of an Task identified by {TaskSid} or {TaskUniqueName}. - operationId: UpdateTaskActions - parameters: - - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) - that is the parent of the Task for which the task actions to update were - defined. - in: path - name: AssistantSid - required: true - schema: - type: string - - description: The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) - for which the task actions to update were defined. - in: path - name: TaskSid - required: true - schema: - type: string + operationId: UpdateRestoreAssistant requestBody: content: application/x-www-form-urlencoded: - schema: - properties: - Actions: - description: The JSON string that specifies the [actions](https://www.twilio.com/docs/autopilot/actions) - that instruct the Assistant on how to perform the task. - title: UpdateTaskActionsRequest + schema: + properties: + Assistant: + description: The Twilio-provided string that uniquely identifies + the Assistant resource to restore. + type: string + required: + - Assistant + title: UpdateRestoreAssistantRequest type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/autopilot.v1.assistant.task.task_actions' + $ref: '#/components/schemas/autopilot.v1.restore_assistant' description: OK security: - accountSid_authToken: [] x-maturity: - Preview + /v1/Assistants/{AssistantSid}/Tasks/{TaskSid}/Samples/{Sid}: servers: - url: https://autopilot.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - className: task_actions defaultOutputProperties: - - data - parent: /Assistants/{AssistantSid}/Tasks + - sid + - tagged_text + - language + - source_channel pathType: instance - /v1/Assistants/{AssistantSid}/Tasks/{TaskSid}/Fields: - description: 'TODO: Resource-level docs' + parent: /Assistants/{AssistantSid}/Tasks get: description: '' - operationId: ListField + operationId: FetchSample parameters: - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) - that is the parent of the Task associated with the resources to read. + that is the parent of the Task associated with the resource to fetch. in: path name: AssistantSid required: true schema: type: string - description: The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) - resource associated with the Field resources to read. + associated with the Sample resource to create. in: path name: TaskSid required: true schema: 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 + - description: The Twilio-provided string that uniquely identifies the Sample + resource to fetch. + in: path + name: Sid + required: true schema: - maximum: 1000 - minimum: 1 - type: integer + type: string + minLength: 34 + maxLength: 34 + pattern: ^UF[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - properties: - fields: - items: - $ref: '#/components/schemas/autopilot.v1.assistant.task.field' - type: array - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - title: ListFieldResponse - type: object + $ref: '#/components/schemas/autopilot.v1.assistant.task.sample' description: OK security: - accountSid_authToken: [] @@ -2426,67 +2350,67 @@ paths: - Preview post: description: '' - operationId: CreateField + operationId: UpdateSample parameters: - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) - that is the parent of the Task associated with the new resource. + that is the parent of the Task associated with the resource to update. in: path name: AssistantSid required: true schema: type: string - description: The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) - resource associated with the new Field resource. + associated with the Sample resource to update. in: path name: TaskSid required: true schema: type: string + - description: The Twilio-provided string that uniquely identifies the Sample + resource to update. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^UF[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - FieldType: - description: 'The Field Type of the new field. Can be: a [Built-in - Field Type](https://www.twilio.com/docs/autopilot/built-in-field-types), - the `unique_name`, or the `sid` of a custom Field Type.' + Language: + description: 'The [ISO language-country](https://docs.oracle.com/cd/E13214_01/wli/docs92/xref/xqisocodes.html) + string that specifies the language used for the sample. For example: + `en-US`.' type: string - UniqueName: - description: An application-defined string that uniquely identifies - the new resource. This value must be a unique string of no more - than 64 characters. It can be used as an alternative to the `sid` - in the URL path to address the resource. + TaggedText: + description: The text example of how end users might express the + task. The sample can contain [Field tag blocks](https://www.twilio.com/docs/autopilot/api/task-sample#field-tagging). type: string - required: - - FieldType - - UniqueName - title: CreateFieldRequest + SourceChannel: + description: 'The communication channel from which the sample was + captured. Can be: `voice`, `sms`, `chat`, `alexa`, `google-assistant`, + `slack`, or null if not included.' + type: string + title: UpdateSampleRequest type: object responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/autopilot.v1.assistant.task.field' - description: Created + $ref: '#/components/schemas/autopilot.v1.assistant.task.sample' + description: OK security: - accountSid_authToken: [] x-maturity: - Preview - servers: - - url: https://autopilot.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - unique_name - - field_type - parent: /Assistants/{AssistantSid}/Tasks - pathType: list - /v1/Assistants/{AssistantSid}/Tasks/{TaskSid}/Fields/{Sid}: delete: description: '' - operationId: DeleteField + operationId: DeleteSample parameters: - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the Task associated with the resources to delete. @@ -2496,19 +2420,22 @@ paths: schema: type: string - description: The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) - resource associated with the Field resource to delete. + associated with the Sample resource to delete. in: path name: TaskSid required: true schema: type: string - - description: The Twilio-provided string that uniquely identifies the Field + - description: The Twilio-provided string that uniquely identifies the Sample resource to delete. in: path name: Sid required: true schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^UF[0-9a-fA-F]{32}$ responses: '204': description: The resource was deleted successfully. @@ -2516,54 +2443,18 @@ paths: - accountSid_authToken: [] x-maturity: - Preview - description: 'TODO: Resource-level docs' - get: - description: '' - operationId: FetchField - parameters: - - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) - that is the parent of the Task associated with the resource to fetch. - in: path - name: AssistantSid - required: true - schema: - type: string - - description: The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) - resource associated with the Field resource to fetch. - in: path - name: TaskSid - required: true - schema: - type: string - - description: The Twilio-provided string that uniquely identifies the Field - resource to fetch. - in: path - name: Sid - required: true - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/autopilot.v1.assistant.task.field' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - Preview + /v1/Assistants/{AssistantSid}/Tasks/{TaskSid}/Samples: servers: - url: https://autopilot.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - - unique_name - - field_type + - tagged_text + - language + - source_channel + pathType: list parent: /Assistants/{AssistantSid}/Tasks - pathType: instance - /v1/Assistants/{AssistantSid}/Tasks/{TaskSid}/Samples: - description: 'TODO: Resource-level docs' get: description: '' operationId: ListSample @@ -2601,14 +2492,19 @@ paths: content: application/json: schema: + type: object + title: ListSampleResponse properties: + samples: + type: array + items: + $ref: '#/components/schemas/autopilot.v1.assistant.task.sample' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -2622,13 +2518,8 @@ paths: url: format: uri type: string - type: object - samples: - items: - $ref: '#/components/schemas/autopilot.v1.assistant.task.sample' - type: array - title: ListSampleResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] @@ -2662,15 +2553,15 @@ paths: string that specifies the language used for the new sample. For example: `en-US`.' type: string + TaggedText: + description: The text example of how end users might express the + task. The sample can contain [Field tag blocks](https://www.twilio.com/docs/autopilot/api/task-sample#field-tagging). + type: string SourceChannel: description: 'The communication channel from which the new sample was captured. Can be: `voice`, `sms`, `chat`, `alexa`, `google-assistant`, `slack`, or null if not included.' type: string - TaggedText: - description: The text example of how end users might express the - task. The sample can contain [Field tag blocks](https://www.twilio.com/docs/autopilot/api/task-sample#field-tagging). - type: string required: - Language - TaggedText @@ -2687,87 +2578,103 @@ paths: - accountSid_authToken: [] x-maturity: - Preview + /v1/Assistants/{AssistantSid}/StyleSheet: servers: - url: https://autopilot.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - - sid - - tagged_text - - language - - source_channel - parent: /Assistants/{AssistantSid}/Tasks - pathType: list - /v1/Assistants/{AssistantSid}/Tasks/{TaskSid}/Samples/{Sid}: - delete: - description: '' - operationId: DeleteSample + - data + pathType: instance + parent: /Assistants + get: + description: Returns Style sheet JSON object for the Assistant + operationId: FetchStyleSheet parameters: - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) - that is the parent of the Task associated with the resources to delete. + that is the parent of the resource to fetch. in: path name: AssistantSid required: true schema: type: string - - description: The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) - associated with the Sample resource to delete. - in: path - name: TaskSid - required: true - schema: - type: string - - description: The Twilio-provided string that uniquely identifies the Sample - resource to delete. + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/autopilot.v1.assistant.style_sheet' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - Preview + post: + description: Updates the style sheet for an Assistant identified by `assistant_sid`. + operationId: UpdateStyleSheet + parameters: + - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) + that is the parent of the resource to update. in: path - name: Sid + name: AssistantSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^UF[0-9a-fA-F]{32}$ type: string + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + StyleSheet: + description: The JSON string that describes the style sheet object. + title: UpdateStyleSheetRequest + type: object responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/autopilot.v1.assistant.style_sheet' + description: OK security: - accountSid_authToken: [] x-maturity: - Preview + /v1/Assistants/{AssistantSid}/Tasks/{Sid}: + servers: + - url: https://autopilot.twilio.com description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - unique_name + - friendly_name + pathType: instance + parent: /Assistants get: description: '' - operationId: FetchSample + operationId: FetchTask parameters: - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) - that is the parent of the Task associated with the resource to fetch. + that is the parent of the resource to fetch. in: path name: AssistantSid required: true schema: type: string - - description: The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) - associated with the Sample resource to create. - in: path - name: TaskSid - required: true - schema: - type: string - - description: The Twilio-provided string that uniquely identifies the Sample + - description: The Twilio-provided string that uniquely identifies the Task resource to fetch. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^UF[0-9a-fA-F]{32}$ type: string responses: '200': content: application/json: schema: - $ref: '#/components/schemas/autopilot.v1.assistant.task.sample' + $ref: '#/components/schemas/autopilot.v1.assistant.task' description: OK security: - accountSid_authToken: [] @@ -2775,119 +2682,96 @@ paths: - Preview post: description: '' - operationId: UpdateSample + operationId: UpdateTask parameters: - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) - that is the parent of the Task associated with the resource to update. + that is the parent of the resource to update. in: path name: AssistantSid required: true schema: type: string - - description: The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) - associated with the Sample resource to update. - in: path - name: TaskSid - required: true - schema: - type: string - - description: The Twilio-provided string that uniquely identifies the Sample + - description: The Twilio-provided string that uniquely identifies the Task resource to update. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^UF[0-9a-fA-F]{32}$ type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Language: - description: 'The [ISO language-country](https://docs.oracle.com/cd/E13214_01/wli/docs92/xref/xqisocodes.html) - string that specifies the language used for the sample. For example: - `en-US`.' + FriendlyName: + description: A descriptive string that you create to describe the + resource. It is not unique and can be up to 255 characters long. type: string - SourceChannel: - description: 'The communication channel from which the sample was - captured. Can be: `voice`, `sms`, `chat`, `alexa`, `google-assistant`, - `slack`, or null if not included.' + UniqueName: + description: An application-defined string that uniquely identifies + the resource. This value must be 64 characters or less in length + and be unique. It can be used as an alternative to the `sid` in + the URL path to address the resource. type: string - TaggedText: - description: The text example of how end users might express the - task. The sample can contain [Field tag blocks](https://www.twilio.com/docs/autopilot/api/task-sample#field-tagging). + Actions: + description: The JSON string that specifies the [actions](https://www.twilio.com/docs/autopilot/actions) + that instruct the Assistant on how to perform the task. + ActionsUrl: + description: The URL from which the Assistant can fetch actions. + format: uri type: string - title: UpdateSampleRequest + title: UpdateTaskRequest type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/autopilot.v1.assistant.task.sample' + $ref: '#/components/schemas/autopilot.v1.assistant.task' description: OK security: - accountSid_authToken: [] x-maturity: - Preview - servers: - - url: https://autopilot.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - tagged_text - - language - - source_channel - parent: /Assistants/{AssistantSid}/Tasks - pathType: instance - /v1/Assistants/{AssistantSid}/Tasks/{TaskSid}/Statistics: - description: 'TODO: Resource-level docs' - get: + delete: description: '' - operationId: FetchTaskStatistics + operationId: DeleteTask parameters: - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) - that is the parent of the resource to fetch. + that is the parent of the resources to delete. in: path name: AssistantSid required: true schema: type: string - - description: The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) - that is associated with the resource to fetch. + - description: The Twilio-provided string that uniquely identifies the Task + resource to delete. in: path - name: TaskSid + name: Sid required: true schema: type: string responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/autopilot.v1.assistant.task.task_statistics' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - Preview + /v1/Assistants/{AssistantSid}/Tasks: servers: - url: https://autopilot.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - className: task_statistics defaultOutputProperties: - - samples_count - - fields_count - parent: /Assistants/{AssistantSid}/Tasks - pathType: instance - /v1/Assistants/{AssistantSid}/Webhooks: - description: 'TODO: Resource-level docs' + - sid + - unique_name + - friendly_name + pathType: list + parent: /Assistants get: description: '' - operationId: ListWebhook + operationId: ListTask parameters: - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resources to read. @@ -2909,14 +2793,19 @@ paths: content: application/json: schema: + type: object + title: ListTaskResponse properties: + tasks: + type: array + items: + $ref: '#/components/schemas/autopilot.v1.assistant.task' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -2930,106 +2819,196 @@ paths: url: format: uri type: string - type: object - webhooks: - items: - $ref: '#/components/schemas/autopilot.v1.assistant.webhook' - type: array - title: ListWebhookResponse - type: object + key: + type: string + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - Preview + post: + description: '' + operationId: CreateTask + parameters: + - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) + that is the parent of the new resource. + in: path + name: AssistantSid + required: true + schema: + type: string + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + UniqueName: + description: An application-defined string that uniquely identifies + the new resource. It can be used as an alternative to the `sid` + in the URL path to address the resource. This value must be unique + and 64 characters or less in length. + type: string + FriendlyName: + description: A descriptive string that you create to describe the + new resource. It is not unique and can be up to 255 characters + long. + type: string + Actions: + description: The JSON string that specifies the [actions](https://www.twilio.com/docs/autopilot/actions) + that instruct the Assistant on how to perform the task. It is + optional and not unique. + ActionsUrl: + description: The URL from which the Assistant can fetch actions. + format: uri + type: string + required: + - UniqueName + title: CreateTaskRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/autopilot.v1.assistant.task' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - Preview + /v1/Assistants/{AssistantSid}/Tasks/{TaskSid}/Actions: + servers: + - url: https://autopilot.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - data + pathType: instance + parent: /Assistants/{AssistantSid}/Tasks + className: task_actions + get: + description: Returns JSON actions for the Task. + operationId: FetchTaskActions + parameters: + - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) + that is the parent of the Task for which the task actions to fetch were + defined. + in: path + name: AssistantSid + required: true + schema: + type: string + - description: The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) + for which the task actions to fetch were defined. + in: path + name: TaskSid + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/autopilot.v1.assistant.task.task_actions' description: OK security: - accountSid_authToken: [] x-maturity: - Preview post: - description: '' - operationId: CreateWebhook + description: Updates the actions of an Task identified by {TaskSid} or {TaskUniqueName}. + operationId: UpdateTaskActions parameters: - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) - that is the parent of the new resource. + that is the parent of the Task for which the task actions to update were + defined. in: path name: AssistantSid required: true schema: type: string + - description: The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) + for which the task actions to update were defined. + in: path + name: TaskSid + required: true + schema: + type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Events: - description: The list of space-separated events that this Webhook - will subscribe to. - type: string - UniqueName: - description: An application-defined string that uniquely identifies - the new resource. It can be used as an alternative to the `sid` - in the URL path to address the resource. This value must be unique - and 64 characters or less in length. - type: string - WebhookMethod: - description: The method to be used when calling the webhook's URL. - type: string - WebhookUrl: - description: The URL associated with this Webhook. - format: uri - type: string - required: - - UniqueName - - Events - - WebhookUrl - title: CreateWebhookRequest + Actions: + description: The JSON string that specifies the [actions](https://www.twilio.com/docs/autopilot/actions) + that instruct the Assistant on how to perform the task. + title: UpdateTaskActionsRequest type: object responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/autopilot.v1.assistant.webhook' - description: Created + $ref: '#/components/schemas/autopilot.v1.assistant.task.task_actions' + description: OK security: - accountSid_authToken: [] x-maturity: - Preview + /v1/Assistants/{AssistantSid}/Tasks/{TaskSid}/Statistics: servers: - url: https://autopilot.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - - sid - - unique_name - - events - - wehbook_url - - webhook_method - parent: /Assistants - pathType: list - /v1/Assistants/{AssistantSid}/Webhooks/{Sid}: - delete: + - samples_count + - fields_count + pathType: instance + parent: /Assistants/{AssistantSid}/Tasks + className: task_statistics + get: description: '' - operationId: DeleteWebhook + operationId: FetchTaskStatistics parameters: - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) - that is the parent of the resources to delete. + that is the parent of the resource to fetch. in: path name: AssistantSid required: true schema: type: string - - description: The Twilio-provided string that uniquely identifies the Webhook - resource to delete. + - description: The SID of the [Task](https://www.twilio.com/docs/autopilot/api/task) + that is associated with the resource to fetch. in: path - name: Sid + name: TaskSid required: true schema: type: string responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/autopilot.v1.assistant.task.task_statistics' + description: OK security: - accountSid_authToken: [] x-maturity: - Preview + /v1/Assistants/{AssistantSid}/Webhooks/{Sid}: + servers: + - url: https://autopilot.twilio.com description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - unique_name + - events + - wehbook_url + - webhook_method + pathType: instance + parent: /Assistants get: description: '' operationId: FetchWebhook @@ -3082,23 +3061,23 @@ paths: application/x-www-form-urlencoded: schema: properties: - Events: - description: The list of space-separated events that this Webhook - will subscribe to. - type: string UniqueName: description: An application-defined string that uniquely identifies the new resource. It can be used as an alternative to the `sid` in the URL path to address the resource. This value must be unique and 64 characters or less in length. type: string - WebhookMethod: - description: The method to be used when calling the webhook's URL. + Events: + description: The list of space-separated events that this Webhook + will subscribe to. type: string WebhookUrl: description: The URL associated with this Webhook. format: uri type: string + WebhookMethod: + description: The method to be used when calling the webhook's URL. + type: string title: UpdateWebhookRequest type: object responses: @@ -3112,23 +3091,18 @@ paths: - accountSid_authToken: [] x-maturity: - Preview - servers: - - url: https://autopilot.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - unique_name - - events - - wehbook_url - - webhook_method - parent: /Assistants - pathType: instance - /v1/Assistants/{Sid}: delete: description: '' - operationId: DeleteAssistant + operationId: DeleteWebhook parameters: - - description: The Twilio-provided string that uniquely identifies the Assistant + - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) + that is the parent of the resources to delete. + in: path + name: AssistantSid + required: true + schema: + type: string + - description: The Twilio-provided string that uniquely identifies the Webhook resource to delete. in: path name: Sid @@ -3142,24 +3116,71 @@ paths: - accountSid_authToken: [] x-maturity: - Preview + /v1/Assistants/{AssistantSid}/Webhooks: + servers: + - url: https://autopilot.twilio.com description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - unique_name + - events + - wehbook_url + - webhook_method + pathType: list + parent: /Assistants get: description: '' - operationId: FetchAssistant + operationId: ListWebhook parameters: - - description: The Twilio-provided string that uniquely identifies the Assistant - resource to fetch. + - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) + that is the parent of the resources to read. in: path - name: Sid + name: AssistantSid required: true schema: 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 responses: '200': content: application/json: schema: - $ref: '#/components/schemas/autopilot.v1.assistant' + type: object + title: ListWebhookResponse + properties: + webhooks: + type: array + items: + $ref: '#/components/schemas/autopilot.v1.assistant.webhook' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string description: OK security: - accountSid_authToken: [] @@ -3167,12 +3188,12 @@ paths: - Preview post: description: '' - operationId: UpdateAssistant + operationId: CreateWebhook parameters: - - description: The Twilio-provided string that uniquely identifies the Assistant - resource to update. + - description: The SID of the [Assistant](https://www.twilio.com/docs/autopilot/api/assistant) + that is the parent of the new resource. in: path - name: Sid + name: AssistantSid required: true schema: type: string @@ -3181,65 +3202,44 @@ paths: application/x-www-form-urlencoded: schema: properties: - CallbackEvents: - description: Reserved. - type: string - CallbackUrl: - description: Reserved. - format: uri + UniqueName: + description: An application-defined string that uniquely identifies + the new resource. It can be used as an alternative to the `sid` + in the URL path to address the resource. This value must be unique + and 64 characters or less in length. type: string - Defaults: - description: A JSON object that defines the Assistant's [default - tasks](https://www.twilio.com/docs/autopilot/api/assistant/defaults) - for various scenarios, including initiation actions and fallback - tasks. - DevelopmentStage: - description: A string describing the state of the assistant. + Events: + description: The list of space-separated events that this Webhook + will subscribe to. type: string - FriendlyName: - description: A descriptive string that you create to describe the - resource. It is not unique and can be up to 255 characters long. + WebhookUrl: + description: The URL associated with this Webhook. + format: uri type: string - LogQueries: - description: 'Whether queries should be logged and kept after training. - Can be: `true` or `false` and defaults to `true`. If `true`, queries - are stored for 30 days, and then deleted. If `false`, no queries - are stored.' - type: boolean - StyleSheet: - description: The JSON string that defines the Assistant's [style - sheet](https://www.twilio.com/docs/autopilot/api/assistant/stylesheet) - UniqueName: - description: An application-defined string that uniquely identifies - the resource. It can be used as an alternative to the `sid` in - the URL path to address the resource. The first 64 characters - must be unique. + WebhookMethod: + description: The method to be used when calling the webhook's URL. type: string - title: UpdateAssistantRequest + required: + - UniqueName + - Events + - WebhookUrl + title: CreateWebhookRequest type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/autopilot.v1.assistant' - description: OK + $ref: '#/components/schemas/autopilot.v1.assistant.webhook' + description: Created security: - accountSid_authToken: [] x-maturity: - Preview - servers: - - url: https://autopilot.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - unique_name - - friendly_name - pathType: instance servers: - url: https://autopilot.twilio.com x-maturity: -- description: PLEASE NOTE that this is a Preview product that is subject to change. +- name: Preview + description: PLEASE NOTE that this is a Preview product that is subject to change. Use it with caution. If you currently do not have developer preview access, please contact help@twilio.com. - name: Preview diff --git a/spec/yaml/twilio_bulkexports_v1.yaml b/spec/yaml/twilio_bulkexports_v1.yaml index 38e424ca..ae06bae0 100644 --- a/spec/yaml/twilio_bulkexports_v1.yaml +++ b/spec/yaml/twilio_bulkexports_v1.yaml @@ -1,24 +1,7 @@ components: schemas: - bulkexports.v1.export: - properties: - links: - description: Nested resource URLs. - format: uri-map - nullable: true - type: object - resource_type: - description: "The type of communication \u2013 Messages, Calls, Conferences,\ - \ and Participants" - nullable: true - type: string - url: - description: The URL of this resource. - format: uri - nullable: true - type: string - type: object bulkexports.v1.export.day: + type: object properties: create_date: description: The date when resource is created @@ -41,20 +24,64 @@ components: description: Size of the file in bytes nullable: true type: integer - type: object bulkexports.v1.export.day-instance: + type: object properties: redirect_to: format: uri nullable: true type: string + bulkexports.v1.export: type: object + properties: + links: + description: Nested resource URLs. + format: uri-map + nullable: true + type: object + resource_type: + description: "The type of communication \u2013 Messages, Calls, Conferences,\ + \ and Participants" + nullable: true + type: string + url: + description: The URL of this resource. + format: uri + nullable: true + type: string + bulkexports.v1.export_configuration: + type: object + properties: + enabled: + description: Whether files are automatically generated + nullable: true + type: boolean + resource_type: + description: "The type of communication \u2013 Messages, Calls, Conferences,\ + \ and Participants" + nullable: true + type: string + url: + description: The URL of this resource. + format: uri + nullable: true + type: string + webhook_method: + description: Whether to GET or POST to the webhook url + nullable: true + type: string + webhook_url: + description: URL targeted at export + format: uri + nullable: true + type: string bulkexports.v1.export.export_custom_job: + type: object properties: details: + nullable: true description: The details of a job state which is an object that contains a `status` string, a day count integer, and list of days in the job - nullable: true email: description: The optional email to send the completion notification to nullable: true @@ -86,13 +113,13 @@ components: nullable: true type: string job_sid: - description: The unique job_sid returned when the custom export was created. - This can be used to look up the status of the job. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^JS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique job_sid returned when the custom export was created. + This can be used to look up the status of the job. resource_type: description: "The type of communication \u2013 Messages, Calls, Conferences,\ \ and Participants" @@ -111,13 +138,13 @@ components: description: The optional webhook url called on completion nullable: true type: string - type: object bulkexports.v1.export.job: + type: object properties: details: + nullable: true description: The details of a job state which is an object that contains a `status` string, a day count integer, and list of days in the job - nullable: true email: description: The optional email to send the completion notification to nullable: true @@ -144,12 +171,12 @@ components: nullable: true type: string job_sid: - description: The job_sid returned when the export was created - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^JS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The job_sid returned when the export was created resource_type: description: "The type of communication \u2013 Messages, Calls, Conferences,\ \ and Participants" @@ -171,33 +198,6 @@ components: description: The optional webhook url called on completion nullable: true type: string - type: object - bulkexports.v1.export_configuration: - properties: - enabled: - description: Whether files are automatically generated - nullable: true - type: boolean - resource_type: - description: "The type of communication \u2013 Messages, Calls, Conferences,\ - \ and Participants" - nullable: true - type: string - url: - description: The URL of this resource. - format: uri - nullable: true - type: string - webhook_method: - description: Whether to GET or POST to the webhook url - nullable: true - type: string - webhook_url: - description: URL targeted at export - format: uri - nullable: true - type: string - type: object securitySchemes: accountSid_authToken: scheme: basic @@ -216,73 +216,127 @@ info: version: 1.30.0 openapi: 3.0.1 paths: - /v1/Exports/Jobs/{JobSid}: - delete: - description: '' - operationId: DeleteJob + /v1/Exports/{ResourceType}/Days/{Day}: + servers: + - url: https://bulkexports.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - friendly_name + - create_date + - day + - resource_type + - size + - redirectTo + pathType: instance + parent: /Exports + get: + description: Fetch a specific Day. + operationId: FetchDay parameters: - - description: The unique string that that we created to identify the Bulk Export - job + - description: "The type of communication \u2013 Messages, Calls, Conferences,\ + \ and Participants" in: path - name: JobSid + name: ResourceType + required: true + schema: + type: string + - description: The ISO 8601 format date of the resources in the file, for a + UTC day + in: path + name: Day required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^JS[0-9a-fA-F]{32}$ type: string responses: - '204': - description: The resource was deleted successfully. + '307': + content: + application/json: + schema: + $ref: '#/components/schemas/bulkexports.v1.export.day-instance' + description: Temporary Redirect security: - accountSid_authToken: [] x-maturity: - GA + /v1/Exports/{ResourceType}/Days: + servers: + - url: https://bulkexports.twilio.com description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - friendly_name + - create_date + - day + - resource_type + - size + - redirectTo + pathType: list + parent: /Exports get: - description: '' - operationId: FetchJob + description: Retrieve a list of all Days for a resource. + operationId: ListDay parameters: - - description: The unique string that that we created to identify the Bulk Export - job + - description: "The type of communication \u2013 Messages, Calls, Conferences,\ + \ and Participants" in: path - name: JobSid + name: ResourceType required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^JS[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 responses: '200': content: application/json: schema: - $ref: '#/components/schemas/bulkexports.v1.export.job' + type: object + title: ListDayResponse + properties: + days: + type: array + items: + $ref: '#/components/schemas/bulkexports.v1.export.day' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Exports/{ResourceType}: servers: - url: https://bulkexports.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - defaultOutputProperties: - - details - - email - - end_day - - estimated_completion_time - - friendly_name - - job_queue_position - - job_sid - - resource_type - - start_day - - webhook_method - - webhook_url - parent: /Exports + defaultOutputProperties: [] pathType: instance - /v1/Exports/{ResourceType}: - description: 'TODO: Resource-level docs' get: description: Fetch a specific Export. operationId: FetchExport @@ -305,13 +359,19 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Exports/{ResourceType}/Configuration: servers: - url: https://bulkexports.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - defaultOutputProperties: [] + defaultOutputProperties: + - enabled + - resource_type + - url + - webhook_method + - webhook_url pathType: instance - /v1/Exports/{ResourceType}/Configuration: - description: 'TODO: Resource-level docs' + className: export_configuration get: description: Fetch a specific Export Configuration. operationId: FetchExportConfiguration @@ -354,16 +414,16 @@ paths: description: If true, Twilio will automatically generate every day's file when the day is over. type: boolean - WebhookMethod: - description: Sets whether Twilio should call a webhook URL when - the automatic generation is complete, using GET or POST. The actual - destination is set in the webhook_url - type: string WebhookUrl: description: Stores the URL destination for the method specified in webhook_method. format: uri type: string + WebhookMethod: + description: Sets whether Twilio should call a webhook URL when + the automatic generation is complete, using GET or POST. The actual + destination is set in the webhook_url + type: string title: UpdateExportConfigurationRequest type: object responses: @@ -377,133 +437,26 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Exports/{ResourceType}/Jobs: servers: - url: https://bulkexports.twilio.com - x-twilio: - className: export_configuration - defaultOutputProperties: - - enabled - - resource_type - - url - - webhook_method - - webhook_url - pathType: instance - /v1/Exports/{ResourceType}/Days: description: 'TODO: Resource-level docs' - get: - description: Retrieve a list of all Days for a resource. - operationId: ListDay - parameters: - - description: "The type of communication \u2013 Messages, Calls, Conferences,\ - \ and Participants" - in: path - name: ResourceType - required: true - schema: - 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 - responses: - '200': - content: - application/json: - schema: - properties: - days: - items: - $ref: '#/components/schemas/bulkexports.v1.export.day' - type: array - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - title: ListDayResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://bulkexports.twilio.com x-twilio: defaultOutputProperties: + - details + - email + - end_day + - estimated_completion_time - friendly_name - - create_date - - day + - job_queue_position + - job_sid - resource_type - - size - - redirectTo - parent: /Exports + - start_day + - webhook_method + - webhook_url pathType: list - /v1/Exports/{ResourceType}/Days/{Day}: - description: 'TODO: Resource-level docs' - get: - description: Fetch a specific Day. - operationId: FetchDay - parameters: - - description: "The type of communication \u2013 Messages, Calls, Conferences,\ - \ and Participants" - in: path - name: ResourceType - required: true - schema: - type: string - - description: The ISO 8601 format date of the resources in the file, for a - UTC day - in: path - name: Day - required: true - schema: - type: string - responses: - '307': - content: - application/json: - schema: - $ref: '#/components/schemas/bulkexports.v1.export.day-instance' - description: Temporary Redirect - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://bulkexports.twilio.com - x-twilio: - defaultOutputProperties: - - friendly_name - - create_date - - day - - resource_type - - size - - redirectTo parent: /Exports - pathType: instance - /v1/Exports/{ResourceType}/Jobs: - description: 'TODO: Resource-level docs' + className: export_custom_job get: description: '' operationId: ListExportCustomJob @@ -528,18 +481,19 @@ paths: content: application/json: schema: + type: object + title: ListExportCustomJobResponse properties: jobs: + type: array items: $ref: '#/components/schemas/bulkexports.v1.export.export_custom_job' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -553,9 +507,8 @@ paths: url: format: uri type: string - type: object - title: ListExportCustomJobResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] @@ -577,11 +530,9 @@ paths: application/x-www-form-urlencoded: schema: properties: - Email: - description: The optional email to send the completion notification - to. You can set both webhook, and email, or one or the other. - If you set neither, the job will run but you will have to query - to determine your job's status. + StartDay: + description: The start day for the custom export specified as a + string in the format of yyyy-mm-dd type: string EndDay: description: The end day for the custom export specified as a string @@ -591,20 +542,22 @@ paths: FriendlyName: description: The friendly name specified when creating the job type: string - StartDay: - description: The start day for the custom export specified as a - string in the format of yyyy-mm-dd - type: string - WebhookMethod: - description: This is the method used to call the webhook on completion - of the job. If this is supplied, `WebhookUrl` must also be supplied. - type: string WebhookUrl: description: The optional webhook url called on completion of the job. If this is supplied, `WebhookMethod` must also be supplied. If you set neither webhook nor email, you will have to check your job's status manually. type: string + WebhookMethod: + description: This is the method used to call the webhook on completion + of the job. If this is supplied, `WebhookUrl` must also be supplied. + type: string + Email: + description: The optional email to send the completion notification + to. You can set both webhook, and email, or one or the other. + If you set neither, the job will run but you will have to query + to determine your job's status. + type: string required: - StartDay - EndDay @@ -622,10 +575,11 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Exports/Jobs/{JobSid}: servers: - url: https://bulkexports.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - className: export_custom_job defaultOutputProperties: - details - email @@ -638,10 +592,56 @@ paths: - start_day - webhook_method - webhook_url + pathType: instance parent: /Exports - pathType: list + get: + description: '' + operationId: FetchJob + parameters: + - description: The unique string that that we created to identify the Bulk Export + job + in: path + name: JobSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^JS[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/bulkexports.v1.export.job' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + delete: + description: '' + operationId: DeleteJob + parameters: + - description: The unique string that that we created to identify the Bulk Export + job + in: path + name: JobSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^JS[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA servers: - url: https://bulkexports.twilio.com x-maturity: -- description: This product is Generally Available. - name: GA +- name: GA + description: This product is Generally Available. diff --git a/spec/yaml/twilio_chat_v1.yaml b/spec/yaml/twilio_chat_v1.yaml index e68d69be..b27960be 100644 --- a/spec/yaml/twilio_chat_v1.yaml +++ b/spec/yaml/twilio_chat_v1.yaml @@ -1,176 +1,15 @@ components: schemas: - chat.v1.credential: - properties: - account_sid: - description: The SID of the Account that created the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - date_created: - description: The RFC 2822 date and time in GMT when the resource was created - format: date-time - nullable: true - type: string - date_updated: - description: The RFC 2822 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 - sandbox: - description: '[APN only] Whether to send the credential to sandbox APNs' - nullable: true - type: string - sid: - description: The unique string that identifies the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^CR[0-9a-fA-F]{32}$ - type: string - type: - description: The type of push-notification service the credential is for - enum: - - gcm - - apn - - fcm - nullable: true - type: string - url: - description: The absolute URL of the Credential resource - format: uri - nullable: true - type: string + chat.v1.service.channel: type: object - chat.v1.service: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - consumption_report_interval: - description: DEPRECATED - nullable: true - type: integer - date_created: - description: The RFC 2822 date and time in GMT when the resource was created - format: date-time - nullable: true type: string - date_updated: - description: The RFC 2822 date and time in GMT when the resource was last - updated - format: date-time - nullable: true - type: string - default_channel_creator_role_sid: - description: The channel role assigned to a channel creator when they join - a new channel - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^RL[0-9a-fA-F]{32}$ - type: string - default_channel_role_sid: - description: The channel role assigned to users when they are added to a - channel - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^RL[0-9a-fA-F]{32}$ - type: string - default_service_role_sid: - description: The service role assigned to users when they are added to the - service - maxLength: 34 minLength: 34 - nullable: true - pattern: ^RL[0-9a-fA-F]{32}$ - type: string - friendly_name: - description: The string that you assigned to describe the resource - nullable: true - type: string - limits: - description: An object that describes the limits of the service instance - nullable: true - links: - description: The absolute URLs of the Service's Channels, Roles, and Users - format: uri-map - nullable: true - type: object - notifications: - description: The notification configuration for the Service instance - nullable: true - post_webhook_url: - description: The URL for post-event webhooks - nullable: true - type: string - pre_webhook_url: - description: The webhook URL for pre-event webhooks - nullable: true - type: string - reachability_enabled: - description: Whether the Reachability Indicator feature is enabled for this - Service instance - nullable: true - type: boolean - read_status_enabled: - description: Whether the Message Consumption Horizon feature is enabled - nullable: true - type: boolean - sid: - description: The unique string that identifies the resource maxLength: 34 - minLength: 34 - nullable: true - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - typing_indicator_timeout: - description: How long in seconds to wait before assuming the user is no - longer typing - nullable: true - type: integer - url: - description: The absolute URL of the Service resource - format: uri - nullable: true - type: string - webhook_filters: - description: The list of WebHook events that are enabled for this Service - instance - items: - type: string - nullable: true - type: array - webhook_method: - description: The HTTP method to use for both PRE and POST webhooks - nullable: true - type: string - webhooks: - description: An object that contains information about the webhooks configured - for this service + pattern: ^AC[0-9a-fA-F]{32}$ nullable: true - type: object - chat.v1.service.channel: - properties: - account_sid: description: The SID of the Account that created the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string attributes: description: The JSON string that stores application-specific data nullable: true @@ -180,16 +19,16 @@ components: nullable: true type: string date_created: - description: The RFC 2822 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was created date_updated: - description: The RFC 2822 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was last + updated friendly_name: description: The string that you assigned to describe the resource nullable: true @@ -209,26 +48,26 @@ components: nullable: true type: integer service_sid: - description: The SID of the Service that the resource is associated with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Service that the resource is associated with sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource type: - description: 'The visibility of the channel. Can be: `public` or `private`' + type: string enum: - public - private nullable: true - type: string + description: 'The visibility of the channel. Can be: `public` or `private`' unique_name: description: An application-defined string that uniquely identifies the resource @@ -239,96 +78,145 @@ components: format: uri nullable: true type: string + chat.v1.credential: type: object - chat.v1.service.channel.invite: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ type: string - channel_sid: - description: The SID of the Channel the new resource belongs to - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ nullable: true - pattern: ^CH[0-9a-fA-F]{32}$ + description: The SID of the Account that created the resource + date_created: type: string - created_by: - description: The identity of the User that created the invite + format: date-time nullable: true - type: string - date_created: description: The RFC 2822 date and time in GMT when the resource was created + date_updated: + type: string format: date-time nullable: true - type: string - date_updated: description: The RFC 2822 date and time in GMT when the resource was last updated - format: date-time + friendly_name: + description: The string that you assigned to describe the resource nullable: true type: string - identity: - description: The string that identifies the resource's User + sandbox: + description: '[APN only] Whether to send the credential to sandbox APNs' nullable: true type: string - role_sid: - description: The SID of the Role assigned to the member - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^RL[0-9a-fA-F]{32}$ + sid: type: string - service_sid: - description: The SID of the Service that the resource is associated with - maxLength: 34 minLength: 34 - nullable: true - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - sid: - description: The unique string that identifies the resource maxLength: 34 - minLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ nullable: true - pattern: ^IN[0-9a-fA-F]{32}$ + description: The unique string that identifies the resource + type: type: string + enum: + - gcm + - apn + - fcm + nullable: true + description: The type of push-notification service the credential is for url: - description: The absolute URL of the Invite resource + description: The absolute URL of the Credential resource format: uri nullable: true type: string + chat.v1.service.channel.invite: type: object - chat.v1.service.channel.member: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource channel_sid: - description: The unique ID of the Channel for the member - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Channel the new resource belongs to + created_by: + description: The identity of the User that created the invite + nullable: true type: string date_created: - description: The RFC 2822 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was created date_updated: + type: string + format: date-time + nullable: true description: The RFC 2822 date and time in GMT when the resource was last updated + identity: + description: The string that identifies the resource's User + nullable: true + type: string + role_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Role assigned to the member + service_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Service that the resource is associated with + sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IN[0-9a-fA-F]{32}$ + nullable: true + description: The unique string that identifies the resource + url: + description: The absolute URL of the Invite resource + format: uri + nullable: true + type: string + chat.v1.service.channel.member: + type: object + properties: + account_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created the resource + channel_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CH[0-9a-fA-F]{32}$ + nullable: true + description: The unique ID of the Channel for the member + date_created: + type: string format: date-time nullable: true + description: The RFC 2822 date and time in GMT when the resource was created + date_updated: type: string + format: date-time + nullable: true + description: The RFC 2822 date and time in GMT when the resource was last + updated identity: description: The string that identifies the resource's User nullable: true @@ -339,47 +227,47 @@ components: nullable: true type: integer last_consumption_timestamp: - description: The ISO 8601 based timestamp string that represents the date-time - of the last Message read event for the Member within the Channel + type: string format: date-time nullable: true - type: string + description: The ISO 8601 based timestamp string that represents the date-time + of the last Message read event for the Member within the Channel role_sid: - description: The SID of the Role assigned to the member - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Role assigned to the member service_sid: - description: The SID of the Service that the resource is associated with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Service that the resource is associated with sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^MB[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource url: description: The absolute URL of the Member resource format: uri nullable: true type: string - type: object chat.v1.service.channel.message: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource attributes: description: The JSON string that stores application-specific data nullable: true @@ -389,23 +277,23 @@ components: nullable: true type: string channel_sid: - description: The unique ID of the Channel the Message resource belongs to - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Channel the Message resource belongs to date_created: - description: The RFC 2822 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was created date_updated: - description: The RFC 2822 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was last + updated from: description: The identity of the message's author nullable: true @@ -415,26 +303,26 @@ components: nullable: true type: integer service_sid: - description: The SID of the Service that the resource is associated with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Service that the resource is associated with sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IM[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource to: - description: The SID of the Channel that the message was sent to - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Channel that the message was sent to url: description: The absolute URL of the Message resource format: uri @@ -444,96 +332,209 @@ components: description: Whether the message has been edited since it was created nullable: true type: boolean - type: object chat.v1.service.role: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource date_created: - description: The RFC 2822 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was created date_updated: - description: The RFC 2822 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was last + updated friendly_name: description: The string that you assigned to describe the resource nullable: true type: string permissions: - description: An array of the permissions the role has been granted + type: array items: type: string nullable: true - type: array + description: An array of the permissions the role has been granted service_sid: - description: The SID of the Service that the resource is associated with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Service that the resource is associated with sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource type: - description: The type of role + type: string enum: - channel - deployment nullable: true - type: string + description: The type of role url: description: The absolute URL of the Role resource format: uri nullable: true type: string + chat.v1.service: type: object - chat.v1.service.user: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - attributes: - description: The JSON string that stores application-specific data nullable: true - type: string + description: The SID of the Account that created the resource + consumption_report_interval: + description: DEPRECATED + nullable: true + type: integer date_created: - description: The RFC 2822 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was created date_updated: + type: string + format: date-time + nullable: true description: The RFC 2822 date and time in GMT when the resource was last updated - format: date-time + default_channel_creator_role_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ + nullable: true + description: The channel role assigned to a channel creator when they join + a new channel + default_channel_role_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ nullable: true + description: The channel role assigned to users when they are added to a + channel + default_service_role_sid: type: string + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ + nullable: true + description: The service role assigned to users when they are added to the + service friendly_name: description: The string that you assigned to describe the resource nullable: true type: string - identity: - description: The string that identifies the resource's User + limits: nullable: true - type: string + description: An object that describes the limits of the service instance + links: + description: The absolute URLs of the Service's Channels, Roles, and Users + format: uri-map + nullable: true + type: object + notifications: + nullable: true + description: The notification configuration for the Service instance + post_webhook_url: + description: The URL for post-event webhooks + nullable: true + type: string + pre_webhook_url: + description: The webhook URL for pre-event webhooks + nullable: true + type: string + reachability_enabled: + description: Whether the Reachability Indicator feature is enabled for this + Service instance + nullable: true + type: boolean + read_status_enabled: + description: Whether the Message Consumption Horizon feature is enabled + nullable: true + type: boolean + sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + nullable: true + description: The unique string that identifies the resource + typing_indicator_timeout: + description: How long in seconds to wait before assuming the user is no + longer typing + nullable: true + type: integer + url: + description: The absolute URL of the Service resource + format: uri + nullable: true + type: string + webhook_filters: + type: array + items: + type: string + nullable: true + description: The list of WebHook events that are enabled for this Service + instance + webhook_method: + description: The HTTP method to use for both PRE and POST webhooks + nullable: true + type: string + webhooks: + nullable: true + description: An object that contains information about the webhooks configured + for this service + chat.v1.service.user: + type: object + properties: + account_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created the resource + attributes: + description: The JSON string that stores application-specific data + nullable: true + type: string + date_created: + type: string + format: date-time + nullable: true + description: The RFC 2822 date and time in GMT when the resource was created + date_updated: + type: string + format: date-time + nullable: true + description: The RFC 2822 date and time in GMT when the resource was last + updated + friendly_name: + description: The string that you assigned to describe the resource + nullable: true + type: string + identity: + description: The string that identifies the resource's User + nullable: true + type: string is_notifiable: description: Whether the User has a potentially valid Push Notification registration for the Service instance @@ -555,48 +556,48 @@ components: nullable: true type: object role_sid: - description: The SID of the assigned to the user - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the assigned to the user service_sid: - description: The SID of the Service that the resource is associated with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Service that the resource is associated with sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^US[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource url: description: The absolute URL of the User resource format: uri nullable: true type: string - type: object chat.v1.service.user.user_channel: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource channel_sid: - description: The SID of the Channel the resource belongs to - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Channel the resource belongs to last_consumed_message_index: description: The index of the last Message in the Channel the Member has read @@ -609,32 +610,31 @@ components: nullable: true type: object member_sid: - description: The SID of the User as a Member in the Channel - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^MB[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the User as a Member in the Channel service_sid: - description: The SID of the Service that the resource is associated with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Service that the resource is associated with status: - description: The status of the User on the Channel + type: string enum: - joined - invited - not_participating nullable: true - type: string + description: The status of the User on the Channel unread_messages_count: description: The number of unread Messages in the Channel for the User nullable: true type: integer - type: object securitySchemes: accountSid_authToken: scheme: basic @@ -653,257 +653,219 @@ info: version: 1.30.0 openapi: 3.0.1 paths: - /v1/Credentials: - description: Credentials for push notifications channels + /v1/Services/{ServiceSid}/Channels/{Sid}: + servers: + - url: https://chat.twilio.com + description: Channels represent chat rooms + x-twilio: + defaultOutputProperties: + - sid + - unique_name + - friendly_name + pathType: instance + parent: /Services get: description: '' - operationId: ListCredential + operationId: FetchChannel parameters: - - description: How many resources to return in each list page. The default is - 50, and the maximum is 1000. - in: query - name: PageSize + - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) + to fetch the resource from. + in: path + name: ServiceSid + required: true schema: - maximum: 1000 - minimum: 1 - type: integer + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Channel + resource to fetch. + in: path + name: Sid + required: true + schema: + type: string responses: '200': content: application/json: schema: - properties: - credentials: - items: - $ref: '#/components/schemas/chat.v1.credential' - type: array - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - title: ListCredentialResponse - type: object + $ref: '#/components/schemas/chat.v1.service.channel' description: OK security: - accountSid_authToken: [] x-maturity: - GA + delete: + description: '' + operationId: DeleteChannel + parameters: + - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) + to delete the resource from. + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Channel + resource to delete. + in: path + name: Sid + required: true + schema: + type: string + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA post: description: '' - operationId: CreateCredential - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - ApiKey: - description: '[GCM only] The API key for the project that was obtained - from the Google Developer console for your GCM Service application - credential.' - type: string - Certificate: - description: "[APN only] The URL encoded representation of the certificate.\ - \ For example, \n`-----BEGIN CERTIFICATE-----\nMIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV.....A==\n\ - -----END CERTIFICATE-----`" - type: string + operationId: UpdateChannel + parameters: + - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) + to update the resource from. + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Channel + resource to update. + in: path + name: Sid + required: true + schema: + type: string + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: FriendlyName: description: A descriptive string that you create to describe the - new resource. It can be up to 64 characters long. - type: string - PrivateKey: - description: '[APN only] The URL encoded representation of the private - key. For example, - - `-----BEGIN RSA PRIVATE KEY----- - - MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fGgvCI1l9s+cmBY3WIz+cUDqmxiieR. - - -----END RSA PRIVATE KEY-----`' + resource. It can be up to 64 characters long. type: string - Sandbox: - description: '[APN only] Whether to send the credential to sandbox - APNs. Can be `true` to send to sandbox APNs or `false` to send - to production.' - type: boolean - Secret: - description: '[FCM only] The **Server key** of your project from - the Firebase console, found under Settings / Cloud messaging.' + UniqueName: + description: An application-defined string that uniquely identifies + the resource. It can be used to address the resource in place + of the resource's `sid` in the URL. This value must be 64 characters + or less in length and be unique within the Service. type: string - Type: - description: 'The type of push-notification service the credential - is for. Can be: `gcm`, `fcm`, or `apn`.' - enum: - - gcm - - apn - - fcm + Attributes: + description: A valid JSON string that contains application-specific + data. type: string - required: - - Type - title: CreateCredentialRequest + title: UpdateChannelRequest type: object responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/chat.v1.credential' - description: Created + $ref: '#/components/schemas/chat.v1.service.channel' + description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ServiceSid}/Channels: servers: - url: https://chat.twilio.com + description: Channels represent chat rooms x-twilio: defaultOutputProperties: - sid + - unique_name - friendly_name - - type pathType: list - /v1/Credentials/{Sid}: - delete: + parent: /Services + post: description: '' - operationId: DeleteCredential + operationId: CreateChannel parameters: - - description: The Twilio-provided string that uniquely identifies the Credential - resource to delete. + - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) + to create the resource under. in: path - name: Sid + name: ServiceSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^CR[0-9a-fA-F]{32}$ type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: Credentials for push notifications channels - get: - description: '' - operationId: FetchCredential - parameters: - - description: The Twilio-provided string that uniquely identifies the Credential - resource to fetch. - in: path - name: Sid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^CR[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/chat.v1.credential' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: '' - operationId: UpdateCredential - parameters: - - description: The Twilio-provided string that uniquely identifies the Credential - resource to update. - in: path - name: Sid - required: true - schema: maxLength: 34 - minLength: 34 - pattern: ^CR[0-9a-fA-F]{32}$ - type: string + pattern: ^IS[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - ApiKey: - description: '[GCM only] The API key for the project that was obtained - from the Google Developer console for your GCM Service application - credential.' - type: string - Certificate: - description: "[APN only] The URL encoded representation of the certificate.\ - \ For example, \n`-----BEGIN CERTIFICATE-----\nMIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV.....A==\n\ - -----END CERTIFICATE-----`" - type: string FriendlyName: description: A descriptive string that you create to describe the - resource. It can be up to 64 characters long. + new resource. It can be up to 64 characters long. type: string - PrivateKey: - description: '[APN only] The URL encoded representation of the private - key. For example, - - `-----BEGIN RSA PRIVATE KEY----- - - MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fGgvCI1l9s+cmBY3WIz+cUDqmxiieR. - - -----END RSA PRIVATE KEY-----`' + UniqueName: + description: An application-defined string that uniquely identifies + the resource. It can be used to address the resource in place + of the resource's `sid` in the URL. This value must be 64 characters + or less in length and be unique within the Service. type: string - Sandbox: - description: '[APN only] Whether to send the credential to sandbox - APNs. Can be `true` to send to sandbox APNs or `false` to send - to production.' - type: boolean - Secret: - description: '[FCM only] The **Server key** of your project from - the Firebase console, found under Settings / Cloud messaging.' + Attributes: + description: A valid JSON string that contains application-specific + data. type: string - title: UpdateCredentialRequest + Type: + type: string + enum: + - public + - private + description: 'The visibility of the channel. Can be: `public` or + `private` and defaults to `public`.' + title: CreateChannelRequest type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/chat.v1.credential' - description: OK + $ref: '#/components/schemas/chat.v1.service.channel' + description: Created security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://chat.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - type - pathType: instance - /v1/Services: - description: Top level scope for all chat resources get: description: '' - operationId: ListService + operationId: ListChannel parameters: + - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) + to read the resources from. + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: 'The visibility of the Channels to read. Can be: `public` or + `private` and defaults to `public`.' + in: query + name: Type + schema: + type: array + items: + type: string + enum: + - public + - private - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -917,14 +879,19 @@ paths: content: application/json: schema: + type: object + title: ListChannelResponse properties: + channels: + type: array + items: + $ref: '#/components/schemas/chat.v1.service.channel' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -938,80 +905,27 @@ paths: url: format: uri type: string - type: object - services: - items: - $ref: '#/components/schemas/chat.v1.service' - type: array - title: ListServiceResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: '' - operationId: CreateService - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - FriendlyName: - description: A descriptive string that you create to describe the - resource. It can be up to 64 characters long. - type: string - required: - - FriendlyName - title: CreateServiceRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/chat.v1.service' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA + /v1/Credentials: servers: - url: https://chat.twilio.com + description: Credentials for push notifications channels x-twilio: defaultOutputProperties: - sid - friendly_name - - date_created + - type pathType: list - /v1/Services/{ServiceSid}/Channels: - description: Channels represent chat rooms get: description: '' - operationId: ListChannel + operationId: ListCredential parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) - to read the resources from. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: 'The visibility of the Channels to read. Can be: `public` or - `private` and defaults to `public`.' - in: query - name: Type - schema: - items: - enum: - - public - - private - type: string - type: array - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -1025,18 +939,19 @@ paths: content: application/json: schema: + type: object + title: ListCredentialResponse properties: - channels: - items: - $ref: '#/components/schemas/chat.v1.service.channel' + credentials: type: array + items: + $ref: '#/components/schemas/chat.v1.credential' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1050,9 +965,8 @@ paths: url: format: uri type: string - type: object - title: ListChannelResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] @@ -1060,139 +974,98 @@ paths: - GA post: description: '' - operationId: CreateChannel - parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) - to create the resource under. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string + operationId: CreateCredential requestBody: content: application/x-www-form-urlencoded: schema: properties: - Attributes: - description: A valid JSON string that contains application-specific - data. + Type: type: string + enum: + - gcm + - apn + - fcm + description: 'The type of push-notification service the credential + is for. Can be: `gcm`, `fcm`, or `apn`.' FriendlyName: description: A descriptive string that you create to describe the new resource. It can be up to 64 characters long. type: string - Type: - description: 'The visibility of the channel. Can be: `public` or - `private` and defaults to `public`.' - enum: - - public - - private + Certificate: + description: "[APN only] The URL encoded representation of the certificate.\ + \ For example, \n`-----BEGIN CERTIFICATE-----\nMIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV.....A==\n\ + -----END CERTIFICATE-----`" type: string - UniqueName: - description: An application-defined string that uniquely identifies - the resource. It can be used to address the resource in place - of the resource's `sid` in the URL. This value must be 64 characters - or less in length and be unique within the Service. + PrivateKey: + description: '[APN only] The URL encoded representation of the private + key. For example, + + `-----BEGIN RSA PRIVATE KEY----- + + MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fGgvCI1l9s+cmBY3WIz+cUDqmxiieR. + + -----END RSA PRIVATE KEY-----`' type: string - title: CreateChannelRequest + Sandbox: + description: '[APN only] Whether to send the credential to sandbox + APNs. Can be `true` to send to sandbox APNs or `false` to send + to production.' + type: boolean + ApiKey: + description: '[GCM only] The API key for the project that was obtained + from the Google Developer console for your GCM Service application + credential.' + type: string + Secret: + description: '[FCM only] The **Server key** of your project from + the Firebase console, found under Settings / Cloud messaging.' + type: string + required: + - Type + title: CreateCredentialRequest type: object responses: '201': content: application/json: schema: - $ref: '#/components/schemas/chat.v1.service.channel' + $ref: '#/components/schemas/chat.v1.credential' description: Created security: - accountSid_authToken: [] x-maturity: - GA + /v1/Credentials/{Sid}: servers: - url: https://chat.twilio.com + description: Credentials for push notifications channels x-twilio: defaultOutputProperties: - sid - - unique_name - friendly_name - parent: /Services - pathType: list - /v1/Services/{ServiceSid}/Channels/{ChannelSid}/Invites: - description: Pending invitations to users to become channel members + - type + pathType: instance get: description: '' - operationId: ListInvite + operationId: FetchCredential parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) - to read the resources from. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) - the resources to read belong to. + - description: The Twilio-provided string that uniquely identifies the Credential + resource to fetch. in: path - name: ChannelSid + name: Sid required: true schema: type: string - - description: The [User](https://www.twilio.com/docs/api/chat/rest/v1/user)'s - `identity` value of the resources to read. See [access tokens](https://www.twilio.com/docs/api/chat/guides/create-tokens) - for more details. - in: query - name: Identity - schema: - items: - type: string - type: array - - 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 + minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - properties: - invites: - items: - $ref: '#/components/schemas/chat.v1.service.channel.invite' - type: array - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - title: ListInviteResponse - type: object + $ref: '#/components/schemas/chat.v1.credential' description: OK security: - accountSid_authToken: [] @@ -1200,164 +1073,250 @@ paths: - GA post: description: '' - operationId: CreateInvite + operationId: UpdateCredential parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) - to create the resource under. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) - the new resource belongs to. + - description: The Twilio-provided string that uniquely identifies the Credential + resource to update. in: path - name: ChannelSid + name: Sid required: true schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - Identity: - description: The `identity` value that uniquely identifies the new - resource's [User](https://www.twilio.com/docs/api/chat/rest/v1/user) - within the [Service](https://www.twilio.com/docs/api/chat/rest/v1/service). - See [access tokens](https://www.twilio.com/docs/api/chat/guides/create-tokens) - for more info. + FriendlyName: + description: A descriptive string that you create to describe the + resource. It can be up to 64 characters long. type: string - RoleSid: - description: The SID of the [Role](https://www.twilio.com/docs/api/chat/rest/roles) - assigned to the new member. - maxLength: 34 - minLength: 34 - pattern: ^RL[0-9a-fA-F]{32}$ + Certificate: + description: "[APN only] The URL encoded representation of the certificate.\ + \ For example, \n`-----BEGIN CERTIFICATE-----\nMIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV.....A==\n\ + -----END CERTIFICATE-----`" type: string - required: - - Identity - title: CreateInviteRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/chat.v1.service.channel.invite' - description: Created + PrivateKey: + description: '[APN only] The URL encoded representation of the private + key. For example, + + `-----BEGIN RSA PRIVATE KEY----- + + MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fGgvCI1l9s+cmBY3WIz+cUDqmxiieR. + + -----END RSA PRIVATE KEY-----`' + type: string + Sandbox: + description: '[APN only] Whether to send the credential to sandbox + APNs. Can be `true` to send to sandbox APNs or `false` to send + to production.' + type: boolean + ApiKey: + description: '[GCM only] The API key for the project that was obtained + from the Google Developer console for your GCM Service application + credential.' + type: string + Secret: + description: '[FCM only] The **Server key** of your project from + the Firebase console, found under Settings / Cloud messaging.' + type: string + title: UpdateCredentialRequest + type: object + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/chat.v1.credential' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + delete: + description: '' + operationId: DeleteCredential + parameters: + - description: The Twilio-provided string that uniquely identifies the Credential + resource to delete. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ServiceSid}/Channels/{ChannelSid}/Invites/{Sid}: servers: - url: https://chat.twilio.com + description: Pending invitations to users to become channel members x-twilio: defaultOutputProperties: - sid - identity - date_created + pathType: instance parent: /Services/{ServiceSid}/Channels - pathType: list - /v1/Services/{ServiceSid}/Channels/{ChannelSid}/Invites/{Sid}: - delete: + get: description: '' - operationId: DeleteInvite + operationId: FetchInvite parameters: - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) - to delete the resource from. + to fetch the resource from. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The SID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) - the resource to delete belongs to. + the resource to fetch belongs to. in: path name: ChannelSid required: true schema: type: string - description: The Twilio-provided string that uniquely identifies the Invite - resource to delete. + resource to fetch. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IN[0-9a-fA-F]{32}$ - type: string responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/chat.v1.service.channel.invite' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - description: Pending invitations to users to become channel members - get: + delete: description: '' - operationId: FetchInvite + operationId: DeleteInvite parameters: - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) - to fetch the resource from. + to delete the resource from. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The SID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) - the resource to fetch belongs to. + the resource to delete belongs to. in: path name: ChannelSid required: true schema: type: string - description: The Twilio-provided string that uniquely identifies the Invite - resource to fetch. + resource to delete. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IN[0-9a-fA-F]{32}$ - type: string responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/chat.v1.service.channel.invite' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ServiceSid}/Channels/{ChannelSid}/Invites: servers: - url: https://chat.twilio.com + description: Pending invitations to users to become channel members x-twilio: defaultOutputProperties: - sid - identity - date_created + pathType: list parent: /Services/{ServiceSid}/Channels - pathType: instance - /v1/Services/{ServiceSid}/Channels/{ChannelSid}/Members: - description: Users joined to specific channels + post: + description: '' + operationId: CreateInvite + parameters: + - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) + to create the resource under. + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: The SID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) + the new resource belongs to. + in: path + name: ChannelSid + required: true + schema: + type: string + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Identity: + description: The `identity` value that uniquely identifies the new + resource's [User](https://www.twilio.com/docs/api/chat/rest/v1/user) + within the [Service](https://www.twilio.com/docs/api/chat/rest/v1/service). + See [access tokens](https://www.twilio.com/docs/api/chat/guides/create-tokens) + for more info. + type: string + RoleSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ + description: The SID of the [Role](https://www.twilio.com/docs/api/chat/rest/roles) + assigned to the new member. + required: + - Identity + title: CreateInviteRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/chat.v1.service.channel.invite' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA get: description: '' - operationId: ListMember + operationId: ListInvite parameters: - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to read the resources from. @@ -1365,13 +1324,12 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) - the members to read belong to. Can be the Channel resource's `sid` or `unique_name` - value. + - description: The SID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) + the resources to read belong to. in: path name: ChannelSid required: true @@ -1383,9 +1341,9 @@ paths: in: query name: Identity schema: + type: array items: type: string - type: array - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -1399,18 +1357,19 @@ paths: content: application/json: schema: + type: object + title: ListInviteResponse properties: - members: - items: - $ref: '#/components/schemas/chat.v1.service.channel.member' + invites: type: array + items: + $ref: '#/components/schemas/chat.v1.service.channel.invite' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1424,80 +1383,67 @@ paths: url: format: uri type: string - type: object - title: ListMemberResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: + /v1/Services/{ServiceSid}/Channels/{ChannelSid}/Members/{Sid}: + servers: + - url: https://chat.twilio.com + description: Users joined to specific channels + x-twilio: + defaultOutputProperties: + - sid + - identity + - date_created + pathType: instance + parent: /Services/{ServiceSid}/Channels + get: description: '' - operationId: CreateMember + operationId: FetchMember parameters: - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) - to create the resource under. + to fetch the resource from. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) - the new member belongs to. Can be the Channel resource's `sid` or `unique_name`. + the member to fetch belongs to. Can be the Channel resource's `sid` or `unique_name` + value. in: path name: ChannelSid required: true schema: type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Identity: - description: The `identity` value that uniquely identifies the new - resource's [User](https://www.twilio.com/docs/api/chat/rest/v1/user) - within the [Service](https://www.twilio.com/docs/api/chat/rest/services). - See [access tokens](https://www.twilio.com/docs/api/chat/guides/create-tokens) - for more details. - type: string - RoleSid: - description: The SID of the [Role](https://www.twilio.com/docs/api/chat/rest/roles) - to assign to the member. The default roles are those specified - on the [Service](https://www.twilio.com/docs/chat/api/services). - maxLength: 34 - minLength: 34 - pattern: ^RL[0-9a-fA-F]{32}$ - type: string - required: - - Identity - title: CreateMemberRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/chat.v1.service.channel.member' - description: Created + - description: The Twilio-provided string that uniquely identifies the Member + resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^MB[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/chat.v1.service.channel.member' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://chat.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - identity - - date_created - parent: /Services/{ServiceSid}/Channels - pathType: list - /v1/Services/{ServiceSid}/Channels/{ChannelSid}/Members/{Sid}: delete: description: '' operationId: DeleteMember @@ -1508,10 +1454,10 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the message belongs to. Can be the Channel's `sid` or `unique_name`. in: path @@ -1525,10 +1471,10 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^MB[0-9a-fA-F]{32}$ - type: string responses: '204': description: The resource was deleted successfully. @@ -1536,39 +1482,58 @@ paths: - accountSid_authToken: [] x-maturity: - GA - description: Users joined to specific channels - get: + post: description: '' - operationId: FetchMember + operationId: UpdateMember parameters: - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) - to fetch the resource from. + to update the resource from. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) - the member to fetch belongs to. Can be the Channel resource's `sid` or `unique_name` - value. + the member to update belongs to. Can be the Channel resource's `sid` or + `unique_name`. in: path name: ChannelSid required: true schema: type: string - description: The Twilio-provided string that uniquely identifies the Member - resource to fetch. + resource to update. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^MB[0-9a-fA-F]{32}$ - type: string + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + RoleSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ + description: The SID of the [Role](https://www.twilio.com/docs/api/chat/rest/roles) + to assign to the member. The default roles are those specified + on the [Service](https://www.twilio.com/docs/chat/api/services). + LastConsumedMessageIndex: + description: The index of the last [Message](https://www.twilio.com/docs/api/chat/rest/messages) + that the Member has read within the [Channel](https://www.twilio.com/docs/api/chat/rest/channels). + nullable: true + type: integer + title: UpdateMemberRequest + type: object responses: '200': content: @@ -1580,83 +1545,76 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ServiceSid}/Channels/{ChannelSid}/Members: + servers: + - url: https://chat.twilio.com + description: Users joined to specific channels + x-twilio: + defaultOutputProperties: + - sid + - identity + - date_created + pathType: list + parent: /Services/{ServiceSid}/Channels post: description: '' - operationId: UpdateMember + operationId: CreateMember parameters: - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) - to update the resource from. + to create the resource under. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) - the member to update belongs to. Can be the Channel resource's `sid` or - `unique_name`. + the new member belongs to. Can be the Channel resource's `sid` or `unique_name`. in: path name: ChannelSid required: true schema: type: string - - description: The Twilio-provided string that uniquely identifies the Member - resource to update. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^MB[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - LastConsumedMessageIndex: - description: The index of the last [Message](https://www.twilio.com/docs/api/chat/rest/messages) - that the Member has read within the [Channel](https://www.twilio.com/docs/api/chat/rest/channels). - nullable: true - type: integer + Identity: + description: The `identity` value that uniquely identifies the new + resource's [User](https://www.twilio.com/docs/api/chat/rest/v1/user) + within the [Service](https://www.twilio.com/docs/api/chat/rest/services). + See [access tokens](https://www.twilio.com/docs/api/chat/guides/create-tokens) + for more details. + type: string RoleSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ description: The SID of the [Role](https://www.twilio.com/docs/api/chat/rest/roles) to assign to the member. The default roles are those specified on the [Service](https://www.twilio.com/docs/chat/api/services). - maxLength: 34 - minLength: 34 - pattern: ^RL[0-9a-fA-F]{32}$ - type: string - title: UpdateMemberRequest + required: + - Identity + title: CreateMemberRequest type: object responses: - '200': + '201': content: application/json: schema: $ref: '#/components/schemas/chat.v1.service.channel.member' - description: OK + description: Created security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://chat.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - identity - - date_created - parent: /Services/{ServiceSid}/Channels - pathType: instance - /v1/Services/{ServiceSid}/Channels/{ChannelSid}/Messages: - description: Individual chat messages get: description: '' - operationId: ListMessage + operationId: ListMember parameters: - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to read the resources from. @@ -1664,29 +1622,27 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) - the message to read belongs to. Can be the Channel's `sid` or `unique_name`. + the members to read belong to. Can be the Channel resource's `sid` or `unique_name` + value. in: path name: ChannelSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^CH[0-9a-fA-F]{32}$ type: string - - description: 'The sort order of the returned messages. Can be: `asc` (ascending) - or `desc` (descending) with `asc` as the default.' + - description: The [User](https://www.twilio.com/docs/api/chat/rest/v1/user)'s + `identity` value of the resources to read. See [access tokens](https://www.twilio.com/docs/api/chat/guides/create-tokens) + for more details. in: query - name: Order + name: Identity schema: - enum: - - asc - - desc - type: string + type: array + items: + type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -1700,18 +1656,19 @@ paths: content: application/json: schema: + type: object + title: ListMemberResponse properties: - messages: - items: - $ref: '#/components/schemas/chat.v1.service.channel.message' + members: type: array + items: + $ref: '#/components/schemas/chat.v1.service.channel.member' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1725,83 +1682,70 @@ paths: url: format: uri type: string - type: object - title: ListMessageResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: + /v1/Services/{ServiceSid}/Channels/{ChannelSid}/Messages/{Sid}: + servers: + - url: https://chat.twilio.com + description: Individual chat messages + x-twilio: + defaultOutputProperties: + - sid + - from + - to + - date_created + pathType: instance + parent: /Services/{ServiceSid}/Channels + get: description: '' - operationId: CreateMessage + operationId: FetchMessage parameters: - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) - to create the resource under. + to fetch the resource from. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) - the new resource belongs to. Can be the Channel resource's `sid` or `unique_name`. + the message to fetch belongs to. Can be the Channel's `sid` or `unique_name`. in: path name: ChannelSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Message + resource to fetch. + in: path + name: Sid + required: true + schema: type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Attributes: - description: A valid JSON string that contains application-specific - data. - type: string - Body: - description: The message to send to the channel. Can also be an - empty string or `null`, which sets the value as an empty string. - You can send structured data in the body by serializing it as - a string. - type: string - From: - description: The [identity](https://www.twilio.com/docs/api/chat/guides/identity) - of the new message's author. The default value is `system`. - type: string - required: - - Body - title: CreateMessageRequest - type: object + minLength: 34 + maxLength: 34 + pattern: ^IM[0-9a-fA-F]{32}$ responses: - '201': + '200': content: application/json: schema: $ref: '#/components/schemas/chat.v1.service.channel.message' - description: Created + description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://chat.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - from - - to - - date_created - parent: /Services/{ServiceSid}/Channels - pathType: list - /v1/Services/{ServiceSid}/Channels/{ChannelSid}/Messages/{Sid}: delete: description: '' operationId: DeleteMessage @@ -1812,10 +1756,10 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the message to delete belongs to. Can be the Channel resource's `sid` or `unique_name`. @@ -1823,69 +1767,23 @@ paths: name: ChannelSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string - description: The Twilio-provided string that uniquely identifies the Message resource to delete. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^IM[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: Individual chat messages - get: - description: '' - operationId: FetchMessage - parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) - to fetch the resource from. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ type: string - - description: The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) - the message to fetch belongs to. Can be the Channel's `sid` or `unique_name`. - in: path - name: ChannelSid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^CH[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Message - resource to fetch. - in: path - name: Sid - required: true - schema: maxLength: 34 - minLength: 34 pattern: ^IM[0-9a-fA-F]{32}$ - type: string responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/chat.v1.service.channel.message' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: @@ -1900,45 +1798,45 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the message belongs to. Can be the Channel's `sid` or `unique_name`. in: path name: ChannelSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string - description: The Twilio-provided string that uniquely identifies the Message resource to update. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IM[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Attributes: - description: A valid JSON string that contains application-specific - data. - type: string Body: description: The message to send to the channel. Can also be an empty string or `null`, which sets the value as an empty string. You can send structured data in the body by serializing it as a string. type: string + Attributes: + description: A valid JSON string that contains application-specific + data. + type: string title: UpdateMessageRequest type: object responses: @@ -1952,145 +1850,79 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ServiceSid}/Channels/{ChannelSid}/Messages: servers: - url: https://chat.twilio.com + description: Individual chat messages x-twilio: defaultOutputProperties: - sid - from - to - date_created + pathType: list parent: /Services/{ServiceSid}/Channels - pathType: instance - /v1/Services/{ServiceSid}/Channels/{Sid}: - delete: + post: description: '' - operationId: DeleteChannel + operationId: CreateMessage parameters: - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) - to delete the resource from. + to create the resource under. in: path name: ServiceSid required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Channel - resource to delete. - in: path - name: Sid - required: true schema: type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: Channels represent chat rooms - get: - description: '' - operationId: FetchChannel - parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) - to fetch the resource from. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Channel - resource to fetch. - in: path - name: Sid - required: true - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/chat.v1.service.channel' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: '' - operationId: UpdateChannel - parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) - to update the resource from. - in: path - name: ServiceSid - required: true - schema: maxLength: 34 - minLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Channel - resource to update. + - description: The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) + the new resource belongs to. Can be the Channel resource's `sid` or `unique_name`. in: path - name: Sid + name: ChannelSid required: true schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^CH[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: + Body: + description: The message to send to the channel. Can also be an + empty string or `null`, which sets the value as an empty string. + You can send structured data in the body by serializing it as + a string. + type: string + From: + description: The [identity](https://www.twilio.com/docs/api/chat/guides/identity) + of the new message's author. The default value is `system`. + type: string Attributes: description: A valid JSON string that contains application-specific data. type: string - FriendlyName: - description: A descriptive string that you create to describe the - resource. It can be up to 64 characters long. - type: string - UniqueName: - description: An application-defined string that uniquely identifies - the resource. It can be used to address the resource in place - of the resource's `sid` in the URL. This value must be 64 characters - or less in length and be unique within the Service. - type: string - title: UpdateChannelRequest + required: + - Body + title: CreateMessageRequest type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/chat.v1.service.channel' - description: OK + $ref: '#/components/schemas/chat.v1.service.channel.message' + description: Created security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://chat.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - unique_name - - friendly_name - parent: /Services - pathType: instance - /v1/Services/{ServiceSid}/Roles: - description: Roles determining user or member permissions get: description: '' - operationId: ListRole + operationId: ListMessage parameters: - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to read the resources from. @@ -2098,10 +1930,29 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ + - description: The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) + the message to read belongs to. Can be the Channel's `sid` or `unique_name`. + in: path + name: ChannelSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CH[0-9a-fA-F]{32}$ + - description: 'The sort order of the returned messages. Can be: `asc` (ascending) + or `desc` (descending) with `asc` as the default.' + in: query + name: Order + schema: type: string + enum: + - asc + - desc - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -2115,14 +1966,19 @@ paths: content: application/json: schema: + type: object + title: ListMessageResponse properties: + messages: + type: array + items: + $ref: '#/components/schemas/chat.v1.service.channel.message' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -2136,148 +1992,86 @@ paths: url: format: uri type: string - type: object - roles: - items: - $ref: '#/components/schemas/chat.v1.service.role' - type: array - title: ListRoleResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: '' - operationId: CreateRole - parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) - to create the resource under. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - FriendlyName: - description: A descriptive string that you create to describe the - new resource. It can be up to 64 characters long. - type: string - Permission: - description: A permission that you grant to the new role. Only one - permission can be granted per parameter. To assign more than one - permission, repeat this parameter for each permission value. The - values for this parameter depend on the role's `type` and are - described in the documentation. - items: - type: string - type: array - Type: - description: 'The type of role. Can be: `channel` for [Channel](https://www.twilio.com/docs/chat/api/channels) - roles or `deployment` for [Service](https://www.twilio.com/docs/chat/api/services) - roles.' - enum: - - channel - - deployment - type: string - required: - - FriendlyName - - Type - - Permission - title: CreateRoleRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/chat.v1.service.role' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA + /v1/Services/{ServiceSid}/Roles/{Sid}: servers: - url: https://chat.twilio.com + description: Roles determining user or member permissions x-twilio: defaultOutputProperties: - sid - friendly_name - type + pathType: instance parent: /Services - pathType: list - /v1/Services/{ServiceSid}/Roles/{Sid}: - delete: + get: description: '' - operationId: DeleteRole + operationId: FetchRole parameters: - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) - to delete the resource from. + to fetch the resource from. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The Twilio-provided string that uniquely identifies the Role - resource to delete. + resource to fetch. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/chat.v1.service.role' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - description: Roles determining user or member permissions - get: + delete: description: '' - operationId: FetchRole + operationId: DeleteRole parameters: - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) - to fetch the resource from. + to delete the resource from. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The Twilio-provided string that uniquely identifies the Role - resource to fetch. + resource to delete. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/chat.v1.service.role' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: @@ -2292,34 +2086,34 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The Twilio-provided string that uniquely identifies the Role resource to update. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: Permission: + type: array + items: + type: string description: A permission that you grant to the role. Only one permission can be granted per parameter. To assign more than one permission, repeat this parameter for each permission value. The values for this parameter depend on the role's `type` and are described in the documentation. - items: - type: string - type: array required: - Permission title: UpdateRoleRequest @@ -2335,20 +2129,77 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ServiceSid}/Roles: servers: - url: https://chat.twilio.com + description: Roles determining user or member permissions x-twilio: defaultOutputProperties: - sid - friendly_name - type + pathType: list parent: /Services - pathType: instance - /v1/Services/{ServiceSid}/Users: - description: Unique chat users within a chat service + post: + description: '' + operationId: CreateRole + parameters: + - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) + to create the resource under. + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: A descriptive string that you create to describe the + new resource. It can be up to 64 characters long. + type: string + Type: + type: string + enum: + - channel + - deployment + description: 'The type of role. Can be: `channel` for [Channel](https://www.twilio.com/docs/chat/api/channels) + roles or `deployment` for [Service](https://www.twilio.com/docs/chat/api/services) + roles.' + Permission: + type: array + items: + type: string + description: A permission that you grant to the new role. Only one + permission can be granted per parameter. To assign more than one + permission, repeat this parameter for each permission value. The + values for this parameter depend on the role's `type` and are + described in the documentation. + required: + - FriendlyName + - Type + - Permission + title: CreateRoleRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/chat.v1.service.role' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA get: description: '' - operationId: ListUser + operationId: ListRole parameters: - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to read the resources from. @@ -2356,10 +2207,10 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[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 @@ -2373,14 +2224,19 @@ paths: content: application/json: schema: + type: object + title: ListRoleResponse properties: + roles: + type: array + items: + $ref: '#/components/schemas/chat.v1.service.role' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -2394,105 +2250,62 @@ paths: url: format: uri type: string - type: object - users: - items: - $ref: '#/components/schemas/chat.v1.service.user' - type: array - title: ListUserResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: + /v1/Services/{Sid}: + servers: + - url: https://chat.twilio.com + description: Top level scope for all chat resources + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - date_created + pathType: instance + get: description: '' - operationId: CreateUser + operationId: FetchService parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) - to create the resource under. + - description: The Twilio-provided string that uniquely identifies the Service + resource to fetch. in: path - name: ServiceSid + name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/chat.v1.service' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + delete: + description: '' + operationId: DeleteService + parameters: + - description: The Twilio-provided string that uniquely identifies the Service + resource to delete. + in: path + name: Sid + required: true + schema: type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Attributes: - description: A valid JSON string that contains application-specific - data. - type: string - FriendlyName: - description: A descriptive string that you create to describe the - new resource. This value is often used for display purposes. - type: string - Identity: - description: The `identity` value that uniquely identifies the new - resource's [User](https://www.twilio.com/docs/api/chat/rest/v1/user) - within the [Service](https://www.twilio.com/docs/api/chat/rest/v1/service). - This value is often a username or email address. See the Identity - documentation for more details. - type: string - RoleSid: - description: The SID of the [Role](https://www.twilio.com/docs/api/chat/rest/roles) - assigned to the new User. - maxLength: 34 - minLength: 34 - pattern: ^RL[0-9a-fA-F]{32}$ - type: string - required: - - Identity - title: CreateUserRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/chat.v1.service.user' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://chat.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - date_created - parent: /Services - pathType: list - /v1/Services/{ServiceSid}/Users/{Sid}: - delete: - description: '' - operationId: DeleteUser - parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) - to delete the resource from. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the User - resource to delete. - in: path - name: Sid - required: true - schema: - type: string responses: '204': description: The resource was deleted successfully. @@ -2500,305 +2313,70 @@ paths: - accountSid_authToken: [] x-maturity: - GA - description: Unique chat users within a chat service - get: - description: '' - operationId: FetchUser - parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) - to fetch the resource from. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the User - resource to fetch. - in: path - name: Sid - required: true - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/chat.v1.service.user' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA post: description: '' - operationId: UpdateUser + operationId: UpdateService parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) - to update the resource from. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the User + - description: The Twilio-provided string that uniquely identifies the Service resource to update. in: path name: Sid required: true schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - Attributes: - description: A valid JSON string that contains application-specific - data. - type: string FriendlyName: description: A descriptive string that you create to describe the - resource. It is often used for display purposes. + resource. It can be up to 64 characters long. type: string - RoleSid: - description: The SID of the [Role](https://www.twilio.com/docs/api/chat/rest/roles) - assigned to this user. + DefaultServiceRoleSid: + type: string + minLength: 34 maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ + description: The service role assigned to users when they are added + to the service. See the [Roles endpoint](https://www.twilio.com/docs/chat/api/roles) + for more details. + DefaultChannelRoleSid: + type: string minLength: 34 + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ + description: The channel role assigned to users when they are added + to a channel. See the [Roles endpoint](https://www.twilio.com/docs/chat/api/roles) + for more details. + DefaultChannelCreatorRoleSid: type: string - title: UpdateUserRequest - type: object - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/chat.v1.service.user' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://chat.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - date_created - parent: /Services - pathType: instance - /v1/Services/{ServiceSid}/Users/{UserSid}/Channels: - description: 'TODO: Resource-level docs' - get: - description: List all Channels for a given User. - operationId: ListUserChannel - parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) - to read the resources from. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the [User](https://www.twilio.com/docs/api/chat/rest/users) - to read the User Channel resources from. - in: path - name: UserSid - required: true - schema: - 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 - responses: - '200': - content: - application/json: - schema: - properties: - channels: - items: - $ref: '#/components/schemas/chat.v1.service.user.user_channel' - type: array - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - title: ListUserChannelResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://chat.twilio.com - x-twilio: - className: user_channel - defaultOutputProperties: - - channel_sid - - status - parent: /Services/{ServiceSid}/Users - pathType: list - /v1/Services/{Sid}: - delete: - description: '' - 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: ^IS[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: Top level scope for all chat resources - get: - description: '' - operationId: FetchService - parameters: - - description: The Twilio-provided string that uniquely identifies the Service - resource to fetch. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/chat.v1.service' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: '' - 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: ^IS[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - ConsumptionReportInterval: - description: DEPRECATED. The interval in seconds between consumption - reports submission batches from client endpoints. - type: integer - DefaultChannelCreatorRoleSid: - description: The channel role assigned to a channel creator when - they join a new channel. See the [Roles endpoint](https://www.twilio.com/docs/chat/api/roles) - for more details. - maxLength: 34 minLength: 34 - pattern: ^RL[0-9a-fA-F]{32}$ - type: string - DefaultChannelRoleSid: - description: The channel role assigned to users when they are added - to a channel. See the [Roles endpoint](https://www.twilio.com/docs/chat/api/roles) - for more details. maxLength: 34 - minLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string - DefaultServiceRoleSid: - description: The service role assigned to users when they are added - to the service. See the [Roles endpoint](https://www.twilio.com/docs/chat/api/roles) + description: The channel role assigned to a channel creator when + they join a new channel. See the [Roles endpoint](https://www.twilio.com/docs/chat/api/roles) for more details. - maxLength: 34 - minLength: 34 - pattern: ^RL[0-9a-fA-F]{32}$ - type: string - FriendlyName: - description: A descriptive string that you create to describe the - resource. It can be up to 64 characters long. - type: string - Limits.ChannelMembers: - description: The maximum number of Members that can be added to - Channels within this Service. Can be up to 1,000. - type: integer - Limits.UserChannels: - description: The maximum number of Channels Users can be a Member - of within this Service. Can be up to 1,000. - type: integer - Notifications.AddedToChannel.Enabled: - description: 'Whether to send a notification when a member is added - to a channel. Can be: `true` or `false` and the default is `false`.' + ReadStatusEnabled: + description: Whether to enable the [Message Consumption Horizon](https://www.twilio.com/docs/chat/consumption-horizon) + feature. The default is `true`. type: boolean - Notifications.AddedToChannel.Template: - description: The template to use to create the notification text - displayed when a member is added to a channel and `notifications.added_to_channel.enabled` - is `true`. - type: string - Notifications.InvitedToChannel.Enabled: - description: 'Whether to send a notification when a user is invited - to a channel. Can be: `true` or `false` and the default is `false`.' + ReachabilityEnabled: + description: Whether to enable the [Reachability Indicator](https://www.twilio.com/docs/chat/reachability-indicator) + for this Service instance. The default is `false`. type: boolean - Notifications.InvitedToChannel.Template: - description: The template to use to create the notification text - displayed when a user is invited to a channel and `notifications.invited_to_channel.enabled` - is `true`. - type: string + TypingIndicatorTimeout: + description: How long in seconds after a `started typing` event + until clients should assume that user is no longer typing, even + if no `ended typing` message was received. The default is 5 seconds. + type: integer + ConsumptionReportInterval: + description: DEPRECATED. The interval in seconds between consumption + reports submission batches from client endpoints. + type: integer Notifications.NewMessage.Enabled: description: 'Whether to send a notification when a new message is added to a channel. Can be: `true` or `false` and the default @@ -2809,6 +2387,15 @@ paths: displayed when a new message is added to a channel and `notifications.new_message.enabled` is `true`. type: string + Notifications.AddedToChannel.Enabled: + description: 'Whether to send a notification when a member is added + to a channel. Can be: `true` or `false` and the default is `false`.' + type: boolean + Notifications.AddedToChannel.Template: + description: The template to use to create the notification text + displayed when a member is added to a channel and `notifications.added_to_channel.enabled` + is `true`. + type: string Notifications.RemovedFromChannel.Enabled: description: 'Whether to send a notification to a user when they are removed from a channel. Can be: `true` or `false` and the @@ -2819,11 +2406,14 @@ paths: displayed to a user when they are removed from a channel and `notifications.removed_from_channel.enabled` is `true`. type: string - PostWebhookUrl: - description: The URL for post-event webhooks, which are called by - using the `webhook_method`. See [Webhook Events](https://www.twilio.com/docs/api/chat/webhooks) - for more details. - format: uri + Notifications.InvitedToChannel.Enabled: + description: 'Whether to send a notification when a user is invited + to a channel. Can be: `true` or `false` and the default is `false`.' + type: boolean + Notifications.InvitedToChannel.Template: + description: The template to use to create the notification text + displayed when a user is invited to a channel and `notifications.invited_to_channel.enabled` + is `true`. type: string PreWebhookUrl: description: The URL for pre-event webhooks, which are called by @@ -2831,26 +2421,12 @@ paths: for more details. format: uri type: string - ReachabilityEnabled: - description: Whether to enable the [Reachability Indicator](https://www.twilio.com/docs/chat/reachability-indicator) - for this Service instance. The default is `false`. - type: boolean - ReadStatusEnabled: - description: Whether to enable the [Message Consumption Horizon](https://www.twilio.com/docs/chat/consumption-horizon) - feature. The default is `true`. - type: boolean - TypingIndicatorTimeout: - description: How long in seconds after a `started typing` event - until clients should assume that user is no longer typing, even - if no `ended typing` message was received. The default is 5 seconds. - type: integer - WebhookFilters: - description: The list of WebHook events that are enabled for this - Service instance. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) + PostWebhookUrl: + description: The URL for post-event webhooks, which are called by + using the `webhook_method`. See [Webhook Events](https://www.twilio.com/docs/api/chat/webhooks) for more details. - items: - type: string - type: array + format: uri + type: string WebhookMethod: description: 'The HTTP method to use for calls to the `pre_webhook_url` and `post_webhook_url` webhooks. Can be: `POST` or `GET` and @@ -2865,8 +2441,20 @@ paths: - DELETE format: http-method type: string - Webhooks.OnChannelAdd.Method: - description: The HTTP method to use when calling the `webhooks.on_channel_add.url`. + WebhookFilters: + type: array + items: + type: string + description: The list of WebHook events that are enabled for this + Service instance. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) + for more details. + Webhooks.OnMessageSend.Url: + description: The URL of the webhook to call in response to the `on_message_send` + event using the `webhooks.on_message_send.method` HTTP method. + format: uri + type: string + Webhooks.OnMessageSend.Method: + description: The HTTP method to use when calling the `webhooks.on_message_send.url`. enum: - HEAD - GET @@ -2876,14 +2464,13 @@ paths: - DELETE format: http-method type: string - Webhooks.OnChannelAdd.Url: - description: The URL of the webhook to call in response to the `on_channel_add` - event using the `webhooks.on_channel_add.method` HTTP method. + Webhooks.OnMessageUpdate.Url: + description: The URL of the webhook to call in response to the `on_message_update` + event using the `webhooks.on_message_update.method` HTTP method. format: uri type: string - Webhooks.OnChannelAdded.Method: - description: The URL of the webhook to call in response to the `on_channel_added` - event`. + Webhooks.OnMessageUpdate.Method: + description: The HTTP method to use when calling the `webhooks.on_message_update.url`. enum: - HEAD - GET @@ -2893,13 +2480,13 @@ paths: - DELETE format: http-method type: string - Webhooks.OnChannelAdded.Url: - description: The URL of the webhook to call in response to the `on_channel_added` - event using the `webhooks.on_channel_added.method` HTTP method. + Webhooks.OnMessageRemove.Url: + description: The URL of the webhook to call in response to the `on_message_remove` + event using the `webhooks.on_message_remove.method` HTTP method. format: uri type: string - Webhooks.OnChannelDestroy.Method: - description: The HTTP method to use when calling the `webhooks.on_channel_destroy.url`. + Webhooks.OnMessageRemove.Method: + description: The HTTP method to use when calling the `webhooks.on_message_remove.url`. enum: - HEAD - GET @@ -2909,13 +2496,13 @@ paths: - DELETE format: http-method type: string - Webhooks.OnChannelDestroy.Url: - description: The URL of the webhook to call in response to the `on_channel_destroy` - event using the `webhooks.on_channel_destroy.method` HTTP method. + Webhooks.OnChannelAdd.Url: + description: The URL of the webhook to call in response to the `on_channel_add` + event using the `webhooks.on_channel_add.method` HTTP method. format: uri type: string - Webhooks.OnChannelDestroyed.Method: - description: The HTTP method to use when calling the `webhooks.on_channel_destroyed.url`. + Webhooks.OnChannelAdd.Method: + description: The HTTP method to use when calling the `webhooks.on_channel_add.url`. enum: - HEAD - GET @@ -2925,13 +2512,13 @@ paths: - DELETE format: http-method type: string - Webhooks.OnChannelDestroyed.Url: - description: The URL of the webhook to call in response to the `on_channel_added` - event using the `webhooks.on_channel_destroyed.method` HTTP method. + Webhooks.OnChannelDestroy.Url: + description: The URL of the webhook to call in response to the `on_channel_destroy` + event using the `webhooks.on_channel_destroy.method` HTTP method. format: uri type: string - Webhooks.OnChannelUpdate.Method: - description: The HTTP method to use when calling the `webhooks.on_channel_update.url`. + Webhooks.OnChannelDestroy.Method: + description: The HTTP method to use when calling the `webhooks.on_channel_destroy.url`. enum: - HEAD - GET @@ -2946,8 +2533,8 @@ paths: event using the `webhooks.on_channel_update.method` HTTP method. format: uri type: string - Webhooks.OnChannelUpdated.Method: - description: The HTTP method to use when calling the `webhooks.on_channel_updated.url`. + Webhooks.OnChannelUpdate.Method: + description: The HTTP method to use when calling the `webhooks.on_channel_update.url`. enum: - HEAD - GET @@ -2957,9 +2544,9 @@ paths: - DELETE format: http-method type: string - Webhooks.OnChannelUpdated.Url: - description: The URL of the webhook to call in response to the `on_channel_updated` - event using the `webhooks.on_channel_updated.method` HTTP method. + Webhooks.OnMemberAdd.Url: + description: The URL of the webhook to call in response to the `on_member_add` + event using the `webhooks.on_member_add.method` HTTP method. format: uri type: string Webhooks.OnMemberAdd.Method: @@ -2973,13 +2560,13 @@ paths: - DELETE format: http-method type: string - Webhooks.OnMemberAdd.Url: - description: The URL of the webhook to call in response to the `on_member_add` - event using the `webhooks.on_member_add.method` HTTP method. + Webhooks.OnMemberRemove.Url: + description: The URL of the webhook to call in response to the `on_member_remove` + event using the `webhooks.on_member_remove.method` HTTP method. format: uri type: string - Webhooks.OnMemberAdded.Method: - description: The HTTP method to use when calling the `webhooks.on_channel_updated.url`. + Webhooks.OnMemberRemove.Method: + description: The HTTP method to use when calling the `webhooks.on_member_remove.url`. enum: - HEAD - GET @@ -2989,13 +2576,14 @@ paths: - DELETE format: http-method type: string - Webhooks.OnMemberAdded.Url: - description: The URL of the webhook to call in response to the `on_channel_updated` - event using the `webhooks.on_channel_updated.method` HTTP method. + Webhooks.OnMessageSent.Url: + description: The URL of the webhook to call in response to the `on_message_sent` + event using the `webhooks.on_message_sent.method` HTTP method. format: uri type: string - Webhooks.OnMemberRemove.Method: - description: The HTTP method to use when calling the `webhooks.on_member_remove.url`. + Webhooks.OnMessageSent.Method: + description: The URL of the webhook to call in response to the `on_message_sent` + event`. enum: - HEAD - GET @@ -3005,13 +2593,13 @@ paths: - DELETE format: http-method type: string - Webhooks.OnMemberRemove.Url: - description: The URL of the webhook to call in response to the `on_member_remove` - event using the `webhooks.on_member_remove.method` HTTP method. - format: uri + Webhooks.OnMessageUpdated.Url: + description: The URL of the webhook to call in response to the `on_message_updated` + event using the `webhooks.on_message_updated.method` HTTP method. + format: uri type: string - Webhooks.OnMemberRemoved.Method: - description: The HTTP method to use when calling the `webhooks.on_member_removed.url`. + Webhooks.OnMessageUpdated.Method: + description: The HTTP method to use when calling the `webhooks.on_message_updated.url`. enum: - HEAD - GET @@ -3021,13 +2609,13 @@ paths: - DELETE format: http-method type: string - Webhooks.OnMemberRemoved.Url: - description: The URL of the webhook to call in response to the `on_member_removed` - event using the `webhooks.on_member_removed.method` HTTP method. + Webhooks.OnMessageRemoved.Url: + description: The URL of the webhook to call in response to the `on_message_removed` + event using the `webhooks.on_message_removed.method` HTTP method. format: uri type: string - Webhooks.OnMessageRemove.Method: - description: The HTTP method to use when calling the `webhooks.on_message_remove.url`. + Webhooks.OnMessageRemoved.Method: + description: The HTTP method to use when calling the `webhooks.on_message_removed.url`. enum: - HEAD - GET @@ -3037,13 +2625,14 @@ paths: - DELETE format: http-method type: string - Webhooks.OnMessageRemove.Url: - description: The URL of the webhook to call in response to the `on_message_remove` - event using the `webhooks.on_message_remove.method` HTTP method. + Webhooks.OnChannelAdded.Url: + description: The URL of the webhook to call in response to the `on_channel_added` + event using the `webhooks.on_channel_added.method` HTTP method. format: uri type: string - Webhooks.OnMessageRemoved.Method: - description: The HTTP method to use when calling the `webhooks.on_message_removed.url`. + Webhooks.OnChannelAdded.Method: + description: The URL of the webhook to call in response to the `on_channel_added` + event`. enum: - HEAD - GET @@ -3053,13 +2642,13 @@ paths: - DELETE format: http-method type: string - Webhooks.OnMessageRemoved.Url: - description: The URL of the webhook to call in response to the `on_message_removed` - event using the `webhooks.on_message_removed.method` HTTP method. + Webhooks.OnChannelDestroyed.Url: + description: The URL of the webhook to call in response to the `on_channel_added` + event using the `webhooks.on_channel_destroyed.method` HTTP method. format: uri type: string - Webhooks.OnMessageSend.Method: - description: The HTTP method to use when calling the `webhooks.on_message_send.url`. + Webhooks.OnChannelDestroyed.Method: + description: The HTTP method to use when calling the `webhooks.on_channel_destroyed.url`. enum: - HEAD - GET @@ -3069,14 +2658,13 @@ paths: - DELETE format: http-method type: string - Webhooks.OnMessageSend.Url: - description: The URL of the webhook to call in response to the `on_message_send` - event using the `webhooks.on_message_send.method` HTTP method. + Webhooks.OnChannelUpdated.Url: + description: The URL of the webhook to call in response to the `on_channel_updated` + event using the `webhooks.on_channel_updated.method` HTTP method. format: uri type: string - Webhooks.OnMessageSent.Method: - description: The URL of the webhook to call in response to the `on_message_sent` - event`. + Webhooks.OnChannelUpdated.Method: + description: The HTTP method to use when calling the `webhooks.on_channel_updated.url`. enum: - HEAD - GET @@ -3086,13 +2674,13 @@ paths: - DELETE format: http-method type: string - Webhooks.OnMessageSent.Url: - description: The URL of the webhook to call in response to the `on_message_sent` - event using the `webhooks.on_message_sent.method` HTTP method. + Webhooks.OnMemberAdded.Url: + description: The URL of the webhook to call in response to the `on_channel_updated` + event using the `webhooks.on_channel_updated.method` HTTP method. format: uri type: string - Webhooks.OnMessageUpdate.Method: - description: The HTTP method to use when calling the `webhooks.on_message_update.url`. + Webhooks.OnMemberAdded.Method: + description: The HTTP method to use when calling the `webhooks.on_channel_updated.url`. enum: - HEAD - GET @@ -3102,13 +2690,13 @@ paths: - DELETE format: http-method type: string - Webhooks.OnMessageUpdate.Url: - description: The URL of the webhook to call in response to the `on_message_update` - event using the `webhooks.on_message_update.method` HTTP method. + Webhooks.OnMemberRemoved.Url: + description: The URL of the webhook to call in response to the `on_member_removed` + event using the `webhooks.on_member_removed.method` HTTP method. format: uri type: string - Webhooks.OnMessageUpdated.Method: - description: The HTTP method to use when calling the `webhooks.on_message_updated.url`. + Webhooks.OnMemberRemoved.Method: + description: The HTTP method to use when calling the `webhooks.on_member_removed.url`. enum: - HEAD - GET @@ -3118,11 +2706,14 @@ paths: - DELETE format: http-method type: string - Webhooks.OnMessageUpdated.Url: - description: The URL of the webhook to call in response to the `on_message_updated` - event using the `webhooks.on_message_updated.method` HTTP method. - format: uri - type: string + Limits.ChannelMembers: + description: The maximum number of Members that can be added to + Channels within this Service. Can be up to 1,000. + type: integer + Limits.UserChannels: + description: The maximum number of Channels Users can be a Member + of within this Service. Can be up to 1,000. + type: integer title: UpdateServiceRequest type: object responses: @@ -3136,16 +2727,425 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Services: + servers: + - url: https://chat.twilio.com + description: Top level scope for all chat resources + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - date_created + pathType: list + post: + description: '' + operationId: CreateService + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: A descriptive string that you create to describe the + resource. It can be up to 64 characters long. + type: string + required: + - FriendlyName + title: CreateServiceRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/chat.v1.service' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + get: + description: '' + 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListServiceResponse + properties: + services: + type: array + items: + $ref: '#/components/schemas/chat.v1.service' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Services/{ServiceSid}/Users/{Sid}: servers: - url: https://chat.twilio.com + description: Unique chat users within a chat service x-twilio: defaultOutputProperties: - sid - friendly_name - date_created pathType: instance + parent: /Services + get: + description: '' + operationId: FetchUser + parameters: + - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) + to fetch the resource from. + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the User + resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/chat.v1.service.user' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + delete: + description: '' + operationId: DeleteUser + parameters: + - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) + to delete the resource from. + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the User + resource to delete. + in: path + name: Sid + required: true + schema: + type: string + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + post: + description: '' + operationId: UpdateUser + parameters: + - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) + to update the resource from. + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the User + resource to update. + in: path + name: Sid + required: true + schema: + type: string + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + RoleSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ + description: The SID of the [Role](https://www.twilio.com/docs/api/chat/rest/roles) + assigned to this user. + Attributes: + description: A valid JSON string that contains application-specific + data. + type: string + FriendlyName: + description: A descriptive string that you create to describe the + resource. It is often used for display purposes. + type: string + title: UpdateUserRequest + type: object + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/chat.v1.service.user' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Services/{ServiceSid}/Users: + servers: + - url: https://chat.twilio.com + description: Unique chat users within a chat service + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - date_created + pathType: list + parent: /Services + post: + description: '' + operationId: CreateUser + parameters: + - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) + to create the resource under. + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Identity: + description: The `identity` value that uniquely identifies the new + resource's [User](https://www.twilio.com/docs/api/chat/rest/v1/user) + within the [Service](https://www.twilio.com/docs/api/chat/rest/v1/service). + This value is often a username or email address. See the Identity + documentation for more details. + type: string + RoleSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ + description: The SID of the [Role](https://www.twilio.com/docs/api/chat/rest/roles) + assigned to the new User. + Attributes: + description: A valid JSON string that contains application-specific + data. + type: string + FriendlyName: + description: A descriptive string that you create to describe the + new resource. This value is often used for display purposes. + type: string + required: + - Identity + title: CreateUserRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/chat.v1.service.user' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + get: + description: '' + operationId: ListUser + parameters: + - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) + to read the resources from. + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListUserResponse + properties: + users: + type: array + items: + $ref: '#/components/schemas/chat.v1.service.user' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Services/{ServiceSid}/Users/{UserSid}/Channels: + servers: + - url: https://chat.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - channel_sid + - status + pathType: list + parent: /Services/{ServiceSid}/Users + className: user_channel + get: + description: List all Channels for a given User. + operationId: ListUserChannel + parameters: + - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) + to read the resources from. + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: The SID of the [User](https://www.twilio.com/docs/api/chat/rest/users) + to read the User Channel resources from. + in: path + name: UserSid + required: true + schema: + 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListUserChannelResponse + properties: + channels: + type: array + items: + $ref: '#/components/schemas/chat.v1.service.user.user_channel' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA servers: - url: https://chat.twilio.com x-maturity: -- description: This product is Generally Available. - name: GA +- name: GA + description: This product is Generally Available. diff --git a/spec/yaml/twilio_chat_v2.yaml b/spec/yaml/twilio_chat_v2.yaml index ce4bbf82..81725e63 100644 --- a/spec/yaml/twilio_chat_v2.yaml +++ b/spec/yaml/twilio_chat_v2.yaml @@ -1,211 +1,41 @@ components: schemas: - chat.v2.credential: - properties: - account_sid: - description: The SID of the Account that created the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - date_created: - description: The 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 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 - sandbox: - description: '[APN only] Whether to send the credential to sandbox APNs' - nullable: true - type: string - sid: - description: The unique string that identifies the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^CR[0-9a-fA-F]{32}$ - type: string - type: - description: The type of push-notification service the credential is for - enum: - - gcm - - apn - - fcm - nullable: true - type: string - url: - description: The absolute URL of the Credential resource - format: uri - nullable: true - type: string + chat.v2.service.binding: type: object - chat.v2.service: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - consumption_report_interval: - description: DEPRECATED - nullable: true - type: integer - date_created: - description: The RFC 2822 date and time in GMT when the resource was created - format: date-time - nullable: true type: string - date_updated: - description: The RFC 2822 date and time in GMT when the resource was last - updated - format: date-time - nullable: true - type: string - default_channel_creator_role_sid: - description: The channel role assigned to a channel creator when they join - a new channel - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^RL[0-9a-fA-F]{32}$ - type: string - default_channel_role_sid: - description: The channel role assigned to users when they are added to a - channel - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^RL[0-9a-fA-F]{32}$ - type: string - default_service_role_sid: - description: The service role assigned to users when they are added to the - service - maxLength: 34 minLength: 34 - nullable: true - pattern: ^RL[0-9a-fA-F]{32}$ - type: string - friendly_name: - description: The string that you assigned to describe the resource - nullable: true - type: string - limits: - description: An object that describes the limits of the service instance - nullable: true - links: - description: The absolute URLs of the Service's Channels, Roles, and Users - format: uri-map - nullable: true - type: object - media: - description: The properties of the media that the service supports - nullable: true - notifications: - description: The notification configuration for the Service instance - nullable: true - post_webhook_retry_count: - description: The number of times calls to the `post_webhook_url` will be - retried - nullable: true - type: integer - post_webhook_url: - description: The URL for post-event webhooks - nullable: true - type: string - pre_webhook_retry_count: - description: Count of times webhook will be retried in case of timeout or - 429/503/504 HTTP responses - nullable: true - type: integer - pre_webhook_url: - description: The webhook URL for pre-event webhooks - nullable: true - type: string - reachability_enabled: - description: Whether the Reachability Indicator feature is enabled for this - Service instance - nullable: true - type: boolean - read_status_enabled: - description: Whether the Message Consumption Horizon feature is enabled - nullable: true - type: boolean - sid: - description: The unique string that identifies the resource maxLength: 34 - minLength: 34 - nullable: true - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - typing_indicator_timeout: - description: How long in seconds to wait before assuming the user is no - longer typing - nullable: true - type: integer - url: - description: The absolute URL of the Service resource - format: uri - nullable: true - type: string - webhook_filters: - description: The list of webhook events that are enabled for this Service - instance - items: - type: string - nullable: true - type: array - webhook_method: - description: The HTTP method to use for both PRE and POST webhooks + pattern: ^AC[0-9a-fA-F]{32}$ nullable: true - type: string - type: object - chat.v2.service.binding: - properties: - account_sid: description: The SID of the Account that created the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string binding_type: - description: The push technology to use for the binding + type: string enum: - gcm - apn - fcm nullable: true - type: string + description: The push technology to use for the binding credential_sid: - description: The SID of the Credential for the binding - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CR[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Credential for the binding date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated endpoint: description: The unique endpoint identifier for the Binding nullable: true @@ -220,42 +50,42 @@ components: nullable: true type: object message_types: - description: The Programmable Chat message types the binding is subscribed - to + type: array items: type: string nullable: true - type: array + description: The Programmable Chat message types the binding is subscribed + to service_sid: - description: The SID of the Service that the Binding resource is associated - with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Service that the Binding resource is associated + with sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^BS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource url: description: The absolute URL of the Binding resource format: uri nullable: true type: string - type: object chat.v2.service.channel: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource attributes: description: The JSON string that stores application-specific data nullable: true @@ -265,16 +95,16 @@ components: nullable: true type: string date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated friendly_name: description: The string that you assigned to describe the resource nullable: true @@ -294,26 +124,26 @@ components: nullable: true type: integer service_sid: - description: The SID of the Service that the resource is associated with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Service that the resource is associated with sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource type: - description: 'The visibility of the channel. Can be: `public` or `private`' + type: string enum: - public - private nullable: true - type: string + description: 'The visibility of the channel. Can be: `public` or `private`' unique_name: description: An application-defined string that uniquely identifies the resource @@ -324,54 +154,54 @@ components: format: uri nullable: true type: string - type: object chat.v2.service.channel.channel_webhook: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource channel_sid: - description: The SID of the Channel the Channel Webhook resource belongs - to - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Channel the Channel Webhook resource belongs + to configuration: + nullable: true description: The JSON string that describes the configuration object for the channel webhook - nullable: true date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated service_sid: - description: The SID of the Service that the Channel Webhook resource is - associated with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Service that the Channel Webhook resource is + associated with sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WH[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource type: description: The type of webhook nullable: true @@ -381,100 +211,149 @@ components: format: uri nullable: true type: string + chat.v2.credential: type: object - chat.v2.service.channel.invite: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created the resource + date_created: type: string - channel_sid: - description: The SID of the Channel the new resource belongs to + format: date-time + nullable: true + description: The ISO 8601 date and time in GMT when the resource was created + date_updated: + type: string + format: date-time + nullable: true + description: The ISO 8601 date and time in GMT when the resource was last + updated + friendly_name: + description: The string that you assigned to describe the resource + nullable: true + type: string + sandbox: + description: '[APN only] Whether to send the credential to sandbox APNs' + nullable: true + type: string + sid: + type: string + minLength: 34 maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ + nullable: true + description: The unique string that identifies the resource + type: + type: string + enum: + - gcm + - apn + - fcm + nullable: true + description: The type of push-notification service the credential is for + url: + description: The absolute URL of the Credential resource + format: uri + nullable: true + type: string + chat.v2.service.channel.invite: + type: object + properties: + account_sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ nullable: true - pattern: ^CH[0-9a-fA-F]{32}$ + description: The SID of the Account that created the resource + channel_sid: type: string + minLength: 34 + maxLength: 34 + pattern: ^CH[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Channel the new resource belongs to created_by: description: The identity of the User that created the invite nullable: true type: string date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated identity: description: The string that identifies the resource's User nullable: true type: string role_sid: - description: The SID of the Role assigned to the member - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Role assigned to the member service_sid: - description: The SID of the Service that the resource is associated with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Service that the resource is associated with sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IN[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource url: description: The absolute URL of the Invite resource format: uri nullable: true type: string - type: object chat.v2.service.channel.member: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource attributes: description: The JSON string that stores application-specific data nullable: true type: string channel_sid: - description: The SID of the Channel for the member - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Channel for the member date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated identity: description: The string that identifies the resource's User nullable: true @@ -485,47 +364,47 @@ components: nullable: true type: integer last_consumption_timestamp: - description: The ISO 8601 based timestamp string that represents the datetime - of the last Message read event for the Member within the Channel + type: string format: date-time nullable: true - type: string + description: The ISO 8601 based timestamp string that represents the datetime + of the last Message read event for the Member within the Channel role_sid: - description: The SID of the Role assigned to the member - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Role assigned to the member service_sid: - description: The SID of the Service that the resource is associated with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Service that the resource is associated with sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^MB[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource url: description: The absolute URL of the Member resource format: uri nullable: true type: string - type: object chat.v2.service.channel.message: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource attributes: description: The JSON string that stores application-specific data nullable: true @@ -535,23 +414,23 @@ components: nullable: true type: string channel_sid: - description: The SID of the Channel the Message resource belongs to - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Channel the Message resource belongs to date_created: - description: The RFC 2822 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was created date_updated: - description: The RFC 2822 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was last + updated from: description: The Identity of the message's author nullable: true @@ -565,30 +444,30 @@ components: nullable: true type: string media: + nullable: true description: A Media object that describes the Message's media if attached; otherwise, null - nullable: true service_sid: - description: The SID of the Service that the resource is associated with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Service that the resource is associated with sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IM[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource to: - description: The SID of the Channel that the message was sent to - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Channel that the message was sent to type: description: The Message type nullable: true @@ -602,88 +481,210 @@ components: description: Whether the message has been edited since it was created nullable: true type: boolean - type: object chat.v2.service.role: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated friendly_name: description: The string that you assigned to describe the resource nullable: true type: string permissions: - description: An array of the permissions the role has been granted + type: array items: type: string nullable: true - type: array + description: An array of the permissions the role has been granted service_sid: - description: The SID of the Service that the resource is associated with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Service that the resource is associated with sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource type: - description: The type of role + type: string enum: - channel - deployment nullable: true - type: string + description: The type of role url: description: The absolute URL of the Role resource format: uri nullable: true type: string + chat.v2.service: type: object - chat.v2.service.user: properties: account_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true description: The SID of the Account that created the resource + consumption_report_interval: + description: DEPRECATED + nullable: true + type: integer + date_created: + type: string + format: date-time + nullable: true + description: The RFC 2822 date and time in GMT when the resource was created + date_updated: + type: string + format: date-time + nullable: true + description: The RFC 2822 date and time in GMT when the resource was last + updated + default_channel_creator_role_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ + nullable: true + description: The channel role assigned to a channel creator when they join + a new channel + default_channel_role_sid: + type: string + minLength: 34 maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ + nullable: true + description: The channel role assigned to users when they are added to a + channel + default_service_role_sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ + description: The service role assigned to users when they are added to the + service + friendly_name: + description: The string that you assigned to describe the resource + nullable: true + type: string + limits: + nullable: true + description: An object that describes the limits of the service instance + links: + description: The absolute URLs of the Service's Channels, Roles, and Users + format: uri-map + nullable: true + type: object + media: + nullable: true + description: The properties of the media that the service supports + notifications: + nullable: true + description: The notification configuration for the Service instance + post_webhook_retry_count: + description: The number of times calls to the `post_webhook_url` will be + retried + nullable: true + type: integer + post_webhook_url: + description: The URL for post-event webhooks + nullable: true + type: string + pre_webhook_retry_count: + description: Count of times webhook will be retried in case of timeout or + 429/503/504 HTTP responses + nullable: true + type: integer + pre_webhook_url: + description: The webhook URL for pre-event webhooks + nullable: true + type: string + reachability_enabled: + description: Whether the Reachability Indicator feature is enabled for this + Service instance + nullable: true + type: boolean + read_status_enabled: + description: Whether the Message Consumption Horizon feature is enabled + nullable: true + type: boolean + sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + nullable: true + description: The unique string that identifies the resource + typing_indicator_timeout: + description: How long in seconds to wait before assuming the user is no + longer typing + nullable: true + type: integer + url: + description: The absolute URL of the Service resource + format: uri + nullable: true + type: string + webhook_filters: + type: array + items: + type: string + nullable: true + description: The list of webhook events that are enabled for this Service + instance + webhook_method: + description: The HTTP method to use for both PRE and POST webhooks + nullable: true + type: string + chat.v2.service.user: + type: object + properties: + account_sid: type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created the resource attributes: description: The JSON string that stores application-specific data nullable: true type: string date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated friendly_name: description: The string that you assigned to describe the resource nullable: true @@ -713,67 +714,67 @@ components: nullable: true type: object role_sid: - description: The SID of the Role assigned to the user - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Role assigned to the user service_sid: - description: The SID of the Service that the resource is associated with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Service that the resource is associated with sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^US[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource url: description: The absolute URL of the User resource format: uri nullable: true type: string - type: object chat.v2.service.user.user_binding: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource binding_type: - description: The push technology to use for the binding + type: string enum: - gcm - apn - fcm nullable: true - type: string + description: The push technology to use for the binding credential_sid: - description: The SID of the Credential for the binding - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CR[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Credential for the binding date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated endpoint: description: The unique endpoint identifier for the User Binding nullable: true @@ -783,55 +784,55 @@ components: nullable: true type: string message_types: - description: The Programmable Chat message types the binding is subscribed - to + type: array items: type: string nullable: true - type: array + description: The Programmable Chat message types the binding is subscribed + to service_sid: - description: The SID of the Service that the resource is associated with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - sid: - description: The unique string that identifies the resource - maxLength: 34 - minLength: 34 nullable: true - pattern: ^BS[0-9a-fA-F]{32}$ + description: The SID of the Service that the resource is associated with + sid: type: string + minLength: 34 + maxLength: 34 + pattern: ^BS[0-9a-fA-F]{32}$ + nullable: true + description: The unique string that identifies the resource url: description: The absolute URL of the User Binding resource format: uri nullable: true type: string user_sid: - description: The SID of the User with the binding - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^US[0-9a-fA-F]{32}$ - type: string - type: object + nullable: true + description: The SID of the User with the binding chat.v2.service.user.user_channel: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource channel_sid: - description: The SID of the Channel the resource belongs to - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Channel the resource belongs to last_consumed_message_index: description: The index of the last Message in the Channel the Member has read @@ -844,34 +845,34 @@ components: nullable: true type: object member_sid: - description: The SID of the User as a Member in the Channel - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^MB[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the User as a Member in the Channel notification_level: - description: The push notification level of the User for the Channel + type: string enum: - default - muted nullable: true - type: string + description: The push notification level of the User for the Channel service_sid: - description: The SID of the Service that the resource is associated with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Service that the resource is associated with status: - description: The status of the User on the Channel + type: string enum: - joined - invited - not_participating nullable: true - type: string + description: The status of the User on the Channel unread_messages_count: description: The number of unread Messages in the Channel for the User nullable: true @@ -882,13 +883,12 @@ components: nullable: true type: string user_sid: - description: The SID of the User the User Channel belongs to - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^US[0-9a-fA-F]{32}$ - type: string - type: object + nullable: true + description: The SID of the User the User Channel belongs to securitySchemes: accountSid_authToken: scheme: basic @@ -907,12 +907,53 @@ info: version: 1.30.0 openapi: 3.0.1 paths: - /v2/Credentials: - description: Credentials for push notifications channels + /v2/Services/{ServiceSid}/Bindings: + servers: + - url: https://chat.twilio.com + description: Push notification subscription for users + x-twilio: + defaultOutputProperties: + - sid + - endpoint + - identity + pathType: list + parent: /Services get: description: '' - operationId: ListCredential + operationId: ListBinding parameters: + - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) + to read the Binding resources from. + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: 'The push technology used by the Binding resources to read. Can + be: `apn`, `gcm`, or `fcm`. See [push notification configuration](https://www.twilio.com/docs/chat/push-notification-configuration) + for more info.' + in: query + name: BindingType + schema: + type: array + items: + type: string + enum: + - gcm + - apn + - fcm + - description: The [User](https://www.twilio.com/docs/chat/rest/user-resource)'s + `identity` value of the resources to read. See [access tokens](https://www.twilio.com/docs/chat/create-tokens) + for more details. + in: query + name: Identity + schema: + type: array + items: + type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -926,18 +967,19 @@ paths: content: application/json: schema: + type: object + title: ListBindingResponse properties: - credentials: - items: - $ref: '#/components/schemas/chat.v2.credential' + bindings: type: array + items: + $ref: '#/components/schemas/chat.v2.service.binding' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -951,259 +993,196 @@ paths: url: format: uri type: string - type: object - title: ListCredentialResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: '' - operationId: CreateCredential - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - ApiKey: - description: '[GCM only] The API key for the project that was obtained - from the Google Developer console for your GCM Service application - credential.' - type: string - Certificate: - description: "[APN only] The URL encoded representation of the certificate.\ - \ For example, \n`-----BEGIN CERTIFICATE-----\nMIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEF.....A==\n\ - -----END CERTIFICATE-----`" - type: string - FriendlyName: - description: A descriptive string that you create to describe the - new resource. It can be up to 64 characters long. - type: string - PrivateKey: - description: '[APN only] The URL encoded representation of the private - key. For example, - - `-----BEGIN RSA PRIVATE KEY----- - - MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fG... - - -----END RSA PRIVATE KEY-----`' - type: string - Sandbox: - description: '[APN only] Whether to send the credential to sandbox - APNs. Can be `true` to send to sandbox APNs or `false` to send - to production.' - type: boolean - Secret: - description: '[FCM only] The **Server key** of your project from - the Firebase console, found under Settings / Cloud messaging.' - type: string - Type: - description: 'The type of push-notification service the credential - is for. Can be: `gcm`, `fcm`, or `apn`.' - enum: - - gcm - - apn - - fcm - type: string - required: - - Type - title: CreateCredentialRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/chat.v2.credential' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA + /v2/Services/{ServiceSid}/Bindings/{Sid}: servers: - url: https://chat.twilio.com + description: Push notification subscription for users x-twilio: defaultOutputProperties: - sid - - friendly_name - - type - pathType: list - /v2/Credentials/{Sid}: - delete: + - endpoint + - identity + pathType: instance + parent: /Services + get: description: '' - operationId: DeleteCredential + operationId: FetchBinding parameters: - - description: The SID of the Credential resource to delete. + - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) + to fetch the Binding resource from. in: path - name: Sid + name: ServiceSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^CR[0-9a-fA-F]{32}$ type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: Credentials for push notifications channels - get: - description: '' - operationId: FetchCredential - parameters: - - description: The SID of the Credential resource to fetch. + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: The SID of the Binding resource to fetch. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^CR[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^BS[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/chat.v2.credential' + $ref: '#/components/schemas/chat.v2.service.binding' description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: + delete: description: '' - operationId: UpdateCredential + operationId: DeleteBinding parameters: - - description: The SID of the Credential resource to update. + - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) + to delete the Binding resource from. in: path - name: Sid + name: ServiceSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^CR[0-9a-fA-F]{32}$ type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - ApiKey: - description: '[GCM only] The API key for the project that was obtained - from the Google Developer console for your GCM Service application - credential.' - type: string - Certificate: - description: "[APN only] The URL encoded representation of the certificate.\ - \ For example, \n`-----BEGIN CERTIFICATE-----\nMIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEF.....A==\n\ - -----END CERTIFICATE-----`" - type: string - FriendlyName: - description: A descriptive string that you create to describe the - resource. It can be up to 64 characters long. - type: string - PrivateKey: - description: '[APN only] The URL encoded representation of the private - key. For example, - - `-----BEGIN RSA PRIVATE KEY----- - - MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fG... - - -----END RSA PRIVATE KEY-----`' - type: string - Sandbox: - description: '[APN only] Whether to send the credential to sandbox - APNs. Can be `true` to send to sandbox APNs or `false` to send - to production.' - type: boolean - Secret: - description: '[FCM only] The **Server key** of your project from - the Firebase console, found under Settings / Cloud messaging.' - type: string - title: UpdateCredentialRequest - type: object + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: The SID of the Binding resource to delete. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^BS[0-9a-fA-F]{32}$ responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/chat.v2.credential' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA + /v2/Services/{ServiceSid}/Channels/{Sid}: servers: - url: https://chat.twilio.com + description: Channels represent chat rooms x-twilio: defaultOutputProperties: - sid + - unique_name - friendly_name - - type pathType: instance - /v2/Services: - description: Top level scope for all chat resources + parent: /Services get: description: '' - operationId: ListService + operationId: FetchChannel parameters: - - description: How many resources to return in each list page. The default is - 50, and the maximum is 1000. - in: query - name: PageSize + - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) + to fetch the Channel resource from. + in: path + name: ServiceSid + required: true schema: - maximum: 1000 - minimum: 1 - type: integer + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: The SID of the Channel resource to fetch. This value can be either + the `sid` or the `unique_name` of the Channel resource to fetch. + in: path + name: Sid + required: true + 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 - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - services: - items: - $ref: '#/components/schemas/chat.v2.service' - type: array - title: ListServiceResponse - type: object + $ref: '#/components/schemas/chat.v2.service.channel' description: OK security: - accountSid_authToken: [] x-maturity: - GA + delete: + description: '' + operationId: DeleteChannel + parameters: + - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) + to delete the resource from. + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: The SID of the Channel resource to delete. This value can be + either the `sid` or the `unique_name` of the Channel resource to delete. + in: path + name: Sid + required: true + schema: + type: string + - description: The X-Twilio-Webhook-Enabled HTTP request header + in: header + name: X-Twilio-Webhook-Enabled + schema: + type: string + enum: + - 'true' + - 'false' + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA post: description: '' - operationId: CreateService + operationId: UpdateChannel + parameters: + - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) + to update the Channel resource in. + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: The SID of the Channel resource to update. This value can be + either the `sid` or the `unique_name` of the Channel resource to update. + in: path + name: Sid + required: true + schema: + type: string + - description: The X-Twilio-Webhook-Enabled HTTP request header + in: header + name: X-Twilio-Webhook-Enabled + schema: + type: string + enum: + - 'true' + - 'false' requestBody: content: application/x-www-form-urlencoded: @@ -1211,69 +1190,165 @@ paths: properties: FriendlyName: description: A descriptive string that you create to describe the - new resource. + resource. It can be up to 256 characters long. type: string - required: - - FriendlyName - title: CreateServiceRequest + UniqueName: + description: An application-defined string that uniquely identifies + the resource. It can be used to address the resource in place + of the resource's `sid` in the URL. This value must be 256 characters + or less in length and unique within the Service. + type: string + Attributes: + description: A valid JSON string that contains application-specific + data. + type: string + DateCreated: + type: string + format: date-time + description: The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) + format, to assign to the resource as the date it was created. + The default value is the current time set by the Chat service. Note + that this should only be used in cases where a Channel is being + recreated from a backup/separate source. + DateUpdated: + type: string + format: date-time + description: The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) + format, to assign to the resource as the date it was last updated. + CreatedBy: + description: 'The `identity` of the User that created the channel. + Default is: `system`.' + type: string + title: UpdateChannelRequest type: object responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/chat.v2.service' - description: Created + $ref: '#/components/schemas/chat.v2.service.channel' + description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v2/Services/{ServiceSid}/Channels: servers: - url: https://chat.twilio.com + description: Channels represent chat rooms x-twilio: defaultOutputProperties: - sid + - unique_name - friendly_name - - date_created pathType: list - /v2/Services/{ServiceSid}/Bindings: - description: Push notification subscription for users - get: + parent: /Services + post: description: '' - operationId: ListBinding + operationId: CreateChannel parameters: - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to read the Binding resources from. + to create the Channel resource under. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: 'The push technology used by the Binding resources to read. Can - be: `apn`, `gcm`, or `fcm`. See [push notification configuration](https://www.twilio.com/docs/chat/push-notification-configuration) - for more info.' - in: query - name: BindingType + - description: The X-Twilio-Webhook-Enabled HTTP request header + in: header + name: X-Twilio-Webhook-Enabled schema: - items: - enum: - - gcm - - apn - - fcm - type: string - type: array - - description: The [User](https://www.twilio.com/docs/chat/rest/user-resource)'s - `identity` value of the resources to read. See [access tokens](https://www.twilio.com/docs/chat/create-tokens) - for more details. + type: string + enum: + - 'true' + - 'false' + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: A descriptive string that you create to describe the + new resource. It can be up to 64 characters long. + type: string + UniqueName: + description: An application-defined string that uniquely identifies + the resource. It can be used to address the resource in place + of the Channel resource's `sid` in the URL. This value must be + 64 characters or less in length and be unique within the Service. + type: string + Attributes: + description: A valid JSON string that contains application-specific + data. + type: string + Type: + type: string + enum: + - public + - private + description: 'The visibility of the channel. Can be: `public` or + `private` and defaults to `public`.' + DateCreated: + type: string + format: date-time + description: The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) + format, to assign to the resource as the date it was created. + The default value is the current time set by the Chat service. Note + that this should only be used in cases where a Channel is being + recreated from a backup/separate source. + DateUpdated: + type: string + format: date-time + description: The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) + format, to assign to the resource as the date it was last updated. + The default value is `null`. Note that this parameter should only + be used in cases where a Channel is being recreated from a backup/separate + source and where a Message was previously updated. + CreatedBy: + description: 'The `identity` of the User that created the channel. + Default is: `system`.' + type: string + title: CreateChannelRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/chat.v2.service.channel' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + get: + description: '' + operationId: ListChannel + parameters: + - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) + to read the Channel resources from. + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: 'The visibility of the Channels to read. Can be: `public` or + `private` and defaults to `public`.' in: query - name: Identity + name: Type schema: + type: array items: type: string - type: array + enum: + - public + - private - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -1287,18 +1362,19 @@ paths: content: application/json: schema: + type: object + title: ListChannelResponse properties: - bindings: - items: - $ref: '#/components/schemas/chat.v2.service.binding' + channels: type: array + items: + $ref: '#/components/schemas/chat.v2.service.channel' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1312,125 +1388,45 @@ paths: url: format: uri type: string - type: object - title: ListBindingResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Webhooks: servers: - url: https://chat.twilio.com + description: Webhooks for specific channels x-twilio: defaultOutputProperties: - sid - - endpoint - - identity - parent: /Services + - configuration pathType: list - /v2/Services/{ServiceSid}/Bindings/{Sid}: - delete: + parent: /Services/{ServiceSid}/Channels + get: description: '' - operationId: DeleteBinding + operationId: ListChannelWebhook parameters: - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to delete the Binding resource from. + with the Channel to read the resources from. in: path name: ServiceSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ type: string - - description: The SID of the Binding resource to delete. - in: path - name: Sid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^BS[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: Push notification subscription for users - get: - description: '' - operationId: FetchBinding - parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to fetch the Binding resource from. - in: path - name: ServiceSid - required: true - schema: maxLength: 34 - minLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Binding resource to fetch. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^BS[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/chat.v2.service.binding' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://chat.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - endpoint - - identity - parent: /Services - pathType: instance - /v2/Services/{ServiceSid}/Channels: - description: Channels represent chat rooms - get: - description: '' - operationId: ListChannel - parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to read the Channel resources from. + - description: The SID of the [Channel](https://www.twilio.com/docs/chat/channels) + the Channel Webhook resources to read belong to. This value can be the Channel + resource's `sid` or `unique_name`. in: path - name: ServiceSid + name: ChannelSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ type: string - - description: 'The visibility of the Channels to read. Can be: `public` or - `private` and defaults to `public`.' - in: query - name: Type - schema: - items: - enum: - - public - - private - type: string - type: array - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -1444,18 +1440,19 @@ paths: content: application/json: schema: + type: object + title: ListChannelWebhookResponse properties: - channels: - items: - $ref: '#/components/schemas/chat.v2.service.channel' + webhooks: type: array + items: + $ref: '#/components/schemas/chat.v2.service.channel.channel_webhook' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1469,9 +1466,8 @@ paths: url: format: uri type: string - type: object - title: ListChannelResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] @@ -1479,168 +1475,141 @@ paths: - GA post: description: '' - operationId: CreateChannel + operationId: CreateChannelWebhook parameters: - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to create the Channel resource under. + with the Channel to create the Webhook resource under. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The X-Twilio-Webhook-Enabled HTTP request header - in: header - name: X-Twilio-Webhook-Enabled + - description: The SID of the [Channel](https://www.twilio.com/docs/chat/channels) + the new Channel Webhook resource belongs to. This value can be the Channel + resource's `sid` or `unique_name`. + in: path + name: ChannelSid + required: true schema: - enum: - - 'true' - - 'false' type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Attributes: - description: A valid JSON string that contains application-specific - data. - type: string - CreatedBy: - description: 'The `identity` of the User that created the channel. - Default is: `system`.' + Type: type: string - DateCreated: - description: The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) - format, to assign to the resource as the date it was created. - The default value is the current time set by the Chat service. Note - that this should only be used in cases where a Channel is being - recreated from a backup/separate source. - format: date-time - type: string - DateUpdated: - description: The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) - format, to assign to the resource as the date it was last updated. - The default value is `null`. Note that this parameter should only - be used in cases where a Channel is being recreated from a backup/separate - source and where a Message was previously updated. - format: date-time + enum: + - webhook + - trigger + - studio + description: 'The type of webhook. Can be: `webhook`, `studio`, + or `trigger`.' + Configuration.Url: + description: The URL of the webhook to call using the `configuration.method`. type: string - FriendlyName: - description: A descriptive string that you create to describe the - new resource. It can be up to 64 characters long. + Configuration.Method: type: string - Type: - description: 'The visibility of the channel. Can be: `public` or - `private` and defaults to `public`.' enum: - - public - - private - type: string - UniqueName: - description: An application-defined string that uniquely identifies - the resource. It can be used to address the resource in place - of the Channel resource's `sid` in the URL. This value must be - 64 characters or less in length and be unique within the Service. + - GET + - POST + description: 'The HTTP method used to call `configuration.url`. + Can be: `GET` or `POST` and the default is `POST`.' + Configuration.Filters: + type: array + items: + type: string + description: The events that cause us to call the Channel Webhook. + Used when `type` is `webhook`. This parameter takes only one event. + To specify more than one event, repeat this parameter for each + event. For the list of possible events, see [Webhook Event Triggers](https://www.twilio.com/docs/chat/webhook-events#webhook-event-trigger). + Configuration.Triggers: + type: array + items: + type: string + description: A string that will cause us to call the webhook when + it is present in a message body. This parameter takes only one + trigger string. To specify more than one, repeat this parameter + for each trigger string up to a total of 5 trigger strings. Used + only when `type` = `trigger`. + Configuration.FlowSid: type: string - title: CreateChannelRequest + minLength: 34 + maxLength: 34 + pattern: ^FW[0-9a-fA-F]{32}$ + description: The SID of the Studio [Flow](https://www.twilio.com/docs/studio/rest-api/flow) + to call when an event in `configuration.filters` occurs. Used + only when `type` is `studio`. + Configuration.RetryCount: + description: The number of times to retry the webhook if the first + attempt fails. Can be an integer between 0 and 3, inclusive, and + the default is 0. + type: integer + required: + - Type + title: CreateChannelWebhookRequest type: object responses: '201': content: application/json: schema: - $ref: '#/components/schemas/chat.v2.service.channel' + $ref: '#/components/schemas/chat.v2.service.channel.channel_webhook' description: Created security: - accountSid_authToken: [] x-maturity: - GA + /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Webhooks/{Sid}: servers: - url: https://chat.twilio.com + description: Webhooks for specific channels x-twilio: defaultOutputProperties: - sid - - unique_name - - friendly_name - parent: /Services - pathType: list - /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Invites: - description: Pending invitations to users to become channel members + - configuration + pathType: instance + parent: /Services/{ServiceSid}/Channels get: description: '' - operationId: ListInvite + operationId: FetchChannelWebhook parameters: - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to read the Invite resources from. + with the Channel to fetch the Webhook resource from. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The SID of the [Channel](https://www.twilio.com/docs/chat/channels) - the Invite resources to read belong to. This value can be the Channel resource's - `sid` or `unique_name`. + the Channel Webhook resource to fetch belongs to. This value can be the + Channel resource's `sid` or `unique_name`. in: path name: ChannelSid required: true schema: type: string - - description: The [User](https://www.twilio.com/docs/chat/rest/user-resource)'s - `identity` value of the resources to read. See [access tokens](https://www.twilio.com/docs/chat/create-tokens) - for more details. - in: query - name: Identity - schema: - items: - type: string - type: array - - description: How many resources to return in each list page. The default is - 50, and the maximum is 1000. - in: query - name: PageSize + - description: The SID of the Channel Webhook resource to fetch. + in: path + name: Sid + required: true schema: - maximum: 1000 - minimum: 1 - type: integer + type: string + minLength: 34 + maxLength: 34 + pattern: ^WH[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - properties: - invites: - items: - $ref: '#/components/schemas/chat.v2.service.channel.invite' - type: array - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - title: ListInviteResponse - type: object + $ref: '#/components/schemas/chat.v2.service.channel.channel_webhook' description: OK security: - accountSid_authToken: [] @@ -1648,193 +1617,145 @@ paths: - GA post: description: '' - operationId: CreateInvite + operationId: UpdateChannelWebhook parameters: - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to create the Invite resource under. + with the Channel that has the Webhook resource to update. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The SID of the [Channel](https://www.twilio.com/docs/chat/channels) - the new Invite resource belongs to. This value can be the Channel resource's - `sid` or `unique_name`. + the Channel Webhook resource to update belongs to. This value can be the + Channel resource's `sid` or `unique_name`. in: path name: ChannelSid required: true schema: type: string + - description: The SID of the Channel Webhook resource to update. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WH[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - Identity: - description: The `identity` value that uniquely identifies the new - resource's [User](https://www.twilio.com/docs/chat/rest/user-resource) - within the [Service](https://www.twilio.com/docs/chat/rest/service-resource). - See [access tokens](https://www.twilio.com/docs/chat/create-tokens) - for more info. + Configuration.Url: + description: The URL of the webhook to call using the `configuration.method`. type: string - RoleSid: - description: The SID of the [Role](https://www.twilio.com/docs/chat/rest/role-resource) - assigned to the new member. - maxLength: 34 - minLength: 34 - pattern: ^RL[0-9a-fA-F]{32}$ + Configuration.Method: type: string - required: - - Identity - title: CreateInviteRequest + enum: + - GET + - POST + description: 'The HTTP method used to call `configuration.url`. + Can be: `GET` or `POST` and the default is `POST`.' + Configuration.Filters: + type: array + items: + type: string + description: The events that cause us to call the Channel Webhook. + Used when `type` is `webhook`. This parameter takes only one event. + To specify more than one event, repeat this parameter for each + event. For the list of possible events, see [Webhook Event Triggers](https://www.twilio.com/docs/chat/webhook-events#webhook-event-trigger). + Configuration.Triggers: + type: array + items: + type: string + description: A string that will cause us to call the webhook when + it is present in a message body. This parameter takes only one + trigger string. To specify more than one, repeat this parameter + for each trigger string up to a total of 5 trigger strings. Used + only when `type` = `trigger`. + Configuration.FlowSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^FW[0-9a-fA-F]{32}$ + description: The SID of the Studio [Flow](https://www.twilio.com/docs/studio/rest-api/flow) + to call when an event in `configuration.filters` occurs. Used + only when `type` = `studio`. + Configuration.RetryCount: + description: The number of times to retry the webhook if the first + attempt fails. Can be an integer between 0 and 3, inclusive, and + the default is 0. + type: integer + title: UpdateChannelWebhookRequest type: object responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/chat.v2.service.channel.invite' - description: Created + $ref: '#/components/schemas/chat.v2.service.channel.channel_webhook' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://chat.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - identity - - date_created - parent: /Services/{ServiceSid}/Channels - pathType: list - /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Invites/{Sid}: delete: description: '' - operationId: DeleteInvite + operationId: DeleteChannelWebhook parameters: - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to delete the Invite resource from. + with the Channel to delete the Webhook resource from. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The SID of the [Channel](https://www.twilio.com/docs/chat/channels) - the Invite resource to delete belongs to. This value can be the Channel - resource's `sid` or `unique_name`. + the Channel Webhook resource to delete belongs to. This value can be the + Channel resource's `sid` or `unique_name`. in: path name: ChannelSid required: true schema: type: string - - description: The SID of the Invite resource to delete. + - description: The SID of the Channel Webhook resource to delete. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^IN[0-9a-fA-F]{32}$ type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: Pending invitations to users to become channel members - get: - description: '' - operationId: FetchInvite - parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to fetch the Invite resource from. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the [Channel](https://www.twilio.com/docs/chat/channels) - the Invite resource to fetch belongs to. This value can be the Channel resource's - `sid` or `unique_name`. - in: path - name: ChannelSid - required: true - schema: - type: string - - description: The SID of the Invite resource to fetch. - in: path - name: Sid - required: true - schema: maxLength: 34 - minLength: 34 - pattern: ^IN[0-9a-fA-F]{32}$ - type: string + pattern: ^WH[0-9a-fA-F]{32}$ responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/chat.v2.service.channel.invite' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA + /v2/Credentials: servers: - url: https://chat.twilio.com + description: Credentials for push notifications channels x-twilio: defaultOutputProperties: - sid - - identity - - date_created - parent: /Services/{ServiceSid}/Channels - pathType: instance - /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Members: - description: Users joined to specific channels + - friendly_name + - type + pathType: list get: description: '' - operationId: ListMember + operationId: ListCredential parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to read the Member resources from. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the [Channel](https://www.twilio.com/docs/chat/channels) - the Member resources to read belong to. This value can be the Channel resource's - `sid` or `unique_name`. - in: path - name: ChannelSid - required: true - schema: - type: string - - description: The [User](https://www.twilio.com/docs/chat/rest/user-resource)'s - `identity` value of the Member resources to read. See [access tokens](https://www.twilio.com/docs/chat/create-tokens) - for more details. - in: query - name: Identity - schema: - items: - type: string - type: array - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -1848,18 +1769,19 @@ paths: content: application/json: schema: + type: object + title: ListCredentialResponse properties: - members: - items: - $ref: '#/components/schemas/chat.v2.service.channel.member' + credentials: type: array + items: + $ref: '#/components/schemas/chat.v2.credential' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1873,9 +1795,8 @@ paths: url: format: uri type: string - type: object - title: ListMemberResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] @@ -1883,149 +1804,179 @@ paths: - GA post: description: '' - operationId: CreateMember - parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to create the Member resource under. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the [Channel](https://www.twilio.com/docs/chat/channels) - the new Member resource belongs to. This value can be the Channel resource's - `sid` or `unique_name`. - in: path - name: ChannelSid - required: true - schema: - type: string - - description: The X-Twilio-Webhook-Enabled HTTP request header - in: header - name: X-Twilio-Webhook-Enabled - schema: - enum: - - 'true' - - 'false' - type: string + operationId: CreateCredential requestBody: content: application/x-www-form-urlencoded: schema: properties: - Attributes: - description: A valid JSON string that contains application-specific - data. + Type: type: string - DateCreated: - description: The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) - format, to assign to the resource as the date it was created. - The default value is the current time set by the Chat service. Note - that this parameter should only be used when a Member is being - recreated from a backup/separate source. - format: date-time + enum: + - gcm + - apn + - fcm + description: 'The type of push-notification service the credential + is for. Can be: `gcm`, `fcm`, or `apn`.' + FriendlyName: + description: A descriptive string that you create to describe the + new resource. It can be up to 64 characters long. type: string - DateUpdated: - description: The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) - format, to assign to the resource as the date it was last updated. - The default value is `null`. Note that this parameter should only - be used when a Member is being recreated from a backup/separate - source and where a Member was previously updated. - format: date-time + Certificate: + description: "[APN only] The URL encoded representation of the certificate.\ + \ For example, \n`-----BEGIN CERTIFICATE-----\nMIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEF.....A==\n\ + -----END CERTIFICATE-----`" type: string - Identity: - description: The `identity` value that uniquely identifies the new - resource's [User](https://www.twilio.com/docs/chat/rest/user-resource) - within the [Service](https://www.twilio.com/docs/chat/rest/service-resource). - See [access tokens](https://www.twilio.com/docs/chat/create-tokens) - for more info. + PrivateKey: + description: '[APN only] The URL encoded representation of the private + key. For example, + + `-----BEGIN RSA PRIVATE KEY----- + + MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fG... + + -----END RSA PRIVATE KEY-----`' type: string - LastConsumedMessageIndex: - description: The index of the last [Message](https://www.twilio.com/docs/chat/rest/message-resource) - in the [Channel](https://www.twilio.com/docs/chat/channels) that - the Member has read. This parameter should only be used when recreating - a Member from a backup/separate source. - nullable: true - type: integer - LastConsumptionTimestamp: - description: The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) - timestamp of the last [Message](https://www.twilio.com/docs/chat/rest/message-resource) - read event for the Member within the [Channel](https://www.twilio.com/docs/chat/channels). - format: date-time + Sandbox: + description: '[APN only] Whether to send the credential to sandbox + APNs. Can be `true` to send to sandbox APNs or `false` to send + to production.' + type: boolean + ApiKey: + description: '[GCM only] The API key for the project that was obtained + from the Google Developer console for your GCM Service application + credential.' type: string - RoleSid: - description: The SID of the [Role](https://www.twilio.com/docs/chat/rest/role-resource) - to assign to the member. The default roles are those specified - on the [Service](https://www.twilio.com/docs/chat/rest/service-resource). - maxLength: 34 - minLength: 34 - pattern: ^RL[0-9a-fA-F]{32}$ + Secret: + description: '[FCM only] The **Server key** of your project from + the Firebase console, found under Settings / Cloud messaging.' type: string required: - - Identity - title: CreateMemberRequest + - Type + title: CreateCredentialRequest type: object responses: '201': content: application/json: schema: - $ref: '#/components/schemas/chat.v2.service.channel.member' + $ref: '#/components/schemas/chat.v2.credential' description: Created security: - accountSid_authToken: [] x-maturity: - GA + /v2/Credentials/{Sid}: servers: - url: https://chat.twilio.com + description: Credentials for push notifications channels x-twilio: defaultOutputProperties: - sid - - identity - - date_created - parent: /Services/{ServiceSid}/Channels - pathType: list - /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Members/{Sid}: - delete: + - friendly_name + - type + pathType: instance + get: description: '' - operationId: DeleteMember + operationId: FetchCredential parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to delete the Member resource from. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the [Channel](https://www.twilio.com/docs/chat/channels) - the Member resource to delete belongs to. This value can be the Channel - resource's `sid` or `unique_name`. - in: path - name: ChannelSid - required: true - schema: - type: string - - description: The SID of the Member resource to delete. This value can be either - the Member's `sid` or its `identity` value. + - description: The SID of the Credential resource to fetch. in: path name: Sid required: true schema: type: string - - description: The X-Twilio-Webhook-Enabled HTTP request header - in: header - name: X-Twilio-Webhook-Enabled - schema: - enum: - - 'true' - - 'false' - type: string + minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/chat.v2.credential' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + post: + description: '' + operationId: UpdateCredential + parameters: + - description: The SID of the Credential resource to update. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: A descriptive string that you create to describe the + resource. It can be up to 64 characters long. + type: string + Certificate: + description: "[APN only] The URL encoded representation of the certificate.\ + \ For example, \n`-----BEGIN CERTIFICATE-----\nMIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEF.....A==\n\ + -----END CERTIFICATE-----`" + type: string + PrivateKey: + description: '[APN only] The URL encoded representation of the private + key. For example, + + `-----BEGIN RSA PRIVATE KEY----- + + MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fG... + + -----END RSA PRIVATE KEY-----`' + type: string + Sandbox: + description: '[APN only] Whether to send the credential to sandbox + APNs. Can be `true` to send to sandbox APNs or `false` to send + to production.' + type: boolean + ApiKey: + description: '[GCM only] The API key for the project that was obtained + from the Google Developer console for your GCM Service application + credential.' + type: string + Secret: + description: '[FCM only] The **Server key** of your project from + the Firebase console, found under Settings / Cloud messaging.' + type: string + title: UpdateCredentialRequest + type: object + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/chat.v2.credential' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + delete: + description: '' + operationId: DeleteCredential + parameters: + - description: The SID of the Credential resource to delete. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ responses: '204': description: The resource was deleted successfully. @@ -2033,180 +1984,195 @@ paths: - accountSid_authToken: [] x-maturity: - GA - description: Users joined to specific channels + /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Invites/{Sid}: + servers: + - url: https://chat.twilio.com + description: Pending invitations to users to become channel members + x-twilio: + defaultOutputProperties: + - sid + - identity + - date_created + pathType: instance + parent: /Services/{ServiceSid}/Channels get: description: '' - operationId: FetchMember + operationId: FetchInvite parameters: - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to fetch the Member resource from. + to fetch the Invite resource from. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The SID of the [Channel](https://www.twilio.com/docs/chat/channels) - the Member resource to fetch belongs to. This value can be the Channel resource's + the Invite resource to fetch belongs to. This value can be the Channel resource's `sid` or `unique_name`. in: path name: ChannelSid required: true schema: type: string - - description: The SID of the Member resource to fetch. This value can be either - the Member's `sid` or its `identity` value. + - description: The SID of the Invite resource to fetch. in: path name: Sid required: true schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^IN[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/chat.v2.service.channel.member' + $ref: '#/components/schemas/chat.v2.service.channel.invite' description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: + delete: description: '' - operationId: UpdateMember + operationId: DeleteInvite parameters: - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to update the Member resource in. + to delete the Invite resource from. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The SID of the [Channel](https://www.twilio.com/docs/chat/channels) - the Member resource to update belongs to. This value can be the Channel + the Invite resource to delete belongs to. This value can be the Channel resource's `sid` or `unique_name`. in: path name: ChannelSid required: true schema: type: string - - description: The SID of the Member resource to update. This value can be either - the Member's `sid` or its `identity` value. + - description: The SID of the Invite resource to delete. in: path name: Sid required: true schema: type: string - - description: The X-Twilio-Webhook-Enabled HTTP request header - in: header - name: X-Twilio-Webhook-Enabled + minLength: 34 + maxLength: 34 + pattern: ^IN[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Invites: + servers: + - url: https://chat.twilio.com + description: Pending invitations to users to become channel members + x-twilio: + defaultOutputProperties: + - sid + - identity + - date_created + pathType: list + parent: /Services/{ServiceSid}/Channels + post: + description: '' + operationId: CreateInvite + parameters: + - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) + to create the Invite resource under. + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: The SID of the [Channel](https://www.twilio.com/docs/chat/channels) + the new Invite resource belongs to. This value can be the Channel resource's + `sid` or `unique_name`. + in: path + name: ChannelSid + required: true schema: - enum: - - 'true' - - 'false' type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Attributes: - description: A valid JSON string that contains application-specific - data. - type: string - DateCreated: - description: The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) - format, to assign to the resource as the date it was created. - The default value is the current time set by the Chat service. Note - that this parameter should only be used when a Member is being - recreated from a backup/separate source. - format: date-time - type: string - DateUpdated: - description: The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) - format, to assign to the resource as the date it was last updated. - format: date-time - type: string - LastConsumedMessageIndex: - description: The index of the last [Message](https://www.twilio.com/docs/chat/rest/message-resource) - that the Member has read within the [Channel](https://www.twilio.com/docs/chat/channels). - nullable: true - type: integer - LastConsumptionTimestamp: - description: The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) - timestamp of the last [Message](https://www.twilio.com/docs/chat/rest/message-resource) - read event for the Member within the [Channel](https://www.twilio.com/docs/chat/channels). - format: date-time + Identity: + description: The `identity` value that uniquely identifies the new + resource's [User](https://www.twilio.com/docs/chat/rest/user-resource) + within the [Service](https://www.twilio.com/docs/chat/rest/service-resource). + See [access tokens](https://www.twilio.com/docs/chat/create-tokens) + for more info. type: string RoleSid: - description: The SID of the [Role](https://www.twilio.com/docs/chat/rest/role-resource) - to assign to the member. The default roles are those specified - on the [Service](https://www.twilio.com/docs/chat/rest/service-resource). - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string - title: UpdateMemberRequest + description: The SID of the [Role](https://www.twilio.com/docs/chat/rest/role-resource) + assigned to the new member. + required: + - Identity + title: CreateInviteRequest type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/chat.v2.service.channel.member' - description: OK + $ref: '#/components/schemas/chat.v2.service.channel.invite' + description: Created security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://chat.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - identity - - date_created - parent: /Services/{ServiceSid}/Channels - pathType: instance - /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Messages: - description: Individual chat messages get: description: '' - operationId: ListMessage + operationId: ListInvite parameters: - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to read the Message resources from. + to read the Invite resources from. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The SID of the [Channel](https://www.twilio.com/docs/chat/channels) - the Message resource to read belongs to. This value can be the Channel resource's + the Invite resources to read belong to. This value can be the Channel resource's `sid` or `unique_name`. in: path name: ChannelSid required: true schema: type: string - - description: 'The sort order of the returned messages. Can be: `asc` (ascending) - or `desc` (descending) with `asc` as the default.' + - description: The [User](https://www.twilio.com/docs/chat/rest/user-resource)'s + `identity` value of the resources to read. See [access tokens](https://www.twilio.com/docs/chat/create-tokens) + for more details. in: query - name: Order + name: Identity schema: - enum: - - asc - - desc - type: string + type: array + items: + type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -2220,18 +2186,19 @@ paths: content: application/json: schema: + type: object + title: ListInviteResponse properties: - messages: - items: - $ref: '#/components/schemas/chat.v2.service.channel.message' + invites: type: array + items: + $ref: '#/components/schemas/chat.v2.service.channel.invite' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -2245,149 +2212,101 @@ paths: url: format: uri type: string - type: object - title: ListMessageResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: + /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Members/{Sid}: + servers: + - url: https://chat.twilio.com + description: Users joined to specific channels + x-twilio: + defaultOutputProperties: + - sid + - identity + - date_created + pathType: instance + parent: /Services/{ServiceSid}/Channels + get: description: '' - operationId: CreateMessage + operationId: FetchMember parameters: - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to create the Message resource under. + to fetch the Member resource from. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The SID of the [Channel](https://www.twilio.com/docs/chat/channels) - the new Message resource belongs to. This value can be the Channel resource's + the Member resource to fetch belongs to. This value can be the Channel resource's `sid` or `unique_name`. in: path name: ChannelSid required: true schema: type: string - - description: The X-Twilio-Webhook-Enabled HTTP request header - in: header - name: X-Twilio-Webhook-Enabled + - description: The SID of the Member resource to fetch. This value can be either + the Member's `sid` or its `identity` value. + in: path + name: Sid + required: true schema: - enum: - - 'true' - - 'false' type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Attributes: - description: A valid JSON string that contains application-specific - data. - type: string - Body: - description: The message to send to the channel. Can be an empty - string or `null`, which sets the value as an empty string. You - can send structured data in the body by serializing it as a string. - type: string - DateCreated: - description: The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) - format, to assign to the resource as the date it was created. - The default value is the current time set by the Chat service. - This parameter should only be used when a Chat's history is being - recreated from a backup/separate source. - format: date-time - type: string - DateUpdated: - description: The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) - format, to assign to the resource as the date it was last updated. - format: date-time - type: string - From: - description: The [Identity](https://www.twilio.com/docs/chat/identity) - of the new message's author. The default value is `system`. - type: string - LastUpdatedBy: - description: The [Identity](https://www.twilio.com/docs/chat/identity) - of the User who last updated the Message, if applicable. - type: string - MediaSid: - description: The SID of the [Media](https://www.twilio.com/docs/chat/rest/media) - to attach to the new Message. - maxLength: 34 - minLength: 34 - pattern: ^ME[0-9a-fA-F]{32}$ - type: string - title: CreateMessageRequest - type: object responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/chat.v2.service.channel.message' - description: Created + $ref: '#/components/schemas/chat.v2.service.channel.member' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://chat.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - from - - to - - date_created - parent: /Services/{ServiceSid}/Channels - pathType: list - /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Messages/{Sid}: delete: description: '' - operationId: DeleteMessage + operationId: DeleteMember parameters: - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to delete the Message resource from. + to delete the Member resource from. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The SID of the [Channel](https://www.twilio.com/docs/chat/channels) - the Message resource to delete belongs to. This value can be the Channel + the Member resource to delete belongs to. This value can be the Channel resource's `sid` or `unique_name`. in: path name: ChannelSid required: true schema: type: string - - description: The SID of the Message resource to delete. + - description: The SID of the Member resource to delete. This value can be either + the Member's `sid` or its `identity` value. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^IM[0-9a-fA-F]{32}$ type: string - description: The X-Twilio-Webhook-Enabled HTTP request header in: header name: X-Twilio-Webhook-Enabled schema: + type: string enum: - 'true' - 'false' - type: string responses: '204': description: The resource was deleted successfully. @@ -2395,170 +2314,237 @@ paths: - accountSid_authToken: [] x-maturity: - GA - description: Individual chat messages - get: + post: description: '' - operationId: FetchMessage + operationId: UpdateMember parameters: - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to fetch the Message resource from. + to update the Member resource in. in: path name: ServiceSid required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the [Channel](https://www.twilio.com/docs/chat/channels) - the Message resource to fetch belongs to. This value can be the Channel - resource's `sid` or `unique_name`. - in: path - name: ChannelSid - required: true schema: type: string - - description: The SID of the Message resource to fetch. - in: path - name: Sid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^IM[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/chat.v2.service.channel.message' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: '' - operationId: UpdateMessage - parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to update the Message resource in. - in: path - name: ServiceSid - required: true - schema: maxLength: 34 - minLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The SID of the [Channel](https://www.twilio.com/docs/chat/channels) - the Message resource to update belongs to. This value can be the Channel + the Member resource to update belongs to. This value can be the Channel resource's `sid` or `unique_name`. in: path name: ChannelSid required: true schema: type: string - - description: The SID of the Message resource to update. + - description: The SID of the Member resource to update. This value can be either + the Member's `sid` or its `identity` value. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^IM[0-9a-fA-F]{32}$ type: string - description: The X-Twilio-Webhook-Enabled HTTP request header in: header name: X-Twilio-Webhook-Enabled schema: + type: string enum: - 'true' - 'false' - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Attributes: - description: A valid JSON string that contains application-specific - data. + RoleSid: type: string - Body: - description: The message to send to the channel. Can be an empty - string or `null`, which sets the value as an empty string. You - can send structured data in the body by serializing it as a string. + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ + description: The SID of the [Role](https://www.twilio.com/docs/chat/rest/role-resource) + to assign to the member. The default roles are those specified + on the [Service](https://www.twilio.com/docs/chat/rest/service-resource). + LastConsumedMessageIndex: + description: The index of the last [Message](https://www.twilio.com/docs/chat/rest/message-resource) + that the Member has read within the [Channel](https://www.twilio.com/docs/chat/channels). + nullable: true + type: integer + LastConsumptionTimestamp: type: string + format: date-time + description: The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) + timestamp of the last [Message](https://www.twilio.com/docs/chat/rest/message-resource) + read event for the Member within the [Channel](https://www.twilio.com/docs/chat/channels). DateCreated: + type: string + format: date-time description: The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, to assign to the resource as the date it was created. - The default value is the current time set by the Chat service. - This parameter should only be used when a Chat's history is being + The default value is the current time set by the Chat service. Note + that this parameter should only be used when a Member is being recreated from a backup/separate source. - format: date-time - type: string DateUpdated: + type: string + format: date-time description: The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, to assign to the resource as the date it was last updated. - format: date-time - type: string - From: - description: The [Identity](https://www.twilio.com/docs/chat/identity) - of the message's author. - type: string - LastUpdatedBy: - description: The [Identity](https://www.twilio.com/docs/chat/identity) - of the User who last updated the Message, if applicable. + Attributes: + description: A valid JSON string that contains application-specific + data. type: string - title: UpdateMessageRequest + title: UpdateMemberRequest type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/chat.v2.service.channel.message' + $ref: '#/components/schemas/chat.v2.service.channel.member' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Members: servers: - url: https://chat.twilio.com + description: Users joined to specific channels x-twilio: defaultOutputProperties: - sid - - from - - to + - identity - date_created + pathType: list parent: /Services/{ServiceSid}/Channels - pathType: instance - /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Webhooks: - description: Webhooks for specific channels - get: + post: description: '' - operationId: ListChannelWebhook + operationId: CreateMember parameters: - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - with the Channel to read the resources from. + to create the Member resource under. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ + - description: The SID of the [Channel](https://www.twilio.com/docs/chat/channels) + the new Member resource belongs to. This value can be the Channel resource's + `sid` or `unique_name`. + in: path + name: ChannelSid + required: true + schema: + type: string + - description: The X-Twilio-Webhook-Enabled HTTP request header + in: header + name: X-Twilio-Webhook-Enabled + schema: + type: string + enum: + - 'true' + - 'false' + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Identity: + description: The `identity` value that uniquely identifies the new + resource's [User](https://www.twilio.com/docs/chat/rest/user-resource) + within the [Service](https://www.twilio.com/docs/chat/rest/service-resource). + See [access tokens](https://www.twilio.com/docs/chat/create-tokens) + for more info. + type: string + RoleSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ + description: The SID of the [Role](https://www.twilio.com/docs/chat/rest/role-resource) + to assign to the member. The default roles are those specified + on the [Service](https://www.twilio.com/docs/chat/rest/service-resource). + LastConsumedMessageIndex: + description: The index of the last [Message](https://www.twilio.com/docs/chat/rest/message-resource) + in the [Channel](https://www.twilio.com/docs/chat/channels) that + the Member has read. This parameter should only be used when recreating + a Member from a backup/separate source. + nullable: true + type: integer + LastConsumptionTimestamp: + type: string + format: date-time + description: The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) + timestamp of the last [Message](https://www.twilio.com/docs/chat/rest/message-resource) + read event for the Member within the [Channel](https://www.twilio.com/docs/chat/channels). + DateCreated: + type: string + format: date-time + description: The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) + format, to assign to the resource as the date it was created. + The default value is the current time set by the Chat service. Note + that this parameter should only be used when a Member is being + recreated from a backup/separate source. + DateUpdated: + type: string + format: date-time + description: The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) + format, to assign to the resource as the date it was last updated. + The default value is `null`. Note that this parameter should only + be used when a Member is being recreated from a backup/separate + source and where a Member was previously updated. + Attributes: + description: A valid JSON string that contains application-specific + data. + type: string + required: + - Identity + title: CreateMemberRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/chat.v2.service.channel.member' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + get: + description: '' + operationId: ListMember + parameters: + - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) + to read the Member resources from. + in: path + name: ServiceSid + required: true + schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ - description: The SID of the [Channel](https://www.twilio.com/docs/chat/channels) - the Channel Webhook resources to read belong to. This value can be the Channel - resource's `sid` or `unique_name`. + the Member resources to read belong to. This value can be the Channel resource's + `sid` or `unique_name`. in: path name: ChannelSid required: true schema: type: string + - description: The [User](https://www.twilio.com/docs/chat/rest/user-resource)'s + `identity` value of the Member resources to read. See [access tokens](https://www.twilio.com/docs/chat/create-tokens) + for more details. + in: query + name: Identity + schema: + type: array + items: + type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -2572,14 +2558,19 @@ paths: content: application/json: schema: + type: object + title: ListMemberResponse properties: + members: + type: array + items: + $ref: '#/components/schemas/chat.v2.service.channel.member' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -2593,148 +2584,106 @@ paths: url: format: uri type: string - type: object - webhooks: - items: - $ref: '#/components/schemas/chat.v2.service.channel.channel_webhook' - type: array - title: ListChannelWebhookResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: + /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Messages/{Sid}: + servers: + - url: https://chat.twilio.com + description: Individual chat messages + x-twilio: + defaultOutputProperties: + - sid + - from + - to + - date_created + pathType: instance + parent: /Services/{ServiceSid}/Channels + get: description: '' - operationId: CreateChannelWebhook + operationId: FetchMessage parameters: - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - with the Channel to create the Webhook resource under. + to fetch the Message resource from. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The SID of the [Channel](https://www.twilio.com/docs/chat/channels) - the new Channel Webhook resource belongs to. This value can be the Channel + the Message resource to fetch belongs to. This value can be the Channel resource's `sid` or `unique_name`. in: path name: ChannelSid required: true schema: type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Configuration.Filters: - description: The events that cause us to call the Channel Webhook. - Used when `type` is `webhook`. This parameter takes only one event. - To specify more than one event, repeat this parameter for each - event. For the list of possible events, see [Webhook Event Triggers](https://www.twilio.com/docs/chat/webhook-events#webhook-event-trigger). - items: - type: string - type: array - Configuration.FlowSid: - description: The SID of the Studio [Flow](https://www.twilio.com/docs/studio/rest-api/flow) - to call when an event in `configuration.filters` occurs. Used - only when `type` is `studio`. - maxLength: 34 - minLength: 34 - pattern: ^FW[0-9a-fA-F]{32}$ - type: string - Configuration.Method: - description: 'The HTTP method used to call `configuration.url`. - Can be: `GET` or `POST` and the default is `POST`.' - enum: - - GET - - POST - type: string - Configuration.RetryCount: - description: The number of times to retry the webhook if the first - attempt fails. Can be an integer between 0 and 3, inclusive, and - the default is 0. - type: integer - Configuration.Triggers: - description: A string that will cause us to call the webhook when - it is present in a message body. This parameter takes only one - trigger string. To specify more than one, repeat this parameter - for each trigger string up to a total of 5 trigger strings. Used - only when `type` = `trigger`. - items: - type: string - type: array - Configuration.Url: - description: The URL of the webhook to call using the `configuration.method`. - type: string - Type: - description: 'The type of webhook. Can be: `webhook`, `studio`, - or `trigger`.' - enum: - - webhook - - trigger - - studio - type: string - required: - - Type - title: CreateChannelWebhookRequest - type: object + - description: The SID of the Message resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IM[0-9a-fA-F]{32}$ responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/chat.v2.service.channel.channel_webhook' - description: Created + $ref: '#/components/schemas/chat.v2.service.channel.message' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://chat.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - configuration - parent: /Services/{ServiceSid}/Channels - pathType: list - /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Webhooks/{Sid}: delete: description: '' - operationId: DeleteChannelWebhook + operationId: DeleteMessage parameters: - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - with the Channel to delete the Webhook resource from. + to delete the Message resource from. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The SID of the [Channel](https://www.twilio.com/docs/chat/channels) - the Channel Webhook resource to delete belongs to. This value can be the - Channel resource's `sid` or `unique_name`. + the Message resource to delete belongs to. This value can be the Channel + resource's `sid` or `unique_name`. in: path name: ChannelSid required: true schema: type: string - - description: The SID of the Channel Webhook resource to delete. + - description: The SID of the Message resource to delete. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 - pattern: ^WH[0-9a-fA-F]{32}$ + maxLength: 34 + pattern: ^IM[0-9a-fA-F]{32}$ + - description: The X-Twilio-Webhook-Enabled HTTP request header + in: header + name: X-Twilio-Webhook-Enabled + schema: type: string + enum: + - 'true' + - 'false' responses: '204': description: The resource was deleted successfully. @@ -2742,165 +2691,124 @@ paths: - accountSid_authToken: [] x-maturity: - GA - description: Webhooks for specific channels - get: + post: description: '' - operationId: FetchChannelWebhook + operationId: UpdateMessage parameters: - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - with the Channel to fetch the Webhook resource from. + to update the Message resource in. in: path name: ServiceSid required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the [Channel](https://www.twilio.com/docs/chat/channels) - the Channel Webhook resource to fetch belongs to. This value can be the - Channel resource's `sid` or `unique_name`. - in: path - name: ChannelSid - required: true schema: type: string - - description: The SID of the Channel Webhook resource to fetch. - in: path - name: Sid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^WH[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/chat.v2.service.channel.channel_webhook' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: '' - operationId: UpdateChannelWebhook - parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - with the Channel that has the Webhook resource to update. - in: path - name: ServiceSid - required: true - schema: maxLength: 34 - minLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The SID of the [Channel](https://www.twilio.com/docs/chat/channels) - the Channel Webhook resource to update belongs to. This value can be the - Channel resource's `sid` or `unique_name`. + the Message resource to update belongs to. This value can be the Channel + resource's `sid` or `unique_name`. in: path name: ChannelSid required: true schema: type: string - - description: The SID of the Channel Webhook resource to update. + - description: The SID of the Message resource to update. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 - pattern: ^WH[0-9a-fA-F]{32}$ + maxLength: 34 + pattern: ^IM[0-9a-fA-F]{32}$ + - description: The X-Twilio-Webhook-Enabled HTTP request header + in: header + name: X-Twilio-Webhook-Enabled + schema: type: string + enum: + - 'true' + - 'false' requestBody: content: application/x-www-form-urlencoded: schema: properties: - Configuration.Filters: - description: The events that cause us to call the Channel Webhook. - Used when `type` is `webhook`. This parameter takes only one event. - To specify more than one event, repeat this parameter for each - event. For the list of possible events, see [Webhook Event Triggers](https://www.twilio.com/docs/chat/webhook-events#webhook-event-trigger). - items: - type: string - type: array - Configuration.FlowSid: - description: The SID of the Studio [Flow](https://www.twilio.com/docs/studio/rest-api/flow) - to call when an event in `configuration.filters` occurs. Used - only when `type` = `studio`. - maxLength: 34 - minLength: 34 - pattern: ^FW[0-9a-fA-F]{32}$ + Body: + description: The message to send to the channel. Can be an empty + string or `null`, which sets the value as an empty string. You + can send structured data in the body by serializing it as a string. type: string - Configuration.Method: - description: 'The HTTP method used to call `configuration.url`. - Can be: `GET` or `POST` and the default is `POST`.' - enum: - - GET - - POST + Attributes: + description: A valid JSON string that contains application-specific + data. type: string - Configuration.RetryCount: - description: The number of times to retry the webhook if the first - attempt fails. Can be an integer between 0 and 3, inclusive, and - the default is 0. - type: integer - Configuration.Triggers: - description: A string that will cause us to call the webhook when - it is present in a message body. This parameter takes only one - trigger string. To specify more than one, repeat this parameter - for each trigger string up to a total of 5 trigger strings. Used - only when `type` = `trigger`. - items: - type: string - type: array - Configuration.Url: - description: The URL of the webhook to call using the `configuration.method`. + DateCreated: type: string - title: UpdateChannelWebhookRequest + format: date-time + description: The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) + format, to assign to the resource as the date it was created. + The default value is the current time set by the Chat service. + This parameter should only be used when a Chat's history is being + recreated from a backup/separate source. + DateUpdated: + type: string + format: date-time + description: The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) + format, to assign to the resource as the date it was last updated. + LastUpdatedBy: + description: The [Identity](https://www.twilio.com/docs/chat/identity) + of the User who last updated the Message, if applicable. + type: string + From: + description: The [Identity](https://www.twilio.com/docs/chat/identity) + of the message's author. + type: string + title: UpdateMessageRequest type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/chat.v2.service.channel.channel_webhook' + $ref: '#/components/schemas/chat.v2.service.channel.message' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Messages: servers: - url: https://chat.twilio.com + description: Individual chat messages x-twilio: defaultOutputProperties: - sid - - configuration + - from + - to + - date_created + pathType: list parent: /Services/{ServiceSid}/Channels - pathType: instance - /v2/Services/{ServiceSid}/Channels/{Sid}: - delete: + post: description: '' - operationId: DeleteChannel + operationId: CreateMessage parameters: - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to delete the resource from. + to create the Message resource under. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Channel resource to delete. This value can be - either the `sid` or the `unique_name` of the Channel resource to delete. + - description: The SID of the [Channel](https://www.twilio.com/docs/chat/channels) + the new Message resource belongs to. This value can be the Channel resource's + `sid` or `unique_name`. in: path - name: Sid + name: ChannelSid required: true schema: type: string @@ -2908,153 +2816,96 @@ paths: in: header name: X-Twilio-Webhook-Enabled schema: + type: string enum: - 'true' - 'false' - type: string + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + From: + description: The [Identity](https://www.twilio.com/docs/chat/identity) + of the new message's author. The default value is `system`. + type: string + Attributes: + description: A valid JSON string that contains application-specific + data. + type: string + DateCreated: + type: string + format: date-time + description: The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) + format, to assign to the resource as the date it was created. + The default value is the current time set by the Chat service. + This parameter should only be used when a Chat's history is being + recreated from a backup/separate source. + DateUpdated: + type: string + format: date-time + description: The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) + format, to assign to the resource as the date it was last updated. + LastUpdatedBy: + description: The [Identity](https://www.twilio.com/docs/chat/identity) + of the User who last updated the Message, if applicable. + type: string + Body: + description: The message to send to the channel. Can be an empty + string or `null`, which sets the value as an empty string. You + can send structured data in the body by serializing it as a string. + type: string + MediaSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^ME[0-9a-fA-F]{32}$ + description: The SID of the [Media](https://www.twilio.com/docs/chat/rest/media) + to attach to the new Message. + title: CreateMessageRequest + type: object responses: - '204': - description: The resource was deleted successfully. + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/chat.v2.service.channel.message' + description: Created security: - accountSid_authToken: [] x-maturity: - GA - description: Channels represent chat rooms get: description: '' - operationId: FetchChannel + operationId: ListMessage parameters: - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to fetch the Channel resource from. + to read the Message resources from. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Channel resource to fetch. This value can be either - the `sid` or the `unique_name` of the Channel resource to fetch. + - description: The SID of the [Channel](https://www.twilio.com/docs/chat/channels) + the Message resource to read belongs to. This value can be the Channel resource's + `sid` or `unique_name`. in: path - name: Sid + name: ChannelSid required: true schema: type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/chat.v2.service.channel' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: '' - operationId: UpdateChannel - parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to update the Channel resource in. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Channel resource to update. This value can be - either the `sid` or the `unique_name` of the Channel resource to update. - in: path - name: Sid - required: true + - description: 'The sort order of the returned messages. Can be: `asc` (ascending) + or `desc` (descending) with `asc` as the default.' + in: query + name: Order schema: type: string - - description: The X-Twilio-Webhook-Enabled HTTP request header - in: header - name: X-Twilio-Webhook-Enabled - schema: enum: - - 'true' - - 'false' - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Attributes: - description: A valid JSON string that contains application-specific - data. - type: string - CreatedBy: - description: 'The `identity` of the User that created the channel. - Default is: `system`.' - type: string - DateCreated: - description: The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) - format, to assign to the resource as the date it was created. - The default value is the current time set by the Chat service. Note - that this should only be used in cases where a Channel is being - recreated from a backup/separate source. - format: date-time - type: string - DateUpdated: - description: The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) - format, to assign to the resource as the date it was last updated. - format: date-time - type: string - FriendlyName: - description: A descriptive string that you create to describe the - resource. It can be up to 256 characters long. - type: string - UniqueName: - description: An application-defined string that uniquely identifies - the resource. It can be used to address the resource in place - of the resource's `sid` in the URL. This value must be 256 characters - or less in length and unique within the Service. - type: string - title: UpdateChannelRequest - type: object - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/chat.v2.service.channel' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://chat.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - unique_name - - friendly_name - parent: /Services - pathType: instance - /v2/Services/{ServiceSid}/Roles: - description: Roles determining user or member permissions - get: - description: '' - operationId: ListRole - parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to read the Role resources from. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string + - asc + - desc - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -3068,14 +2919,19 @@ paths: content: application/json: schema: + type: object + title: ListMessageResponse properties: + messages: + type: array + items: + $ref: '#/components/schemas/chat.v2.service.channel.message' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -3089,145 +2945,84 @@ paths: url: format: uri type: string - type: object - roles: - items: - $ref: '#/components/schemas/chat.v2.service.role' - type: array - title: ListRoleResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: '' - operationId: CreateRole - parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to create the Role resource under. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - FriendlyName: - description: A descriptive string that you create to describe the - new resource. It can be up to 64 characters long. - type: string - Permission: - description: A permission that you grant to the new role. Only one - permission can be granted per parameter. To assign more than one - permission, repeat this parameter for each permission value. The - values for this parameter depend on the role's `type`. - items: - type: string - type: array - Type: - description: 'The type of role. Can be: `channel` for [Channel](https://www.twilio.com/docs/chat/channels) - roles or `deployment` for [Service](https://www.twilio.com/docs/chat/rest/service-resource) - roles.' - enum: - - channel - - deployment - type: string - required: - - FriendlyName - - Type - - Permission - title: CreateRoleRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/chat.v2.service.role' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA + /v2/Services/{ServiceSid}/Roles/{Sid}: servers: - url: https://chat.twilio.com + description: Roles determining user or member permissions x-twilio: defaultOutputProperties: - sid - friendly_name - type + pathType: instance parent: /Services - pathType: list - /v2/Services/{ServiceSid}/Roles/{Sid}: - delete: + get: description: '' - operationId: DeleteRole + operationId: FetchRole parameters: - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to delete the Role resource from. + to fetch the Role resource from. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Role resource to delete. + - description: The SID of the Role resource to fetch. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/chat.v2.service.role' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - description: Roles determining user or member permissions - get: + delete: description: '' - operationId: FetchRole + operationId: DeleteRole parameters: - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to fetch the Role resource from. + to delete the Role resource from. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Role resource to fetch. + - description: The SID of the Role resource to delete. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/chat.v2.service.role' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: @@ -3242,25 +3037,28 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The SID of the Role resource to update. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: Permission: + type: array + items: + type: string description: A permission that you grant to the role. Only one permission can be granted per parameter. To assign more than one permission, repeat this parameter for each permission value. Note that the @@ -3268,9 +3066,6 @@ paths: those defined in the update action. To remove a permission, do not include it in the subsequent update action. The values for this parameter depend on the role's `type`. - items: - type: string - type: array required: - Permission title: UpdateRoleRequest @@ -3286,31 +3081,87 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v2/Services/{ServiceSid}/Roles: servers: - url: https://chat.twilio.com + description: Roles determining user or member permissions x-twilio: defaultOutputProperties: - sid - friendly_name - type + pathType: list parent: /Services - pathType: instance - /v2/Services/{ServiceSid}/Users: - description: Unique chat users within a chat service - get: + post: description: '' - operationId: ListUser + operationId: CreateRole parameters: - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to read the User resources from. + to create the Role resource under. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: A descriptive string that you create to describe the + new resource. It can be up to 64 characters long. + type: string + Type: + type: string + enum: + - channel + - deployment + description: 'The type of role. Can be: `channel` for [Channel](https://www.twilio.com/docs/chat/channels) + roles or `deployment` for [Service](https://www.twilio.com/docs/chat/rest/service-resource) + roles.' + Permission: + type: array + items: + type: string + description: A permission that you grant to the new role. Only one + permission can be granted per parameter. To assign more than one + permission, repeat this parameter for each permission value. The + values for this parameter depend on the role's `type`. + required: + - FriendlyName + - Type + - Permission + title: CreateRoleRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/chat.v2.service.role' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + get: + description: '' + operationId: ListRole + parameters: + - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) + to read the Role resources from. + in: path + name: ServiceSid + required: true + schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -3324,14 +3175,19 @@ paths: content: application/json: schema: + type: object + title: ListRoleResponse properties: + roles: + type: array + items: + $ref: '#/components/schemas/chat.v2.service.role' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -3345,263 +3201,303 @@ paths: url: format: uri type: string - type: object - users: - items: - $ref: '#/components/schemas/chat.v2.service.user' - type: array - title: ListUserResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: '' - operationId: CreateUser - parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to create the User resource under. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The X-Twilio-Webhook-Enabled HTTP request header - in: header - name: X-Twilio-Webhook-Enabled - schema: - enum: - - 'true' - - 'false' - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Attributes: - description: A valid JSON string that contains application-specific - data. - type: string - FriendlyName: - description: A descriptive string that you create to describe the - new resource. This value is often used for display purposes. - type: string - Identity: - description: The `identity` value that uniquely identifies the new - resource's [User](https://www.twilio.com/docs/chat/rest/user-resource) - within the [Service](https://www.twilio.com/docs/chat/rest/service-resource). - This value is often a username or email address. See the Identity - documentation for more info. - type: string - RoleSid: - description: The SID of the [Role](https://www.twilio.com/docs/chat/rest/role-resource) - to assign to the new User. - maxLength: 34 - minLength: 34 - pattern: ^RL[0-9a-fA-F]{32}$ - type: string - required: - - Identity - title: CreateUserRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/chat.v2.service.user' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA + /v2/Services/{Sid}: servers: - url: https://chat.twilio.com + description: Top level scope for all chat resources x-twilio: defaultOutputProperties: - sid - friendly_name - - identity - date_created - parent: /Services - pathType: list - /v2/Services/{ServiceSid}/Users/{Sid}: - delete: + pathType: instance + get: description: '' - operationId: DeleteUser + operationId: FetchService parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to delete the User resource from. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the User resource to delete. This value can be either - the `sid` or the `identity` of the User resource to delete. + - description: The SID of the Service resource to fetch. in: path name: Sid required: true schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/chat.v2.service' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - description: Unique chat users within a chat service - get: + delete: description: '' - operationId: FetchUser + operationId: DeleteService parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to fetch the User resource from. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the User resource to fetch. This value can be either - the `sid` or the `identity` of the User resource to fetch. + - description: The SID of the Service resource to delete. in: path name: Sid required: true schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/chat.v2.service.user' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA post: description: '' - operationId: UpdateUser + operationId: UpdateService parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to update the User resource in. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the User resource to update. This value can be either - the `sid` or the `identity` of the User resource to update. + - description: The SID of the Service resource to update. in: path name: Sid required: true schema: type: string - - description: The X-Twilio-Webhook-Enabled HTTP request header - in: header - name: X-Twilio-Webhook-Enabled - schema: - enum: - - 'true' - - 'false' - type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - Attributes: - description: A valid JSON string that contains application-specific - data. - type: string FriendlyName: description: A descriptive string that you create to describe the - resource. It is often used for display purposes. + resource. + type: string + DefaultServiceRoleSid: type: string - RoleSid: - description: The SID of the [Role](https://www.twilio.com/docs/chat/rest/role-resource) - to assign to the User. - maxLength: 34 minLength: 34 + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ + description: The service role assigned to users when they are added + to the service. See the [Role resource](https://www.twilio.com/docs/chat/rest/role-resource) + for more info about roles. + DefaultChannelRoleSid: type: string - title: UpdateUserRequest - type: object + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ + description: The channel role assigned to users when they are added + to a channel. See the [Role resource](https://www.twilio.com/docs/chat/rest/role-resource) + for more info about roles. + DefaultChannelCreatorRoleSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ + description: The channel role assigned to a channel creator when + they join a new channel. See the [Role resource](https://www.twilio.com/docs/chat/rest/role-resource) + for more info about roles. + ReadStatusEnabled: + description: Whether to enable the [Message Consumption Horizon](https://www.twilio.com/docs/chat/consumption-horizon) + feature. The default is `true`. + type: boolean + ReachabilityEnabled: + description: Whether to enable the [Reachability Indicator](https://www.twilio.com/docs/chat/reachability-indicator) + for this Service instance. The default is `false`. + type: boolean + TypingIndicatorTimeout: + description: How long in seconds after a `started typing` event + until clients should assume that user is no longer typing, even + if no `ended typing` message was received. The default is 5 seconds. + type: integer + ConsumptionReportInterval: + description: DEPRECATED. The interval in seconds between consumption + reports submission batches from client endpoints. + type: integer + Notifications.NewMessage.Enabled: + description: Whether to send a notification when a new message is + added to a channel. The default is `false`. + type: boolean + Notifications.NewMessage.Template: + description: The template to use to create the notification text + displayed when a new message is added to a channel and `notifications.new_message.enabled` + is `true`. + type: string + Notifications.NewMessage.Sound: + description: The name of the sound to play when a new message is + added to a channel and `notifications.new_message.enabled` is + `true`. + type: string + Notifications.NewMessage.BadgeCountEnabled: + description: Whether the new message badge is enabled. The default + is `false`. + type: boolean + Notifications.AddedToChannel.Enabled: + description: Whether to send a notification when a member is added + to a channel. The default is `false`. + type: boolean + Notifications.AddedToChannel.Template: + description: The template to use to create the notification text + displayed when a member is added to a channel and `notifications.added_to_channel.enabled` + is `true`. + type: string + Notifications.AddedToChannel.Sound: + description: The name of the sound to play when a member is added + to a channel and `notifications.added_to_channel.enabled` is `true`. + type: string + Notifications.RemovedFromChannel.Enabled: + description: Whether to send a notification to a user when they + are removed from a channel. The default is `false`. + type: boolean + Notifications.RemovedFromChannel.Template: + description: The template to use to create the notification text + displayed to a user when they are removed from a channel and `notifications.removed_from_channel.enabled` + is `true`. + type: string + Notifications.RemovedFromChannel.Sound: + description: The name of the sound to play to a user when they are + removed from a channel and `notifications.removed_from_channel.enabled` + is `true`. + type: string + Notifications.InvitedToChannel.Enabled: + description: Whether to send a notification when a user is invited + to a channel. The default is `false`. + type: boolean + Notifications.InvitedToChannel.Template: + description: The template to use to create the notification text + displayed when a user is invited to a channel and `notifications.invited_to_channel.enabled` + is `true`. + type: string + Notifications.InvitedToChannel.Sound: + description: The name of the sound to play when a user is invited + to a channel and `notifications.invited_to_channel.enabled` is + `true`. + type: string + PreWebhookUrl: + description: The URL for pre-event webhooks, which are called by + using the `webhook_method`. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) + for more details. + format: uri + type: string + PostWebhookUrl: + description: The URL for post-event webhooks, which are called by + using the `webhook_method`. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) + for more details. + format: uri + type: string + WebhookMethod: + description: 'The HTTP method to use for calls to the `pre_webhook_url` + and `post_webhook_url` webhooks. Can be: `POST` or `GET` and + the default is `POST`. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) + for more details.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + type: string + WebhookFilters: + type: array + items: + type: string + description: The list of webhook events that are enabled for this + Service instance. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) + for more details. + Limits.ChannelMembers: + description: The maximum number of Members that can be added to + Channels within this Service. Can be up to 1,000. + type: integer + Limits.UserChannels: + description: The maximum number of Channels Users can be a Member + of within this Service. Can be up to 1,000. + type: integer + Media.CompatibilityMessage: + description: The message to send when a media message has no text. + Can be used as placeholder message. + type: string + PreWebhookRetryCount: + description: The number of times to retry a call to the `pre_webhook_url` + if the request times out (after 5 seconds) or it receives a 429, + 503, or 504 HTTP response. Default retry count is 0 times, which + means the call won't be retried. + type: integer + PostWebhookRetryCount: + description: The number of times to retry a call to the `post_webhook_url` + if the request times out (after 5 seconds) or it receives a 429, + 503, or 504 HTTP response. The default is 0, which means the call + won't be retried. + type: integer + Notifications.LogEnabled: + description: Whether to log notifications. The default is `false`. + type: boolean + title: UpdateServiceRequest + type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/chat.v2.service.user' + $ref: '#/components/schemas/chat.v2.service' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v2/Services: servers: - url: https://chat.twilio.com + description: Top level scope for all chat resources x-twilio: defaultOutputProperties: - sid - friendly_name - - identity - date_created - parent: /Services - pathType: instance - /v2/Services/{ServiceSid}/Users/{UserSid}/Bindings: - description: List of bindings for a given user + pathType: list + post: + description: '' + operationId: CreateService + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: A descriptive string that you create to describe the + new resource. + type: string + required: + - FriendlyName + title: CreateServiceRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/chat.v2.service' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA get: description: '' - operationId: ListUserBinding + operationId: ListService parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to read the User Binding resources from. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the [User](https://www.twilio.com/docs/chat/rest/user-resource) - with the User Binding resources to read. See [push notification configuration](https://www.twilio.com/docs/chat/push-notification-configuration) - for more info. - in: path - name: UserSid - required: true - schema: - type: string - - description: 'The push technology used by the User Binding resources to read. - Can be: `apn`, `gcm`, or `fcm`. See [push notification configuration](https://www.twilio.com/docs/chat/push-notification-configuration) - for more info.' - in: query - name: BindingType - schema: - items: - enum: - - gcm - - apn - - fcm - type: string - type: array - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -3615,18 +3511,19 @@ paths: content: application/json: schema: + type: object + title: ListServiceResponse properties: - bindings: - items: - $ref: '#/components/schemas/chat.v2.service.user.user_binding' + services: type: array + items: + $ref: '#/components/schemas/chat.v2.service' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -3640,56 +3537,77 @@ paths: url: format: uri type: string - type: object - title: ListUserBindingResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v2/Services/{ServiceSid}/Users/{Sid}: servers: - url: https://chat.twilio.com + description: Unique chat users within a chat service x-twilio: - className: user_binding defaultOutputProperties: - sid - - endpoint + - friendly_name - identity - - binding_type - parent: /Services/{ServiceSid}/Users - pathType: list - /v2/Services/{ServiceSid}/Users/{UserSid}/Bindings/{Sid}: - delete: + - date_created + pathType: instance + parent: /Services + get: description: '' - operationId: DeleteUserBinding + operationId: FetchUser parameters: - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to delete the User Binding resource from. + to fetch the User resource from. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ + - description: The SID of the User resource to fetch. This value can be either + the `sid` or the `identity` of the User resource to fetch. + in: path + name: Sid + required: true + schema: type: string - - description: The SID of the [User](https://www.twilio.com/docs/chat/rest/user-resource) - with the User Binding resources to delete. See [push notification configuration](https://www.twilio.com/docs/chat/push-notification-configuration) - for more info. + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/chat.v2.service.user' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + delete: + description: '' + operationId: DeleteUser + parameters: + - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) + to delete the User resource from. in: path - name: UserSid + name: ServiceSid required: true schema: type: string - - description: The SID of the User Binding resource to delete. + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: The SID of the User resource to delete. This value can be either + the `sid` or the `identity` of the User resource to delete. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^BS[0-9a-fA-F]{32}$ type: string responses: '204': @@ -3698,84 +3616,158 @@ paths: - accountSid_authToken: [] x-maturity: - GA - description: List of bindings for a given user - get: + post: description: '' - operationId: FetchUserBinding + operationId: UpdateUser parameters: - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to fetch the User Binding resource from. + to update the User resource in. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the [User](https://www.twilio.com/docs/chat/rest/user-resource) - with the User Binding resource to fetch. See [push notification configuration](https://www.twilio.com/docs/chat/push-notification-configuration) - for more info. + - description: The SID of the User resource to update. This value can be either + the `sid` or the `identity` of the User resource to update. in: path - name: UserSid + name: Sid required: true schema: type: string - - description: The SID of the User Binding resource to fetch. - in: path - name: Sid - required: true + - description: The X-Twilio-Webhook-Enabled HTTP request header + in: header + name: X-Twilio-Webhook-Enabled schema: - maxLength: 34 - minLength: 34 - pattern: ^BS[0-9a-fA-F]{32}$ type: string + enum: + - 'true' + - 'false' + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + RoleSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ + description: The SID of the [Role](https://www.twilio.com/docs/chat/rest/role-resource) + to assign to the User. + Attributes: + description: A valid JSON string that contains application-specific + data. + type: string + FriendlyName: + description: A descriptive string that you create to describe the + resource. It is often used for display purposes. + type: string + title: UpdateUserRequest + type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/chat.v2.service.user.user_binding' + $ref: '#/components/schemas/chat.v2.service.user' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v2/Services/{ServiceSid}/Users: servers: - url: https://chat.twilio.com + description: Unique chat users within a chat service x-twilio: - className: user_binding defaultOutputProperties: - sid - - endpoint + - friendly_name - identity - - binding_type - parent: /Services/{ServiceSid}/Users - pathType: instance - /v2/Services/{ServiceSid}/Users/{UserSid}/Channels: - description: List of channels for a given user - get: - description: List all Channels for a given User. - operationId: ListUserChannel + - date_created + pathType: list + parent: /Services + post: + description: '' + operationId: CreateUser parameters: - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to read the User Channel resources from. + to create the User resource under. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ + - description: The X-Twilio-Webhook-Enabled HTTP request header + in: header + name: X-Twilio-Webhook-Enabled + schema: type: string - - description: The SID of the [User](https://www.twilio.com/docs/chat/rest/user-resource) - to read the User Channel resources from. This value can be either the `sid` - or the `identity` of the User resource. + enum: + - 'true' + - 'false' + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Identity: + description: The `identity` value that uniquely identifies the new + resource's [User](https://www.twilio.com/docs/chat/rest/user-resource) + within the [Service](https://www.twilio.com/docs/chat/rest/service-resource). + This value is often a username or email address. See the Identity + documentation for more info. + type: string + RoleSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ + description: The SID of the [Role](https://www.twilio.com/docs/chat/rest/role-resource) + to assign to the new User. + Attributes: + description: A valid JSON string that contains application-specific + data. + type: string + FriendlyName: + description: A descriptive string that you create to describe the + new resource. This value is often used for display purposes. + type: string + required: + - Identity + title: CreateUserRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/chat.v2.service.user' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + get: + description: '' + operationId: ListUser + parameters: + - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) + to read the User resources from. in: path - name: UserSid + name: ServiceSid required: true schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -3789,18 +3781,19 @@ paths: content: application/json: schema: + type: object + title: ListUserResponse properties: - channels: - items: - $ref: '#/components/schemas/chat.v2.service.user.user_channel' + users: type: array + items: + $ref: '#/components/schemas/chat.v2.service.user' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -3814,436 +3807,443 @@ paths: url: format: uri type: string - type: object - title: ListUserChannelResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v2/Services/{ServiceSid}/Users/{UserSid}/Bindings: servers: - url: https://chat.twilio.com + description: List of bindings for a given user x-twilio: - className: user_channel defaultOutputProperties: - - channel_sid - - status - parent: /Services/{ServiceSid}/Users + - sid + - endpoint + - identity + - binding_type pathType: list - /v2/Services/{ServiceSid}/Users/{UserSid}/Channels/{ChannelSid}: - delete: - description: Removes User from selected Channel. - operationId: DeleteUserChannel + parent: /Services/{ServiceSid}/Users + className: user_binding + get: + description: '' + operationId: ListUserBinding parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) - to read the resources from. + - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) + to read the User Binding resources from. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the [User](https://www.twilio.com/docs/api/chat/rest/users) - to read the User Channel resources from. + - description: The SID of the [User](https://www.twilio.com/docs/chat/rest/user-resource) + with the User Binding resources to read. See [push notification configuration](https://www.twilio.com/docs/chat/push-notification-configuration) + for more info. in: path name: UserSid required: true schema: type: string - - description: The SID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) - the resource belongs to. - in: path - name: ChannelSid - required: true + - description: 'The push technology used by the User Binding resources to read. + Can be: `apn`, `gcm`, or `fcm`. See [push notification configuration](https://www.twilio.com/docs/chat/push-notification-configuration) + for more info.' + in: query + name: BindingType schema: - type: string - - description: The X-Twilio-Webhook-Enabled HTTP request header - in: header - name: X-Twilio-Webhook-Enabled + type: array + items: + type: string + enum: + - gcm + - apn + - fcm + - description: How many resources to return in each list page. The default is + 50, and the maximum is 1000. + in: query + name: PageSize schema: - enum: - - 'true' - - 'false' - type: string + maximum: 1000 + minimum: 1 + type: integer responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + type: object + title: ListUserBindingResponse + properties: + bindings: + type: array + items: + $ref: '#/components/schemas/chat.v2.service.user.user_binding' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string + description: OK security: - accountSid_authToken: [] x-maturity: - GA - description: List of channels for a given user + /v2/Services/{ServiceSid}/Users/{UserSid}/Bindings/{Sid}: + servers: + - url: https://chat.twilio.com + description: List of bindings for a given user + x-twilio: + defaultOutputProperties: + - sid + - endpoint + - identity + - binding_type + pathType: instance + parent: /Services/{ServiceSid}/Users + className: user_binding get: description: '' - operationId: FetchUserChannel + operationId: FetchUserBinding parameters: - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to fetch the User Channel resource from. + to fetch the User Binding resource from. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The SID of the [User](https://www.twilio.com/docs/chat/rest/user-resource) - to fetch the User Channel resource from. This value can be either the `sid` - or the `identity` of the User resource. + with the User Binding resource to fetch. See [push notification configuration](https://www.twilio.com/docs/chat/push-notification-configuration) + for more info. in: path name: UserSid required: true schema: type: string - - description: The SID of the [Channel](https://www.twilio.com/docs/chat/channels) - that has the User Channel to fetch. This value can be either the `sid` or - the `unique_name` of the Channel to fetch. + - description: The SID of the User Binding resource to fetch. in: path - name: ChannelSid + name: Sid required: true schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^BS[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/chat.v2.service.user.user_channel' + $ref: '#/components/schemas/chat.v2.service.user.user_binding' description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: + delete: description: '' - operationId: UpdateUserChannel + operationId: DeleteUserBinding parameters: - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to update the User Channel resource in. + to delete the User Binding resource from. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The SID of the [User](https://www.twilio.com/docs/chat/rest/user-resource) - to update the User Channel resource from. This value can be either the `sid` - or the `identity` of the User resource. + with the User Binding resources to delete. See [push notification configuration](https://www.twilio.com/docs/chat/push-notification-configuration) + for more info. in: path name: UserSid required: true schema: type: string - - description: The SID of the [Channel](https://www.twilio.com/docs/chat/channels) - with the User Channel resource to update. This value can be the Channel - resource's `sid` or `unique_name`. + - description: The SID of the User Binding resource to delete. in: path - name: ChannelSid + name: Sid required: true schema: type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - LastConsumedMessageIndex: - description: The index of the last [Message](https://www.twilio.com/docs/chat/rest/message-resource) - in the [Channel](https://www.twilio.com/docs/chat/channels) that - the Member has read. - nullable: true - type: integer - LastConsumptionTimestamp: - description: The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) - timestamp of the last [Message](https://www.twilio.com/docs/chat/rest/message-resource) - read event for the Member within the [Channel](https://www.twilio.com/docs/chat/channels). - format: date-time - type: string - NotificationLevel: - description: 'The push notification level to assign to the User - Channel. Can be: `default` or `muted`.' - enum: - - default - - muted - type: string - title: UpdateUserChannelRequest - type: object + minLength: 34 + maxLength: 34 + pattern: ^BS[0-9a-fA-F]{32}$ responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/chat.v2.service.user.user_channel' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA + /v2/Services/{ServiceSid}/Users/{UserSid}/Channels: servers: - url: https://chat.twilio.com + description: List of channels for a given user x-twilio: - className: user_channel defaultOutputProperties: - channel_sid - status + pathType: list parent: /Services/{ServiceSid}/Users - pathType: instance - /v2/Services/{Sid}: - delete: - description: '' - operationId: DeleteService + className: user_channel + get: + description: List all Channels for a given User. + operationId: ListUserChannel parameters: - - description: The SID of the Service resource to delete. + - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) + to read the User Channel resources from. in: path - name: Sid + name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ + - description: The SID of the [User](https://www.twilio.com/docs/chat/rest/user-resource) + to read the User Channel resources from. This value can be either the `sid` + or the `identity` of the User resource. + in: path + name: UserSid + required: true + schema: 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 responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + type: object + title: ListUserChannelResponse + properties: + channels: + type: array + items: + $ref: '#/components/schemas/chat.v2.service.user.user_channel' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string + description: OK security: - accountSid_authToken: [] x-maturity: - GA - description: Top level scope for all chat resources + /v2/Services/{ServiceSid}/Users/{UserSid}/Channels/{ChannelSid}: + servers: + - url: https://chat.twilio.com + description: List of channels for a given user + x-twilio: + defaultOutputProperties: + - channel_sid + - status + pathType: instance + parent: /Services/{ServiceSid}/Users + className: user_channel get: description: '' - operationId: FetchService + operationId: FetchUserChannel parameters: - - description: The SID of the Service resource to fetch. + - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) + to fetch the User Channel resource from. in: path - name: Sid + name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ + - description: The SID of the [User](https://www.twilio.com/docs/chat/rest/user-resource) + to fetch the User Channel resource from. This value can be either the `sid` + or the `identity` of the User resource. + in: path + name: UserSid + required: true + schema: + type: string + - description: The SID of the [Channel](https://www.twilio.com/docs/chat/channels) + that has the User Channel to fetch. This value can be either the `sid` or + the `unique_name` of the Channel to fetch. + in: path + name: ChannelSid + required: true + schema: type: string responses: '200': content: application/json: schema: - $ref: '#/components/schemas/chat.v2.service' + $ref: '#/components/schemas/chat.v2.service.user.user_channel' description: OK security: - accountSid_authToken: [] x-maturity: - GA + delete: + description: Removes User from selected Channel. + operationId: DeleteUserChannel + parameters: + - description: The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) + to read the resources from. + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: The SID of the [User](https://www.twilio.com/docs/api/chat/rest/users) + to read the User Channel resources from. + in: path + name: UserSid + required: true + schema: + type: string + - description: The SID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) + the resource belongs to. + in: path + name: ChannelSid + required: true + schema: + type: string + - description: The X-Twilio-Webhook-Enabled HTTP request header + in: header + name: X-Twilio-Webhook-Enabled + schema: + type: string + enum: + - 'true' + - 'false' + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA post: description: '' - operationId: UpdateService + operationId: UpdateUserChannel parameters: - - description: The SID of the Service resource to update. + - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) + to update the User Channel resource in. in: path - name: Sid + name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ + - description: The SID of the [User](https://www.twilio.com/docs/chat/rest/user-resource) + to update the User Channel resource from. This value can be either the `sid` + or the `identity` of the User resource. + in: path + name: UserSid + required: true + schema: + type: string + - description: The SID of the [Channel](https://www.twilio.com/docs/chat/channels) + with the User Channel resource to update. This value can be the Channel + resource's `sid` or `unique_name`. + in: path + name: ChannelSid + required: true + schema: type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - ConsumptionReportInterval: - description: DEPRECATED. The interval in seconds between consumption - reports submission batches from client endpoints. - type: integer - DefaultChannelCreatorRoleSid: - description: The channel role assigned to a channel creator when - they join a new channel. See the [Role resource](https://www.twilio.com/docs/chat/rest/role-resource) - for more info about roles. - maxLength: 34 - minLength: 34 - pattern: ^RL[0-9a-fA-F]{32}$ - type: string - DefaultChannelRoleSid: - description: The channel role assigned to users when they are added - to a channel. See the [Role resource](https://www.twilio.com/docs/chat/rest/role-resource) - for more info about roles. - maxLength: 34 - minLength: 34 - pattern: ^RL[0-9a-fA-F]{32}$ - type: string - DefaultServiceRoleSid: - description: The service role assigned to users when they are added - to the service. See the [Role resource](https://www.twilio.com/docs/chat/rest/role-resource) - for more info about roles. - maxLength: 34 - minLength: 34 - pattern: ^RL[0-9a-fA-F]{32}$ - type: string - FriendlyName: - description: A descriptive string that you create to describe the - resource. - type: string - Limits.ChannelMembers: - description: The maximum number of Members that can be added to - Channels within this Service. Can be up to 1,000. - type: integer - Limits.UserChannels: - description: The maximum number of Channels Users can be a Member - of within this Service. Can be up to 1,000. - type: integer - Media.CompatibilityMessage: - description: The message to send when a media message has no text. - Can be used as placeholder message. - type: string - Notifications.AddedToChannel.Enabled: - description: Whether to send a notification when a member is added - to a channel. The default is `false`. - type: boolean - Notifications.AddedToChannel.Sound: - description: The name of the sound to play when a member is added - to a channel and `notifications.added_to_channel.enabled` is `true`. - type: string - Notifications.AddedToChannel.Template: - description: The template to use to create the notification text - displayed when a member is added to a channel and `notifications.added_to_channel.enabled` - is `true`. - type: string - Notifications.InvitedToChannel.Enabled: - description: Whether to send a notification when a user is invited - to a channel. The default is `false`. - type: boolean - Notifications.InvitedToChannel.Sound: - description: The name of the sound to play when a user is invited - to a channel and `notifications.invited_to_channel.enabled` is - `true`. - type: string - Notifications.InvitedToChannel.Template: - description: The template to use to create the notification text - displayed when a user is invited to a channel and `notifications.invited_to_channel.enabled` - is `true`. - type: string - Notifications.LogEnabled: - description: Whether to log notifications. The default is `false`. - type: boolean - Notifications.NewMessage.BadgeCountEnabled: - description: Whether the new message badge is enabled. The default - is `false`. - type: boolean - Notifications.NewMessage.Enabled: - description: Whether to send a notification when a new message is - added to a channel. The default is `false`. - type: boolean - Notifications.NewMessage.Sound: - description: The name of the sound to play when a new message is - added to a channel and `notifications.new_message.enabled` is - `true`. - type: string - Notifications.NewMessage.Template: - description: The template to use to create the notification text - displayed when a new message is added to a channel and `notifications.new_message.enabled` - is `true`. - type: string - Notifications.RemovedFromChannel.Enabled: - description: Whether to send a notification to a user when they - are removed from a channel. The default is `false`. - type: boolean - Notifications.RemovedFromChannel.Sound: - description: The name of the sound to play to a user when they are - removed from a channel and `notifications.removed_from_channel.enabled` - is `true`. - type: string - Notifications.RemovedFromChannel.Template: - description: The template to use to create the notification text - displayed to a user when they are removed from a channel and `notifications.removed_from_channel.enabled` - is `true`. - type: string - PostWebhookRetryCount: - description: The number of times to retry a call to the `post_webhook_url` - if the request times out (after 5 seconds) or it receives a 429, - 503, or 504 HTTP response. The default is 0, which means the call - won't be retried. - type: integer - PostWebhookUrl: - description: The URL for post-event webhooks, which are called by - using the `webhook_method`. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) - for more details. - format: uri - type: string - PreWebhookRetryCount: - description: The number of times to retry a call to the `pre_webhook_url` - if the request times out (after 5 seconds) or it receives a 429, - 503, or 504 HTTP response. Default retry count is 0 times, which - means the call won't be retried. - type: integer - PreWebhookUrl: - description: The URL for pre-event webhooks, which are called by - using the `webhook_method`. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) - for more details. - format: uri + NotificationLevel: type: string - ReachabilityEnabled: - description: Whether to enable the [Reachability Indicator](https://www.twilio.com/docs/chat/reachability-indicator) - for this Service instance. The default is `false`. - type: boolean - ReadStatusEnabled: - description: Whether to enable the [Message Consumption Horizon](https://www.twilio.com/docs/chat/consumption-horizon) - feature. The default is `true`. - type: boolean - TypingIndicatorTimeout: - description: How long in seconds after a `started typing` event - until clients should assume that user is no longer typing, even - if no `ended typing` message was received. The default is 5 seconds. - type: integer - WebhookFilters: - description: The list of webhook events that are enabled for this - Service instance. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) - for more details. - items: - type: string - type: array - WebhookMethod: - description: 'The HTTP method to use for calls to the `pre_webhook_url` - and `post_webhook_url` webhooks. Can be: `POST` or `GET` and - the default is `POST`. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) - for more details.' enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method + - default + - muted + description: 'The push notification level to assign to the User + Channel. Can be: `default` or `muted`.' + LastConsumedMessageIndex: + description: The index of the last [Message](https://www.twilio.com/docs/chat/rest/message-resource) + in the [Channel](https://www.twilio.com/docs/chat/channels) that + the Member has read. + nullable: true + type: integer + LastConsumptionTimestamp: type: string - title: UpdateServiceRequest + format: date-time + description: The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) + timestamp of the last [Message](https://www.twilio.com/docs/chat/rest/message-resource) + read event for the Member within the [Channel](https://www.twilio.com/docs/chat/channels). + title: UpdateUserChannelRequest type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/chat.v2.service' + $ref: '#/components/schemas/chat.v2.service.user.user_channel' description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://chat.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - date_created - pathType: instance servers: - url: https://chat.twilio.com x-maturity: -- description: This product is Generally Available. - name: GA +- name: GA + description: This product is Generally Available. diff --git a/spec/yaml/twilio_chat_v3.yaml b/spec/yaml/twilio_chat_v3.yaml index 5c9fd744..d56810c3 100644 --- a/spec/yaml/twilio_chat_v3.yaml +++ b/spec/yaml/twilio_chat_v3.yaml @@ -1,14 +1,15 @@ components: schemas: chat.v3.channel: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource attributes: description: The JSON string that stores application-specific data nullable: true @@ -18,16 +19,16 @@ components: nullable: true type: string date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated friendly_name: description: The string that you assigned to describe the resource nullable: true @@ -41,34 +42,34 @@ components: nullable: true type: integer messaging_service_sid: - description: The unique ID of the Messaging Service this channel belongs - to. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^MG[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Messaging Service this channel belongs + to. service_sid: - description: The SID of the Service that the resource is associated with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Service that the resource is associated with sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource type: - description: 'The visibility of the channel. Can be: `public` or `private`' + type: string enum: - public - private nullable: true - type: string + description: 'The visibility of the channel. Can be: `public` or `private`' unique_name: description: An application-defined string that uniquely identifies the resource @@ -79,7 +80,6 @@ components: format: uri nullable: true type: string - type: object securitySchemes: accountSid_authToken: scheme: basic @@ -99,8 +99,16 @@ info: openapi: 3.0.1 paths: /v3/Services/{ServiceSid}/Channels/{Sid}: + servers: + - url: https://chat.twilio.com description: A Channel resource represents a chat/conversation channel with an ordered list of messages and a participant roster. + x-twilio: + defaultOutputProperties: + - sid + - unique_name + - friendly_name + pathType: instance post: description: Update a specific Channel. operationId: UpdateChannel @@ -110,10 +118,10 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: A 34 character string that uniquely identifies this Channel. in: path name: Sid @@ -124,29 +132,29 @@ paths: in: header name: X-Twilio-Webhook-Enabled schema: + type: string enum: - 'true' - 'false' - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - MessagingServiceSid: - description: The unique ID of the [Messaging Service](https://www.twilio.com/docs/sms/services/api) - this channel belongs to. - maxLength: 34 - minLength: 34 - pattern: ^MG[0-9a-fA-F]{32}$ - type: string Type: - description: TThe Type for this Channel to migrate to. Can only - be `private`. Migration to 'public' is not allowed. + type: string enum: - public - private + description: TThe Type for this Channel to migrate to. Can only + be `private`. Migration to 'public' is not allowed. + MessagingServiceSid: type: string + minLength: 34 + maxLength: 34 + pattern: ^MG[0-9a-fA-F]{32}$ + description: The unique ID of the [Messaging Service](https://www.twilio.com/docs/sms/services/api) + this channel belongs to. title: UpdateChannelRequest type: object responses: @@ -160,16 +168,8 @@ paths: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://chat.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - unique_name - - friendly_name - pathType: instance servers: - url: https://chat.twilio.com x-maturity: -- description: This product is Generally Available. - name: GA +- name: GA + description: This product is Generally Available. diff --git a/spec/yaml/twilio_conversations_v1.yaml b/spec/yaml/twilio_conversations_v1.yaml index 9b41418d..c2e7c238 100644 --- a/spec/yaml/twilio_conversations_v1.yaml +++ b/spec/yaml/twilio_conversations_v1.yaml @@ -1,22 +1,23 @@ components: schemas: conversations.v1.configuration: + type: object properties: account_sid: - description: The SID of the Account responsible for this configuration. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account responsible for this configuration. default_chat_service_sid: - description: The SID of the default Conversation Service that every new - conversation is associated with. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the default Conversation Service that every new + conversation is associated with. default_closed_timer: description: Default ISO8601 duration when conversation will be switched to `closed` state. @@ -28,13 +29,13 @@ components: nullable: true type: string default_messaging_service_sid: - description: The SID of the default Messaging Service that every new conversation - is associated with. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^MG[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the default Messaging Service that every new conversation + is associated with. links: description: Absolute URLs to access the webhook and default service configurations. format: uri-map @@ -45,30 +46,77 @@ components: format: uri nullable: true type: string + conversations.v1.configuration_address: type: object - conversations.v1.configuration.configuration_webhook: properties: account_sid: - description: The unique ID of the Account responsible for this conversation. + type: string + minLength: 34 maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The unique ID of the Account the address belongs to. + address: + description: The unique address to be configured. + nullable: true + type: string + auto_creation: + nullable: true + description: Auto Creation configuration for the address. + date_created: + type: string + format: date-time + nullable: true + description: The date that this resource was created. + date_updated: + type: string + format: date-time + nullable: true + description: The date that this resource was last updated. + friendly_name: + description: The human-readable name of this configuration. + nullable: true + type: string + sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^IG[0-9a-fA-F]{32}$ + nullable: true + description: A 34 character string that uniquely identifies this resource. + type: + description: Type of Address. + nullable: true + type: string + url: + description: An absolute URL for this address configuration. + format: uri nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ type: string + conversations.v1.configuration.configuration_webhook: + type: object + properties: + account_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The unique ID of the Account responsible for this conversation. filters: - description: The list of webhook event triggers that are enabled for this - Service. + type: array items: type: string nullable: true - type: array + description: The list of webhook event triggers that are enabled for this + Service. method: - description: The HTTP method to be used when sending a webhook request. + type: string enum: - GET - POST nullable: true - type: string + description: The HTTP method to be used when sending a webhook request. post_webhook_url: description: The absolute url the post-event webhook request should be sent to. @@ -80,74 +128,27 @@ components: nullable: true type: string target: - description: The routing target of the webhook. + type: string enum: - webhook - flex nullable: true - type: string + description: The routing target of the webhook. url: description: An absolute URL for this webhook. format: uri nullable: true type: string + conversations.v1.conversation: type: object - conversations.v1.configuration_address: properties: account_sid: - description: The unique ID of the Account the address belongs to. - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - address: - description: The unique address to be configured. - nullable: true - type: string - auto_creation: - description: Auto Creation configuration for the address. - nullable: true - date_created: - description: The date that this resource was created. - format: date-time - nullable: true - type: string - date_updated: - description: The date that this resource was last updated. - format: date-time - nullable: true type: string - friendly_name: - description: The human-readable name of this configuration. - nullable: true - type: string - sid: - description: A 34 character string that uniquely identifies this resource. - maxLength: 34 minLength: 34 - nullable: true - pattern: ^IG[0-9a-fA-F]{32}$ - type: string - type: - description: Type of Address. - nullable: true - type: string - url: - description: An absolute URL for this address configuration. - format: uri - nullable: true - type: string - type: object - conversations.v1.conversation: - properties: - account_sid: - description: The unique ID of the Account responsible for this conversation. maxLength: 34 - minLength: 34 - nullable: true pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Account responsible for this conversation. attributes: description: An optional string metadata field you can use to store any data you wish. @@ -156,23 +157,23 @@ components: bindings: nullable: true chat_service_sid: - description: The unique ID of the Conversation Service this conversation - belongs to. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Conversation Service this conversation + belongs to. date_created: - description: The date that this resource was created. + type: string format: date-time nullable: true - type: string + description: The date that this resource was created. date_updated: - description: The date that this resource was last updated. + type: string format: date-time nullable: true - type: string + description: The date that this resource was last updated. friendly_name: description: The human-readable name of this conversation. nullable: true @@ -184,31 +185,31 @@ components: nullable: true type: object messaging_service_sid: - description: The unique ID of the Messaging Service this conversation belongs - to. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^MG[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Messaging Service this conversation belongs + to. sid: - description: A 34 character string that uniquely identifies this resource. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string + nullable: true + description: A 34 character string that uniquely identifies this resource. state: - description: Current state of this conversation. + type: string enum: - inactive - active - closed nullable: true - type: string + description: Current state of this conversation. timers: - description: Timer date values for this conversation. nullable: true + description: Timer date values for this conversation. unique_name: description: An application-defined string that uniquely identifies the resource @@ -219,16 +220,16 @@ components: format: uri nullable: true type: string - type: object conversations.v1.conversation.conversation_message: + type: object properties: account_sid: - description: The unique ID of the Account responsible for this message. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Account responsible for this message. attributes: description: A string metadata field you can use to store any data you wish. nullable: true @@ -242,26 +243,26 @@ components: nullable: true type: string conversation_sid: - description: The unique ID of the Conversation for this message. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Conversation for this message. date_created: - description: The date that this resource was created. + type: string format: date-time nullable: true - type: string + description: The date that this resource was created. date_updated: - description: The date that this resource was last updated. + type: string format: date-time nullable: true - type: string + description: The date that this resource was last updated. delivery: + nullable: true description: An object that contains the summary of delivery statuses for the message to non-chat participants. - nullable: true index: description: The index of the message within the Conversation. nullable: true @@ -272,94 +273,94 @@ components: nullable: true type: object media: - description: An array of objects that describe the Message's media if attached, - otherwise, null. + type: array items: {} nullable: true - type: array + description: An array of objects that describe the Message's media if attached, + otherwise, null. participant_sid: - description: The unique ID of messages's author participant. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^MB[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of messages's author participant. sid: - description: A 34 character string that uniquely identifies this resource. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IM[0-9a-fA-F]{32}$ - type: string + nullable: true + description: A 34 character string that uniquely identifies this resource. url: description: An absolute API URL for this message. format: uri nullable: true type: string - type: object conversations.v1.conversation.conversation_message.conversation_message_receipt: + type: object properties: account_sid: - description: The unique ID of the Account responsible for this participant. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Account responsible for this participant. channel_message_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ + nullable: true description: A messaging channel-specific identifier for the message delivered to participant - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ - type: string conversation_sid: - description: The unique ID of the Conversation for this message. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Conversation for this message. date_created: - description: The date that this resource was created. + type: string format: date-time nullable: true - type: string + description: The date that this resource was created. date_updated: - description: The date that this resource was last updated. + type: string format: date-time nullable: true - type: string + description: The date that this resource was last updated. error_code: description: The message [delivery error code](https://www.twilio.com/docs/sms/api/message-resource#delivery-related-errors) for a `failed` status nullable: true type: integer message_sid: - description: The SID of the message the delivery receipt belongs to - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IM[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the message the delivery receipt belongs to participant_sid: - description: The unique ID of the participant the delivery receipt belongs - to. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^MB[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the participant the delivery receipt belongs + to. sid: - description: A 34 character string that uniquely identifies this resource. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^DY[0-9a-fA-F]{32}$ - type: string + nullable: true + description: A 34 character string that uniquely identifies this resource. status: - description: The message delivery status + type: string enum: - read - failed @@ -367,44 +368,44 @@ components: - undelivered - sent nullable: true - type: string + description: The message delivery status url: description: An absolute URL for this delivery receipt. format: uri nullable: true type: string - type: object conversations.v1.conversation.conversation_participant: + type: object properties: account_sid: - description: The unique ID of the Account responsible for this participant. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Account responsible for this participant. attributes: description: An optional string metadata field you can use to store any data you wish. nullable: true type: string conversation_sid: - description: The unique ID of the Conversation for this participant. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Conversation for this participant. date_created: - description: The date that this resource was created. + type: string format: date-time nullable: true - type: string + description: The date that this resource was created. date_updated: - description: The date that this resource was last updated. + type: string format: date-time nullable: true - type: string + description: The date that this resource was last updated. identity: description: A unique string identifier for the conversation participant as Conversation User. @@ -421,65 +422,65 @@ components: nullable: true type: string messaging_binding: + nullable: true description: Information about how this participant exchanges messages with the conversation. - nullable: true role_sid: - description: The SID of a conversation-level Role to assign to the participant - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of a conversation-level Role to assign to the participant sid: - description: A 34 character string that uniquely identifies this resource. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^MB[0-9a-fA-F]{32}$ - type: string + nullable: true + description: A 34 character string that uniquely identifies this resource. url: description: An absolute URL for this participant. format: uri nullable: true type: string - type: object conversations.v1.conversation.conversation_scoped_webhook: + type: object properties: account_sid: - description: The unique ID of the Account responsible for this conversation. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Account responsible for this conversation. configuration: - description: The configuration of this webhook. nullable: true + description: The configuration of this webhook. conversation_sid: - description: The unique ID of the Conversation for this webhook. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Conversation for this webhook. date_created: - description: The date that this resource was created. + type: string format: date-time nullable: true - type: string + description: The date that this resource was created. date_updated: - description: The date that this resource was last updated. + type: string format: date-time nullable: true - type: string + description: The date that this resource was last updated. sid: - description: A 34 character string that uniquely identifies this resource. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WH[0-9a-fA-F]{32}$ - type: string + nullable: true + description: A 34 character string that uniquely identifies this resource. target: description: The target of this webhook. nullable: true @@ -489,26 +490,26 @@ components: format: uri nullable: true type: string - type: object conversations.v1.credential: + type: object properties: account_sid: - description: The unique ID of the Account responsible for this credential. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Account responsible for this credential. date_created: - description: The date that this resource was created. + type: string format: date-time nullable: true - type: string + description: The date that this resource was created. date_updated: - description: The date that this resource was last updated. + type: string format: date-time nullable: true - type: string + description: The date that this resource was last updated. friendly_name: description: The human-readable name of this credential. nullable: true @@ -518,43 +519,43 @@ components: nullable: true type: string sid: - description: A 34 character string that uniquely identifies this resource. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CR[0-9a-fA-F]{32}$ - type: string + nullable: true + description: A 34 character string that uniquely identifies this resource. type: - description: The type of push-notification service the credential is for. + type: string enum: - apn - gcm - fcm nullable: true - type: string + description: The type of push-notification service the credential is for. url: description: An absolute URL for this credential. format: uri nullable: true type: string - type: object conversations.v1.participant_conversation: + type: object properties: account_sid: - description: The unique ID of the Account responsible for this conversation. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Account responsible for this conversation. chat_service_sid: - description: The unique ID of the Conversation Service this conversation - belongs to. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Conversation Service this conversation + belongs to. conversation_attributes: description: An optional string metadata field you can use to store any data you wish. @@ -565,38 +566,38 @@ components: nullable: true type: string conversation_date_created: - description: The date that this conversation was created. + type: string format: date-time nullable: true - type: string + description: The date that this conversation was created. conversation_date_updated: - description: The date that this conversation was last updated. + type: string format: date-time nullable: true - type: string + description: The date that this conversation was last updated. conversation_friendly_name: description: The human-readable name of this conversation. nullable: true type: string conversation_sid: - description: The unique ID of the Conversation this Participant belongs - to. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Conversation this Participant belongs + to. conversation_state: - description: The current state of this User Conversation + type: string enum: - inactive - active - closed nullable: true - type: string + description: The current state of this User Conversation conversation_timers: - description: Timer date values for this conversation. nullable: true + description: Timer date values for this conversation. conversation_unique_name: description: An application-defined string that uniquely identifies the Conversation resource @@ -614,102 +615,102 @@ components: nullable: true type: string participant_messaging_binding: + nullable: true description: Information about how this participant exchanges messages with the conversation. - nullable: true participant_sid: - description: The unique ID of the Participant. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^MB[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Participant. participant_user_sid: - description: The unique ID for the conversation participant as Conversation - User. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^US[0-9a-fA-F]{32}$ - type: string - type: object + nullable: true + description: The unique ID for the conversation participant as Conversation + User. conversations.v1.role: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource chat_service_sid: - description: The SID of the Conversation Service that the resource is associated - with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Conversation Service that the resource is associated + with date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated friendly_name: description: The string that you assigned to describe the resource nullable: true type: string permissions: - description: An array of the permissions the role has been granted + type: array items: type: string nullable: true - type: array + description: An array of the permissions the role has been granted sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource type: - description: The type of role + type: string enum: - conversation - service nullable: true - type: string + description: The type of role url: description: An absolute URL for this user role. format: uri nullable: true type: string - type: object conversations.v1.service: + type: object properties: account_sid: - description: The unique ID of the Account responsible for this service. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Account responsible for this service. date_created: - description: The date that this resource was created. + type: string format: date-time nullable: true - type: string + description: The date that this resource was created. date_updated: - description: The date that this resource was last updated. + type: string format: date-time nullable: true - type: string + description: The date that this resource was last updated. friendly_name: description: The human-readable name of this service. nullable: true @@ -721,60 +722,60 @@ components: nullable: true type: object sid: - description: A 34 character string that uniquely identifies this resource. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: A 34 character string that uniquely identifies this resource. url: description: An absolute URL for this service. format: uri nullable: true type: string - type: object conversations.v1.service.service_binding: + type: object properties: account_sid: - description: The unique ID of the Account responsible for this binding. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Account responsible for this binding. binding_type: - description: The push technology to use for the binding. + type: string enum: - apn - gcm - fcm nullable: true - type: string + description: The push technology to use for the binding. chat_service_sid: - description: The SID of the Conversation Service that the resource is associated - with. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Conversation Service that the resource is associated + with. credential_sid: - description: The SID of the Credential for the binding. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CR[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Credential for the binding. date_created: - description: The date that this resource was created. + type: string format: date-time nullable: true - type: string + description: The date that this resource was created. date_updated: - description: The date that this resource was last updated. + type: string format: date-time nullable: true - type: string + description: The date that this resource was last updated. endpoint: description: The unique endpoint identifier for the Binding. nullable: true @@ -784,56 +785,56 @@ components: nullable: true type: string message_types: - description: The Conversation message types the binding is subscribed to. + type: array items: type: string nullable: true - type: array + description: The Conversation message types the binding is subscribed to. sid: - description: A 34 character string that uniquely identifies this resource. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^BS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: A 34 character string that uniquely identifies this resource. url: description: An absolute URL for this binding. format: uri nullable: true type: string - type: object conversations.v1.service.service_configuration: + type: object properties: chat_service_sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource default_chat_service_role_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ + nullable: true description: The service role assigned to users when they are added to the service - maxLength: 34 + default_conversation_creator_role_sid: + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string - default_conversation_creator_role_sid: + nullable: true description: The role assigned to a conversation creator user when they join a new conversation - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^RL[0-9a-fA-F]{32}$ - type: string default_conversation_role_sid: - description: The role assigned to users when they are added to a conversation - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The role assigned to users when they are added to a conversation links: description: Absolute URL to access the push notifications configuration of this service. @@ -850,102 +851,16 @@ components: format: uri nullable: true type: string + conversations.v1.service.service_conversation: type: object - conversations.v1.service.service_configuration.service_notification: properties: account_sid: - description: The unique ID of the Account responsible for this configuration. - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ type: string - added_to_conversation: - description: The Push Notification configuration for being added to a Conversation. - nullable: true - chat_service_sid: - description: The SID of the Conversation Service that the Configuration - applies to. - maxLength: 34 minLength: 34 - nullable: true - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - log_enabled: - description: Weather the notification logging is enabled. - nullable: true - type: boolean - new_message: - description: The Push Notification configuration for New Messages. - nullable: true - removed_from_conversation: - description: The Push Notification configuration for being removed from - a Conversation. - nullable: true - url: - description: An absolute URL for this configuration. - format: uri - nullable: true - type: string - type: object - conversations.v1.service.service_configuration.service_webhook_configuration: - properties: - account_sid: - description: The unique ID of the Account responsible for this service. maxLength: 34 - minLength: 34 - nullable: true pattern: ^AC[0-9a-fA-F]{32}$ - type: string - chat_service_sid: - description: The unique ID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) - this conversation belongs to. - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - filters: - description: The list of events that your configured webhook targets will - receive. Events not configured here will not fire. - items: - type: string - nullable: true - type: array - method: - description: The HTTP method to be used when sending a webhook request - enum: - - GET - - POST - nullable: true - type: string - post_webhook_url: - description: The absolute url the post-event webhook request should be sent - to. - format: uri - nullable: true - type: string - pre_webhook_url: - description: The absolute url the pre-event webhook request should be sent - to. - format: uri - nullable: true - type: string - url: - description: An absolute URL for this webhook. - format: uri nullable: true - type: string - type: object - conversations.v1.service.service_conversation: - properties: - account_sid: description: The unique ID of the Account responsible for this conversation. - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string attributes: description: An optional string metadata field you can use to store any data you wish. @@ -954,23 +869,23 @@ components: bindings: nullable: true chat_service_sid: - description: The unique ID of the Conversation Service this conversation - belongs to. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Conversation Service this conversation + belongs to. date_created: - description: The date that this resource was created. + type: string format: date-time nullable: true - type: string + description: The date that this resource was created. date_updated: - description: The date that this resource was last updated. + type: string format: date-time nullable: true - type: string + description: The date that this resource was last updated. friendly_name: description: The human-readable name of this conversation. nullable: true @@ -982,31 +897,31 @@ components: nullable: true type: object messaging_service_sid: - description: The unique ID of the Messaging Service this conversation belongs - to. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^MG[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Messaging Service this conversation belongs + to. sid: - description: A 34 character string that uniquely identifies this resource. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string + nullable: true + description: A 34 character string that uniquely identifies this resource. state: - description: Current state of this conversation. + type: string enum: - inactive - active - closed nullable: true - type: string + description: Current state of this conversation. timers: - description: Timer date values for this conversation. nullable: true + description: Timer date values for this conversation. unique_name: description: An application-defined string that uniquely identifies the resource @@ -1017,16 +932,16 @@ components: format: uri nullable: true type: string - type: object conversations.v1.service.service_conversation.service_conversation_message: + type: object properties: account_sid: - description: The unique ID of the Account responsible for this message. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Account responsible for this message. attributes: description: A string metadata field you can use to store any data you wish. nullable: true @@ -1040,34 +955,34 @@ components: nullable: true type: string chat_service_sid: - description: The SID of the Conversation Service that the resource is associated - with. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Conversation Service that the resource is associated + with. conversation_sid: - description: The unique ID of the Conversation for this message. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Conversation for this message. date_created: - description: The date that this resource was created. + type: string format: date-time nullable: true - type: string + description: The date that this resource was created. date_updated: - description: The date that this resource was last updated. + type: string format: date-time nullable: true - type: string + description: The date that this resource was last updated. delivery: + nullable: true description: An object that contains the summary of delivery statuses for the message to non-chat participants. - nullable: true index: description: The index of the message within the Conversation. nullable: true @@ -1078,102 +993,102 @@ components: nullable: true type: object media: - description: An array of objects that describe the Message's media if attached, - otherwise, null. + type: array items: {} nullable: true - type: array + description: An array of objects that describe the Message's media if attached, + otherwise, null. participant_sid: - description: The unique ID of messages's author participant. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^MB[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of messages's author participant. sid: - description: A 34 character string that uniquely identifies this resource. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IM[0-9a-fA-F]{32}$ - type: string + nullable: true + description: A 34 character string that uniquely identifies this resource. url: description: An absolute URL for this message. format: uri nullable: true type: string - type: object conversations.v1.service.service_conversation.service_conversation_message.service_conversation_message_receipt: + type: object properties: account_sid: - description: The unique ID of the Account responsible for this participant. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Account responsible for this participant. channel_message_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ + nullable: true description: A messaging channel-specific identifier for the message delivered to participant - maxLength: 34 + chat_service_sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ nullable: true - pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ - type: string - chat_service_sid: description: The SID of the Conversation Service that the resource is associated with. - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^IS[0-9a-fA-F]{32}$ - type: string conversation_sid: - description: The unique ID of the Conversation for this message. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Conversation for this message. date_created: - description: The date that this resource was created. + type: string format: date-time nullable: true - type: string + description: The date that this resource was created. date_updated: - description: The date that this resource was last updated. + type: string format: date-time nullable: true - type: string + description: The date that this resource was last updated. error_code: description: The message [delivery error code](https://www.twilio.com/docs/sms/api/message-resource#delivery-related-errors) for a `failed` status nullable: true type: integer message_sid: - description: The SID of the message the delivery receipt belongs to - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IM[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the message the delivery receipt belongs to participant_sid: - description: The unique ID of the participant the delivery receipt belongs - to. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^MB[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the participant the delivery receipt belongs + to. sid: - description: A 34 character string that uniquely identifies this resource. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^DY[0-9a-fA-F]{32}$ - type: string + nullable: true + description: A 34 character string that uniquely identifies this resource. status: - description: The message delivery status + type: string enum: - read - failed @@ -1181,52 +1096,52 @@ components: - undelivered - sent nullable: true - type: string + description: The message delivery status url: description: An absolute URL for this delivery receipt. format: uri nullable: true type: string - type: object conversations.v1.service.service_conversation.service_conversation_participant: + type: object properties: account_sid: - description: The unique ID of the Account responsible for this participant. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Account responsible for this participant. attributes: description: An optional string metadata field you can use to store any data you wish. nullable: true type: string chat_service_sid: - description: The SID of the Conversation Service that the resource is associated - with. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Conversation Service that the resource is associated + with. conversation_sid: - description: The unique ID of the Conversation for this participant. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Conversation for this participant. date_created: - description: The date that this resource was created. + type: string format: date-time nullable: true - type: string + description: The date that this resource was created. date_updated: - description: The date that this resource was last updated. + type: string format: date-time nullable: true - type: string + description: The date that this resource was last updated. identity: description: A unique string identifier for the conversation participant as Conversation User. @@ -1243,73 +1158,73 @@ components: nullable: true type: string messaging_binding: + nullable: true description: Information about how this participant exchanges messages with the conversation. - nullable: true role_sid: - description: The SID of a conversation-level Role to assign to the participant - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of a conversation-level Role to assign to the participant sid: - description: A 34 character string that uniquely identifies this resource. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^MB[0-9a-fA-F]{32}$ - type: string + nullable: true + description: A 34 character string that uniquely identifies this resource. url: description: An absolute URL for this participant. format: uri nullable: true type: string - type: object conversations.v1.service.service_conversation.service_conversation_scoped_webhook: + type: object properties: account_sid: - description: The unique ID of the Account responsible for this conversation. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Account responsible for this conversation. chat_service_sid: - description: The SID of the Conversation Service that the resource is associated - with. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Conversation Service that the resource is associated + with. configuration: - description: The configuration of this webhook. nullable: true + description: The configuration of this webhook. conversation_sid: - description: The unique ID of the Conversation for this webhook. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Conversation for this webhook. date_created: - description: The date that this resource was created. + type: string format: date-time nullable: true - type: string + description: The date that this resource was created. date_updated: - description: The date that this resource was last updated. + type: string format: date-time nullable: true - type: string + description: The date that this resource was last updated. sid: - description: A 34 character string that uniquely identifies this resource. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WH[0-9a-fA-F]{32}$ - type: string + nullable: true + description: A 34 character string that uniquely identifies this resource. target: description: The target of this webhook. nullable: true @@ -1319,24 +1234,61 @@ components: format: uri nullable: true type: string + conversations.v1.service.service_configuration.service_notification: type: object - conversations.v1.service.service_participant_conversation: properties: account_sid: - description: The unique ID of the Account responsible for this conversation. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Account responsible for this configuration. + added_to_conversation: + nullable: true + description: The Push Notification configuration for being added to a Conversation. chat_service_sid: - description: The unique ID of the Conversation Service this conversation - belongs to. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Conversation Service that the Configuration + applies to. + log_enabled: + description: Weather the notification logging is enabled. + nullable: true + type: boolean + new_message: + nullable: true + description: The Push Notification configuration for New Messages. + removed_from_conversation: + nullable: true + description: The Push Notification configuration for being removed from + a Conversation. + url: + description: An absolute URL for this configuration. + format: uri + nullable: true + type: string + conversations.v1.service.service_participant_conversation: + type: object + properties: + account_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The unique ID of the Account responsible for this conversation. + chat_service_sid: type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + nullable: true + description: The unique ID of the Conversation Service this conversation + belongs to. conversation_attributes: description: An optional string metadata field you can use to store any data you wish. @@ -1347,38 +1299,38 @@ components: nullable: true type: string conversation_date_created: - description: The date that this conversation was created. + type: string format: date-time nullable: true - type: string + description: The date that this conversation was created. conversation_date_updated: - description: The date that this conversation was last updated. + type: string format: date-time nullable: true - type: string + description: The date that this conversation was last updated. conversation_friendly_name: description: The human-readable name of this conversation. nullable: true type: string conversation_sid: - description: The unique ID of the Conversation this Participant belongs - to. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Conversation this Participant belongs + to. conversation_state: - description: The current state of this User Conversation + type: string enum: - inactive - active - closed nullable: true - type: string + description: The current state of this User Conversation conversation_timers: - description: Timer date values for this conversation. nullable: true + description: Timer date values for this conversation. conversation_unique_name: description: An application-defined string that uniquely identifies the Conversation resource. @@ -1396,115 +1348,115 @@ components: nullable: true type: string participant_messaging_binding: + nullable: true description: Information about how this participant exchanges messages with the conversation. - nullable: true participant_sid: - description: The unique ID of the Participant. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^MB[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Participant. participant_user_sid: - description: The unique ID for the conversation participant as Conversation - User. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^US[0-9a-fA-F]{32}$ - type: string - type: object + nullable: true + description: The unique ID for the conversation participant as Conversation + User. conversations.v1.service.service_role: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource chat_service_sid: - description: The SID of the Conversation Service that the resource is associated - with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Conversation Service that the resource is associated + with date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated friendly_name: description: The string that you assigned to describe the resource nullable: true type: string permissions: - description: An array of the permissions the role has been granted + type: array items: type: string nullable: true - type: array + description: An array of the permissions the role has been granted sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource type: - description: The type of role + type: string enum: - conversation - service nullable: true - type: string + description: The type of role url: description: An absolute URL for this user role. format: uri nullable: true type: string - type: object conversations.v1.service.service_user: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource attributes: description: The JSON Object string that stores application-specific data nullable: true type: string chat_service_sid: - description: The SID of the Conversation Service that the resource is associated - with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Conversation Service that the resource is associated + with date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated friendly_name: description: The string that you assigned to describe the resource nullable: true @@ -1528,76 +1480,76 @@ components: nullable: true type: object role_sid: - description: The SID of a service-level Role assigned to the user - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of a service-level Role assigned to the user sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^US[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource url: description: An absolute URL for this user. format: uri nullable: true type: string - type: object conversations.v1.service.service_user.service_user_conversation: + type: object properties: account_sid: - description: The unique ID of the Account responsible for this conversation. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Account responsible for this conversation. attributes: description: An optional string metadata field you can use to store any data you wish. nullable: true type: string chat_service_sid: - description: The unique ID of the Conversation Service this conversation - belongs to. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Conversation Service this conversation + belongs to. conversation_sid: - description: The unique ID of the Conversation for this User Conversation. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Conversation for this User Conversation. conversation_state: - description: The current state of this User Conversation + type: string enum: - inactive - active - closed nullable: true - type: string + description: The current state of this User Conversation created_by: description: Creator of this conversation. nullable: true type: string date_created: - description: The date that this conversation was created. + type: string format: date-time nullable: true - type: string + description: The date that this conversation was created. date_updated: - description: The date that this conversation was last updated. + type: string format: date-time nullable: true - type: string + description: The date that this conversation was last updated. friendly_name: description: The human-readable name of this conversation. nullable: true @@ -1613,22 +1565,22 @@ components: nullable: true type: object notification_level: - description: The Notification Level of this User Conversation. + type: string enum: - default - muted nullable: true - type: string + description: The Notification Level of this User Conversation. participant_sid: - description: Participant Sid. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^MB[0-9a-fA-F]{32}$ - type: string + nullable: true + description: Participant Sid. timers: - description: Timer date values for this conversation. nullable: true + description: Timer date values for this conversation. unique_name: description: An application-defined string that uniquely identifies the Conversation resource. @@ -1643,45 +1595,94 @@ components: nullable: true type: string user_sid: - description: The unique ID for the User. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^US[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID for the User. + conversations.v1.service.service_configuration.service_webhook_configuration: type: object - conversations.v1.user: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - attributes: - description: The JSON Object string that stores application-specific data nullable: true - type: string + description: The unique ID of the Account responsible for this service. chat_service_sid: - description: The SID of the Conversation Service that the resource is associated - with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - date_created: - description: The ISO 8601 date and time in GMT when the resource was created - format: date-time nullable: true + description: The unique ID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) + this conversation belongs to. + filters: + type: array + items: + type: string + nullable: true + description: The list of events that your configured webhook targets will + receive. Events not configured here will not fire. + method: + type: string + enum: + - GET + - POST + nullable: true + description: The HTTP method to be used when sending a webhook request + post_webhook_url: + description: The absolute url the post-event webhook request should be sent + to. + format: uri + nullable: true + type: string + pre_webhook_url: + description: The absolute url the pre-event webhook request should be sent + to. + format: uri + nullable: true + type: string + url: + description: An absolute URL for this webhook. + format: uri + nullable: true + type: string + conversations.v1.user: + type: object + properties: + account_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created the resource + attributes: + description: The JSON Object string that stores application-specific data + nullable: true + type: string + chat_service_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Conversation Service that the resource is associated + with + date_created: type: string - date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated format: date-time nullable: true + description: The ISO 8601 date and time in GMT when the resource was created + date_updated: type: string + format: date-time + nullable: true + description: The ISO 8601 date and time in GMT when the resource was last + updated friendly_name: description: The string that you assigned to describe the resource nullable: true @@ -1705,76 +1706,76 @@ components: nullable: true type: object role_sid: - description: The SID of a service-level Role assigned to the user - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of a service-level Role assigned to the user sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^US[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource url: description: An absolute URL for this user. format: uri nullable: true type: string - type: object conversations.v1.user.user_conversation: + type: object properties: account_sid: - description: The unique ID of the Account responsible for this conversation. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Account responsible for this conversation. attributes: description: An optional string metadata field you can use to store any data you wish. nullable: true type: string chat_service_sid: - description: The unique ID of the Conversation Service this conversation - belongs to. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Conversation Service this conversation + belongs to. conversation_sid: - description: The unique ID of the Conversation for this User Conversation. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Conversation for this User Conversation. conversation_state: - description: The current state of this User Conversation + type: string enum: - inactive - active - closed nullable: true - type: string + description: The current state of this User Conversation created_by: description: Creator of this conversation. nullable: true type: string date_created: - description: The date that this conversation was created. + type: string format: date-time nullable: true - type: string + description: The date that this conversation was created. date_updated: - description: The date that this conversation was last updated. + type: string format: date-time nullable: true - type: string + description: The date that this conversation was last updated. friendly_name: description: The human-readable name of this conversation. nullable: true @@ -1790,22 +1791,22 @@ components: nullable: true type: object notification_level: - description: The Notification Level of this User Conversation. + type: string enum: - default - muted nullable: true - type: string + description: The Notification Level of this User Conversation. participant_sid: - description: Participant Sid. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^MB[0-9a-fA-F]{32}$ - type: string + nullable: true + description: Participant Sid. timers: - description: Timer date values for this conversation. nullable: true + description: Timer date values for this conversation. unique_name: description: An application-defined string that uniquely identifies the Conversation resource. @@ -1820,13 +1821,12 @@ components: nullable: true type: string user_sid: - description: The unique ID for the User. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^US[0-9a-fA-F]{32}$ - type: string - type: object + nullable: true + description: The unique ID for the User. securitySchemes: accountSid_authToken: scheme: basic @@ -1846,8 +1846,16 @@ info: openapi: 3.0.1 paths: /v1/Configuration: + servers: + - url: https://conversations.twilio.com description: The Configuration resource manages a set of account-level settings applicable to the Conversations API. + x-twilio: + defaultOutputProperties: + - account_sid + - default_chat_service_sid + - default_messaging_service_sid + pathType: instance get: description: Fetch the global configuration of conversations on your account operationId: FetchConfiguration @@ -1871,28 +1879,28 @@ paths: schema: properties: DefaultChatServiceSid: - description: The SID of the default [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) - to use when creating a conversation. - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ + description: The SID of the default [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) + to use when creating a conversation. + DefaultMessagingServiceSid: type: string - DefaultClosedTimer: - description: Default ISO8601 duration when conversation will be - switched to `closed` state. Minimum value for this timer is 10 - minutes. - type: string + minLength: 34 + maxLength: 34 + pattern: ^MG[0-9a-fA-F]{32}$ + description: The SID of the default [Messaging Service](https://www.twilio.com/docs/sms/services/api) + to use when creating a conversation. DefaultInactiveTimer: description: Default ISO8601 duration when conversation will be switched to `inactive` state. Minimum value for this timer is 1 minute. type: string - DefaultMessagingServiceSid: - description: The SID of the default [Messaging Service](https://www.twilio.com/docs/sms/services/api) - to use when creating a conversation. - maxLength: 34 - minLength: 34 - pattern: ^MG[0-9a-fA-F]{32}$ + DefaultClosedTimer: + description: Default ISO8601 duration when conversation will be + switched to `closed` state. Minimum value for this timer is 10 + minutes. type: string title: UpdateConfigurationRequest type: object @@ -1907,17 +1915,19 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Configuration/Addresses: servers: - url: https://conversations.twilio.com - x-twilio: - defaultOutputProperties: - - account_sid - - default_chat_service_sid - - default_messaging_service_sid - pathType: instance - /v1/Configuration/Addresses: description: Address Configuration resource manages the configurations related to a unique address within Conversations + x-twilio: + defaultOutputProperties: + - sid + - type + - address + - friendly_name + pathType: list + className: address_configuration get: description: Retrieve a list of address configurations for an account operationId: ListConfigurationAddress @@ -1941,18 +1951,19 @@ paths: content: application/json: schema: + type: object + title: ListConfigurationAddressResponse properties: address_configurations: + type: array items: $ref: '#/components/schemas/conversations.v1.configuration_address' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1966,9 +1977,8 @@ paths: url: format: uri type: string - type: object - title: ListConfigurationAddressResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] @@ -1982,71 +1992,71 @@ paths: application/x-www-form-urlencoded: schema: properties: + Type: + type: string + enum: + - sms + - whatsapp + - messenger + - gbm + description: Type of Address. Value can be `whatsapp` or `sms`. Address: description: The unique address to be configured. The address can be a whatsapp address or phone number type: string - AutoCreation.ConversationServiceSid: - description: Conversation Service for the auto-created conversation. - If not set, the conversation is created in the default service. - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ + FriendlyName: + description: The human-readable name of this configuration, limited + to 256 characters. Optional. type: string AutoCreation.Enabled: description: Enable/Disable auto-creating conversations for messages to this address type: boolean - AutoCreation.StudioFlowSid: - description: For type `studio`, the studio flow SID where the webhook - should be sent to. - maxLength: 34 - minLength: 34 - pattern: ^FW[0-9a-fA-F]{32}$ - type: string - AutoCreation.StudioRetryCount: - description: For type `studio`, number of times to retry the webhook - request - type: integer AutoCreation.Type: - description: Type of Auto Creation. Value can be one of `webhook`, - `studio` or `default`. + type: string enum: - webhook - studio - default + description: Type of Auto Creation. Value can be one of `webhook`, + `studio` or `default`. + AutoCreation.ConversationServiceSid: type: string - AutoCreation.WebhookFilters: - description: 'The list of events, firing webhook event for this - Conversation. Values can be any of the following: `onMessageAdded`, - `onMessageUpdated`, `onMessageRemoved`, `onConversationUpdated`, - `onConversationStateUpdated`, `onConversationRemoved`, `onParticipantAdded`, - `onParticipantUpdated`, `onParticipantRemoved`, `onDeliveryUpdated`' - items: - type: string - type: array - AutoCreation.WebhookMethod: - description: For type `webhook`, the HTTP method to be used when - sending a webhook request. - enum: - - GET - - POST - type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + description: Conversation Service for the auto-created conversation. + If not set, the conversation is created in the default service. AutoCreation.WebhookUrl: description: For type `webhook`, the url for the webhook request. type: string - FriendlyName: - description: The human-readable name of this configuration, limited - to 256 characters. Optional. + AutoCreation.WebhookMethod: type: string - Type: - description: Type of Address. Value can be `whatsapp` or `sms`. enum: - - sms - - whatsapp - - messenger - - gbm + - GET + - POST + description: For type `webhook`, the HTTP method to be used when + sending a webhook request. + AutoCreation.WebhookFilters: + type: array + items: + type: string + description: 'The list of events, firing webhook event for this + Conversation. Values can be any of the following: `onMessageAdded`, + `onMessageUpdated`, `onMessageRemoved`, `onConversationUpdated`, + `onConversationStateUpdated`, `onConversationRemoved`, `onParticipantAdded`, + `onParticipantUpdated`, `onParticipantRemoved`, `onDeliveryUpdated`' + AutoCreation.StudioFlowSid: type: string + minLength: 34 + maxLength: 34 + pattern: ^FW[0-9a-fA-F]{32}$ + description: For type `studio`, the studio flow SID where the webhook + should be sent to. + AutoCreation.StudioRetryCount: + description: For type `studio`, number of times to retry the webhook + request + type: integer required: - Type - Address @@ -2063,37 +2073,19 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Configuration/Addresses/{Sid}: servers: - url: https://conversations.twilio.com + description: Address Configuration resource manages the configurations related + to a unique address within Conversations x-twilio: - className: address_configuration defaultOutputProperties: - sid - type - address - friendly_name - pathType: list - /v1/Configuration/Addresses/{Sid}: - delete: - description: Remove an existing address configuration - operationId: DeleteConfigurationAddress - parameters: - - description: The SID of the Address Configuration resource. This value can - be either the `sid` or the `address` of the configuration - in: path - name: Sid - required: true - schema: - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: Address Configuration resource manages the configurations related - to a unique address within Conversations + pathType: instance + className: address_configuration get: description: 'Fetch an address configuration ' operationId: FetchConfigurationAddress @@ -2132,59 +2124,59 @@ paths: application/x-www-form-urlencoded: schema: properties: - AutoCreation.ConversationServiceSid: - description: Conversation Service for the auto-created conversation. - If not set, the conversation is created in the default service. - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ + FriendlyName: + description: The human-readable name of this configuration, limited + to 256 characters. Optional. type: string AutoCreation.Enabled: description: Enable/Disable auto-creating conversations for messages to this address type: boolean - AutoCreation.StudioFlowSid: - description: For type `studio`, the studio flow SID where the webhook - should be sent to. - maxLength: 34 - minLength: 34 - pattern: ^FW[0-9a-fA-F]{32}$ - type: string - AutoCreation.StudioRetryCount: - description: For type `studio`, number of times to retry the webhook - request - type: integer AutoCreation.Type: - description: Type of Auto Creation. Value can be one of `webhook`, - `studio` or `default`. + type: string enum: - webhook - studio - default + description: Type of Auto Creation. Value can be one of `webhook`, + `studio` or `default`. + AutoCreation.ConversationServiceSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + description: Conversation Service for the auto-created conversation. + If not set, the conversation is created in the default service. + AutoCreation.WebhookUrl: + description: For type `webhook`, the url for the webhook request. + type: string + AutoCreation.WebhookMethod: type: string + enum: + - GET + - POST + description: For type `webhook`, the HTTP method to be used when + sending a webhook request. AutoCreation.WebhookFilters: + type: array + items: + type: string description: 'The list of events, firing webhook event for this Conversation. Values can be any of the following: `onMessageAdded`, `onMessageUpdated`, `onMessageRemoved`, `onConversationUpdated`, `onConversationStateUpdated`, `onConversationRemoved`, `onParticipantAdded`, `onParticipantUpdated`, `onParticipantRemoved`, `onDeliveryUpdated`' - items: - type: string - type: array - AutoCreation.WebhookMethod: - description: For type `webhook`, the HTTP method to be used when - sending a webhook request. - enum: - - GET - - POST - type: string - AutoCreation.WebhookUrl: - description: For type `webhook`, the url for the webhook request. - type: string - FriendlyName: - description: The human-readable name of this configuration, limited - to 256 characters. Optional. + AutoCreation.StudioFlowSid: type: string + minLength: 34 + maxLength: 34 + pattern: ^FW[0-9a-fA-F]{32}$ + description: For type `studio`, the studio flow SID where the webhook + should be sent to. + AutoCreation.StudioRetryCount: + description: For type `studio`, number of times to retry the webhook + request + type: integer title: UpdateConfigurationAddressRequest type: object responses: @@ -2198,19 +2190,37 @@ paths: - accountSid_authToken: [] x-maturity: - GA + delete: + description: Remove an existing address configuration + operationId: DeleteConfigurationAddress + parameters: + - description: The SID of the Address Configuration resource. This value can + be either the `sid` or the `address` of the configuration + in: path + name: Sid + required: true + schema: + type: string + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Configuration/Webhooks: servers: - url: https://conversations.twilio.com + description: A Webhook resource manages a service-level set of callback URLs and + their configuration for receiving all conversation events. x-twilio: - className: address_configuration defaultOutputProperties: - - sid - - type - - address - - friendly_name + - target + - method + - pre_webhook_url + - post_webhook_url pathType: instance - /v1/Configuration/Webhooks: - description: A Webhook resource manages a service-level set of callback URLs and - their configuration for receiving all conversation events. + parent: /Configuration get: description: '' operationId: FetchConfigurationWebhook @@ -2233,31 +2243,31 @@ paths: application/x-www-form-urlencoded: schema: properties: + Method: + description: The HTTP method to be used when sending a webhook request. + type: string Filters: + type: array + items: + type: string description: 'The list of webhook event triggers that are enabled for this Service: `onMessageAdded`, `onMessageUpdated`, `onMessageRemoved`, `onConversationUpdated`, `onConversationRemoved`, `onParticipantAdded`, `onParticipantUpdated`, `onParticipantRemoved`' - items: - type: string - type: array - Method: - description: The HTTP method to be used when sending a webhook request. + PreWebhookUrl: + description: The absolute url the pre-event webhook request should + be sent to. type: string PostWebhookUrl: description: The absolute url the post-event webhook request should be sent to. type: string - PreWebhookUrl: - description: The absolute url the pre-event webhook request should - be sent to. - type: string Target: - description: The routing target of the webhook. + type: string enum: - webhook - flex - type: string + description: The routing target of the webhook. title: UpdateConfigurationWebhookRequest type: object responses: @@ -2271,131 +2281,80 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Conversations: servers: - url: https://conversations.twilio.com - x-twilio: - defaultOutputProperties: - - target - - method - - pre_webhook_url - - post_webhook_url - parent: /Configuration - pathType: instance - /v1/Conversations: description: A Conversation resource represents an omnichannel group conversation with an ordered list of messages and a participant roster. - get: - description: Retrieve a list of conversations in your account's default service - operationId: ListConversation + x-twilio: + defaultOutputProperties: + - sid + - chat_service_sid + - friendly_name + - date_created + pathType: list + post: + description: Create a new conversation in your account's default service + operationId: CreateConversation 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 - responses: - '200': - content: - application/json: - schema: - properties: - conversations: - items: - $ref: '#/components/schemas/conversations.v1.conversation' - type: array - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - title: ListConversationResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: Create a new conversation in your account's default service - operationId: CreateConversation - parameters: - - description: The X-Twilio-Webhook-Enabled HTTP request header - in: header - name: X-Twilio-Webhook-Enabled + - description: The X-Twilio-Webhook-Enabled HTTP request header + in: header + name: X-Twilio-Webhook-Enabled schema: + type: string enum: - 'true' - 'false' - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Attributes: - description: An optional string metadata field you can use to store - any data you wish. The string value must contain structurally - valid JSON if specified. **Note** that if the attributes are - not set "{}" will be returned. + FriendlyName: + description: The human-readable name of this conversation, limited + to 256 characters. Optional. + type: string + UniqueName: + description: An application-defined string that uniquely identifies + the resource. It can be used to address the resource in place + of the resource's `sid` in the URL. type: string DateCreated: - description: The date that this resource was created. - format: date-time type: string - DateUpdated: - description: The date that this resource was last updated. format: date-time + description: The date that this resource was created. + DateUpdated: type: string - FriendlyName: - description: The human-readable name of this conversation, limited - to 256 characters. Optional. - type: string + format: date-time + description: The date that this resource was last updated. MessagingServiceSid: - description: The unique ID of the [Messaging Service](https://www.twilio.com/docs/sms/services/api) - this conversation belongs to. - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^MG[0-9a-fA-F]{32}$ + description: The unique ID of the [Messaging Service](https://www.twilio.com/docs/sms/services/api) + this conversation belongs to. + Attributes: + description: An optional string metadata field you can use to store + any data you wish. The string value must contain structurally + valid JSON if specified. **Note** that if the attributes are + not set "{}" will be returned. type: string State: - description: Current state of this conversation. Can be either `active`, - `inactive` or `closed` and defaults to `active` + type: string enum: - inactive - active - closed - type: string - Timers.Closed: - description: ISO8601 duration when conversation will be switched - to `closed` state. Minimum value for this timer is 10 minutes. - type: string + description: Current state of this conversation. Can be either `active`, + `inactive` or `closed` and defaults to `active` Timers.Inactive: description: ISO8601 duration when conversation will be switched to `inactive` state. Minimum value for this timer is 1 minute. type: string - UniqueName: - description: An application-defined string that uniquely identifies - the resource. It can be used to address the resource in place - of the resource's `sid` in the URL. + Timers.Closed: + description: ISO8601 duration when conversation will be switched + to `closed` state. Minimum value for this timer is 10 minutes. type: string title: CreateConversationRequest type: object @@ -2410,37 +2369,10 @@ paths: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://conversations.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - chat_service_sid - - friendly_name - - date_created - pathType: list - /v1/Conversations/{ConversationSid}/Messages: - description: A Message resource represents a message in a conversation. get: - description: Retrieve a list of all messages in the conversation - operationId: ListConversationMessage + description: Retrieve a list of conversations in your account's default service + operationId: ListConversation parameters: - - description: The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) - for messages. - in: path - name: ConversationSid - required: true - schema: - type: string - - description: 'The sort order of the returned messages. Can be: `asc` (ascending) - or `desc` (descending), with `asc` as the default.' - in: query - name: Order - schema: - enum: - - asc - - desc - type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -2454,18 +2386,19 @@ paths: content: application/json: schema: + type: object + title: ListConversationResponse properties: - messages: - items: - $ref: '#/components/schemas/conversations.v1.conversation.conversation_message' + conversations: type: array + items: + $ref: '#/components/schemas/conversations.v1.conversation' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -2479,22 +2412,33 @@ paths: url: format: uri type: string - type: object - title: ListConversationMessageResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Conversations/{Sid}: + servers: + - url: https://conversations.twilio.com + description: A Conversation resource represents an omnichannel group conversation + with an ordered list of messages and a participant roster. + x-twilio: + defaultOutputProperties: + - sid + - chat_service_sid + - friendly_name + - date_created + pathType: instance post: - description: Add a new message to the conversation - operationId: CreateConversationMessage + description: Update an existing conversation in your account's default service + operationId: UpdateConversation parameters: - - description: The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) - for this message. + - description: A 34 character string that uniquely identifies this resource. + Can also be the `unique_name` of the Conversation. in: path - name: ConversationSid + name: Sid required: true schema: type: string @@ -2502,208 +2446,137 @@ paths: in: header name: X-Twilio-Webhook-Enabled schema: + type: string enum: - 'true' - 'false' - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Attributes: - description: A string metadata field you can use to store any data - you wish. The string value must contain structurally valid JSON - if specified. **Note** that if the attributes are not set "{}" - will be returned. - type: string - Author: - description: The channel specific identifier of the message's author. - Defaults to `system`. - type: string - Body: - description: The content of the message, can be up to 1,600 characters - long. + FriendlyName: + description: The human-readable name of this conversation, limited + to 256 characters. Optional. type: string DateCreated: - description: The date that this resource was created. - format: date-time type: string + format: date-time + description: The date that this resource was created. DateUpdated: - description: The date that this resource was last updated. `null` - if the message has not been edited. + type: string format: date-time + description: The date that this resource was last updated. + Attributes: + description: An optional string metadata field you can use to store + any data you wish. The string value must contain structurally + valid JSON if specified. **Note** that if the attributes are + not set "{}" will be returned. + type: string + MessagingServiceSid: type: string - MediaSid: - description: The Media SID to be attached to the new Message. - maxLength: 34 minLength: 34 - pattern: ^ME[0-9a-fA-F]{32}$ + maxLength: 34 + pattern: ^MG[0-9a-fA-F]{32}$ + description: The unique ID of the [Messaging Service](https://www.twilio.com/docs/sms/services/api) + this conversation belongs to. + State: type: string - title: CreateConversationMessageRequest + enum: + - inactive + - active + - closed + description: Current state of this conversation. Can be either `active`, + `inactive` or `closed` and defaults to `active` + Timers.Inactive: + description: ISO8601 duration when conversation will be switched + to `inactive` state. Minimum value for this timer is 1 minute. + type: string + Timers.Closed: + description: ISO8601 duration when conversation will be switched + to `closed` state. Minimum value for this timer is 10 minutes. + type: string + UniqueName: + description: An application-defined string that uniquely identifies + the resource. It can be used to address the resource in place + of the resource's `sid` in the URL. + type: string + title: UpdateConversationRequest type: object responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/conversations.v1.conversation.conversation_message' - description: Created + $ref: '#/components/schemas/conversations.v1.conversation' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://conversations.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - index - - author - - date_created - parent: /Conversations - pathType: list - /v1/Conversations/{ConversationSid}/Messages/{MessageSid}/Receipts: - description: A Message Receipt resource represents a delivery/read receipt of - a message in a conversation. - get: - description: Retrieve a list of all delivery and read receipts of the conversation - message - operationId: ListConversationMessageReceipt + delete: + description: Remove a conversation from your account's default service + operationId: DeleteConversation parameters: - - description: The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) - for this message. + - description: A 34 character string that uniquely identifies this resource. + Can also be the `unique_name` of the Conversation. in: path - name: ConversationSid + name: Sid required: true schema: type: string - - description: The SID of the message within a [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) - the delivery receipt belongs to. - in: path - name: MessageSid - required: true + - description: The X-Twilio-Webhook-Enabled HTTP request header + in: header + name: X-Twilio-Webhook-Enabled schema: - maxLength: 34 - minLength: 34 - pattern: ^IM[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 + enum: + - 'true' + - 'false' responses: - '200': - content: - application/json: - schema: - properties: - delivery_receipts: - items: - $ref: '#/components/schemas/conversations.v1.conversation.conversation_message.conversation_message_receipt' - type: array - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - title: ListConversationMessageReceiptResponse - type: object - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://conversations.twilio.com - x-twilio: - className: delivery_receipt - defaultOutputProperties: - - sid - - message_sid - - status - - date_created - parent: /Conversations/{ConversationSid}/Messages - pathType: list - /v1/Conversations/{ConversationSid}/Messages/{MessageSid}/Receipts/{Sid}: - description: A Message Receipt resource represents a delivery/read receipt of - a message in a conversation. get: - description: Fetch the delivery and read receipts of the conversation message - operationId: FetchConversationMessageReceipt + description: Fetch a conversation from your account's default service + operationId: FetchConversation parameters: - - description: The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) - for this message. - in: path - name: ConversationSid - required: true - schema: - type: string - - description: The SID of the message within a [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) - the delivery receipt belongs to. - in: path - name: MessageSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IM[0-9a-fA-F]{32}$ - type: string - description: A 34 character string that uniquely identifies this resource. + Can also be the `unique_name` of the Conversation. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^DY[0-9a-fA-F]{32}$ type: string responses: '200': content: application/json: schema: - $ref: '#/components/schemas/conversations.v1.conversation.conversation_message.conversation_message_receipt' + $ref: '#/components/schemas/conversations.v1.conversation' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Conversations/{ConversationSid}/Messages: servers: - url: https://conversations.twilio.com + description: A Message resource represents a message in a conversation. x-twilio: - className: delivery_receipt defaultOutputProperties: - sid - - message_sid - - status + - index + - author - date_created - parent: /Conversations/{ConversationSid}/Messages - pathType: instance - /v1/Conversations/{ConversationSid}/Messages/{Sid}: - delete: - description: Remove a message from the conversation - operationId: DeleteConversationMessage + pathType: list + parent: /Conversations + post: + description: Add a new message to the conversation + operationId: CreateConversationMessage parameters: - description: The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this message. @@ -2712,62 +2585,139 @@ paths: required: true schema: type: string - - description: A 34 character string that uniquely identifies this resource. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IM[0-9a-fA-F]{32}$ - type: string - description: The X-Twilio-Webhook-Enabled HTTP request header in: header name: X-Twilio-Webhook-Enabled schema: + type: string enum: - 'true' - 'false' - type: string + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Author: + description: The channel specific identifier of the message's author. + Defaults to `system`. + type: string + Body: + description: The content of the message, can be up to 1,600 characters + long. + type: string + DateCreated: + type: string + format: date-time + description: The date that this resource was created. + DateUpdated: + type: string + format: date-time + description: The date that this resource was last updated. `null` + if the message has not been edited. + Attributes: + description: A string metadata field you can use to store any data + you wish. The string value must contain structurally valid JSON + if specified. **Note** that if the attributes are not set "{}" + will be returned. + type: string + MediaSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^ME[0-9a-fA-F]{32}$ + description: The Media SID to be attached to the new Message. + title: CreateConversationMessageRequest + type: object responses: - '204': - description: The resource was deleted successfully. + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/conversations.v1.conversation.conversation_message' + description: Created security: - accountSid_authToken: [] x-maturity: - GA - description: A Message resource represents a message in a conversation. get: - description: Fetch a message from the conversation - operationId: FetchConversationMessage + description: Retrieve a list of all messages in the conversation + operationId: ListConversationMessage parameters: - description: The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) - for this message. + for messages. in: path name: ConversationSid required: true schema: type: string - - description: A 34 character string that uniquely identifies this resource. - in: path - name: Sid - required: true + - description: 'The sort order of the returned messages. Can be: `asc` (ascending) + or `desc` (descending), with `asc` as the default.' + in: query + name: Order schema: - maxLength: 34 - minLength: 34 - pattern: ^IM[0-9a-fA-F]{32}$ type: string + enum: + - asc + - desc + - 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 responses: '200': content: application/json: schema: - $ref: '#/components/schemas/conversations.v1.conversation.conversation_message' + type: object + title: ListConversationMessageResponse + properties: + messages: + type: array + items: + $ref: '#/components/schemas/conversations.v1.conversation.conversation_message' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Conversations/{ConversationSid}/Messages/{Sid}: + servers: + - url: https://conversations.twilio.com + description: A Message resource represents a message in a conversation. + x-twilio: + defaultOutputProperties: + - sid + - index + - author + - date_created + pathType: instance + parent: /Conversations post: description: Update an existing message in the conversation operationId: UpdateConversationMessage @@ -2784,29 +2734,23 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IM[0-9a-fA-F]{32}$ - type: string - description: The X-Twilio-Webhook-Enabled HTTP request header in: header name: X-Twilio-Webhook-Enabled schema: + type: string enum: - 'true' - 'false' - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Attributes: - description: A string metadata field you can use to store any data - you wish. The string value must contain structurally valid JSON - if specified. **Note** that if the attributes are not set "{}" - will be returned. - type: string Author: description: The channel specific identifier of the message's author. Defaults to `system`. @@ -2816,13 +2760,19 @@ paths: long. type: string DateCreated: - description: The date that this resource was created. - format: date-time type: string + format: date-time + description: The date that this resource was created. DateUpdated: + type: string + format: date-time description: The date that this resource was last updated. `null` if the message has not been edited. - format: date-time + Attributes: + description: A string metadata field you can use to store any data + you wish. The string value must contain structurally valid JSON + if specified. **Note** that if the attributes are not set "{}" + will be returned. type: string title: UpdateConversationMessageRequest type: object @@ -2837,29 +2787,163 @@ paths: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://conversations.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - index - - author - - date_created - parent: /Conversations - pathType: instance - /v1/Conversations/{ConversationSid}/Participants: - description: A Participant resource represents a member of the conversation. + delete: + description: Remove a message from the conversation + operationId: DeleteConversationMessage + parameters: + - description: The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) + for this message. + in: path + name: ConversationSid + required: true + schema: + type: string + - description: A 34 character string that uniquely identifies this resource. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IM[0-9a-fA-F]{32}$ + - description: The X-Twilio-Webhook-Enabled HTTP request header + in: header + name: X-Twilio-Webhook-Enabled + schema: + type: string + enum: + - 'true' + - 'false' + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA get: - description: Retrieve a list of all participants of the conversation - operationId: ListConversationParticipant + description: Fetch a message from the conversation + operationId: FetchConversationMessage parameters: - description: The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) - for participants. + for this message. + in: path + name: ConversationSid + required: true + schema: + type: string + - description: A 34 character string that uniquely identifies this resource. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IM[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/conversations.v1.conversation.conversation_message' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Conversations/{ConversationSid}/Messages/{MessageSid}/Receipts/{Sid}: + servers: + - url: https://conversations.twilio.com + description: A Message Receipt resource represents a delivery/read receipt of + a message in a conversation. + x-twilio: + defaultOutputProperties: + - sid + - message_sid + - status + - date_created + pathType: instance + parent: /Conversations/{ConversationSid}/Messages + className: delivery_receipt + get: + description: Fetch the delivery and read receipts of the conversation message + operationId: FetchConversationMessageReceipt + parameters: + - description: The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) + for this message. + in: path + name: ConversationSid + required: true + schema: + type: string + - description: The SID of the message within a [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) + the delivery receipt belongs to. + in: path + name: MessageSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IM[0-9a-fA-F]{32}$ + - description: A 34 character string that uniquely identifies this resource. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^DY[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/conversations.v1.conversation.conversation_message.conversation_message_receipt' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Conversations/{ConversationSid}/Messages/{MessageSid}/Receipts: + servers: + - url: https://conversations.twilio.com + description: A Message Receipt resource represents a delivery/read receipt of + a message in a conversation. + x-twilio: + defaultOutputProperties: + - sid + - message_sid + - status + - date_created + pathType: list + parent: /Conversations/{ConversationSid}/Messages + className: delivery_receipt + get: + description: Retrieve a list of all delivery and read receipts of the conversation + message + operationId: ListConversationMessageReceipt + parameters: + - description: The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) + for this message. in: path name: ConversationSid required: true schema: type: string + - description: The SID of the message within a [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) + the delivery receipt belongs to. + in: path + name: MessageSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IM[0-9a-fA-F]{32}$ - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -2873,14 +2957,19 @@ paths: content: application/json: schema: + type: object + title: ListConversationMessageReceiptResponse properties: + delivery_receipts: + type: array + items: + $ref: '#/components/schemas/conversations.v1.conversation.conversation_message.conversation_message_receipt' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -2894,18 +2983,23 @@ paths: url: format: uri type: string - type: object - participants: - items: - $ref: '#/components/schemas/conversations.v1.conversation.conversation_participant' - type: array - title: ListConversationParticipantResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Conversations/{ConversationSid}/Participants: + servers: + - url: https://conversations.twilio.com + description: A Participant resource represents a member of the conversation. + x-twilio: + defaultOutputProperties: + - sid + - messaging_binding + pathType: list + parent: /Conversations post: description: Add a new participant to the conversation operationId: CreateConversationParticipant @@ -2921,29 +3015,15 @@ paths: in: header name: X-Twilio-Webhook-Enabled schema: + type: string enum: - 'true' - 'false' - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Attributes: - description: An optional string metadata field you can use to store - any data you wish. The string value must contain structurally - valid JSON if specified. **Note** that if the attributes are - not set "{}" will be returned. - type: string - DateCreated: - description: The date that this resource was created. - format: date-time - type: string - DateUpdated: - description: The date that this resource was last updated. - format: date-time - type: string Identity: description: A unique string identifier for the conversation participant as [Conversation User](https://www.twilio.com/docs/conversations/api/user-resource). @@ -2957,24 +3037,38 @@ paths: null when the participant is interacting from an SDK endpoint (see the 'identity' field). type: string - MessagingBinding.ProjectedAddress: - description: The address of the Twilio phone number that is used - in Group MMS. Communication mask for the Conversation participant - with Identity. - type: string MessagingBinding.ProxyAddress: description: The address of the Twilio phone number (or WhatsApp number) that the participant is in contact with. This field, together with participant address, is only null when the participant is interacting from an SDK endpoint (see the 'identity' field). type: string + DateCreated: + type: string + format: date-time + description: The date that this resource was created. + DateUpdated: + type: string + format: date-time + description: The date that this resource was last updated. + Attributes: + description: An optional string metadata field you can use to store + any data you wish. The string value must contain structurally + valid JSON if specified. **Note** that if the attributes are + not set "{}" will be returned. + type: string + MessagingBinding.ProjectedAddress: + description: The address of the Twilio phone number that is used + in Group MMS. Communication mask for the Conversation participant + with Identity. + type: string RoleSid: - description: The SID of a conversation-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) - to assign to the participant. - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string + description: The SID of a conversation-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) + to assign to the participant. title: CreateConversationParticipantRequest type: object responses: @@ -2988,82 +3082,73 @@ paths: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://conversations.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - messaging_binding - parent: /Conversations - pathType: list - /v1/Conversations/{ConversationSid}/Participants/{Sid}: - delete: - description: Remove a participant from the conversation - operationId: DeleteConversationParticipant + get: + description: Retrieve a list of all participants of the conversation + operationId: ListConversationParticipant parameters: - description: The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) - for this participant. + for participants. in: path name: ConversationSid required: true schema: type: string - - description: A 34 character string that uniquely identifies this resource. - in: path - name: Sid - required: true + - description: How many resources to return in each list page. The default is + 50, and the maximum is 1000. + in: query + name: PageSize schema: - maxLength: 34 - minLength: 34 - pattern: ^MB[0-9a-fA-F]{32}$ - type: string - - description: The X-Twilio-Webhook-Enabled HTTP request header - in: header - name: X-Twilio-Webhook-Enabled - schema: - enum: - - 'true' - - 'false' - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: A Participant resource represents a member of the conversation. - get: - description: Fetch a participant of the conversation - operationId: FetchConversationParticipant - parameters: - - description: The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) - for this participant. - in: path - name: ConversationSid - required: true - schema: - type: string - - description: A 34 character string that uniquely identifies this resource. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^MB[0-9a-fA-F]{32}$ - type: string + maximum: 1000 + minimum: 1 + type: integer responses: '200': content: application/json: schema: - $ref: '#/components/schemas/conversations.v1.conversation.conversation_participant' + type: object + title: ListConversationParticipantResponse + properties: + participants: + type: array + items: + $ref: '#/components/schemas/conversations.v1.conversation.conversation_participant' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Conversations/{ConversationSid}/Participants/{Sid}: + servers: + - url: https://conversations.twilio.com + description: A Participant resource represents a member of the conversation. + x-twilio: + defaultOutputProperties: + - sid + - messaging_binding + pathType: instance + parent: /Conversations post: description: Update an existing participant in the conversation operationId: UpdateConversationParticipant @@ -3080,36 +3165,48 @@ paths: name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^MB[0-9a-fA-F]{32}$ type: string - description: The X-Twilio-Webhook-Enabled HTTP request header in: header name: X-Twilio-Webhook-Enabled schema: + type: string enum: - 'true' - 'false' - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: + DateCreated: + type: string + format: date-time + description: The date that this resource was created. + DateUpdated: + type: string + format: date-time + description: The date that this resource was last updated. Attributes: description: An optional string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set "{}" will be returned. type: string - DateCreated: - description: The date that this resource was created. - format: date-time + RoleSid: type: string - DateUpdated: - description: The date that this resource was last updated. - format: date-time + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ + description: The SID of a conversation-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) + to assign to the participant. + MessagingBinding.ProxyAddress: + description: The address of the Twilio phone number that the participant + is in contact with. 'null' value will remove it. + type: string + MessagingBinding.ProjectedAddress: + description: The address of the Twilio phone number that is used + in Group MMS. 'null' value will remove it. type: string Identity: description: A unique string identifier for the conversation participant @@ -3127,21 +3224,6 @@ paths: \ [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource)\ \ for the Participant." type: string - MessagingBinding.ProjectedAddress: - description: The address of the Twilio phone number that is used - in Group MMS. 'null' value will remove it. - type: string - MessagingBinding.ProxyAddress: - description: The address of the Twilio phone number that the participant - is in contact with. 'null' value will remove it. - type: string - RoleSid: - description: The SID of a conversation-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) - to assign to the participant. - maxLength: 34 - minLength: 34 - pattern: ^RL[0-9a-fA-F]{32}$ - type: string title: UpdateConversationParticipantRequest type: object responses: @@ -3155,17 +3237,77 @@ paths: - accountSid_authToken: [] x-maturity: - GA + delete: + description: Remove a participant from the conversation + operationId: DeleteConversationParticipant + parameters: + - description: The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) + for this participant. + in: path + name: ConversationSid + required: true + schema: + type: string + - description: A 34 character string that uniquely identifies this resource. + in: path + name: Sid + required: true + schema: + type: string + - description: The X-Twilio-Webhook-Enabled HTTP request header + in: header + name: X-Twilio-Webhook-Enabled + schema: + type: string + enum: + - 'true' + - 'false' + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + get: + description: Fetch a participant of the conversation + operationId: FetchConversationParticipant + parameters: + - description: The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) + for this participant. + in: path + name: ConversationSid + required: true + schema: + type: string + - description: A 34 character string that uniquely identifies this resource. + in: path + name: Sid + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/conversations.v1.conversation.conversation_participant' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Conversations/{ConversationSid}/Webhooks: servers: - url: https://conversations.twilio.com + description: A Scoped Webhook resource manages a set of callback URLs and their + configuration for receiving events specific to one conversation. x-twilio: defaultOutputProperties: - sid - - messaging_binding + - target + pathType: list parent: /Conversations - pathType: instance - /v1/Conversations/{ConversationSid}/Webhooks: - description: A Scoped Webhook resource manages a set of callback URLs and their - configuration for receiving events specific to one conversation. get: description: Retrieve a list of all webhooks scoped to the conversation operationId: ListConversationScopedWebhook @@ -3190,14 +3332,19 @@ paths: content: application/json: schema: + type: object + title: ListConversationScopedWebhookResponse properties: + webhooks: + type: array + items: + $ref: '#/components/schemas/conversations.v1.conversation.conversation_scoped_webhook' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -3211,13 +3358,8 @@ paths: url: format: uri type: string - type: object - webhooks: - items: - $ref: '#/components/schemas/conversations.v1.conversation.conversation_scoped_webhook' - type: array - title: ListConversationScopedWebhookResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] @@ -3239,45 +3381,45 @@ paths: application/x-www-form-urlencoded: schema: properties: - Configuration.Filters: - description: The list of events, firing webhook event for this Conversation. - items: - type: string - type: array - Configuration.FlowSid: - description: The studio flow SID, where the webhook should be sent + Target: + type: string + enum: + - webhook + - trigger + - studio + description: 'The target of this webhook: `webhook`, `studio`, `trigger`' + Configuration.Url: + description: The absolute url the webhook request should be sent to. - maxLength: 34 - minLength: 34 - pattern: ^FW[0-9a-fA-F]{32}$ type: string Configuration.Method: - description: The HTTP method to be used when sending a webhook request. + type: string enum: - GET - POST + description: The HTTP method to be used when sending a webhook request. + Configuration.Filters: + type: array + items: + type: string + description: The list of events, firing webhook event for this Conversation. + Configuration.Triggers: + type: array + items: + type: string + description: The list of keywords, firing webhook event for this + Conversation. + Configuration.FlowSid: type: string + minLength: 34 + maxLength: 34 + pattern: ^FW[0-9a-fA-F]{32}$ + description: The studio flow SID, where the webhook should be sent + to. Configuration.ReplayAfter: description: The message index for which and it's successors the webhook will be replayed. Not set by default type: integer - Configuration.Triggers: - description: The list of keywords, firing webhook event for this - Conversation. - items: - type: string - type: array - Configuration.Url: - description: The absolute url the webhook request should be sent - to. - type: string - Target: - description: 'The target of this webhook: `webhook`, `studio`, `trigger`' - enum: - - webhook - - trigger - - studio - type: string required: - Target title: CreateConversationScopedWebhookRequest @@ -3293,44 +3435,17 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Conversations/{ConversationSid}/Webhooks/{Sid}: servers: - url: https://conversations.twilio.com + description: A Scoped Webhook resource manages a set of callback URLs and their + configuration for receiving events specific to one conversation. x-twilio: defaultOutputProperties: - sid - target + pathType: instance parent: /Conversations - pathType: list - /v1/Conversations/{ConversationSid}/Webhooks/{Sid}: - delete: - description: Remove an existing webhook scoped to the conversation - operationId: DeleteConversationScopedWebhook - parameters: - - description: The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) - for this webhook. - in: path - name: ConversationSid - required: true - schema: - type: string - - description: A 34 character string that uniquely identifies this resource. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^WH[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: A Scoped Webhook resource manages a set of callback URLs and their - configuration for receiving events specific to one conversation. get: description: Fetch the configuration of a conversation-scoped webhook operationId: FetchConversationScopedWebhook @@ -3347,10 +3462,10 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WH[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -3378,43 +3493,43 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WH[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Configuration.Filters: - description: The list of events, firing webhook event for this Conversation. - items: - type: string - type: array - Configuration.FlowSid: - description: The studio flow SID, where the webhook should be sent + Configuration.Url: + description: The absolute url the webhook request should be sent to. - maxLength: 34 - minLength: 34 - pattern: ^FW[0-9a-fA-F]{32}$ type: string Configuration.Method: - description: The HTTP method to be used when sending a webhook request. + type: string enum: - GET - POST - type: string - Configuration.Triggers: - description: The list of keywords, firing webhook event for this - Conversation. + description: The HTTP method to be used when sending a webhook request. + Configuration.Filters: + type: array items: type: string + description: The list of events, firing webhook event for this Conversation. + Configuration.Triggers: type: array - Configuration.Url: - description: The absolute url the webhook request should be sent - to. + items: + type: string + description: The list of keywords, firing webhook event for this + Conversation. + Configuration.FlowSid: type: string + minLength: 34 + maxLength: 34 + pattern: ^FW[0-9a-fA-F]{32}$ + description: The studio flow SID, where the webhook should be sent + to. title: UpdateConversationScopedWebhookRequest type: object responses: @@ -3428,159 +3543,107 @@ paths: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://conversations.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - target - parent: /Conversations - pathType: instance - /v1/Conversations/{Sid}: delete: - description: Remove a conversation from your account's default service - operationId: DeleteConversation + description: Remove an existing webhook scoped to the conversation + operationId: DeleteConversationScopedWebhook parameters: - - description: A 34 character string that uniquely identifies this resource. - Can also be the `unique_name` of the Conversation. + - description: The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) + for this webhook. in: path - name: Sid + name: ConversationSid required: true schema: type: string - - description: The X-Twilio-Webhook-Enabled HTTP request header - in: header - name: X-Twilio-Webhook-Enabled - schema: - enum: - - 'true' - - 'false' - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: A Conversation resource represents an omnichannel group conversation - with an ordered list of messages and a participant roster. - get: - description: Fetch a conversation from your account's default service - operationId: FetchConversation - parameters: - description: A 34 character string that uniquely identifies this resource. - Can also be the `unique_name` of the Conversation. in: path name: Sid required: true schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^WH[0-9a-fA-F]{32}$ responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/conversations.v1.conversation' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA + /v1/Credentials: + servers: + - url: https://conversations.twilio.com + description: A Credential resource represents a push notification credential. + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - type + pathType: list post: - description: Update an existing conversation in your account's default service - operationId: UpdateConversation - parameters: - - description: A 34 character string that uniquely identifies this resource. - Can also be the `unique_name` of the Conversation. - in: path - name: Sid - required: true - schema: - type: string - - description: The X-Twilio-Webhook-Enabled HTTP request header - in: header - name: X-Twilio-Webhook-Enabled - schema: - enum: - - 'true' - - 'false' - type: string + description: Add a new push notification credential to your account + operationId: CreateCredential requestBody: content: application/x-www-form-urlencoded: schema: properties: - Attributes: - description: An optional string metadata field you can use to store - any data you wish. The string value must contain structurally - valid JSON if specified. **Note** that if the attributes are - not set "{}" will be returned. - type: string - DateCreated: - description: The date that this resource was created. - format: date-time - type: string - DateUpdated: - description: The date that this resource was last updated. - format: date-time + Type: type: string + enum: + - apn + - gcm + - fcm + description: 'The type of push-notification service the credential + is for. Can be: `fcm`, `gcm`, or `apn`.' FriendlyName: - description: The human-readable name of this conversation, limited - to 256 characters. Optional. - type: string - MessagingServiceSid: - description: The unique ID of the [Messaging Service](https://www.twilio.com/docs/sms/services/api) - this conversation belongs to. - maxLength: 34 - minLength: 34 - pattern: ^MG[0-9a-fA-F]{32}$ + description: A descriptive string that you create to describe the + new resource. It can be up to 64 characters long. type: string - State: - description: Current state of this conversation. Can be either `active`, - `inactive` or `closed` and defaults to `active` - enum: - - inactive - - active - - closed + Certificate: + description: "[APN only] The URL encoded representation of the certificate.\ + \ For example, \n`-----BEGIN CERTIFICATE-----\nMIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEF.....A==\n\ + -----END CERTIFICATE-----`." type: string - Timers.Closed: - description: ISO8601 duration when conversation will be switched - to `closed` state. Minimum value for this timer is 10 minutes. + PrivateKey: + description: '[APN only] The URL encoded representation of the private + key. For example, + + `-----BEGIN RSA PRIVATE KEY----- + + MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fG... + + -----END RSA PRIVATE KEY-----`.' type: string - Timers.Inactive: - description: ISO8601 duration when conversation will be switched - to `inactive` state. Minimum value for this timer is 1 minute. + Sandbox: + description: '[APN only] Whether to send the credential to sandbox + APNs. Can be `true` to send to sandbox APNs or `false` to send + to production.' + type: boolean + ApiKey: + description: '[GCM only] The API key for the project that was obtained + from the Google Developer console for your GCM Service application + credential.' type: string - UniqueName: - description: An application-defined string that uniquely identifies - the resource. It can be used to address the resource in place - of the resource's `sid` in the URL. + Secret: + description: '[FCM only] The **Server key** of your project from + the Firebase console, found under Settings / Cloud messaging.' type: string - title: UpdateConversationRequest + required: + - Type + title: CreateCredentialRequest type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/conversations.v1.conversation' - description: OK + $ref: '#/components/schemas/conversations.v1.credential' + description: Created security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://conversations.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - chat_service_sid - - friendly_name - - date_created - pathType: instance - /v1/Credentials: - description: A Credential resource represents a push notification credential. get: description: Retrieve a list of all push notification credentials on your account operationId: ListCredential @@ -3598,18 +3661,19 @@ paths: content: application/json: schema: + type: object + title: ListCredentialResponse properties: credentials: + type: array items: $ref: '#/components/schemas/conversations.v1.credential' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -3623,36 +3687,58 @@ paths: url: format: uri type: string - type: object - title: ListCredentialResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Credentials/{Sid}: + servers: + - url: https://conversations.twilio.com + description: A Credential resource represents a push notification credential. + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - type + pathType: instance post: - description: Add a new push notification credential to your account - operationId: CreateCredential + description: Update an existing push notification credential on your account + operationId: UpdateCredential + parameters: + - description: A 34 character string that uniquely identifies this resource. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - ApiKey: - description: '[GCM only] The API key for the project that was obtained - from the Google Developer console for your GCM Service application - credential.' + Type: + type: string + enum: + - apn + - gcm + - fcm + description: 'The type of push-notification service the credential + is for. Can be: `fcm`, `gcm`, or `apn`.' + FriendlyName: + description: A descriptive string that you create to describe the + new resource. It can be up to 64 characters long. type: string Certificate: description: "[APN only] The URL encoded representation of the certificate.\ \ For example, \n`-----BEGIN CERTIFICATE-----\nMIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEF.....A==\n\ -----END CERTIFICATE-----`." type: string - FriendlyName: - description: A descriptive string that you create to describe the - new resource. It can be up to 64 characters long. - type: string PrivateKey: description: '[APN only] The URL encoded representation of the private key. For example, @@ -3668,42 +3754,28 @@ paths: APNs. Can be `true` to send to sandbox APNs or `false` to send to production.' type: boolean + ApiKey: + description: '[GCM only] The API key for the project that was obtained + from the Google Developer console for your GCM Service application + credential.' + type: string Secret: description: '[FCM only] The **Server key** of your project from the Firebase console, found under Settings / Cloud messaging.' type: string - Type: - description: 'The type of push-notification service the credential - is for. Can be: `fcm`, `gcm`, or `apn`.' - enum: - - apn - - gcm - - fcm - type: string - required: - - Type - title: CreateCredentialRequest + title: UpdateCredentialRequest type: object responses: - '201': + '200': content: application/json: schema: $ref: '#/components/schemas/conversations.v1.credential' - description: Created + description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://conversations.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - type - pathType: list - /v1/Credentials/{Sid}: delete: description: Remove a push notification credential from your account operationId: DeleteCredential @@ -3713,10 +3785,10 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^CR[0-9a-fA-F]{32}$ - type: string responses: '204': description: The resource was deleted successfully. @@ -3724,7 +3796,6 @@ paths: - accountSid_authToken: [] x-maturity: - GA - description: A Credential resource represents a push notification credential. get: description: Fetch a push notification credential from your account operationId: FetchCredential @@ -3734,82 +3805,10 @@ paths: name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^CR[0-9a-fA-F]{32}$ type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/conversations.v1.credential' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: Update an existing push notification credential on your account - operationId: UpdateCredential - parameters: - - description: A 34 character string that uniquely identifies this resource. - in: path - name: Sid - required: true - schema: - maxLength: 34 minLength: 34 + maxLength: 34 pattern: ^CR[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - ApiKey: - description: '[GCM only] The API key for the project that was obtained - from the Google Developer console for your GCM Service application - credential.' - type: string - Certificate: - description: "[APN only] The URL encoded representation of the certificate.\ - \ For example, \n`-----BEGIN CERTIFICATE-----\nMIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEF.....A==\n\ - -----END CERTIFICATE-----`." - type: string - FriendlyName: - description: A descriptive string that you create to describe the - new resource. It can be up to 64 characters long. - type: string - PrivateKey: - description: '[APN only] The URL encoded representation of the private - key. For example, - - `-----BEGIN RSA PRIVATE KEY----- - - MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fG... - - -----END RSA PRIVATE KEY-----`.' - type: string - Sandbox: - description: '[APN only] Whether to send the credential to sandbox - APNs. Can be `true` to send to sandbox APNs or `false` to send - to production.' - type: boolean - Secret: - description: '[FCM only] The **Server key** of your project from - the Firebase console, found under Settings / Cloud messaging.' - type: string - Type: - description: 'The type of push-notification service the credential - is for. Can be: `fcm`, `gcm`, or `apn`.' - enum: - - apn - - gcm - - fcm - type: string - title: UpdateCredentialRequest - type: object responses: '200': content: @@ -3821,17 +3820,17 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/ParticipantConversations: servers: - url: https://conversations.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - type - pathType: instance - /v1/ParticipantConversations: description: Participant Conversations resource represents a list of Conversations that this Participant belongs to belonging to a default conversation service. + x-twilio: + defaultOutputProperties: + - chat_service_sid + - participant_sid + - conversation_sid + pathType: list get: description: Retrieve a list of all Conversations that this Participant belongs to by identity or by address. Only one parameter should be specified. @@ -3865,18 +3864,19 @@ paths: content: application/json: schema: + type: object + title: ListParticipantConversationResponse properties: conversations: + type: array items: $ref: '#/components/schemas/conversations.v1.participant_conversation' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -3890,75 +3890,24 @@ paths: url: format: uri type: string - type: object - title: ListParticipantConversationResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Roles: servers: - url: https://conversations.twilio.com + description: A Role resource represents a set of permissions granted to a user + within a service or a conversation. x-twilio: defaultOutputProperties: - - chat_service_sid - - participant_sid - - conversation_sid + - sid + - friendly_name + - type pathType: list - /v1/Roles: - description: A Role resource represents a set of permissions granted to a user - within a service or a conversation. - get: - description: Retrieve a list of all user roles in your account's default service - operationId: ListRole - 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 - responses: - '200': - content: - application/json: - schema: - properties: - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - roles: - items: - $ref: '#/components/schemas/conversations.v1.role' - type: array - title: ListRoleResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA post: description: Create a new user role in your account's default service operationId: CreateRole @@ -3971,22 +3920,22 @@ paths: description: A descriptive string that you create to describe the new resource. It can be up to 64 characters long. type: string + Type: + type: string + enum: + - conversation + - service + description: 'The type of role. Can be: `conversation` for [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) + roles or `service` for [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) + roles.' Permission: + type: array + items: + type: string description: A permission that you grant to the new role. Only one permission can be granted per parameter. To assign more than one permission, repeat this parameter for each permission value. The values for this parameter depend on the role's `type`. - items: - type: string - type: array - Type: - description: 'The type of role. Can be: `conversation` for [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) - roles or `service` for [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) - roles.' - enum: - - conversation - - service - type: string required: - FriendlyName - Type @@ -4004,15 +3953,111 @@ paths: - accountSid_authToken: [] x-maturity: - GA + get: + description: Retrieve a list of all user roles in your account's default service + operationId: ListRole + 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListRoleResponse + properties: + roles: + type: array + items: + $ref: '#/components/schemas/conversations.v1.role' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Roles/{Sid}: servers: - url: https://conversations.twilio.com + description: A Role resource represents a set of permissions granted to a user + within a service or a conversation. x-twilio: defaultOutputProperties: - sid - friendly_name - type - pathType: list - /v1/Roles/{Sid}: + pathType: instance + post: + description: Update an existing user role in your account's default service + operationId: UpdateRole + parameters: + - description: The SID of the Role resource to update. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Permission: + type: array + items: + type: string + description: A permission that you grant to the role. Only one permission + can be granted per parameter. To assign more than one permission, + repeat this parameter for each permission value. Note that the + update action replaces all previously assigned permissions with + those defined in the update action. To remove a permission, do + not include it in the subsequent update action. The values for + this parameter depend on the role's `type`. + required: + - Permission + title: UpdateRoleRequest + type: object + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/conversations.v1.role' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA delete: description: Remove a user role from your account's default service operationId: DeleteRole @@ -4022,10 +4067,10 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string responses: '204': description: The resource was deleted successfully. @@ -4033,8 +4078,6 @@ paths: - accountSid_authToken: [] x-maturity: - GA - description: A Role resource represents a set of permissions granted to a user - within a service or a conversation. get: description: Fetch a user role from your account's default service operationId: FetchRole @@ -4044,10 +4087,10 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -4059,61 +4102,43 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Services: + servers: + - url: https://conversations.twilio.com + description: A Service resource is a top-level conversation resource container + that serves as a data silo. + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + pathType: list post: - description: Update an existing user role in your account's default service - operationId: UpdateRole - parameters: - - description: The SID of the Role resource to update. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^RL[0-9a-fA-F]{32}$ - type: string + description: Create a new conversation service on your account + operationId: CreateService requestBody: content: application/x-www-form-urlencoded: schema: properties: - Permission: - description: A permission that you grant to the role. Only one permission - can be granted per parameter. To assign more than one permission, - repeat this parameter for each permission value. Note that the - update action replaces all previously assigned permissions with - those defined in the update action. To remove a permission, do - not include it in the subsequent update action. The values for - this parameter depend on the role's `type`. - items: - type: string - type: array + FriendlyName: + description: The human-readable name of this service, limited to + 256 characters. Optional. + type: string required: - - Permission - title: UpdateRoleRequest + - FriendlyName + title: CreateServiceRequest type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/conversations.v1.role' - description: OK + $ref: '#/components/schemas/conversations.v1.service' + description: Created security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://conversations.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - type - pathType: instance - /v1/Services: - description: A Service resource is a top-level conversation resource container - that serves as a data silo. get: description: Retrieve a list of all conversation services on your account operationId: ListService @@ -4131,14 +4156,19 @@ paths: content: application/json: schema: + type: object + title: ListServiceResponse properties: + services: + type: array + items: + $ref: '#/components/schemas/conversations.v1.service' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -4152,148 +4182,80 @@ paths: url: format: uri type: string - type: object - services: - items: - $ref: '#/components/schemas/conversations.v1.service' - type: array - title: ListServiceResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: Create a new conversation service on your account - operationId: CreateService - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - FriendlyName: - description: The human-readable name of this service, limited to - 256 characters. Optional. - type: string - required: - - FriendlyName - title: CreateServiceRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/conversations.v1.service' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA + /v1/Services/{Sid}: servers: - url: https://conversations.twilio.com + description: A Service resource is a top-level conversation resource container + that serves as a data silo. x-twilio: defaultOutputProperties: - sid - friendly_name - pathType: list - /v1/Services/{ChatServiceSid}/Bindings: - description: A Binding resource represents a push notification binding and its - configuration, for delivering conversation events to mobile or web endpoints. - get: - description: Retrieve a list of all push notification bindings in the conversation - service - operationId: ListServiceBinding + pathType: instance + delete: + description: Remove a conversation service with all its nested resources from + your account + operationId: DeleteService parameters: - - description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) - the Binding resource is associated with. + - description: A 34 character string that uniquely identifies this resource. in: path - name: ChatServiceSid + name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: 'The push technology used by the Binding resources to read. Can - be: `apn`, `gcm`, or `fcm`. See [push notification configuration](https://www.twilio.com/docs/chat/push-notification-configuration) - for more info.' - in: query - name: BindingType - schema: - items: - enum: - - apn - - gcm - - fcm - type: string - type: array - - description: The identity of a [Conversation User](https://www.twilio.com/docs/conversations/api/user-resource) - this binding belongs to. See [access tokens](https://www.twilio.com/docs/conversations/create-tokens) - for more details. - in: query - name: Identity - schema: - items: - type: string - type: array - - description: How many resources to return in each list page. The default is - 50, and the maximum is 1000. - in: query - name: PageSize + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + get: + description: Fetch a conversation service from your account + operationId: FetchService + parameters: + - description: A 34 character string that uniquely identifies this resource. + in: path + name: Sid + required: true schema: - maximum: 1000 - minimum: 1 - type: integer + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - properties: - bindings: - items: - $ref: '#/components/schemas/conversations.v1.service.service_binding' - type: array - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - title: ListServiceBindingResponse - type: object + $ref: '#/components/schemas/conversations.v1.service' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ChatServiceSid}/Bindings/{Sid}: servers: - url: https://conversations.twilio.com + description: A Binding resource represents a push notification binding and its + configuration, for delivering conversation events to mobile or web endpoints. x-twilio: defaultOutputProperties: - sid - endpoint - identity + pathType: instance parent: /Services - pathType: list - /v1/Services/{ChatServiceSid}/Bindings/{Sid}: delete: description: Remove a push notification binding from the conversation service operationId: DeleteServiceBinding @@ -4304,19 +4266,19 @@ paths: name: ChatServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The SID of the Binding resource to delete. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^BS[0-9a-fA-F]{32}$ - type: string responses: '204': description: The resource was deleted successfully. @@ -4324,8 +4286,6 @@ paths: - accountSid_authToken: [] x-maturity: - GA - description: A Binding resource represents a push notification binding and its - configuration, for delivering conversation events to mobile or web endpoints. get: description: Fetch a push notification binding from the conversation service operationId: FetchServiceBinding @@ -4336,19 +4296,19 @@ paths: name: ChatServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: A 34 character string that uniquely identifies this resource. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^BS[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -4360,18 +4320,111 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ChatServiceSid}/Bindings: servers: - url: https://conversations.twilio.com + description: A Binding resource represents a push notification binding and its + configuration, for delivering conversation events to mobile or web endpoints. x-twilio: defaultOutputProperties: - sid - endpoint - identity + pathType: list parent: /Services - pathType: instance + get: + description: Retrieve a list of all push notification bindings in the conversation + service + operationId: ListServiceBinding + parameters: + - description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) + the Binding resource is associated with. + in: path + name: ChatServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: 'The push technology used by the Binding resources to read. Can + be: `apn`, `gcm`, or `fcm`. See [push notification configuration](https://www.twilio.com/docs/chat/push-notification-configuration) + for more info.' + in: query + name: BindingType + schema: + type: array + items: + type: string + enum: + - apn + - gcm + - fcm + - description: The identity of a [Conversation User](https://www.twilio.com/docs/conversations/api/user-resource) + this binding belongs to. See [access tokens](https://www.twilio.com/docs/conversations/create-tokens) + for more details. + in: query + name: Identity + schema: + type: array + items: + 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListServiceBindingResponse + properties: + bindings: + type: array + items: + $ref: '#/components/schemas/conversations.v1.service.service_binding' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA /v1/Services/{ChatServiceSid}/Configuration: + servers: + - url: https://conversations.twilio.com description: A Service Configuration resource manages service-level settings applicable to the Conversation API. + x-twilio: + defaultOutputProperties: + - chat_service_sid + pathType: instance + parent: /Services get: description: Fetch the configuration of a conversation service operationId: FetchServiceConfiguration @@ -4381,10 +4434,10 @@ paths: name: ChatServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -4405,40 +4458,40 @@ paths: name: ChatServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - DefaultChatServiceRoleSid: - description: The service-level role assigned to users when they - are added to the service. See the [Conversation Role](https://www.twilio.com/docs/conversations/api/role-resource) - for more info about roles. - maxLength: 34 + DefaultConversationCreatorRoleSid: + type: string minLength: 34 + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string - DefaultConversationCreatorRoleSid: description: The conversation-level role assigned to a conversation creator when they join a new conversation. See the [Conversation Role](https://www.twilio.com/docs/conversations/api/role-resource) for more info about roles. - maxLength: 34 + DefaultConversationRoleSid: + type: string minLength: 34 + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string - DefaultConversationRoleSid: description: The conversation-level role assigned to users when they are added to a conversation. See the [Conversation Role](https://www.twilio.com/docs/conversations/api/role-resource) for more info about roles. - maxLength: 34 + DefaultChatServiceRoleSid: + type: string minLength: 34 + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string + description: The service-level role assigned to users when they + are added to the service. See the [Conversation Role](https://www.twilio.com/docs/conversations/api/role-resource) + for more info about roles. ReachabilityEnabled: description: Whether the [Reachability Indicator](https://www.twilio.com/docs/chat/reachability-indicator) is enabled for this Conversations Service. The default is `false`. @@ -4456,236 +4509,105 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ChatServiceSid}/Conversations: servers: - url: https://conversations.twilio.com + description: A Service Conversation resource represents an omnichannel group conversation + with an ordered list of messages and a participant roster. x-twilio: defaultOutputProperties: + - sid - chat_service_sid + - friendly_name + - date_created + pathType: list parent: /Services - pathType: instance - /v1/Services/{ChatServiceSid}/Configuration/Notifications: - description: A Service Notification resource manages a set of settings to determine - push notification behavior at service level. - get: - description: Fetch push notification service settings - operationId: FetchServiceNotification - parameters: - - description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) - the Configuration applies to. - in: path - name: ChatServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/conversations.v1.service.service_configuration.service_notification' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA post: - description: Update push notification service settings - operationId: UpdateServiceNotification + description: Create a new conversation in your service + operationId: CreateServiceConversation parameters: - description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) - the Configuration applies to. + the Conversation resource is associated with. in: path name: ChatServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ + - description: The X-Twilio-Webhook-Enabled HTTP request header + in: header + name: X-Twilio-Webhook-Enabled + schema: type: string + enum: + - 'true' + - 'false' requestBody: content: application/x-www-form-urlencoded: schema: properties: - AddedToConversation.Enabled: - description: Whether to send a notification when a participant is - added to a conversation. The default is `false`. - type: boolean - AddedToConversation.Sound: - description: The name of the sound to play when a participant is - added to a conversation and `added_to_conversation.enabled` is - `true`. - type: string - AddedToConversation.Template: - description: The template to use to create the notification text - displayed when a participant is added to a conversation and `added_to_conversation.enabled` - is `true`. + FriendlyName: + description: The human-readable name of this conversation, limited + to 256 characters. Optional. type: string - LogEnabled: - description: Weather the notification logging is enabled. - type: boolean - NewMessage.BadgeCountEnabled: - description: Whether the new message badge is enabled. The default - is `false`. - type: boolean - NewMessage.Enabled: - description: Whether to send a notification when a new message is - added to a conversation. The default is `false`. - type: boolean - NewMessage.Sound: - description: The name of the sound to play when a new message is - added to a conversation and `new_message.enabled` is `true`. + UniqueName: + description: An application-defined string that uniquely identifies + the resource. It can be used to address the resource in place + of the resource's `sid` in the URL. type: string - NewMessage.Template: - description: The template to use to create the notification text - displayed when a new message is added to a conversation and `new_message.enabled` - is `true`. + Attributes: + description: An optional string metadata field you can use to store + any data you wish. The string value must contain structurally + valid JSON if specified. **Note** that if the attributes are + not set "{}" will be returned. type: string - NewMessage.WithMedia.Enabled: - description: Whether to send a notification when a new message with - media/file attachments is added to a conversation. The default - is `false`. - type: boolean - NewMessage.WithMedia.Template: - description: The template to use to create the notification text - displayed when a new message with media/file attachments is added - to a conversation and `new_message.attachments.enabled` is `true`. + MessagingServiceSid: type: string - RemovedFromConversation.Enabled: - description: Whether to send a notification to a user when they - are removed from a conversation. The default is `false`. - type: boolean - RemovedFromConversation.Sound: - description: The name of the sound to play to a user when they are - removed from a conversation and `removed_from_conversation.enabled` - is `true`. + minLength: 34 + maxLength: 34 + pattern: ^MG[0-9a-fA-F]{32}$ + description: The unique ID of the [Messaging Service](https://www.twilio.com/docs/sms/services/api) + this conversation belongs to. + DateCreated: type: string - RemovedFromConversation.Template: - description: The template to use to create the notification text - displayed to a user when they are removed from a conversation - and `removed_from_conversation.enabled` is `true`. + format: date-time + description: The date that this resource was created. + DateUpdated: type: string - title: UpdateServiceNotificationRequest - type: object - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/conversations.v1.service.service_configuration.service_notification' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://conversations.twilio.com - x-twilio: - defaultOutputProperties: - - chat_service_sid - parent: /Services/{ChatServiceSid}/Configuration - pathType: instance - /v1/Services/{ChatServiceSid}/Configuration/Webhooks: - description: A service webhook configuration resource manages a service-level - set of callback URLs and their configuration for receiving all the corresponding - service events. - get: - description: Fetch a specific service webhook configuration. - operationId: FetchServiceWebhookConfiguration - parameters: - - description: The unique ID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) - this conversation belongs to. - in: path - name: ChatServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/conversations.v1.service.service_configuration.service_webhook_configuration' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: Update a specific Webhook. - operationId: UpdateServiceWebhookConfiguration - parameters: - - description: The unique ID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) - this conversation belongs to. - in: path - name: ChatServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Filters: - description: The list of events that your configured webhook targets - will receive. Events not configured here will not fire. Possible - values are `onParticipantAdd`, `onParticipantAdded`, `onDeliveryUpdated`, - `onConversationUpdated`, `onConversationRemove`, `onParticipantRemove`, - `onConversationUpdate`, `onMessageAdd`, `onMessageRemoved`, `onParticipantUpdated`, - `onConversationAdded`, `onMessageAdded`, `onConversationAdd`, - `onConversationRemoved`, `onParticipantUpdate`, `onMessageRemove`, - `onMessageUpdated`, `onParticipantRemoved`, `onMessageUpdate` - or `onConversationStateUpdated`. - items: - type: string - type: array - Method: - description: The HTTP method to be used when sending a webhook request. - One of `GET` or `POST`. + format: date-time + description: The date that this resource was last updated. + State: type: string - PostWebhookUrl: - description: The absolute url the post-event webhook request should - be sent to. - format: uri + enum: + - inactive + - active + - closed + description: Current state of this conversation. Can be either `active`, + `inactive` or `closed` and defaults to `active` + Timers.Inactive: + description: ISO8601 duration when conversation will be switched + to `inactive` state. Minimum value for this timer is 1 minute. type: string - PreWebhookUrl: - description: The absolute url the pre-event webhook request should - be sent to. - format: uri + Timers.Closed: + description: ISO8601 duration when conversation will be switched + to `closed` state. Minimum value for this timer is 10 minutes. type: string - title: UpdateServiceWebhookConfigurationRequest + title: CreateServiceConversationRequest type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/conversations.v1.service.service_configuration.service_webhook_configuration' - description: OK + $ref: '#/components/schemas/conversations.v1.service.service_conversation' + description: Created security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://conversations.twilio.com - x-twilio: - defaultOutputProperties: - - chat_service_sid - parent: /Services/{ChatServiceSid}/Configuration - pathType: instance - /v1/Services/{ChatServiceSid}/Conversations: - description: A Service Conversation resource represents an omnichannel group conversation - with an ordered list of messages and a participant roster. get: description: Retrieve a list of conversations in your service operationId: ListServiceConversation @@ -4696,10 +4618,10 @@ paths: name: ChatServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[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 @@ -4713,18 +4635,19 @@ paths: content: application/json: schema: + type: object + title: ListServiceConversationResponse properties: conversations: + type: array items: $ref: '#/components/schemas/conversations.v1.service.service_conversation' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -4738,17 +4661,29 @@ paths: url: format: uri type: string - type: object - title: ListServiceConversationResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ChatServiceSid}/Conversations/{Sid}: + servers: + - url: https://conversations.twilio.com + description: A Service Conversation resource represents an omnichannel group conversation + with an ordered list of messages and a participant roster. + x-twilio: + defaultOutputProperties: + - sid + - chat_service_sid + - friendly_name + - date_created + pathType: instance + parent: /Services post: - description: Create a new conversation in your service - operationId: CreateServiceConversation + description: Update an existing conversation in your service + operationId: UpdateServiceConversation parameters: - description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Conversation resource is associated with. @@ -4756,171 +4691,170 @@ paths: name: ChatServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ + - description: A 34 character string that uniquely identifies this resource. + Can also be the `unique_name` of the Conversation. + in: path + name: Sid + required: true + schema: type: string - description: The X-Twilio-Webhook-Enabled HTTP request header in: header name: X-Twilio-Webhook-Enabled schema: + type: string enum: - 'true' - 'false' - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Attributes: - description: An optional string metadata field you can use to store - any data you wish. The string value must contain structurally - valid JSON if specified. **Note** that if the attributes are - not set "{}" will be returned. + FriendlyName: + description: The human-readable name of this conversation, limited + to 256 characters. Optional. type: string DateCreated: - description: The date that this resource was created. - format: date-time type: string - DateUpdated: - description: The date that this resource was last updated. format: date-time + description: The date that this resource was created. + DateUpdated: type: string - FriendlyName: - description: The human-readable name of this conversation, limited - to 256 characters. Optional. + format: date-time + description: The date that this resource was last updated. + Attributes: + description: An optional string metadata field you can use to store + any data you wish. The string value must contain structurally + valid JSON if specified. **Note** that if the attributes are + not set "{}" will be returned. type: string MessagingServiceSid: - description: The unique ID of the [Messaging Service](https://www.twilio.com/docs/sms/services/api) - this conversation belongs to. - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^MG[0-9a-fA-F]{32}$ - type: string + description: The unique ID of the [Messaging Service](https://www.twilio.com/docs/sms/services/api) + this conversation belongs to. State: - description: Current state of this conversation. Can be either `active`, - `inactive` or `closed` and defaults to `active` + type: string enum: - inactive - active - closed + description: Current state of this conversation. Can be either `active`, + `inactive` or `closed` and defaults to `active` + Timers.Inactive: + description: ISO8601 duration when conversation will be switched + to `inactive` state. Minimum value for this timer is 1 minute. type: string Timers.Closed: description: ISO8601 duration when conversation will be switched to `closed` state. Minimum value for this timer is 10 minutes. type: string - Timers.Inactive: - description: ISO8601 duration when conversation will be switched - to `inactive` state. Minimum value for this timer is 1 minute. - type: string UniqueName: description: An application-defined string that uniquely identifies the resource. It can be used to address the resource in place of the resource's `sid` in the URL. type: string - title: CreateServiceConversationRequest + title: UpdateServiceConversationRequest type: object responses: - '201': + '200': content: application/json: schema: $ref: '#/components/schemas/conversations.v1.service.service_conversation' - description: Created + description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://conversations.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - chat_service_sid - - friendly_name - - date_created - parent: /Services - pathType: list - /v1/Services/{ChatServiceSid}/Conversations/{ConversationSid}/Messages: - description: A Service Message resource represents a message in a conversation - within a specific service. - get: - description: Retrieve a list of all messages in the conversation - operationId: ListServiceConversationMessage + delete: + description: Remove a conversation from your service + operationId: DeleteServiceConversation parameters: - description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) - the Participant resource is associated with. + the Conversation resource is associated with. in: path name: ChatServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) - for messages. + - description: A 34 character string that uniquely identifies this resource. + Can also be the `unique_name` of the Conversation. in: path - name: ConversationSid + name: Sid required: true schema: type: string - - description: 'The sort order of the returned messages. Can be: `asc` (ascending) - or `desc` (descending), with `asc` as the default.' - in: query - name: Order + - description: The X-Twilio-Webhook-Enabled HTTP request header + in: header + name: X-Twilio-Webhook-Enabled schema: + type: string enum: - - asc - - desc + - 'true' + - 'false' + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + get: + description: Fetch a conversation from your service + operationId: FetchServiceConversation + parameters: + - description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) + the Conversation resource is associated with. + in: path + name: ChatServiceSid + required: true + schema: 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 + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: A 34 character string that uniquely identifies this resource. + Can also be the `unique_name` of the Conversation. + in: path + name: Sid + required: true schema: - maximum: 1000 - minimum: 1 - type: integer + type: string responses: '200': content: application/json: schema: - properties: - messages: - items: - $ref: '#/components/schemas/conversations.v1.service.service_conversation.service_conversation_message' - type: array - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - title: ListServiceConversationMessageResponse - type: object + $ref: '#/components/schemas/conversations.v1.service.service_conversation' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ChatServiceSid}/Conversations/{ConversationSid}/Messages: + servers: + - url: https://conversations.twilio.com + description: A Service Message resource represents a message in a conversation + within a specific service. + x-twilio: + defaultOutputProperties: + - sid + - index + - author + - date_created + pathType: list + parent: /Services/{ChatServiceSid}/Conversations post: description: Add a new message to the conversation in a specific service operationId: CreateServiceConversationMessage @@ -4931,10 +4865,10 @@ paths: name: ChatServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this message. in: path @@ -4946,21 +4880,15 @@ paths: in: header name: X-Twilio-Webhook-Enabled schema: + type: string enum: - 'true' - 'false' - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Attributes: - description: A string metadata field you can use to store any data - you wish. The string value must contain structurally valid JSON - if specified. **Note** that if the attributes are not set "{}" - will be returned. - type: string Author: description: The channel specific identifier of the message's author. Defaults to `system`. @@ -4970,20 +4898,26 @@ paths: long. type: string DateCreated: - description: The date that this resource was created. - format: date-time type: string + format: date-time + description: The date that this resource was created. DateUpdated: + type: string + format: date-time description: The date that this resource was last updated. `null` if the message has not been edited. - format: date-time + Attributes: + description: A string metadata field you can use to store any data + you wish. The string value must contain structurally valid JSON + if specified. **Note** that if the attributes are not set "{}" + will be returned. type: string MediaSid: - description: The Media SID to be attached to the new Message. - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^ME[0-9a-fA-F]{32}$ - type: string + description: The Media SID to be attached to the new Message. title: CreateServiceConversationMessageRequest type: object responses: @@ -4997,51 +4931,36 @@ paths: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://conversations.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - index - - author - - date_created - parent: /Services/{ChatServiceSid}/Conversations - pathType: list - /v1/Services/{ChatServiceSid}/Conversations/{ConversationSid}/Messages/{MessageSid}/Receipts: - description: A Service Message Receipt resource represents a delivery/read receipt - of a message in a conversation. get: - description: Retrieve a list of all delivery and read receipts of the conversation - message - operationId: ListServiceConversationMessageReceipt + description: Retrieve a list of all messages in the conversation + operationId: ListServiceConversationMessage parameters: - description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) - the Message resource is associated with. + the Participant resource is associated with. in: path name: ChatServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) - for this message. + for messages. in: path name: ConversationSid required: true schema: type: string - - description: The SID of the message within a [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) - the delivery receipt belongs to. - in: path - name: MessageSid - required: true + - description: 'The sort order of the returned messages. Can be: `asc` (ascending) + or `desc` (descending), with `asc` as the default.' + in: query + name: Order schema: - maxLength: 34 - minLength: 34 - pattern: ^IM[0-9a-fA-F]{32}$ type: string + enum: + - asc + - desc - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -5055,18 +4974,19 @@ paths: content: application/json: schema: + type: object + title: ListServiceConversationMessageResponse properties: - delivery_receipts: - items: - $ref: '#/components/schemas/conversations.v1.service.service_conversation.service_conversation_message.service_conversation_message_receipt' + messages: type: array + items: + $ref: '#/components/schemas/conversations.v1.service.service_conversation.service_conversation_message' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -5080,42 +5000,40 @@ paths: url: format: uri type: string - type: object - title: ListServiceConversationMessageReceiptResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ChatServiceSid}/Conversations/{ConversationSid}/Messages/{Sid}: servers: - url: https://conversations.twilio.com + description: A Service Message resource represents a message in a conversation + within a specific service. x-twilio: - className: delivery_receipt defaultOutputProperties: - sid - - message_sid - - status + - index + - author - date_created - parent: /Services/{ChatServiceSid}/Conversations/{ConversationSid}/Messages - pathType: list - /v1/Services/{ChatServiceSid}/Conversations/{ConversationSid}/Messages/{MessageSid}/Receipts/{Sid}: - description: A Service Message Receipt resource represents a delivery/read receipt - of a message in a conversation. - get: - description: Fetch the delivery and read receipts of the conversation message - operationId: FetchServiceConversationMessageReceipt + pathType: instance + parent: /Services/{ChatServiceSid}/Conversations + post: + description: Update an existing message in the conversation + operationId: UpdateServiceConversationMessage parameters: - description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) - the Message resource is associated with. + the Participant resource is associated with. in: path name: ChatServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this message. in: path @@ -5123,48 +5041,64 @@ paths: required: true schema: type: string - - description: The SID of the message within a [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) - the delivery receipt belongs to. - in: path - name: MessageSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IM[0-9a-fA-F]{32}$ - type: string - description: A 34 character string that uniquely identifies this resource. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 - pattern: ^DY[0-9a-fA-F]{32}$ + maxLength: 34 + pattern: ^IM[0-9a-fA-F]{32}$ + - description: The X-Twilio-Webhook-Enabled HTTP request header + in: header + name: X-Twilio-Webhook-Enabled + schema: type: string + enum: + - 'true' + - 'false' + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Author: + description: The channel specific identifier of the message's author. + Defaults to `system`. + type: string + Body: + description: The content of the message, can be up to 1,600 characters + long. + type: string + DateCreated: + type: string + format: date-time + description: The date that this resource was created. + DateUpdated: + type: string + format: date-time + description: The date that this resource was last updated. `null` + if the message has not been edited. + Attributes: + description: A string metadata field you can use to store any data + you wish. The string value must contain structurally valid JSON + if specified. **Note** that if the attributes are not set "{}" + will be returned. + type: string + title: UpdateServiceConversationMessageRequest + type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/conversations.v1.service.service_conversation.service_conversation_message.service_conversation_message_receipt' + $ref: '#/components/schemas/conversations.v1.service.service_conversation.service_conversation_message' description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://conversations.twilio.com - x-twilio: - className: delivery_receipt - defaultOutputProperties: - - sid - - message_sid - - status - - date_created - parent: /Services/{ChatServiceSid}/Conversations/{ConversationSid}/Messages - pathType: instance - /v1/Services/{ChatServiceSid}/Conversations/{ConversationSid}/Messages/{Sid}: delete: description: Remove a message from the conversation operationId: DeleteServiceConversationMessage @@ -5175,10 +5109,10 @@ paths: name: ChatServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this message. in: path @@ -5191,18 +5125,18 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IM[0-9a-fA-F]{32}$ - type: string - description: The X-Twilio-Webhook-Enabled HTTP request header in: header name: X-Twilio-Webhook-Enabled schema: + type: string enum: - 'true' - 'false' - type: string responses: '204': description: The resource was deleted successfully. @@ -5210,8 +5144,6 @@ paths: - accountSid_authToken: [] x-maturity: - GA - description: A Service Message resource represents a message in a conversation - within a specific service. get: description: Fetch a message from the conversation operationId: FetchServiceConversationMessage @@ -5222,10 +5154,10 @@ paths: name: ChatServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this message. in: path @@ -5238,10 +5170,10 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IM[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -5253,20 +5185,34 @@ paths: - accountSid_authToken: [] x-maturity: - GA - post: - description: Update an existing message in the conversation - operationId: UpdateServiceConversationMessage + /v1/Services/{ChatServiceSid}/Conversations/{ConversationSid}/Messages/{MessageSid}/Receipts/{Sid}: + servers: + - url: https://conversations.twilio.com + description: A Service Message Receipt resource represents a delivery/read receipt + of a message in a conversation. + x-twilio: + defaultOutputProperties: + - sid + - message_sid + - status + - date_created + pathType: instance + parent: /Services/{ChatServiceSid}/Conversations/{ConversationSid}/Messages + className: delivery_receipt + get: + description: Fetch the delivery and read receipts of the conversation message + operationId: FetchServiceConversationMessageReceipt parameters: - description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) - the Participant resource is associated with. + the Message resource is associated with. in: path name: ChatServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this message. in: path @@ -5274,98 +5220,82 @@ paths: required: true schema: type: string - - description: A 34 character string that uniquely identifies this resource. + - description: The SID of the message within a [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) + the delivery receipt belongs to. in: path - name: Sid + name: MessageSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IM[0-9a-fA-F]{32}$ - type: string - - description: The X-Twilio-Webhook-Enabled HTTP request header - in: header - name: X-Twilio-Webhook-Enabled + - description: A 34 character string that uniquely identifies this resource. + in: path + name: Sid + required: true schema: - enum: - - 'true' - - 'false' type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Attributes: - description: A string metadata field you can use to store any data - you wish. The string value must contain structurally valid JSON - if specified. **Note** that if the attributes are not set "{}" - will be returned. - type: string - Author: - description: The channel specific identifier of the message's author. - Defaults to `system`. - type: string - Body: - description: The content of the message, can be up to 1,600 characters - long. - type: string - DateCreated: - description: The date that this resource was created. - format: date-time - type: string - DateUpdated: - description: The date that this resource was last updated. `null` - if the message has not been edited. - format: date-time - type: string - title: UpdateServiceConversationMessageRequest - type: object + minLength: 34 + maxLength: 34 + pattern: ^DY[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/conversations.v1.service.service_conversation.service_conversation_message' + $ref: '#/components/schemas/conversations.v1.service.service_conversation.service_conversation_message.service_conversation_message_receipt' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ChatServiceSid}/Conversations/{ConversationSid}/Messages/{MessageSid}/Receipts: servers: - url: https://conversations.twilio.com + description: A Service Message Receipt resource represents a delivery/read receipt + of a message in a conversation. x-twilio: defaultOutputProperties: - sid - - index - - author + - message_sid + - status - date_created - parent: /Services/{ChatServiceSid}/Conversations - pathType: instance - /v1/Services/{ChatServiceSid}/Conversations/{ConversationSid}/Participants: - description: A Service Participant resource represents a member of the conversation - within a specific service. + pathType: list + parent: /Services/{ChatServiceSid}/Conversations/{ConversationSid}/Messages + className: delivery_receipt get: - description: Retrieve a list of all participants of the conversation - operationId: ListServiceConversationParticipant + description: Retrieve a list of all delivery and read receipts of the conversation + message + operationId: ListServiceConversationMessageReceipt parameters: - description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) - the Participant resource is associated with. + the Message resource is associated with. in: path name: ChatServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) - for participants. + for this message. in: path name: ConversationSid required: true schema: type: string + - description: The SID of the message within a [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) + the delivery receipt belongs to. + in: path + name: MessageSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IM[0-9a-fA-F]{32}$ - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -5379,14 +5309,19 @@ paths: content: application/json: schema: + type: object + title: ListServiceConversationMessageReceiptResponse properties: + delivery_receipts: + type: array + items: + $ref: '#/components/schemas/conversations.v1.service.service_conversation.service_conversation_message.service_conversation_message_receipt' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -5400,18 +5335,24 @@ paths: url: format: uri type: string - type: object - participants: - items: - $ref: '#/components/schemas/conversations.v1.service.service_conversation.service_conversation_participant' - type: array - title: ListServiceConversationParticipantResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ChatServiceSid}/Conversations/{ConversationSid}/Participants: + servers: + - url: https://conversations.twilio.com + description: A Service Participant resource represents a member of the conversation + within a specific service. + x-twilio: + defaultOutputProperties: + - sid + - messaging_binding + pathType: list + parent: /Services/{ChatServiceSid}/Conversations post: description: Add a new participant to the conversation in a specific service operationId: CreateServiceConversationParticipant @@ -5422,10 +5363,10 @@ paths: name: ChatServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this participant. in: path @@ -5437,29 +5378,15 @@ paths: in: header name: X-Twilio-Webhook-Enabled schema: + type: string enum: - 'true' - 'false' - type: string requestBody: content: application/x-www-form-urlencoded: schema: - properties: - Attributes: - description: An optional string metadata field you can use to store - any data you wish. The string value must contain structurally - valid JSON if specified. **Note** that if the attributes are - not set "{}" will be returned. - type: string - DateCreated: - description: The date that this resource was created. - format: date-time - type: string - DateUpdated: - description: The date that this resource was last updated. - format: date-time - type: string + properties: Identity: description: A unique string identifier for the conversation participant as [Conversation User](https://www.twilio.com/docs/conversations/api/user-resource). @@ -5473,24 +5400,38 @@ paths: null when the participant is interacting from an SDK endpoint (see the 'identity' field). type: string - MessagingBinding.ProjectedAddress: - description: The address of the Twilio phone number that is used - in Group MMS. Communication mask for the Conversation participant - with Identity. - type: string MessagingBinding.ProxyAddress: description: The address of the Twilio phone number (or WhatsApp number) that the participant is in contact with. This field, together with participant address, is only null when the participant is interacting from an SDK endpoint (see the 'identity' field). type: string + DateCreated: + type: string + format: date-time + description: The date that this resource was created. + DateUpdated: + type: string + format: date-time + description: The date that this resource was last updated. + Attributes: + description: An optional string metadata field you can use to store + any data you wish. The string value must contain structurally + valid JSON if specified. **Note** that if the attributes are + not set "{}" will be returned. + type: string + MessagingBinding.ProjectedAddress: + description: The address of the Twilio phone number that is used + in Group MMS. Communication mask for the Conversation participant + with Identity. + type: string RoleSid: - description: The SID of a conversation-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) - to assign to the participant. - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string + description: The SID of a conversation-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) + to assign to the participant. title: CreateServiceConversationParticipantRequest type: object responses: @@ -5504,103 +5445,84 @@ paths: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://conversations.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - messaging_binding - parent: /Services/{ChatServiceSid}/Conversations - pathType: list - /v1/Services/{ChatServiceSid}/Conversations/{ConversationSid}/Participants/{Sid}: - delete: - description: Remove a participant from the conversation - operationId: DeleteServiceConversationParticipant + get: + description: Retrieve a list of all participants of the conversation + operationId: ListServiceConversationParticipant parameters: - description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Participant resource is associated with. in: path name: ChatServiceSid required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) - for this participant. - in: path - name: ConversationSid - required: true schema: type: string - - description: A 34 character string that uniquely identifies this resource. - in: path - name: Sid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^MB[0-9a-fA-F]{32}$ - type: string - - description: The X-Twilio-Webhook-Enabled HTTP request header - in: header - name: X-Twilio-Webhook-Enabled - schema: - enum: - - 'true' - - 'false' - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: A Service Participant resource represents a member of the conversation - within a specific service. - get: - description: Fetch a participant of the conversation - operationId: FetchServiceConversationParticipant - parameters: - - description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) - the Participant resource is associated with. - in: path - name: ChatServiceSid - required: true - schema: maxLength: 34 - minLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) - for this participant. + for participants. in: path name: ConversationSid required: true schema: type: string - - description: A 34 character string that uniquely identifies this resource. - in: path - name: Sid - required: true + - description: How many resources to return in each list page. The default is + 50, and the maximum is 1000. + in: query + name: PageSize schema: - maxLength: 34 - minLength: 34 - pattern: ^MB[0-9a-fA-F]{32}$ - type: string + maximum: 1000 + minimum: 1 + type: integer responses: '200': content: application/json: schema: - $ref: '#/components/schemas/conversations.v1.service.service_conversation.service_conversation_participant' + type: object + title: ListServiceConversationParticipantResponse + properties: + participants: + type: array + items: + $ref: '#/components/schemas/conversations.v1.service.service_conversation.service_conversation_participant' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ChatServiceSid}/Conversations/{ConversationSid}/Participants/{Sid}: + servers: + - url: https://conversations.twilio.com + description: A Service Participant resource represents a member of the conversation + within a specific service. + x-twilio: + defaultOutputProperties: + - sid + - messaging_binding + pathType: instance + parent: /Services/{ChatServiceSid}/Conversations post: description: Update an existing participant in the conversation operationId: UpdateServiceConversationParticipant @@ -5611,10 +5533,10 @@ paths: name: ChatServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this participant. in: path @@ -5627,43 +5549,55 @@ paths: name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^MB[0-9a-fA-F]{32}$ type: string - description: The X-Twilio-Webhook-Enabled HTTP request header in: header name: X-Twilio-Webhook-Enabled schema: + type: string enum: - 'true' - 'false' - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Attributes: - description: An optional string metadata field you can use to store - any data you wish. The string value must contain structurally - valid JSON if specified. **Note** that if the attributes are - not set "{}" will be returned. - type: string DateCreated: - description: The date that this resource was created. - format: date-time type: string - DateUpdated: - description: The date that this resource was last updated. format: date-time + description: The date that this resource was created. + DateUpdated: type: string + format: date-time + description: The date that this resource was last updated. Identity: description: A unique string identifier for the conversation participant as [Conversation User](https://www.twilio.com/docs/conversations/api/user-resource). This parameter is non-null if (and only if) the participant is using the Conversation SDK to communicate. Limited to 256 characters. type: string + Attributes: + description: An optional string metadata field you can use to store + any data you wish. The string value must contain structurally + valid JSON if specified. **Note** that if the attributes are + not set "{}" will be returned. + type: string + RoleSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ + description: The SID of a conversation-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) + to assign to the participant. + MessagingBinding.ProxyAddress: + description: The address of the Twilio phone number that the participant + is in contact with. 'null' value will remove it. + type: string + MessagingBinding.ProjectedAddress: + description: The address of the Twilio phone number that is used + in Group MMS. 'null' value will remove it. + type: string LastReadMessageIndex: description: "Index of last \u201Cread\u201D message in the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource)\ \ for the Participant." @@ -5674,21 +5608,6 @@ paths: \ [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource)\ \ for the Participant." type: string - MessagingBinding.ProjectedAddress: - description: The address of the Twilio phone number that is used - in Group MMS. 'null' value will remove it. - type: string - MessagingBinding.ProxyAddress: - description: The address of the Twilio phone number that the participant - is in contact with. 'null' value will remove it. - type: string - RoleSid: - description: The SID of a conversation-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) - to assign to the participant. - maxLength: 34 - minLength: 34 - pattern: ^RL[0-9a-fA-F]{32}$ - type: string title: UpdateServiceConversationParticipantRequest type: object responses: @@ -5702,20 +5621,51 @@ paths: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://conversations.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - messaging_binding - parent: /Services/{ChatServiceSid}/Conversations - pathType: instance - /v1/Services/{ChatServiceSid}/Conversations/{ConversationSid}/Webhooks: - description: A Conversation-scoped Webhook resource manages a set of callback - URLs and their configuration for receiving events specific to one conversation. + delete: + description: Remove a participant from the conversation + operationId: DeleteServiceConversationParticipant + parameters: + - description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) + the Participant resource is associated with. + in: path + name: ChatServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) + for this participant. + in: path + name: ConversationSid + required: true + schema: + type: string + - description: A 34 character string that uniquely identifies this resource. + in: path + name: Sid + required: true + schema: + type: string + - description: The X-Twilio-Webhook-Enabled HTTP request header + in: header + name: X-Twilio-Webhook-Enabled + schema: + type: string + enum: + - 'true' + - 'false' + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA get: - description: Retrieve a list of all webhooks scoped to the conversation - operationId: ListServiceConversationScopedWebhook + description: Fetch a participant of the conversation + operationId: FetchServiceConversationParticipant parameters: - description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Participant resource is associated with. @@ -5723,63 +5673,45 @@ paths: name: ChatServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) - for this webhook. + for this participant. in: path name: ConversationSid required: true schema: 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 + - description: A 34 character string that uniquely identifies this resource. + in: path + name: Sid + required: true schema: - maximum: 1000 - minimum: 1 - type: integer + 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 - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - webhooks: - items: - $ref: '#/components/schemas/conversations.v1.service.service_conversation.service_conversation_scoped_webhook' - type: array - title: ListServiceConversationScopedWebhookResponse - type: object + $ref: '#/components/schemas/conversations.v1.service.service_conversation.service_conversation_participant' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ChatServiceSid}/Conversations/{ConversationSid}/Webhooks: + servers: + - url: https://conversations.twilio.com + description: A Conversation-scoped Webhook resource manages a set of callback + URLs and their configuration for receiving events specific to one conversation. + x-twilio: + defaultOutputProperties: + - sid + - target + pathType: list + parent: /Services/{ChatServiceSid}/Conversations post: description: Create a new webhook scoped to the conversation in a specific service operationId: CreateServiceConversationScopedWebhook @@ -5790,10 +5722,10 @@ paths: name: ChatServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this webhook. in: path @@ -5806,45 +5738,45 @@ paths: application/x-www-form-urlencoded: schema: properties: - Configuration.Filters: - description: The list of events, firing webhook event for this Conversation. - items: - type: string - type: array - Configuration.FlowSid: - description: The studio flow SID, where the webhook should be sent + Target: + type: string + enum: + - webhook + - trigger + - studio + description: 'The target of this webhook: `webhook`, `studio`, `trigger`' + Configuration.Url: + description: The absolute url the webhook request should be sent to. - maxLength: 34 - minLength: 34 - pattern: ^FW[0-9a-fA-F]{32}$ type: string Configuration.Method: - description: The HTTP method to be used when sending a webhook request. + type: string enum: - GET - POST + description: The HTTP method to be used when sending a webhook request. + Configuration.Filters: + type: array + items: + type: string + description: The list of events, firing webhook event for this Conversation. + Configuration.Triggers: + type: array + items: + type: string + description: The list of keywords, firing webhook event for this + Conversation. + Configuration.FlowSid: type: string + minLength: 34 + maxLength: 34 + pattern: ^FW[0-9a-fA-F]{32}$ + description: The studio flow SID, where the webhook should be sent + to. Configuration.ReplayAfter: description: The message index for which and it's successors the webhook will be replayed. Not set by default type: integer - Configuration.Triggers: - description: The list of keywords, firing webhook event for this - Conversation. - items: - type: string - type: array - Configuration.Url: - description: The absolute url the webhook request should be sent - to. - type: string - Target: - description: 'The target of this webhook: `webhook`, `studio`, `trigger`' - enum: - - webhook - - trigger - - studio - type: string required: - Target title: CreateServiceConversationScopedWebhookRequest @@ -5860,68 +5792,20 @@ paths: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://conversations.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - target - parent: /Services/{ChatServiceSid}/Conversations - pathType: list - /v1/Services/{ChatServiceSid}/Conversations/{ConversationSid}/Webhooks/{Sid}: - delete: - description: Remove an existing webhook scoped to the conversation - operationId: DeleteServiceConversationScopedWebhook + get: + description: Retrieve a list of all webhooks scoped to the conversation + operationId: ListServiceConversationScopedWebhook parameters: - description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Participant resource is associated with. in: path name: ChatServiceSid required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) - for this webhook. - in: path - name: ConversationSid - required: true schema: type: string - - description: A 34 character string that uniquely identifies this resource. - in: path - name: Sid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^WH[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: A Conversation-scoped Webhook resource manages a set of callback - URLs and their configuration for receiving events specific to one conversation. - get: - description: Fetch the configuration of a conversation-scoped webhook - operationId: FetchServiceConversationScopedWebhook - parameters: - - description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) - the Participant resource is associated with. - in: path - name: ChatServiceSid - required: true - schema: maxLength: 34 - minLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this webhook. in: path @@ -5929,26 +5813,63 @@ paths: required: true schema: type: string - - description: A 34 character string that uniquely identifies this resource. - in: path - name: Sid - required: true + - description: How many resources to return in each list page. The default is + 50, and the maximum is 1000. + in: query + name: PageSize schema: - maxLength: 34 - minLength: 34 - pattern: ^WH[0-9a-fA-F]{32}$ - type: string + maximum: 1000 + minimum: 1 + type: integer responses: '200': content: application/json: schema: - $ref: '#/components/schemas/conversations.v1.service.service_conversation.service_conversation_scoped_webhook' + type: object + title: ListServiceConversationScopedWebhookResponse + properties: + webhooks: + type: array + items: + $ref: '#/components/schemas/conversations.v1.service.service_conversation.service_conversation_scoped_webhook' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ChatServiceSid}/Conversations/{ConversationSid}/Webhooks/{Sid}: + servers: + - url: https://conversations.twilio.com + description: A Conversation-scoped Webhook resource manages a set of callback + URLs and their configuration for receiving events specific to one conversation. + x-twilio: + defaultOutputProperties: + - sid + - target + pathType: instance + parent: /Services/{ChatServiceSid}/Conversations post: description: Update an existing conversation-scoped webhook operationId: UpdateServiceConversationScopedWebhook @@ -5959,10 +5880,10 @@ paths: name: ChatServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this webhook. in: path @@ -5975,43 +5896,43 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WH[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Configuration.Filters: - description: The list of events, firing webhook event for this Conversation. - items: - type: string - type: array - Configuration.FlowSid: - description: The studio flow SID, where the webhook should be sent + Configuration.Url: + description: The absolute url the webhook request should be sent to. - maxLength: 34 - minLength: 34 - pattern: ^FW[0-9a-fA-F]{32}$ type: string Configuration.Method: - description: The HTTP method to be used when sending a webhook request. + type: string enum: - GET - POST - type: string - Configuration.Triggers: - description: The list of keywords, firing webhook event for this - Conversation. + description: The HTTP method to be used when sending a webhook request. + Configuration.Filters: + type: array items: type: string + description: The list of events, firing webhook event for this Conversation. + Configuration.Triggers: type: array - Configuration.Url: - description: The absolute url the webhook request should be sent - to. + items: + type: string + description: The list of keywords, firing webhook event for this + Conversation. + Configuration.FlowSid: type: string + minLength: 34 + maxLength: 34 + pattern: ^FW[0-9a-fA-F]{32}$ + description: The studio flow SID, where the webhook should be sent + to. title: UpdateServiceConversationScopedWebhookRequest type: object responses: @@ -6025,44 +5946,36 @@ paths: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://conversations.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - target - parent: /Services/{ChatServiceSid}/Conversations - pathType: instance - /v1/Services/{ChatServiceSid}/Conversations/{Sid}: delete: - description: Remove a conversation from your service - operationId: DeleteServiceConversation + description: Remove an existing webhook scoped to the conversation + operationId: DeleteServiceConversationScopedWebhook parameters: - description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) - the Conversation resource is associated with. + the Participant resource is associated with. in: path name: ChatServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ + - description: The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) + for this webhook. + in: path + name: ConversationSid + required: true + schema: type: string - description: A 34 character string that uniquely identifies this resource. - Can also be the `unique_name` of the Conversation. in: path name: Sid required: true schema: type: string - - description: The X-Twilio-Webhook-Enabled HTTP request header - in: header - name: X-Twilio-Webhook-Enabled - schema: - enum: - - 'true' - - 'false' - type: string + minLength: 34 + maxLength: 34 + pattern: ^WH[0-9a-fA-F]{32}$ responses: '204': description: The resource was deleted successfully. @@ -6070,146 +5983,184 @@ paths: - accountSid_authToken: [] x-maturity: - GA - description: A Service Conversation resource represents an omnichannel group conversation - with an ordered list of messages and a participant roster. get: - description: Fetch a conversation from your service - operationId: FetchServiceConversation + description: Fetch the configuration of a conversation-scoped webhook + operationId: FetchServiceConversationScopedWebhook parameters: - description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) - the Conversation resource is associated with. + the Participant resource is associated with. in: path name: ChatServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ + - description: The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) + for this webhook. + in: path + name: ConversationSid + required: true + schema: type: string - description: A 34 character string that uniquely identifies this resource. - Can also be the `unique_name` of the Conversation. in: path name: Sid required: true schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^WH[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/conversations.v1.service.service_conversation' + $ref: '#/components/schemas/conversations.v1.service.service_conversation.service_conversation_scoped_webhook' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ChatServiceSid}/Configuration/Notifications: + servers: + - url: https://conversations.twilio.com + description: A Service Notification resource manages a set of settings to determine + push notification behavior at service level. + x-twilio: + defaultOutputProperties: + - chat_service_sid + pathType: instance + parent: /Services/{ChatServiceSid}/Configuration post: - description: Update an existing conversation in your service - operationId: UpdateServiceConversation + description: Update push notification service settings + operationId: UpdateServiceNotification parameters: - description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) - the Conversation resource is associated with. + the Configuration applies to. in: path name: ChatServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: A 34 character string that uniquely identifies this resource. - Can also be the `unique_name` of the Conversation. - in: path - name: Sid - required: true - schema: - type: string - - description: The X-Twilio-Webhook-Enabled HTTP request header - in: header - name: X-Twilio-Webhook-Enabled - schema: - enum: - - 'true' - - 'false' - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Attributes: - description: An optional string metadata field you can use to store - any data you wish. The string value must contain structurally - valid JSON if specified. **Note** that if the attributes are - not set "{}" will be returned. - type: string - DateCreated: - description: The date that this resource was created. - format: date-time - type: string - DateUpdated: - description: The date that this resource was last updated. - format: date-time + LogEnabled: + description: Weather the notification logging is enabled. + type: boolean + NewMessage.Enabled: + description: Whether to send a notification when a new message is + added to a conversation. The default is `false`. + type: boolean + NewMessage.Template: + description: The template to use to create the notification text + displayed when a new message is added to a conversation and `new_message.enabled` + is `true`. type: string - FriendlyName: - description: The human-readable name of this conversation, limited - to 256 characters. Optional. + NewMessage.Sound: + description: The name of the sound to play when a new message is + added to a conversation and `new_message.enabled` is `true`. type: string - MessagingServiceSid: - description: The unique ID of the [Messaging Service](https://www.twilio.com/docs/sms/services/api) - this conversation belongs to. - maxLength: 34 - minLength: 34 - pattern: ^MG[0-9a-fA-F]{32}$ + NewMessage.BadgeCountEnabled: + description: Whether the new message badge is enabled. The default + is `false`. + type: boolean + AddedToConversation.Enabled: + description: Whether to send a notification when a participant is + added to a conversation. The default is `false`. + type: boolean + AddedToConversation.Template: + description: The template to use to create the notification text + displayed when a participant is added to a conversation and `added_to_conversation.enabled` + is `true`. type: string - State: - description: Current state of this conversation. Can be either `active`, - `inactive` or `closed` and defaults to `active` - enum: - - inactive - - active - - closed + AddedToConversation.Sound: + description: The name of the sound to play when a participant is + added to a conversation and `added_to_conversation.enabled` is + `true`. type: string - Timers.Closed: - description: ISO8601 duration when conversation will be switched - to `closed` state. Minimum value for this timer is 10 minutes. + RemovedFromConversation.Enabled: + description: Whether to send a notification to a user when they + are removed from a conversation. The default is `false`. + type: boolean + RemovedFromConversation.Template: + description: The template to use to create the notification text + displayed to a user when they are removed from a conversation + and `removed_from_conversation.enabled` is `true`. type: string - Timers.Inactive: - description: ISO8601 duration when conversation will be switched - to `inactive` state. Minimum value for this timer is 1 minute. + RemovedFromConversation.Sound: + description: The name of the sound to play to a user when they are + removed from a conversation and `removed_from_conversation.enabled` + is `true`. type: string - UniqueName: - description: An application-defined string that uniquely identifies - the resource. It can be used to address the resource in place - of the resource's `sid` in the URL. + NewMessage.WithMedia.Enabled: + description: Whether to send a notification when a new message with + media/file attachments is added to a conversation. The default + is `false`. + type: boolean + NewMessage.WithMedia.Template: + description: The template to use to create the notification text + displayed when a new message with media/file attachments is added + to a conversation and `new_message.attachments.enabled` is `true`. type: string - title: UpdateServiceConversationRequest + title: UpdateServiceNotificationRequest type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/conversations.v1.service.service_conversation' + $ref: '#/components/schemas/conversations.v1.service.service_configuration.service_notification' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + get: + description: Fetch push notification service settings + operationId: FetchServiceNotification + parameters: + - description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) + the Configuration applies to. + in: path + name: ChatServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/conversations.v1.service.service_configuration.service_notification' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ChatServiceSid}/ParticipantConversations: servers: - url: https://conversations.twilio.com + description: Service Participant Conversations resource represents a list of Conversations + that this Participant belongs to belonging to a specific conversation service. x-twilio: defaultOutputProperties: - - sid - chat_service_sid - - friendly_name - - date_created + - participant_sid + - conversation_sid + pathType: list parent: /Services - pathType: instance - /v1/Services/{ChatServiceSid}/ParticipantConversations: - description: Service Participant Conversations resource represents a list of Conversations - that this Participant belongs to belonging to a specific conversation service. get: description: Retrieve a list of all Conversations that this Participant belongs to by identity or by address. Only one parameter should be specified. @@ -6221,10 +6172,10 @@ paths: name: ChatServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: A unique string identifier for the conversation participant as [Conversation User](https://www.twilio.com/docs/conversations/api/user-resource). This parameter is non-null if (and only if) the participant is using the @@ -6253,18 +6204,19 @@ paths: content: application/json: schema: + type: object + title: ListServiceParticipantConversationResponse properties: conversations: + type: array items: $ref: '#/components/schemas/conversations.v1.service.service_participant_conversation' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -6278,86 +6230,25 @@ paths: url: format: uri type: string - type: object - title: ListServiceParticipantConversationResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ChatServiceSid}/Roles: servers: - url: https://conversations.twilio.com + description: A Service Role resource represents a set of permissions granted to + a user within a service or a conversation. x-twilio: defaultOutputProperties: - - chat_service_sid - - participant_sid - - conversation_sid - parent: /Services + - sid + - friendly_name + - type pathType: list - /v1/Services/{ChatServiceSid}/Roles: - description: A Service Role resource represents a set of permissions granted to - a user within a service or a conversation. - get: - description: Retrieve a list of all user roles in your service - operationId: ListServiceRole - parameters: - - description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) - to read the Role resources from. - in: path - name: ChatServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[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 - responses: - '200': - content: - application/json: - schema: - properties: - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - roles: - items: - $ref: '#/components/schemas/conversations.v1.service.service_role' - type: array - title: ListServiceRoleResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA + parent: /Services post: description: Create a new user role in your service operationId: CreateServiceRole @@ -6368,10 +6259,10 @@ paths: name: ChatServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: @@ -6381,22 +6272,22 @@ paths: description: A descriptive string that you create to describe the new resource. It can be up to 64 characters long. type: string + Type: + type: string + enum: + - conversation + - service + description: 'The type of role. Can be: `conversation` for [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) + roles or `service` for [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) + roles.' Permission: + type: array + items: + type: string description: A permission that you grant to the new role. Only one permission can be granted per parameter. To assign more than one permission, repeat this parameter for each permission value. The values for this parameter depend on the role's `type`. - items: - type: string - type: array - Type: - description: 'The type of role. Can be: `conversation` for [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) - roles or `service` for [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) - roles.' - enum: - - conversation - - service - type: string required: - FriendlyName - Type @@ -6413,163 +6304,21 @@ paths: security: - accountSid_authToken: [] x-maturity: - - GA - servers: - - url: https://conversations.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - type - parent: /Services - pathType: list - /v1/Services/{ChatServiceSid}/Roles/{Sid}: - delete: - description: Remove a user role from your service - operationId: DeleteServiceRole - parameters: - - description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) - to delete the Role resource from. - in: path - name: ChatServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Role resource to delete. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^RL[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: A Service Role resource represents a set of permissions granted to - a user within a service or a conversation. - get: - description: Fetch a user role from your service - operationId: FetchServiceRole - parameters: - - description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) - to fetch the Role resource from. - in: path - name: ChatServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Role resource to fetch. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^RL[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/conversations.v1.service.service_role' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: Update an existing user role in your service - operationId: UpdateServiceRole - parameters: - - description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) - to update the Role resource in. - in: path - name: ChatServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Role resource to update. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^RL[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Permission: - description: A permission that you grant to the role. Only one permission - can be granted per parameter. To assign more than one permission, - repeat this parameter for each permission value. Note that the - update action replaces all previously assigned permissions with - those defined in the update action. To remove a permission, do - not include it in the subsequent update action. The values for - this parameter depend on the role's `type`. - items: - type: string - type: array - required: - - Permission - title: UpdateServiceRoleRequest - type: object - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/conversations.v1.service.service_role' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://conversations.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - type - parent: /Services - pathType: instance - /v1/Services/{ChatServiceSid}/Users: - description: A Service User resource represents a conversation user belonging - to a specific conversation service. + - GA get: - description: Retrieve a list of all conversation users in your service - operationId: ListServiceUser + description: Retrieve a list of all user roles in your service + operationId: ListServiceRole parameters: - description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) - to read the User resources from. + to read the Role resources from. in: path name: ChatServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[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 @@ -6583,14 +6332,19 @@ paths: content: application/json: schema: + type: object + title: ListServiceRoleResponse properties: + roles: + type: array + items: + $ref: '#/components/schemas/conversations.v1.service.service_role' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -6604,117 +6358,102 @@ paths: url: format: uri type: string - type: object - users: - items: - $ref: '#/components/schemas/conversations.v1.service.service_user' - type: array - title: ListServiceUserResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ChatServiceSid}/Roles/{Sid}: + servers: + - url: https://conversations.twilio.com + description: A Service Role resource represents a set of permissions granted to + a user within a service or a conversation. + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - type + pathType: instance + parent: /Services post: - description: Add a new conversation user to your service - operationId: CreateServiceUser + description: Update an existing user role in your service + operationId: UpdateServiceRole parameters: - description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) - the User resource is associated with. + to update the Role resource in. in: path name: ChatServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The X-Twilio-Webhook-Enabled HTTP request header - in: header - name: X-Twilio-Webhook-Enabled + - description: The SID of the Role resource to update. + in: path + name: Sid + required: true schema: - enum: - - 'true' - - 'false' type: string + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - Attributes: - description: The JSON Object string that stores application-specific - data. If attributes have not been set, `{}` is returned. - type: string - FriendlyName: - description: The string that you assigned to describe the resource. - type: string - Identity: - description: The application-defined string that uniquely identifies - the resource's User within the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource). - This value is often a username or an email address, and is case-sensitive. - type: string - RoleSid: - description: The SID of a service-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) - to assign to the user. - maxLength: 34 - minLength: 34 - pattern: ^RL[0-9a-fA-F]{32}$ - type: string + Permission: + type: array + items: + type: string + description: A permission that you grant to the role. Only one permission + can be granted per parameter. To assign more than one permission, + repeat this parameter for each permission value. Note that the + update action replaces all previously assigned permissions with + those defined in the update action. To remove a permission, do + not include it in the subsequent update action. The values for + this parameter depend on the role's `type`. required: - - Identity - title: CreateServiceUserRequest + - Permission + title: UpdateServiceRoleRequest type: object responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/conversations.v1.service.service_user' - description: Created + $ref: '#/components/schemas/conversations.v1.service.service_role' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://conversations.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - identity - parent: /Services - pathType: list - /v1/Services/{ChatServiceSid}/Users/{Sid}: delete: - description: Remove a conversation user from your service - operationId: DeleteServiceUser + description: Remove a user role from your service + operationId: DeleteServiceRole parameters: - description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) - to delete the User resource from. + to delete the Role resource from. in: path name: ChatServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the User resource to delete. This value can be either - the `sid` or the `identity` of the User resource to delete. + - description: The SID of the Role resource to delete. in: path name: Sid required: true schema: type: string - - description: The X-Twilio-Webhook-Enabled HTTP request header - in: header - name: X-Twilio-Webhook-Enabled - schema: - enum: - - 'true' - - 'false' - type: string + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ responses: '204': description: The resource was deleted successfully. @@ -6722,43 +6461,54 @@ paths: - accountSid_authToken: [] x-maturity: - GA - description: A Service User resource represents a conversation user belonging - to a specific conversation service. get: - description: Fetch a conversation user from your service - operationId: FetchServiceUser + description: Fetch a user role from your service + operationId: FetchServiceRole parameters: - description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) - to fetch the User resource from. + to fetch the Role resource from. in: path name: ChatServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the User resource to fetch. This value can be either - the `sid` or the `identity` of the User resource to fetch. + - description: The SID of the Role resource to fetch. in: path name: Sid required: true schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/conversations.v1.service.service_user' + $ref: '#/components/schemas/conversations.v1.service.service_role' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ChatServiceSid}/Users: + servers: + - url: https://conversations.twilio.com + description: A Service User resource represents a conversation user belonging + to a specific conversation service. + x-twilio: + defaultOutputProperties: + - sid + - identity + pathType: list + parent: /Services post: - description: Update an existing conversation user in your service - operationId: UpdateServiceUser + description: Add a new conversation user to your service + operationId: CreateServiceUser parameters: - description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the User resource is associated with. @@ -6766,89 +6516,71 @@ paths: name: ChatServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the User resource to update. This value can be either - the `sid` or the `identity` of the User resource to update. - in: path - name: Sid - required: true - schema: - type: string - description: The X-Twilio-Webhook-Enabled HTTP request header in: header name: X-Twilio-Webhook-Enabled schema: + type: string enum: - 'true' - 'false' - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Attributes: - description: The JSON Object string that stores application-specific - data. If attributes have not been set, `{}` is returned. + Identity: + description: The application-defined string that uniquely identifies + the resource's User within the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource). + This value is often a username or an email address, and is case-sensitive. type: string FriendlyName: description: The string that you assigned to describe the resource. type: string + Attributes: + description: The JSON Object string that stores application-specific + data. If attributes have not been set, `{}` is returned. + type: string RoleSid: - description: The SID of a service-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) - to assign to the user. - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string - title: UpdateServiceUserRequest + description: The SID of a service-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) + to assign to the user. + required: + - Identity + title: CreateServiceUserRequest type: object responses: - '200': + '201': content: application/json: schema: $ref: '#/components/schemas/conversations.v1.service.service_user' - description: OK + description: Created security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://conversations.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - identity - parent: /Services - pathType: instance - /v1/Services/{ChatServiceSid}/Users/{UserSid}/Conversations: - description: A Service User Conversation resource represents a conversation of - the user belonging to a specific conversation service. get: - description: Retrieve a list of all User Conversations for the User. - operationId: ListServiceUserConversation + description: Retrieve a list of all conversation users in your service + operationId: ListServiceUser parameters: - description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) - the Conversation resource is associated with. + to read the User resources from. in: path name: ChatServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The unique SID identifier of the [User resource](https://www.twilio.com/docs/conversations/api/user-resource). - This value can be either the `sid` or the `identity` of the User resource. - in: path - name: UserSid - required: true - schema: - type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -6862,18 +6594,19 @@ paths: content: application/json: schema: + type: object + title: ListServiceUserResponse properties: - conversations: - items: - $ref: '#/components/schemas/conversations.v1.service.service_user.service_user_conversation' + users: type: array + items: + $ref: '#/components/schemas/conversations.v1.service.service_user' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -6887,55 +6620,114 @@ paths: url: format: uri type: string - type: object - title: ListServiceUserConversationResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ChatServiceSid}/Users/{Sid}: servers: - url: https://conversations.twilio.com + description: A Service User resource represents a conversation user belonging + to a specific conversation service. x-twilio: - className: user_conversation defaultOutputProperties: - - conversation_sid - - user_sid - - chat_service_sid - - friendly_name - - date_created - parent: /Services/{ChatServiceSid}/Users - pathType: list - /v1/Services/{ChatServiceSid}/Users/{UserSid}/Conversations/{ConversationSid}: - delete: - description: Delete a specific User Conversation. - operationId: DeleteServiceUserConversation + - sid + - identity + pathType: instance + parent: /Services + post: + description: Update an existing conversation user in your service + operationId: UpdateServiceUser parameters: - description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) - the Conversation resource is associated with. + the User resource is associated with. in: path name: ChatServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ + - description: The SID of the User resource to update. This value can be either + the `sid` or the `identity` of the User resource to update. + in: path + name: Sid + required: true + schema: type: string - - description: The unique SID identifier of the [User resource](https://www.twilio.com/docs/conversations/api/user-resource). - This value can be either the `sid` or the `identity` of the User resource. + - description: The X-Twilio-Webhook-Enabled HTTP request header + in: header + name: X-Twilio-Webhook-Enabled + schema: + type: string + enum: + - 'true' + - 'false' + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: The string that you assigned to describe the resource. + type: string + Attributes: + description: The JSON Object string that stores application-specific + data. If attributes have not been set, `{}` is returned. + type: string + RoleSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ + description: The SID of a service-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) + to assign to the user. + title: UpdateServiceUserRequest + type: object + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/conversations.v1.service.service_user' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + delete: + description: Remove a conversation user from your service + operationId: DeleteServiceUser + parameters: + - description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) + to delete the User resource from. in: path - name: UserSid + name: ChatServiceSid required: true schema: type: string - - description: The unique SID identifier of the Conversation. This value can - be either the `sid` or the `unique_name` of the [Conversation resource](https://www.twilio.com/docs/conversations/api/conversation-resource). + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: The SID of the User resource to delete. This value can be either + the `sid` or the `identity` of the User resource to delete. in: path - name: ConversationSid + name: Sid required: true schema: type: string + - description: The X-Twilio-Webhook-Enabled HTTP request header + in: header + name: X-Twilio-Webhook-Enabled + schema: + type: string + enum: + - 'true' + - 'false' responses: '204': description: The resource was deleted successfully. @@ -6943,33 +6735,24 @@ paths: - accountSid_authToken: [] x-maturity: - GA - description: A Service User Conversation resource represents a conversation of - the user belonging to a specific conversation service. get: - description: Fetch a specific User Conversation. - operationId: FetchServiceUserConversation + description: Fetch a conversation user from your service + operationId: FetchServiceUser parameters: - description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) - the Conversation resource is associated with. + to fetch the User resource from. in: path name: ChatServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The unique SID identifier of the [User resource](https://www.twilio.com/docs/conversations/api/user-resource). - This value can be either the `sid` or the `identity` of the User resource. - in: path - name: UserSid - required: true - schema: - type: string - - description: The unique SID identifier of the Conversation. This value can - be either the `sid` or the `unique_name` of the [Conversation resource](https://www.twilio.com/docs/conversations/api/conversation-resource). + - description: The SID of the User resource to fetch. This value can be either + the `sid` or the `identity` of the User resource to fetch. in: path - name: ConversationSid + name: Sid required: true schema: type: string @@ -6978,12 +6761,27 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/conversations.v1.service.service_user.service_user_conversation' + $ref: '#/components/schemas/conversations.v1.service.service_user' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ChatServiceSid}/Users/{UserSid}/Conversations/{ConversationSid}: + servers: + - url: https://conversations.twilio.com + description: A Service User Conversation resource represents a conversation of + the user belonging to a specific conversation service. + x-twilio: + defaultOutputProperties: + - conversation_sid + - user_sid + - chat_service_sid + - friendly_name + - date_created + pathType: instance + parent: /Services/{ChatServiceSid}/Users + className: user_conversation post: description: Update a specific User Conversation. operationId: UpdateServiceUserConversation @@ -6994,10 +6792,10 @@ paths: name: ChatServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: The unique SID identifier of the [User resource](https://www.twilio.com/docs/conversations/api/user-resource). This value can be either the `sid` or the `identity` of the User resource. in: path @@ -7017,23 +6815,23 @@ paths: application/x-www-form-urlencoded: schema: properties: - LastReadMessageIndex: - description: The index of the last Message in the Conversation that - the Participant has read. - nullable: true - type: integer - LastReadTimestamp: - description: The date of the last message read in conversation by - the user, given in ISO 8601 format. - format: date-time - type: string NotificationLevel: - description: The Notification Level of this User Conversation. One - of `default` or `muted`. + type: string enum: - default - muted + description: The Notification Level of this User Conversation. One + of `default` or `muted`. + LastReadTimestamp: type: string + format: date-time + description: The date of the last message read in conversation by + the user, given in ISO 8601 format. + LastReadMessageIndex: + description: The index of the last Message in the Conversation that + the Participant has read. + nullable: true + type: integer title: UpdateServiceUserConversationRequest type: object responses: @@ -7047,32 +6845,33 @@ paths: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://conversations.twilio.com - x-twilio: - className: user_conversation - defaultOutputProperties: - - conversation_sid - - user_sid - - chat_service_sid - - friendly_name - - date_created - parent: /Services/{ChatServiceSid}/Users - pathType: instance - /v1/Services/{Sid}: delete: - description: Remove a conversation service with all its nested resources from - your account - operationId: DeleteService + description: Delete a specific User Conversation. + operationId: DeleteServiceUserConversation parameters: - - description: A 34 character string that uniquely identifies this resource. + - description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) + the Conversation resource is associated with. in: path - name: Sid + name: ChatServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ + - description: The unique SID identifier of the [User resource](https://www.twilio.com/docs/conversations/api/user-resource). + This value can be either the `sid` or the `identity` of the User resource. + in: path + name: UserSid + required: true + schema: + type: string + - description: The unique SID identifier of the Conversation. This value can + be either the `sid` or the `unique_name` of the [Conversation resource](https://www.twilio.com/docs/conversations/api/conversation-resource). + in: path + name: ConversationSid + required: true + schema: type: string responses: '204': @@ -7081,47 +6880,81 @@ paths: - accountSid_authToken: [] x-maturity: - GA - description: A Service resource is a top-level conversation resource container - that serves as a data silo. get: - description: Fetch a conversation service from your account - operationId: FetchService + description: Fetch a specific User Conversation. + operationId: FetchServiceUserConversation parameters: - - description: A 34 character string that uniquely identifies this resource. + - description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) + the Conversation resource is associated with. in: path - name: Sid + name: ChatServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ + - description: The unique SID identifier of the [User resource](https://www.twilio.com/docs/conversations/api/user-resource). + This value can be either the `sid` or the `identity` of the User resource. + in: path + name: UserSid + required: true + schema: + type: string + - description: The unique SID identifier of the Conversation. This value can + be either the `sid` or the `unique_name` of the [Conversation resource](https://www.twilio.com/docs/conversations/api/conversation-resource). + in: path + name: ConversationSid + required: true + schema: type: string responses: '200': content: application/json: schema: - $ref: '#/components/schemas/conversations.v1.service' + $ref: '#/components/schemas/conversations.v1.service.service_user.service_user_conversation' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ChatServiceSid}/Users/{UserSid}/Conversations: servers: - url: https://conversations.twilio.com + description: A Service User Conversation resource represents a conversation of + the user belonging to a specific conversation service. x-twilio: defaultOutputProperties: - - sid + - conversation_sid + - user_sid + - chat_service_sid - friendly_name - pathType: instance - /v1/Users: - description: A User resource represents a conversation user belonging to a default - conversation service. - get: - description: Retrieve a list of all conversation users in your account's default - service - operationId: ListUser + - date_created + pathType: list + parent: /Services/{ChatServiceSid}/Users + className: user_conversation + get: + description: Retrieve a list of all User Conversations for the User. + operationId: ListServiceUserConversation parameters: + - description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) + the Conversation resource is associated with. + in: path + name: ChatServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: The unique SID identifier of the [User resource](https://www.twilio.com/docs/conversations/api/user-resource). + This value can be either the `sid` or the `identity` of the User resource. + in: path + name: UserSid + required: true + schema: + type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -7135,14 +6968,19 @@ paths: content: application/json: schema: + type: object + title: ListServiceUserConversationResponse properties: + conversations: + type: array + items: + $ref: '#/components/schemas/conversations.v1.service.service_user.service_user_conversation' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -7156,127 +6994,230 @@ paths: url: format: uri type: string - type: object - users: - items: - $ref: '#/components/schemas/conversations.v1.user' - type: array - title: ListUserResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ChatServiceSid}/Configuration/Webhooks: + servers: + - url: https://conversations.twilio.com + description: A service webhook configuration resource manages a service-level + set of callback URLs and their configuration for receiving all the corresponding + service events. + x-twilio: + defaultOutputProperties: + - chat_service_sid + pathType: instance + parent: /Services/{ChatServiceSid}/Configuration post: - description: Add a new conversation user to your account's default service - operationId: CreateUser + description: Update a specific Webhook. + operationId: UpdateServiceWebhookConfiguration parameters: - - description: The X-Twilio-Webhook-Enabled HTTP request header - in: header - name: X-Twilio-Webhook-Enabled + - description: The unique ID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) + this conversation belongs to. + in: path + name: ChatServiceSid + required: true schema: - enum: - - 'true' - - 'false' type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - Attributes: - description: The JSON Object string that stores application-specific - data. If attributes have not been set, `{}` is returned. - type: string - FriendlyName: - description: The string that you assigned to describe the resource. + PreWebhookUrl: + description: The absolute url the pre-event webhook request should + be sent to. + format: uri type: string - Identity: - description: The application-defined string that uniquely identifies - the resource's User within the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource). - This value is often a username or an email address, and is case-sensitive. + PostWebhookUrl: + description: The absolute url the post-event webhook request should + be sent to. + format: uri type: string - RoleSid: - description: The SID of a service-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) - to assign to the user. - maxLength: 34 - minLength: 34 - pattern: ^RL[0-9a-fA-F]{32}$ + Filters: + type: array + items: + type: string + description: The list of events that your configured webhook targets + will receive. Events not configured here will not fire. Possible + values are `onParticipantAdd`, `onParticipantAdded`, `onDeliveryUpdated`, + `onConversationUpdated`, `onConversationRemove`, `onParticipantRemove`, + `onConversationUpdate`, `onMessageAdd`, `onMessageRemoved`, `onParticipantUpdated`, + `onConversationAdded`, `onMessageAdded`, `onConversationAdd`, + `onConversationRemoved`, `onParticipantUpdate`, `onMessageRemove`, + `onMessageUpdated`, `onParticipantRemoved`, `onMessageUpdate` + or `onConversationStateUpdated`. + Method: + description: The HTTP method to be used when sending a webhook request. + One of `GET` or `POST`. type: string - required: - - Identity - title: CreateUserRequest + title: UpdateServiceWebhookConfigurationRequest type: object responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/conversations.v1.user' - description: Created + $ref: '#/components/schemas/conversations.v1.service.service_configuration.service_webhook_configuration' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + get: + description: Fetch a specific service webhook configuration. + operationId: FetchServiceWebhookConfiguration + parameters: + - description: The unique ID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) + this conversation belongs to. + in: path + name: ChatServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/conversations.v1.service.service_configuration.service_webhook_configuration' + description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Users: servers: - url: https://conversations.twilio.com + description: A User resource represents a conversation user belonging to a default + conversation service. x-twilio: defaultOutputProperties: - sid - identity pathType: list - /v1/Users/{Sid}: - delete: - description: Remove a conversation user from your account's default service - operationId: DeleteUser + post: + description: Add a new conversation user to your account's default service + operationId: CreateUser parameters: - - description: The SID of the User resource to delete. This value can be either - the `sid` or the `identity` of the User resource to delete. - in: path - name: Sid - required: true - schema: - type: string - description: The X-Twilio-Webhook-Enabled HTTP request header in: header name: X-Twilio-Webhook-Enabled schema: + type: string enum: - 'true' - 'false' - type: string + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Identity: + description: The application-defined string that uniquely identifies + the resource's User within the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource). + This value is often a username or an email address, and is case-sensitive. + type: string + FriendlyName: + description: The string that you assigned to describe the resource. + type: string + Attributes: + description: The JSON Object string that stores application-specific + data. If attributes have not been set, `{}` is returned. + type: string + RoleSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ + description: The SID of a service-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) + to assign to the user. + required: + - Identity + title: CreateUserRequest + type: object responses: - '204': - description: The resource was deleted successfully. + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/conversations.v1.user' + description: Created security: - accountSid_authToken: [] x-maturity: - GA - description: A User resource represents a conversation user belonging to a default - conversation service. get: - description: Fetch a conversation user from your account's default service - operationId: FetchUser + description: Retrieve a list of all conversation users in your account's default + service + operationId: ListUser parameters: - - description: The SID of the User resource to fetch. This value can be either - the `sid` or the `identity` of the User resource to fetch. - in: path - name: Sid - required: true + - description: How many resources to return in each list page. The default is + 50, and the maximum is 1000. + in: query + name: PageSize schema: - type: string + maximum: 1000 + minimum: 1 + type: integer responses: '200': content: application/json: schema: - $ref: '#/components/schemas/conversations.v1.user' + type: object + title: ListUserResponse + properties: + users: + type: array + items: + $ref: '#/components/schemas/conversations.v1.user' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Users/{Sid}: + servers: + - url: https://conversations.twilio.com + description: A User resource represents a conversation user belonging to a default + conversation service. + x-twilio: + defaultOutputProperties: + - sid + - identity + pathType: instance post: description: Update an existing conversation user in your account's default service @@ -7293,29 +7234,29 @@ paths: in: header name: X-Twilio-Webhook-Enabled schema: + type: string enum: - 'true' - 'false' - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: + FriendlyName: + description: The string that you assigned to describe the resource. + type: string Attributes: description: The JSON Object string that stores application-specific data. If attributes have not been set, `{}` is returned. type: string - FriendlyName: - description: The string that you assigned to describe the resource. - type: string RoleSid: - description: The SID of a service-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) - to assign to the user. - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string + description: The SID of a service-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) + to assign to the user. title: UpdateUserRequest type: object responses: @@ -7329,89 +7270,72 @@ paths: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://conversations.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - identity - pathType: instance - /v1/Users/{UserSid}/Conversations: - description: A User Conversation resource represents a conversation of the user - belonging to a default conversation service. - get: - description: Retrieve a list of all User Conversations for the User. - operationId: ListUserConversation + delete: + description: Remove a conversation user from your account's default service + operationId: DeleteUser parameters: - - description: The unique SID identifier of the [User resource](https://www.twilio.com/docs/conversations/api/user-resource). - This value can be either the `sid` or the `identity` of the User resource. + - description: The SID of the User resource to delete. This value can be either + the `sid` or the `identity` of the User resource to delete. in: path - name: UserSid + name: Sid required: true schema: 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 + - description: The X-Twilio-Webhook-Enabled HTTP request header + in: header + name: X-Twilio-Webhook-Enabled schema: - maximum: 1000 - minimum: 1 - type: integer + type: string + enum: + - 'true' + - 'false' + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + get: + description: Fetch a conversation user from your account's default service + operationId: FetchUser + parameters: + - description: The SID of the User resource to fetch. This value can be either + the `sid` or the `identity` of the User resource to fetch. + in: path + name: Sid + required: true + schema: + type: string responses: '200': content: application/json: schema: - properties: - conversations: - items: - $ref: '#/components/schemas/conversations.v1.user.user_conversation' - type: array - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - title: ListUserConversationResponse - type: object + $ref: '#/components/schemas/conversations.v1.user' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Users/{UserSid}/Conversations/{ConversationSid}: servers: - url: https://conversations.twilio.com + description: A User Conversation resource represents a conversation of the user + belonging to a default conversation service. x-twilio: - className: user_conversation defaultOutputProperties: - conversation_sid - user_sid - chat_service_sid - friendly_name - date_created + pathType: instance parent: /Users - pathType: list - /v1/Users/{UserSid}/Conversations/{ConversationSid}: - delete: - description: Delete a specific User Conversation. - operationId: DeleteUserConversation + className: user_conversation + post: + description: Update a specific User Conversation. + operationId: UpdateUserConversation parameters: - description: The unique SID identifier of the [User resource](https://www.twilio.com/docs/conversations/api/user-resource). This value can be either the `sid` or the `identity` of the User resource. @@ -7427,18 +7351,44 @@ paths: required: true schema: type: string + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + NotificationLevel: + type: string + enum: + - default + - muted + description: The Notification Level of this User Conversation. One + of `default` or `muted`. + LastReadTimestamp: + type: string + format: date-time + description: The date of the last message read in conversation by + the user, given in ISO 8601 format. + LastReadMessageIndex: + description: The index of the last Message in the Conversation that + the Participant has read. + nullable: true + type: integer + title: UpdateUserConversationRequest + type: object responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/conversations.v1.user.user_conversation' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - description: A User Conversation resource represents a conversation of the user - belonging to a default conversation service. - get: - description: Fetch a specific User Conversation. - operationId: FetchUserConversation + delete: + description: Delete a specific User Conversation. + operationId: DeleteUserConversation parameters: - description: The unique SID identifier of the [User resource](https://www.twilio.com/docs/conversations/api/user-resource). This value can be either the `sid` or the `identity` of the User resource. @@ -7455,19 +7405,15 @@ paths: schema: type: string responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/conversations.v1.user.user_conversation' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA - post: - description: Update a specific User Conversation. - operationId: UpdateUserConversation + get: + description: Fetch a specific User Conversation. + operationId: FetchUserConversation parameters: - description: The unique SID identifier of the [User resource](https://www.twilio.com/docs/conversations/api/user-resource). This value can be either the `sid` or the `identity` of the User resource. @@ -7483,30 +7429,6 @@ paths: required: true schema: type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - LastReadMessageIndex: - description: The index of the last Message in the Conversation that - the Participant has read. - nullable: true - type: integer - LastReadTimestamp: - description: The date of the last message read in conversation by - the user, given in ISO 8601 format. - format: date-time - type: string - NotificationLevel: - description: The Notification Level of this User Conversation. One - of `default` or `muted`. - enum: - - default - - muted - type: string - title: UpdateUserConversationRequest - type: object responses: '200': content: @@ -7518,20 +7440,80 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Users/{UserSid}/Conversations: servers: - url: https://conversations.twilio.com + description: A User Conversation resource represents a conversation of the user + belonging to a default conversation service. x-twilio: - className: user_conversation defaultOutputProperties: - conversation_sid - user_sid - chat_service_sid - friendly_name - date_created + pathType: list parent: /Users - pathType: instance + className: user_conversation + get: + description: Retrieve a list of all User Conversations for the User. + operationId: ListUserConversation + parameters: + - description: The unique SID identifier of the [User resource](https://www.twilio.com/docs/conversations/api/user-resource). + This value can be either the `sid` or the `identity` of the User resource. + in: path + name: UserSid + required: true + schema: + 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListUserConversationResponse + properties: + conversations: + type: array + items: + $ref: '#/components/schemas/conversations.v1.user.user_conversation' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA servers: - url: https://conversations.twilio.com x-maturity: -- description: This product is Generally Available. - name: GA +- name: GA + description: This product is Generally Available. diff --git a/spec/yaml/twilio_events_v1.yaml b/spec/yaml/twilio_events_v1.yaml index d655b6fd..b578e0fd 100644 --- a/spec/yaml/twilio_events_v1.yaml +++ b/spec/yaml/twilio_events_v1.yaml @@ -1,17 +1,18 @@ components: schemas: events.v1.event_type: + type: object properties: date_created: - description: The date this Event Type was created. + type: string format: date-time nullable: true - type: string + description: The date this Event Type was created. date_updated: - description: The date this Event Type was updated. + type: string format: date-time nullable: true - type: string + description: The date this Event Type was updated. description: description: Event Type description. nullable: true @@ -33,8 +34,8 @@ components: format: uri nullable: true type: string - type: object events.v1.schema: + type: object properties: id: description: Schema Identifier. @@ -45,10 +46,10 @@ components: nullable: true type: integer latest_version_date_created: - description: The date that the latest schema version was created. + type: string format: date-time nullable: true - type: string + description: The date that the latest schema version was created. links: description: Nested resource URLs. format: uri-map @@ -59,14 +60,14 @@ components: format: uri nullable: true type: string - type: object events.v1.schema.schema_version: + type: object properties: date_created: - description: The date the schema version was created. + type: string format: date-time nullable: true - type: string + description: The date the schema version was created. id: description: The unique identifier of the schema. nullable: true @@ -84,19 +85,19 @@ components: format: uri nullable: true type: string - type: object events.v1.sink: + type: object properties: date_created: - description: The date this Sink was created + type: string format: date-time nullable: true - type: string + description: The date this Sink was created date_updated: - description: The date this Sink was updated + type: string format: date-time nullable: true - type: string + description: The date this Sink was updated description: description: Sink Description nullable: true @@ -107,71 +108,101 @@ components: nullable: true type: object sid: - description: A string that uniquely identifies this Sink. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^DG[0-9a-fA-F]{32}$ - type: string + nullable: true + description: A string that uniquely identifies this Sink. sink_configuration: - description: JSON Sink configuration. nullable: true + description: JSON Sink configuration. sink_type: - description: Sink type. + type: string enum: - kinesis - webhook - segment nullable: true - type: string + description: Sink type. status: - description: The Status of this Sink + type: string enum: - initialized - validating - active - failed nullable: true - type: string + description: The Status of this Sink url: description: The URL of this resource. format: uri nullable: true type: string - type: object events.v1.sink.sink_test: + type: object properties: result: description: Feedback indicating whether the test event was generated. nullable: true type: string - type: object events.v1.sink.sink_validate: + type: object properties: result: description: Feedback indicating whether the given Sink was validated. nullable: true type: string + events.v1.subscription.subscribed_event: type: object - events.v1.subscription: properties: account_sid: - description: Account SID. + type: string + minLength: 34 maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: Account SID. + schema_version: + description: The schema version that the subscription should use. + nullable: true + type: integer + subscription_sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^DF[0-9a-fA-F]{32}$ nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ + description: Subscription SID. + type: + description: Type of event being subscribed to. + nullable: true + type: string + url: + description: The URL of this resource. + format: uri + nullable: true + type: string + events.v1.subscription: + type: object + properties: + account_sid: type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: Account SID. date_created: - description: The date this Subscription was created + type: string format: date-time nullable: true - type: string + description: The date this Subscription was created date_updated: - description: The date this Subscription was updated + type: string format: date-time nullable: true - type: string + description: The date this Subscription was updated description: description: Subscription description nullable: true @@ -182,55 +213,24 @@ components: nullable: true type: object sid: - description: A string that uniquely identifies this Subscription. - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^DF[0-9a-fA-F]{32}$ type: string - sink_sid: - description: Sink SID. - maxLength: 34 minLength: 34 - nullable: true - pattern: ^DG[0-9a-fA-F]{32}$ - type: string - url: - description: The URL of this resource. - format: uri - nullable: true - type: string - type: object - events.v1.subscription.subscribed_event: - properties: - account_sid: - description: Account SID. maxLength: 34 - minLength: 34 + pattern: ^DF[0-9a-fA-F]{32}$ nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ + description: A string that uniquely identifies this Subscription. + sink_sid: type: string - schema_version: - description: The schema version that the subscription should use. - nullable: true - type: integer - subscription_sid: - description: Subscription SID. - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^DG[0-9a-fA-F]{32}$ nullable: true - pattern: ^DF[0-9a-fA-F]{32}$ - type: string - type: - description: Type of event being subscribed to. - nullable: true - type: string + description: Sink SID. url: description: The URL of this resource. format: uri nullable: true type: string - type: object securitySchemes: accountSid_authToken: scheme: basic @@ -249,47 +249,25 @@ info: version: 1.30.0 openapi: 3.0.1 paths: - /v1/Schemas/{Id}: - description: Versioned Schema definitions for Event Types - get: - description: Fetch a specific schema with its nested versions. - operationId: FetchSchema - parameters: - - description: The unique identifier of the schema. Each schema can have multiple - versions, that share the same id. - in: path - name: Id - required: true - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/events.v1.schema' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - Beta + /v1/Types: servers: - url: https://events.twilio.com + description: Event Types available x-twilio: defaultOutputProperties: - - id - pathType: instance - /v1/Schemas/{Id}/Versions: - description: Version of the Schema + - type + - schema_id + - description + pathType: list + className: event_type get: - description: Retrieve a paginated list of versions of the schema. - operationId: ListSchemaVersion + description: Retrieve a paginated list of all the available Event Types. + operationId: ListEventType parameters: - - description: The unique identifier of the schema. Each schema can have multiple - versions, that share the same id. - in: path - name: Id - required: true + - description: A string parameter filtering the results to return only the Event + Types using a given schema. + in: query + name: SchemaId schema: type: string - description: How many resources to return in each list page. The default is @@ -305,14 +283,19 @@ paths: content: application/json: schema: + type: object + title: ListEventTypeResponse properties: + types: + type: array + items: + $ref: '#/components/schemas/events.v1.event_type' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -326,85 +309,96 @@ paths: url: format: uri type: string - type: object - schema_versions: - items: - $ref: '#/components/schemas/events.v1.schema.schema_version' - type: array - title: ListSchemaVersionResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - Beta + /v1/Types/{Type}: servers: - url: https://events.twilio.com + description: Event Types available x-twilio: - className: schema_version defaultOutputProperties: - - id - - schema_version - - date_created - parent: /Schemas - pathType: list - /v1/Schemas/{Id}/Versions/{SchemaVersion}: - description: Version of the Schema + - type + - schema_id + - description + pathType: instance + className: event_type get: - description: Fetch a specific schema and version. - operationId: FetchSchemaVersion + description: Fetch a specific Event Type. + operationId: FetchEventType parameters: - - description: The unique identifier of the schema. Each schema can have multiple - versions, that share the same id. + - description: A string that uniquely identifies this Event Type. in: path - name: Id + name: Type required: true schema: type: string - - description: The version of the schema - in: path - name: SchemaVersion - required: true - schema: - type: integer responses: '200': content: application/json: schema: - $ref: '#/components/schemas/events.v1.schema.schema_version' + $ref: '#/components/schemas/events.v1.event_type' description: OK security: - accountSid_authToken: [] x-maturity: - Beta + /v1/Schemas/{Id}: servers: - url: https://events.twilio.com + description: Versioned Schema definitions for Event Types x-twilio: - className: schema_version defaultOutputProperties: - id - - schema_version - - date_created - parent: /Schemas pathType: instance - /v1/Sinks: - description: Sink destination to send events to get: - description: Retrieve a paginated list of Sinks belonging to the account used - to make the request. - operationId: ListSink + description: Fetch a specific schema with its nested versions. + operationId: FetchSchema parameters: - - description: A boolean query parameter filtering the results to return sinks - used/not used by a subscription. - in: query - name: InUse - schema: - type: boolean - - description: A String query parameter filtering the results by status `initialized`, - `validating`, `active` or `failed`. - in: query - name: Status + - description: The unique identifier of the schema. Each schema can have multiple + versions, that share the same id. + in: path + name: Id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/events.v1.schema' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - Beta + /v1/Schemas/{Id}/Versions: + servers: + - url: https://events.twilio.com + description: Version of the Schema + x-twilio: + defaultOutputProperties: + - id + - schema_version + - date_created + pathType: list + parent: /Schemas + className: schema_version + get: + description: Retrieve a paginated list of versions of the schema. + operationId: ListSchemaVersion + parameters: + - description: The unique identifier of the schema. Each schema can have multiple + versions, that share the same id. + in: path + name: Id + required: true schema: type: string - description: How many resources to return in each list page. The default is @@ -420,14 +414,19 @@ paths: content: application/json: schema: + type: object + title: ListSchemaVersionResponse properties: + schema_versions: + type: array + items: + $ref: '#/components/schemas/events.v1.schema.schema_version' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -441,59 +440,57 @@ paths: url: format: uri type: string - type: object - sinks: - items: - $ref: '#/components/schemas/events.v1.sink' - type: array - title: ListSinkResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - Beta - post: - description: Create a new Sink - operationId: CreateSink - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Description: - description: A human readable description for the Sink **This value - should not contain PII.** - type: string - SinkConfiguration: - description: The information required for Twilio to connect to the - provided Sink encoded as JSON. - SinkType: - description: The Sink type. Can only be "kinesis" or "webhook" currently. - enum: - - kinesis - - webhook - - segment - type: string - required: - - Description - - SinkConfiguration - - SinkType - title: CreateSinkRequest - type: object + /v1/Schemas/{Id}/Versions/{SchemaVersion}: + servers: + - url: https://events.twilio.com + description: Version of the Schema + x-twilio: + defaultOutputProperties: + - id + - schema_version + - date_created + pathType: instance + parent: /Schemas + className: schema_version + get: + description: Fetch a specific schema and version. + operationId: FetchSchemaVersion + parameters: + - description: The unique identifier of the schema. Each schema can have multiple + versions, that share the same id. + in: path + name: Id + required: true + schema: + type: string + - description: The version of the schema + in: path + name: SchemaVersion + required: true + schema: + type: integer responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/events.v1.sink' - description: Created + $ref: '#/components/schemas/events.v1.schema.schema_version' + description: OK security: - accountSid_authToken: [] x-maturity: - Beta + /v1/Sinks/{Sid}: servers: - url: https://events.twilio.com + description: Sink destination to send events to x-twilio: defaultOutputProperties: - date_created @@ -503,49 +500,47 @@ paths: - sink_configuration - sink_type - status - pathType: list - /v1/Sinks/{Sid}: - delete: - description: Delete a specific Sink. - operationId: DeleteSink + pathType: instance + get: + description: Fetch a specific Sink. + operationId: FetchSink parameters: - description: A 34 character string that uniquely identifies this Sink. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^DG[0-9a-fA-F]{32}$ - type: string responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/events.v1.sink' + description: OK security: - accountSid_authToken: [] x-maturity: - Beta - description: Sink destination to send events to - get: - description: Fetch a specific Sink. - operationId: FetchSink + delete: + description: Delete a specific Sink. + operationId: DeleteSink parameters: - description: A 34 character string that uniquely identifies this Sink. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^DG[0-9a-fA-F]{32}$ - type: string responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/events.v1.sink' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: @@ -559,10 +554,10 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^DG[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: @@ -587,8 +582,10 @@ paths: - accountSid_authToken: [] x-maturity: - Beta + /v1/Sinks: servers: - url: https://events.twilio.com + description: Sink destination to send events to x-twilio: defaultOutputProperties: - date_created @@ -598,105 +595,62 @@ paths: - sink_configuration - sink_type - status - pathType: instance - /v1/Sinks/{Sid}/Test: - description: Test sink - post: - description: Create a new Sink Test Event for the given Sink. - operationId: CreateSinkTest - parameters: - - description: A 34 character string that uniquely identifies the Sink to be - Tested. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^DG[0-9a-fA-F]{32}$ - type: string - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/events.v1.sink.sink_test' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - Beta - servers: - - url: https://events.twilio.com - x-twilio: - className: sink_test - defaultOutputProperties: - - result - parent: /Sinks pathType: list - /v1/Sinks/{Sid}/Validate: - description: Validate sink post: - description: Validate that a test event for a Sink was received. - operationId: CreateSinkValidate - parameters: - - description: A 34 character string that uniquely identifies the Sink being - validated. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^DG[0-9a-fA-F]{32}$ - type: string + description: Create a new Sink + operationId: CreateSink requestBody: content: application/x-www-form-urlencoded: schema: properties: - TestId: - description: A 34 character string that uniquely identifies the - test event for a Sink being validated. + Description: + description: A human readable description for the Sink **This value + should not contain PII.** type: string + SinkConfiguration: + description: The information required for Twilio to connect to the + provided Sink encoded as JSON. + SinkType: + type: string + enum: + - kinesis + - webhook + - segment + description: The Sink type. Can only be "kinesis" or "webhook" currently. required: - - TestId - title: CreateSinkValidateRequest + - Description + - SinkConfiguration + - SinkType + title: CreateSinkRequest type: object responses: '201': content: application/json: schema: - $ref: '#/components/schemas/events.v1.sink.sink_validate' + $ref: '#/components/schemas/events.v1.sink' description: Created security: - accountSid_authToken: [] x-maturity: - Beta - servers: - - url: https://events.twilio.com - x-twilio: - className: sink_validate - defaultOutputProperties: - - result - parent: /Sinks - pathType: list - /v1/Subscriptions: - description: Subscription to send Event Types to a Sink get: - description: Retrieve a paginated list of Subscriptions belonging to the account - used to make the request. - operationId: ListSubscription + description: Retrieve a paginated list of Sinks belonging to the account used + to make the request. + operationId: ListSink parameters: - - description: The SID of the sink that the list of Subscriptions should be - filtered by. + - description: A boolean query parameter filtering the results to return sinks + used/not used by a subscription. in: query - name: SinkSid + name: InUse + schema: + type: boolean + - description: A String query parameter filtering the results by status `initialized`, + `validating`, `active` or `failed`. + in: query + name: Status schema: - maxLength: 34 - minLength: 34 - pattern: ^DG[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. @@ -711,14 +665,19 @@ paths: content: application/json: schema: + type: object + title: ListSinkResponse properties: + sinks: + type: array + items: + $ref: '#/components/schemas/events.v1.sink' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -732,170 +691,108 @@ paths: url: format: uri type: string - type: object - subscriptions: - items: - $ref: '#/components/schemas/events.v1.subscription' - type: array - title: ListSubscriptionResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - Beta - post: - description: Create a new Subscription. - operationId: CreateSubscription - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Description: - description: A human readable description for the Subscription **This - value should not contain PII.** - type: string - SinkSid: - description: The SID of the sink that events selected by this subscription - should be sent to. Sink must be active for the subscription to - be created. - maxLength: 34 - minLength: 34 - pattern: ^DG[0-9a-fA-F]{32}$ - type: string - Types: - description: An array of objects containing the subscribed Event - Types - items: {} - type: array - required: - - Description - - SinkSid - - Types - title: CreateSubscriptionRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/events.v1.subscription' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - Beta + /v1/Sinks/{Sid}/Test: servers: - url: https://events.twilio.com + description: Test sink x-twilio: defaultOutputProperties: - - account_sid - - sid - - sink_sid - - date_created - - date_updated + - result pathType: list - /v1/Subscriptions/{Sid}: - delete: - description: Delete a specific Subscription. - operationId: DeleteSubscription + parent: /Sinks + className: sink_test + post: + description: Create a new Sink Test Event for the given Sink. + operationId: CreateSinkTest parameters: - - description: A 34 character string that uniquely identifies this Subscription. + - description: A 34 character string that uniquely identifies the Sink to be + Tested. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^DF[0-9a-fA-F]{32}$ type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - Beta - description: Subscription to send Event Types to a Sink - get: - description: Fetch a specific Subscription. - operationId: FetchSubscription - parameters: - - description: A 34 character string that uniquely identifies this Subscription. - in: path - name: Sid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^DF[0-9a-fA-F]{32}$ - type: string + maxLength: 34 + pattern: ^DG[0-9a-fA-F]{32}$ responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/events.v1.subscription' - description: OK + $ref: '#/components/schemas/events.v1.sink.sink_test' + description: Created security: - accountSid_authToken: [] x-maturity: - Beta + /v1/Sinks/{Sid}/Validate: + servers: + - url: https://events.twilio.com + description: Validate sink + x-twilio: + defaultOutputProperties: + - result + pathType: list + parent: /Sinks + className: sink_validate post: - description: Update a Subscription. - operationId: UpdateSubscription + description: Validate that a test event for a Sink was received. + operationId: CreateSinkValidate parameters: - - description: A 34 character string that uniquely identifies this Subscription. + - description: A 34 character string that uniquely identifies the Sink being + validated. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^DF[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^DG[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - Description: - description: A human readable description for the Subscription. - type: string - SinkSid: - description: The SID of the sink that events selected by this subscription - should be sent to. Sink must be active for the subscription to - be created. - maxLength: 34 - minLength: 34 - pattern: ^DG[0-9a-fA-F]{32}$ + TestId: + description: A 34 character string that uniquely identifies the + test event for a Sink being validated. type: string - title: UpdateSubscriptionRequest + required: + - TestId + title: CreateSinkValidateRequest type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/events.v1.subscription' - description: OK + $ref: '#/components/schemas/events.v1.sink.sink_validate' + description: Created security: - accountSid_authToken: [] x-maturity: - Beta + /v1/Subscriptions/{SubscriptionSid}/SubscribedEvents: servers: - url: https://events.twilio.com + description: Event subscribed to in the parent subscription x-twilio: defaultOutputProperties: + - type + - schema_version - account_sid - - sid - - sink_sid - - date_created - - date_updated - pathType: instance - /v1/Subscriptions/{SubscriptionSid}/SubscribedEvents: - description: Event subscribed to in the parent subscription + - subscription_sid + pathType: list + parent: /Subscriptions get: description: Retrieve a list of all Subscribed Event types for a Subscription. operationId: ListSubscribedEvent @@ -905,10 +802,10 @@ paths: name: SubscriptionSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^DF[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 @@ -922,14 +819,19 @@ paths: content: application/json: schema: + type: object + title: ListSubscribedEventResponse properties: + types: + type: array + items: + $ref: '#/components/schemas/events.v1.subscription.subscribed_event' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -943,13 +845,8 @@ paths: url: format: uri type: string - type: object - types: - items: - $ref: '#/components/schemas/events.v1.subscription.subscribed_event' - type: array - title: ListSubscribedEventResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] @@ -964,21 +861,21 @@ paths: name: SubscriptionSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^DF[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - SchemaVersion: - description: The schema version that the subscription should use. - type: integer Type: description: Type of event being subscribed to. type: string + SchemaVersion: + description: The schema version that the subscription should use. + type: integer required: - Type title: CreateSubscribedEventRequest @@ -994,44 +891,18 @@ paths: - accountSid_authToken: [] x-maturity: - Beta + /v1/Subscriptions/{SubscriptionSid}/SubscribedEvents/{Type}: servers: - url: https://events.twilio.com + description: Event subscribed to in the parent subscription x-twilio: defaultOutputProperties: - type - schema_version - account_sid - subscription_sid + pathType: instance parent: /Subscriptions - pathType: list - /v1/Subscriptions/{SubscriptionSid}/SubscribedEvents/{Type}: - delete: - description: Remove an event type from a subscription. - operationId: DeleteSubscribedEvent - parameters: - - description: The unique SID identifier of the Subscription. - in: path - name: SubscriptionSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^DF[0-9a-fA-F]{32}$ - type: string - - description: Type of event being subscribed to. - in: path - name: Type - required: true - schema: - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - Beta - description: Event subscribed to in the parent subscription get: description: Read an Event for a Subscription. operationId: FetchSubscribedEvent @@ -1041,10 +912,10 @@ paths: name: SubscriptionSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^DF[0-9a-fA-F]{32}$ - type: string - description: Type of event being subscribed to. in: path name: Type @@ -1071,10 +942,10 @@ paths: name: SubscriptionSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^DF[0-9a-fA-F]{32}$ - type: string - description: Type of event being subscribed to. in: path name: Type @@ -1102,28 +973,58 @@ paths: - accountSid_authToken: [] x-maturity: - Beta + delete: + description: Remove an event type from a subscription. + operationId: DeleteSubscribedEvent + parameters: + - description: The unique SID identifier of the Subscription. + in: path + name: SubscriptionSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^DF[0-9a-fA-F]{32}$ + - description: Type of event being subscribed to. + in: path + name: Type + required: true + schema: + type: string + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - Beta + /v1/Subscriptions: servers: - url: https://events.twilio.com + description: Subscription to send Event Types to a Sink x-twilio: defaultOutputProperties: - - type - - schema_version - account_sid - - subscription_sid - parent: /Subscriptions - pathType: instance - /v1/Types: - description: Event Types available + - sid + - sink_sid + - date_created + - date_updated + pathType: list get: - description: Retrieve a paginated list of all the available Event Types. - operationId: ListEventType + description: Retrieve a paginated list of Subscriptions belonging to the account + used to make the request. + operationId: ListSubscription parameters: - - description: A string parameter filtering the results to return only the Event - Types using a given schema. + - description: The SID of the sink that the list of Subscriptions should be + filtered by. in: query - name: SchemaId + name: SinkSid schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^DG[0-9a-fA-F]{32}$ - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -1137,14 +1038,19 @@ paths: content: application/json: schema: + type: object + title: ListSubscriptionResponse properties: + subscriptions: + type: array + items: + $ref: '#/components/schemas/events.v1.subscription' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1158,62 +1064,156 @@ paths: url: format: uri type: string - type: object - types: - items: - $ref: '#/components/schemas/events.v1.event_type' - type: array - title: ListEventTypeResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - Beta + post: + description: Create a new Subscription. + operationId: CreateSubscription + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Description: + description: A human readable description for the Subscription **This + value should not contain PII.** + type: string + SinkSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^DG[0-9a-fA-F]{32}$ + description: The SID of the sink that events selected by this subscription + should be sent to. Sink must be active for the subscription to + be created. + Types: + type: array + items: {} + description: An array of objects containing the subscribed Event + Types + required: + - Description + - SinkSid + - Types + title: CreateSubscriptionRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/events.v1.subscription' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - Beta + /v1/Subscriptions/{Sid}: servers: - url: https://events.twilio.com + description: Subscription to send Event Types to a Sink x-twilio: - className: event_type defaultOutputProperties: - - type - - schema_id - - description - pathType: list - /v1/Types/{Type}: - description: Event Types available + - account_sid + - sid + - sink_sid + - date_created + - date_updated + pathType: instance get: - description: Fetch a specific Event Type. - operationId: FetchEventType + description: Fetch a specific Subscription. + operationId: FetchSubscription parameters: - - description: A string that uniquely identifies this Event Type. + - description: A 34 character string that uniquely identifies this Subscription. in: path - name: Type + name: Sid required: true schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^DF[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/events.v1.event_type' + $ref: '#/components/schemas/events.v1.subscription' description: OK security: - accountSid_authToken: [] x-maturity: - Beta - servers: - - url: https://events.twilio.com - x-twilio: - className: event_type - defaultOutputProperties: - - type - - schema_id - - description - pathType: instance + post: + description: Update a Subscription. + operationId: UpdateSubscription + parameters: + - description: A 34 character string that uniquely identifies this Subscription. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^DF[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Description: + description: A human readable description for the Subscription. + type: string + SinkSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^DG[0-9a-fA-F]{32}$ + description: The SID of the sink that events selected by this subscription + should be sent to. Sink must be active for the subscription to + be created. + title: UpdateSubscriptionRequest + type: object + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/events.v1.subscription' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - Beta + delete: + description: Delete a specific Subscription. + operationId: DeleteSubscription + parameters: + - description: A 34 character string that uniquely identifies this Subscription. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^DF[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - Beta servers: - url: https://events.twilio.com x-maturity: -- description: PLEASE NOTE that this is a Beta product that is subject to change. +- name: Beta + description: PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution. - name: Beta diff --git a/spec/yaml/twilio_flex_v1.yaml b/spec/yaml/twilio_flex_v1.yaml index 918f0c89..11218cc4 100644 --- a/spec/yaml/twilio_flex_v1.yaml +++ b/spec/yaml/twilio_flex_v1.yaml @@ -1,73 +1,74 @@ components: schemas: flex.v1.channel: + type: object properties: account_sid: - description: The SID of the Account that created the resource and owns this - Workflow - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource and owns this + Workflow date_created: + type: string + format: date-time + nullable: true description: The ISO 8601 date and time in GMT when the Flex chat channel was created + date_updated: + type: string format: date-time nullable: true - type: string - date_updated: description: The ISO 8601 date and time in GMT when the Flex chat channel was last updated - format: date-time - nullable: true - type: string flex_flow_sid: - description: The SID of the Flex Flow - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^FO[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Flex Flow sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource task_sid: - description: The SID of the TaskRouter Task - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WT[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the TaskRouter Task url: description: The absolute URL of the Flex chat channel resource format: uri nullable: true type: string user_sid: - description: The SID of the chat user - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^US[0-9a-fA-F]{32}$ - type: string - type: object + nullable: true + description: The SID of the chat user flex.v1.configuration: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource attributes: - description: An object that contains application-specific data nullable: true + description: An object that contains application-specific data call_recording_enabled: description: Whether call recording is enabled nullable: true @@ -78,20 +79,20 @@ components: nullable: true type: string channel_configs: - description: Flex Conversations channels' attachments configurations + type: array items: {} nullable: true - type: array + description: Flex Conversations channels' attachments configurations chat_service_instance_sid: - description: The SID of the chat service this user belongs to - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the chat service this user belongs to crm_attributes: - description: An object that contains the CRM attributes nullable: true + description: An object that contains the CRM attributes crm_callback_url: description: The CRM Callback URL format: uri @@ -111,149 +112,149 @@ components: nullable: true type: string date_created: + type: string + format: date-time + nullable: true description: The ISO 8601 date and time in GMT when the Configuration resource was created + date_updated: + type: string format: date-time nullable: true - type: string - date_updated: description: The ISO 8601 date and time in GMT when the Configuration resource was last updated - format: date-time - nullable: true - type: string flex_insights_drilldown: description: Setting to enable Flex UI redirection nullable: true type: boolean flex_insights_hr: - description: Object that controls workspace reporting nullable: true + description: Object that controls workspace reporting flex_service_instance_sid: - description: The SID of the Flex service instance - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Flex service instance flex_url: description: URL to redirect to in case drilldown is enabled. format: uri nullable: true type: string integrations: - description: A list of objects that contain the configurations for the Integrations - supported in this configuration + type: array items: {} nullable: true - type: array + description: A list of objects that contain the configurations for the Integrations + supported in this configuration markdown: - description: Configurable parameters for Markdown nullable: true + description: Configurable parameters for Markdown messaging_service_instance_sid: - description: The SID of the Messaging service instance - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^MG[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Messaging service instance notifications: - description: Configurable parameters for Notifications nullable: true + description: Configurable parameters for Notifications outbound_call_flows: - description: The list of outbound call flows nullable: true + description: The list of outbound call flows plugin_service_attributes: - description: The plugin service attributes nullable: true + description: The plugin service attributes plugin_service_enabled: description: Whether the plugin service enabled nullable: true type: boolean public_attributes: - description: The list of public attributes nullable: true + description: The list of public attributes queue_stats_configuration: - description: Configurable parameters for Queues Statistics nullable: true + description: Configurable parameters for Queues Statistics runtime_domain: description: The URL where the Flex instance is hosted format: uri nullable: true type: string serverless_service_sids: - description: The list of serverless service SIDs + type: array items: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^ZS[0-9a-fA-F]{32}$ - type: string nullable: true - type: array + description: The list of serverless service SIDs service_version: description: The Flex Service version nullable: true type: string status: - description: The status of the Flex onboarding + type: string enum: - ok - inprogress - notstarted nullable: true - type: string + description: The status of the Flex onboarding taskrouter_offline_activity_sid: - description: The TaskRouter SID of the offline activity - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The TaskRouter SID of the offline activity taskrouter_skills: - description: The Skill description for TaskRouter workers + type: array items: {} nullable: true - type: array + description: The Skill description for TaskRouter workers taskrouter_target_taskqueue_sid: - description: The SID of the TaskRouter Target TaskQueue - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WQ[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the TaskRouter Target TaskQueue taskrouter_target_workflow_sid: - description: The SID of the TaskRouter target Workflow - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WW[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the TaskRouter target Workflow taskrouter_taskqueues: - description: The list of TaskRouter TaskQueues + type: array items: {} nullable: true - type: array + description: The list of TaskRouter TaskQueues taskrouter_worker_attributes: - description: The TaskRouter Worker attributes nullable: true + description: The TaskRouter Worker attributes taskrouter_worker_channels: + nullable: true description: The TaskRouter default channel capacities and availability for workers - nullable: true taskrouter_workspace_sid: - description: The SID of the TaskRouter Workspace - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the TaskRouter Workspace ui_attributes: - description: The object that describes Flex UI characteristics and settings nullable: true + description: The object that describes Flex UI characteristics and settings ui_dependencies: + nullable: true description: The object that defines the NPM packages and versions to be used in Hosted Flex - nullable: true ui_language: description: The primary language of the Flex UI nullable: true @@ -267,18 +268,18 @@ components: format: uri nullable: true type: string - type: object flex.v1.flex_flow: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource channel_type: - description: The channel type + type: string enum: - web - sms @@ -287,29 +288,29 @@ components: - line - custom nullable: true - type: string + description: The channel type chat_service_sid: - description: The SID of the chat service - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the chat service contact_identity: description: The channel contact's Identity nullable: true type: string date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated enabled: description: Whether the Flex Flow is enabled nullable: true @@ -319,16 +320,16 @@ components: nullable: true type: string integration: - description: An object that contains specific parameters for the integration nullable: true + description: An object that contains specific parameters for the integration integration_type: - description: The software that will handle inbound messages. + type: string enum: - studio - external - task nullable: true - type: string + description: The software that will handle inbound messages. janitor_enabled: description: Remove active Proxy sessions if the corresponding Task is deleted. nullable: true @@ -338,65 +339,65 @@ components: nullable: true type: boolean sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^FO[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource url: description: The absolute URL of the Flex Flow resource format: uri nullable: true type: string - type: object flex.v1.interaction: + type: object properties: channel: - description: The Interaction's channel nullable: true + description: The Interaction's channel links: format: uri-map nullable: true type: object routing: + nullable: true description: A JSON Object representing the routing rules for the Interaction Channel - nullable: true sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^KD[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource url: format: uri nullable: true type: string - type: object flex.v1.interaction.interaction_channel: + type: object properties: interaction_sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^KD[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource links: format: uri-map nullable: true type: object sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^UO[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource type: - description: The Interaction Channel's type. + type: string enum: - voice - sms @@ -405,69 +406,69 @@ components: - whatsapp - chat nullable: true - type: string + description: The Interaction Channel's type. url: format: uri nullable: true type: string - type: object flex.v1.interaction.interaction_channel.interaction_channel_invite: + type: object properties: channel_sid: - description: The Channel SID for this Invite - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^UO[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The Channel SID for this Invite interaction_sid: - description: The Interaction SID for this Channel - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^KD[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The Interaction SID for this Channel routing: + nullable: true description: A JSON object representing the routing rules for the Interaction Channel - nullable: true sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^KG[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource url: format: uri nullable: true type: string - type: object flex.v1.interaction.interaction_channel.interaction_channel_participant: + type: object properties: channel_sid: - description: The Channel Sid for this Participant. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^UO[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The Channel Sid for this Participant. interaction_sid: - description: The Interaction Sid for this channel. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^KD[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The Interaction Sid for this channel. sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^UT[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource type: - description: Participant type. + type: string enum: - supervisor - customer @@ -475,53 +476,52 @@ components: - agent - unknown nullable: true - type: string + description: Participant type. url: format: uri nullable: true type: string - type: object flex.v1.web_channel: + type: object properties: account_sid: - description: The SID of the Account that created the resource and owns this - Workflow - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource and owns this + Workflow date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated flex_flow_sid: - description: The SID of the Flex Flow - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^FO[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Flex Flow sid: - description: The unique string that identifies the WebChannel resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the WebChannel resource url: description: The absolute URL of the WebChannel resource format: uri nullable: true type: string - type: object securitySchemes: accountSid_authToken: scheme: basic @@ -541,7 +541,16 @@ info: openapi: 3.0.1 paths: /v1/Channels: + servers: + - url: https://flex-api.twilio.com description: Flex chat channels + x-twilio: + defaultOutputProperties: + - sid + - flex_flow_sid + - user_sid + - task_sid + pathType: list get: description: '' operationId: ListChannel @@ -559,18 +568,19 @@ paths: content: application/json: schema: + type: object + title: ListChannelResponse properties: flex_chat_channels: + type: array items: $ref: '#/components/schemas/flex.v1.channel' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -584,9 +594,8 @@ paths: url: format: uri type: string - type: object - title: ListChannelResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] @@ -600,46 +609,46 @@ paths: application/x-www-form-urlencoded: schema: properties: - ChatFriendlyName: - description: The chat channel's friendly name. - type: string - ChatUniqueName: - description: The chat channel's unique name. - type: string - ChatUserFriendlyName: - description: The chat participant's friendly name. - type: string FlexFlowSid: - description: The SID of the Flex Flow. - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FO[0-9a-fA-F]{32}$ - type: string + description: The SID of the Flex Flow. Identity: description: The `identity` value that uniquely identifies the new resource's chat User. type: string - LongLived: - description: Whether to create the channel as long-lived. - type: boolean - PreEngagementData: - description: The pre-engagement data. + ChatUserFriendlyName: + description: The chat participant's friendly name. + type: string + ChatFriendlyName: + description: The chat channel's friendly name. type: string Target: description: The Target Contact Identity, for example the phone number of an SMS. type: string - TaskAttributes: - description: The Task attributes to be added for the TaskRouter - Task. + ChatUniqueName: + description: The chat channel's unique name. + type: string + PreEngagementData: + description: The pre-engagement data. type: string TaskSid: - description: The SID of the TaskRouter Task. Only valid when integration - type is `task`. `null` for integration types `studio` & `external` - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WT[0-9a-fA-F]{32}$ + description: The SID of the TaskRouter Task. Only valid when integration + type is `task`. `null` for integration types `studio` & `external` + TaskAttributes: + description: The Task attributes to be added for the TaskRouter + Task. type: string + LongLived: + description: Whether to create the channel as long-lived. + type: boolean required: - FlexFlowSid - Identity @@ -658,72 +667,72 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Channels/{Sid}: servers: - url: https://flex-api.twilio.com + description: Flex chat channels x-twilio: defaultOutputProperties: - sid - flex_flow_sid - user_sid - task_sid - pathType: list - /v1/Channels/{Sid}: - delete: + pathType: instance + get: description: '' - operationId: DeleteChannel + operationId: FetchChannel parameters: - - description: The SID of the Flex chat channel resource to delete. + - description: The SID of the Flex chat channel resource to fetch. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/flex.v1.channel' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - description: Flex chat channels - get: + delete: description: '' - operationId: FetchChannel + operationId: DeleteChannel parameters: - - description: The SID of the Flex chat channel resource to fetch. + - description: The SID of the Flex chat channel resource to delete. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/flex.v1.channel' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA + /v1/Configuration: servers: - url: https://flex-api.twilio.com + description: Configuration for a Flex instance x-twilio: defaultOutputProperties: - - sid - - flex_flow_sid - - user_sid - - task_sid + - status + - ui_language + - ui_version + - service_version pathType: instance - /v1/Configuration: - description: Configuration for a Flex instance get: description: '' operationId: FetchConfiguration @@ -744,17 +753,17 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/FlexFlows: servers: - url: https://flex-api.twilio.com + description: Flex Flow x-twilio: defaultOutputProperties: - - status - - ui_language - - ui_version - - service_version - pathType: instance - /v1/FlexFlows: - description: Flex Flow + - sid + - friendly_name + - channel_type + - integration_type + pathType: list get: description: '' operationId: ListFlexFlow @@ -777,18 +786,19 @@ paths: content: application/json: schema: + type: object + title: ListFlexFlowResponse properties: flex_flows: + type: array items: $ref: '#/components/schemas/flex.v1.flex_flow' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -802,9 +812,8 @@ paths: url: format: uri type: string - type: object - title: ListFlexFlowResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] @@ -818,7 +827,25 @@ paths: application/x-www-form-urlencoded: schema: properties: - ChannelType: + FriendlyName: + description: A descriptive string that you create to describe the + Flex Flow resource. + type: string + ChatServiceSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + description: The SID of the chat service. + ChannelType: + type: string + enum: + - web + - sms + - facebook + - whatsapp + - line + - custom description: "The channel type. One of `web`, `facebook`, `sms`,\ \ `whatsapp`, `line` or `custom`. By default, Studio\u2019s Send\ \ to Flex widget passes it on to the Task attributes for Tasks\ @@ -827,36 +854,63 @@ paths: \ (applying channel-specific design and length limits). If `channelType`\ \ is `facebook`, `whatsapp` or `line`, the Send to Flex widget\ \ should set the Task Channel to Programmable Chat." - enum: - - web - - sms - - facebook - - whatsapp - - line - - custom - type: string - ChatServiceSid: - description: The SID of the chat service. - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string ContactIdentity: description: The channel contact's Identity. type: string Enabled: description: Whether the new Flex Flow is enabled. type: boolean - FriendlyName: - description: A descriptive string that you create to describe the - Flex Flow resource. + IntegrationType: + type: string + enum: + - studio + - external + - task + description: 'The software that will handle inbound messages. [Integration + Type](https://www.twilio.com/docs/flex/developer/messaging/manage-flows#integration-types) + can be: `studio`, `external`, or `task`.' + Integration.FlowSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^FW[0-9a-fA-F]{32}$ + description: The SID of the Studio Flow. Required when `integrationType` + is `studio`. + Integration.Url: + description: The URL of the external webhook. Required when `integrationType` + is `external`. + format: uri + type: string + Integration.WorkspaceSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WS[0-9a-fA-F]{32}$ + description: The Workspace SID for a new Task. Required when `integrationType` + is `task`. + Integration.WorkflowSid: type: string + minLength: 34 + maxLength: 34 + pattern: ^WW[0-9a-fA-F]{32}$ + description: The Workflow SID for a new Task. Required when `integrationType` + is `task`. Integration.Channel: description: The Task Channel SID (TCXXXX) or unique name (e.g., `sms`) to use for the Task that will be created. Applicable and required when `integrationType` is `task`. The default value is `default`. type: string + Integration.Timeout: + description: The Task timeout in seconds for a new Task. Default + is 86,400 seconds (24 hours). Optional when `integrationType` + is `task`, not applicable otherwise. + type: integer + Integration.Priority: + description: The Task priority of a new Task. The default priority + is 0. Optional when `integrationType` is `task`, not applicable + otherwise. + type: integer Integration.CreationOnMessage: description: In the context of outbound messaging, defines whether to create a Task immediately (and therefore reserve the conversation @@ -865,67 +919,22 @@ paths: delay Task creation. This setting is only applicable for outbound messaging. type: boolean - Integration.FlowSid: - description: The SID of the Studio Flow. Required when `integrationType` - is `studio`. - maxLength: 34 - minLength: 34 - pattern: ^FW[0-9a-fA-F]{32}$ - type: string - Integration.Priority: - description: The Task priority of a new Task. The default priority - is 0. Optional when `integrationType` is `task`, not applicable - otherwise. - type: integer + LongLived: + description: When enabled, Flex will keep the chat channel active + so that it may be used for subsequent interactions with a contact + identity. Defaults to `false`. + type: boolean + JanitorEnabled: + description: When enabled, the Messaging Channel Janitor will remove + active Proxy sessions if the associated Task is deleted outside + of the Flex UI. Defaults to `false`. + type: boolean Integration.RetryCount: description: The number of times to retry the Studio Flow or webhook in case of failure. Takes integer values from 0 to 3 with the default being 3. Optional when `integrationType` is `studio` or `external`, not applicable otherwise. type: integer - Integration.Timeout: - description: The Task timeout in seconds for a new Task. Default - is 86,400 seconds (24 hours). Optional when `integrationType` - is `task`, not applicable otherwise. - type: integer - Integration.Url: - description: The URL of the external webhook. Required when `integrationType` - is `external`. - format: uri - type: string - Integration.WorkflowSid: - description: The Workflow SID for a new Task. Required when `integrationType` - is `task`. - maxLength: 34 - minLength: 34 - pattern: ^WW[0-9a-fA-F]{32}$ - type: string - Integration.WorkspaceSid: - description: The Workspace SID for a new Task. Required when `integrationType` - is `task`. - maxLength: 34 - minLength: 34 - pattern: ^WS[0-9a-fA-F]{32}$ - type: string - IntegrationType: - description: 'The software that will handle inbound messages. [Integration - Type](https://www.twilio.com/docs/flex/developer/messaging/manage-flows#integration-types) - can be: `studio`, `external`, or `task`.' - enum: - - studio - - external - - task - type: string - JanitorEnabled: - description: When enabled, the Messaging Channel Janitor will remove - active Proxy sessions if the associated Task is deleted outside - of the Flex UI. Defaults to `false`. - type: boolean - LongLived: - description: When enabled, Flex will keep the chat channel active - so that it may be used for subsequent interactions with a contact - identity. Defaults to `false`. - type: boolean required: - FriendlyName - ChatServiceSid @@ -943,37 +952,17 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/FlexFlows/{Sid}: servers: - url: https://flex-api.twilio.com + description: Flex Flow x-twilio: defaultOutputProperties: - sid - friendly_name - channel_type - integration_type - pathType: list - /v1/FlexFlows/{Sid}: - delete: - description: '' - operationId: DeleteFlexFlow - parameters: - - description: The SID of the Flex Flow resource to delete. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^FO[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: Flex Flow + pathType: instance get: description: '' operationId: FetchFlexFlow @@ -983,10 +972,10 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FO[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -1007,16 +996,34 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FO[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: + FriendlyName: + description: A descriptive string that you create to describe the + Flex Flow resource. + type: string + ChatServiceSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + description: The SID of the chat service. ChannelType: + type: string + enum: + - web + - sms + - facebook + - whatsapp + - line + - custom description: "The channel type. One of `web`, `facebook`, `sms`,\ \ `whatsapp`, `line` or `custom`. By default, Studio\u2019s Send\ \ to Flex widget passes it on to the Task attributes for Tasks\ @@ -1025,36 +1032,63 @@ paths: \ (applying channel-specific design and length limits). If `channelType`\ \ is `facebook`, `whatsapp` or `line`, the Send to Flex widget\ \ should set the Task Channel to Programmable Chat." - enum: - - web - - sms - - facebook - - whatsapp - - line - - custom - type: string - ChatServiceSid: - description: The SID of the chat service. - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string ContactIdentity: description: The channel contact's Identity. type: string Enabled: description: Whether the new Flex Flow is enabled. type: boolean - FriendlyName: - description: A descriptive string that you create to describe the - Flex Flow resource. + IntegrationType: + type: string + enum: + - studio + - external + - task + description: 'The software that will handle inbound messages. [Integration + Type](https://www.twilio.com/docs/flex/developer/messaging/manage-flows#integration-types) + can be: `studio`, `external`, or `task`.' + Integration.FlowSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^FW[0-9a-fA-F]{32}$ + description: The SID of the Studio Flow. Required when `integrationType` + is `studio`. + Integration.Url: + description: The URL of the external webhook. Required when `integrationType` + is `external`. + format: uri + type: string + Integration.WorkspaceSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WS[0-9a-fA-F]{32}$ + description: The Workspace SID for a new Task. Required when `integrationType` + is `task`. + Integration.WorkflowSid: type: string + minLength: 34 + maxLength: 34 + pattern: ^WW[0-9a-fA-F]{32}$ + description: The Workflow SID for a new Task. Required when `integrationType` + is `task`. Integration.Channel: description: The Task Channel SID (TCXXXX) or unique name (e.g., `sms`) to use for the Task that will be created. Applicable and required when `integrationType` is `task`. The default value is `default`. type: string + Integration.Timeout: + description: The Task timeout in seconds for a new Task. Default + is 86,400 seconds (24 hours). Optional when `integrationType` + is `task`, not applicable otherwise. + type: integer + Integration.Priority: + description: The Task priority of a new Task. The default priority + is 0. Optional when `integrationType` is `task`, not applicable + otherwise. + type: integer Integration.CreationOnMessage: description: In the context of outbound messaging, defines whether to create a Task immediately (and therefore reserve the conversation @@ -1063,67 +1097,22 @@ paths: delay Task creation. This setting is only applicable for outbound messaging. type: boolean - Integration.FlowSid: - description: The SID of the Studio Flow. Required when `integrationType` - is `studio`. - maxLength: 34 - minLength: 34 - pattern: ^FW[0-9a-fA-F]{32}$ - type: string - Integration.Priority: - description: The Task priority of a new Task. The default priority - is 0. Optional when `integrationType` is `task`, not applicable - otherwise. - type: integer + LongLived: + description: When enabled, Flex will keep the chat channel active + so that it may be used for subsequent interactions with a contact + identity. Defaults to `false`. + type: boolean + JanitorEnabled: + description: When enabled, the Messaging Channel Janitor will remove + active Proxy sessions if the associated Task is deleted outside + of the Flex UI. Defaults to `false`. + type: boolean Integration.RetryCount: description: The number of times to retry the Studio Flow or webhook in case of failure. Takes integer values from 0 to 3 with the default being 3. Optional when `integrationType` is `studio` or `external`, not applicable otherwise. type: integer - Integration.Timeout: - description: The Task timeout in seconds for a new Task. Default - is 86,400 seconds (24 hours). Optional when `integrationType` - is `task`, not applicable otherwise. - type: integer - Integration.Url: - description: The URL of the external webhook. Required when `integrationType` - is `external`. - format: uri - type: string - Integration.WorkflowSid: - description: The Workflow SID for a new Task. Required when `integrationType` - is `task`. - maxLength: 34 - minLength: 34 - pattern: ^WW[0-9a-fA-F]{32}$ - type: string - Integration.WorkspaceSid: - description: The Workspace SID for a new Task. Required when `integrationType` - is `task`. - maxLength: 34 - minLength: 34 - pattern: ^WS[0-9a-fA-F]{32}$ - type: string - IntegrationType: - description: 'The software that will handle inbound messages. [Integration - Type](https://www.twilio.com/docs/flex/developer/messaging/manage-flows#integration-types) - can be: `studio`, `external`, or `task`.' - enum: - - studio - - external - - task - type: string - JanitorEnabled: - description: When enabled, the Messaging Channel Janitor will remove - active Proxy sessions if the associated Task is deleted outside - of the Flex UI. Defaults to `false`. - type: boolean - LongLived: - description: When enabled, Flex will keep the chat channel active - so that it may be used for subsequent interactions with a contact - identity. Defaults to `false`. - type: boolean title: UpdateFlexFlowRequest type: object responses: @@ -1137,17 +1126,66 @@ paths: - accountSid_authToken: [] x-maturity: - GA + delete: + description: '' + operationId: DeleteFlexFlow + parameters: + - description: The SID of the Flex Flow resource to delete. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^FO[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Interactions/{Sid}: servers: - url: https://flex-api.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - - friendly_name - - channel_type - - integration_type pathType: instance + get: + description: '' + operationId: FetchInteraction + parameters: + - description: The SID of the Interaction resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^KD[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/flex.v1.interaction' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA /v1/Interactions: + servers: + - url: https://flex-api.twilio.com description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + pathType: list post: description: Create a new Interaction. operationId: CreateInteraction @@ -1166,24 +1204,128 @@ paths: title: CreateInteractionRequest type: object responses: - '201': + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/flex.v1.interaction' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Interactions/{InteractionSid}/Channels/{Sid}: + servers: + - url: https://flex-api.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + pathType: instance + parent: /Interactions + className: interaction_channel + get: + description: Fetch a Channel for an Interaction. + operationId: FetchInteractionChannel + parameters: + - description: The unique string created by Twilio to identify an Interaction + resource, prefixed with KD. + in: path + name: InteractionSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^KD[0-9a-fA-F]{32}$ + - description: The unique string created by Twilio to identify an Interaction + Channel resource, prefixed with UO. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^UO[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/flex.v1.interaction.interaction_channel' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + post: + description: Update an existing Interaction. + operationId: UpdateInteractionChannel + parameters: + - description: The unique string created by Twilio to identify an Interaction + resource, prefixed with KD. + in: path + name: InteractionSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^KD[0-9a-fA-F]{32}$ + - description: The unique string created by Twilio to identify an Interaction + Channel resource, prefixed with UO. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^UO[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Status: + type: string + enum: + - close + - closed + - wrapup + description: 'Required. Indicates the Interaction channel''s status. + When a channel is set to `closed`, all tasks are put in the `wrapping` + state by default unless the Routing status is set to `closed` + in which case the tasks will be `completed`. Value: `closed`.' + Routing: + description: Optional. The state of associated tasks. If not specified, + all tasks will be set to `wrapping`. + required: + - Status + title: UpdateInteractionChannelRequest + type: object + responses: + '200': content: application/json: schema: - $ref: '#/components/schemas/flex.v1.interaction' - description: Created + $ref: '#/components/schemas/flex.v1.interaction.interaction_channel' + description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Interactions/{InteractionSid}/Channels: servers: - url: https://flex-api.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid pathType: list - /v1/Interactions/{InteractionSid}/Channels: - description: 'TODO: Resource-level docs' + parent: /Interactions + className: interaction_channel get: description: List all Channels for an Interaction. operationId: ListInteractionChannel @@ -1194,10 +1336,10 @@ paths: name: InteractionSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^KD[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 @@ -1211,18 +1353,19 @@ paths: content: application/json: schema: + type: object + title: ListInteractionChannelResponse properties: channels: + type: array items: $ref: '#/components/schemas/flex.v1.interaction.interaction_channel' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1236,92 +1379,23 @@ paths: url: format: uri type: string - type: object - title: ListInteractionChannelResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Interactions/{InteractionSid}/Channels/{ChannelSid}/Invites: servers: - url: https://flex-api.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - className: interaction_channel defaultOutputProperties: - sid - parent: /Interactions pathType: list - /v1/Interactions/{InteractionSid}/Channels/{ChannelSid}/Invites: - description: 'TODO: Resource-level docs' - get: - description: List all Invites for a Channel. - operationId: ListInteractionChannelInvite - parameters: - - description: The Interaction SID for this Channel. - in: path - name: InteractionSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^KD[0-9a-fA-F]{32}$ - type: string - - description: The Channel SID for this Participant. - in: path - name: ChannelSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^UO[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 - responses: - '200': - content: - application/json: - schema: - properties: - invites: - items: - $ref: '#/components/schemas/flex.v1.interaction.interaction_channel.interaction_channel_invite' - type: array - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - title: ListInteractionChannelInviteResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA + parent: /Interactions/{InteractionSid}/Channels + className: interaction_channel_invite post: description: Invite an Agent or a TaskQueue to a Channel. operationId: CreateInteractionChannelInvite @@ -1331,19 +1405,19 @@ paths: name: InteractionSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^KD[0-9a-fA-F]{32}$ - type: string - description: The Channel SID for this Invite. in: path name: ChannelSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^UO[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: @@ -1366,38 +1440,28 @@ paths: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://flex-api.twilio.com - x-twilio: - className: interaction_channel_invite - defaultOutputProperties: - - sid - parent: /Interactions/{InteractionSid}/Channels - pathType: list - /v1/Interactions/{InteractionSid}/Channels/{ChannelSid}/Participants: - description: 'TODO: Resource-level docs' get: - description: List all Participants for a Channel. - operationId: ListInteractionChannelParticipant + description: List all Invites for a Channel. + operationId: ListInteractionChannelInvite parameters: - - description: The Interaction Sid for this channel. + - description: The Interaction SID for this Channel. in: path name: InteractionSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^KD[0-9a-fA-F]{32}$ - type: string - - description: The Channel Sid for this Participant. + - description: The Channel SID for this Participant. in: path name: ChannelSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^UO[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 @@ -1411,14 +1475,19 @@ paths: content: application/json: schema: + type: object + title: ListInteractionChannelInviteResponse properties: + invites: + type: array + items: + $ref: '#/components/schemas/flex.v1.interaction.interaction_channel.interaction_channel_invite' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1432,18 +1501,23 @@ paths: url: format: uri type: string - type: object - participants: - items: - $ref: '#/components/schemas/flex.v1.interaction.interaction_channel.interaction_channel_participant' - type: array - title: ListInteractionChannelParticipantResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Interactions/{InteractionSid}/Channels/{ChannelSid}/Participants: + servers: + - url: https://flex-api.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + pathType: list + parent: /Interactions/{InteractionSid}/Channels + className: interaction_channel_participant post: description: Add a Participant to a Channel. operationId: CreateInteractionChannelParticipant @@ -1453,37 +1527,37 @@ paths: name: InteractionSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^KD[0-9a-fA-F]{32}$ - type: string - description: The Channel Sid for the new Channel Participant. in: path name: ChannelSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^UO[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - MediaProperties: - description: JSON representing the Media Properties for the new - Participant. Type: - description: 'Participant type. Can be: `agent`, `customer`, `supervisor`, - `external` or `unknown`.' + type: string enum: - supervisor - customer - external - agent - unknown - type: string + description: 'Participant type. Can be: `agent`, `customer`, `supervisor`, + `external` or `unknown`.' + MediaProperties: + description: JSON representing the Media Properties for the new + Participant. required: - Type - MediaProperties @@ -1495,225 +1569,158 @@ paths: application/json: schema: $ref: '#/components/schemas/flex.v1.interaction.interaction_channel.interaction_channel_participant' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://flex-api.twilio.com - x-twilio: - className: interaction_channel_participant - defaultOutputProperties: - - sid - parent: /Interactions/{InteractionSid}/Channels - pathType: list - /v1/Interactions/{InteractionSid}/Channels/{ChannelSid}/Participants/{Sid}: - description: 'TODO: Resource-level docs' - post: - description: Update an existing Channel Participant. - operationId: UpdateInteractionChannelParticipant - parameters: - - description: The Interaction Sid for this channel. - in: path - name: InteractionSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^KD[0-9a-fA-F]{32}$ - type: string - - description: The Channel Sid for this Participant. - in: path - name: ChannelSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^UO[0-9a-fA-F]{32}$ - type: string - - description: The unique string created by Twilio to identify an Interaction - Channel resource. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^UO[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Status: - description: 'The Participant''s status. Can be: `closed` or `wrapup`. Participant - must be an agent.' - enum: - - close - - closed - - wrapup - type: string - required: - - Status - title: UpdateInteractionChannelParticipantRequest - type: object - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/flex.v1.interaction.interaction_channel.interaction_channel_participant' - description: OK + description: Created security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://flex-api.twilio.com - x-twilio: - className: interaction_channel_participant - defaultOutputProperties: - - sid - parent: /Interactions/{InteractionSid}/Channels - pathType: instance - /v1/Interactions/{InteractionSid}/Channels/{Sid}: - description: 'TODO: Resource-level docs' get: - description: Fetch a Channel for an Interaction. - operationId: FetchInteractionChannel + description: List all Participants for a Channel. + operationId: ListInteractionChannelParticipant parameters: - - description: The unique string created by Twilio to identify an Interaction - resource, prefixed with KD. + - description: The Interaction Sid for this channel. in: path name: InteractionSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^KD[0-9a-fA-F]{32}$ - type: string - - description: The unique string created by Twilio to identify an Interaction - Channel resource, prefixed with UO. + - description: The Channel Sid for this Participant. in: path - name: Sid + name: ChannelSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^UO[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 responses: '200': content: application/json: schema: - $ref: '#/components/schemas/flex.v1.interaction.interaction_channel' + type: object + title: ListInteractionChannelParticipantResponse + properties: + participants: + type: array + items: + $ref: '#/components/schemas/flex.v1.interaction.interaction_channel.interaction_channel_participant' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Interactions/{InteractionSid}/Channels/{ChannelSid}/Participants/{Sid}: + servers: + - url: https://flex-api.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + pathType: instance + parent: /Interactions/{InteractionSid}/Channels + className: interaction_channel_participant post: - description: Update an existing Interaction. - operationId: UpdateInteractionChannel + description: Update an existing Channel Participant. + operationId: UpdateInteractionChannelParticipant parameters: - - description: The unique string created by Twilio to identify an Interaction - resource, prefixed with KD. + - description: The Interaction Sid for this channel. in: path name: InteractionSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^KD[0-9a-fA-F]{32}$ + - description: The Channel Sid for this Participant. + in: path + name: ChannelSid + required: true + schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^UO[0-9a-fA-F]{32}$ - description: The unique string created by Twilio to identify an Interaction - Channel resource, prefixed with UO. + Channel resource. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^UO[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Routing: - description: Optional. The state of associated tasks. If not specified, - all tasks will be set to `wrapping`. Status: - description: 'Required. Indicates the Interaction channel''s status. - When a channel is set to `closed`, all tasks are put in the `wrapping` - state by default unless the Routing status is set to `closed` - in which case the tasks will be `completed`. Value: `closed`.' + type: string enum: - close - closed - wrapup - type: string + description: 'The Participant''s status. Can be: `closed` or `wrapup`. Participant + must be an agent.' required: - Status - title: UpdateInteractionChannelRequest + title: UpdateInteractionChannelParticipantRequest type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/flex.v1.interaction.interaction_channel' + $ref: '#/components/schemas/flex.v1.interaction.interaction_channel.interaction_channel_participant' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/WebChannels: servers: - url: https://flex-api.twilio.com - x-twilio: - className: interaction_channel - defaultOutputProperties: - - sid - parent: /Interactions - pathType: instance - /v1/Interactions/{Sid}: description: 'TODO: Resource-level docs' - get: - description: '' - operationId: FetchInteraction - parameters: - - description: The SID of the Interaction resource to fetch. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^KD[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/flex.v1.interaction' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://flex-api.twilio.com x-twilio: defaultOutputProperties: - sid - pathType: instance - /v1/WebChannels: - description: 'TODO: Resource-level docs' + - flex_flow_sid + pathType: list get: description: '' operationId: ListWebChannel @@ -1731,18 +1738,19 @@ paths: content: application/json: schema: + type: object + title: ListWebChannelResponse properties: flex_chat_channels: + type: array items: $ref: '#/components/schemas/flex.v1.web_channel' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1756,9 +1764,8 @@ paths: url: format: uri type: string - type: object - title: ListWebChannelResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] @@ -1772,23 +1779,23 @@ paths: application/x-www-form-urlencoded: schema: properties: - ChatFriendlyName: - description: The chat channel's friendly name. + FlexFlowSid: type: string - ChatUniqueName: - description: The chat channel's unique name. + minLength: 34 + maxLength: 34 + pattern: ^FO[0-9a-fA-F]{32}$ + description: The SID of the Flex Flow. + Identity: + description: The chat identity. type: string CustomerFriendlyName: description: The chat participant's friendly name. type: string - FlexFlowSid: - description: The SID of the Flex Flow. - maxLength: 34 - minLength: 34 - pattern: ^FO[0-9a-fA-F]{32}$ + ChatFriendlyName: + description: The chat channel's friendly name. type: string - Identity: - description: The chat identity. + ChatUniqueName: + description: The chat channel's unique name. type: string PreEngagementData: description: The pre-engagement data. @@ -1811,35 +1818,15 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/WebChannels/{Sid}: servers: - url: https://flex-api.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - flex_flow_sid - pathType: list - /v1/WebChannels/{Sid}: - delete: - description: '' - operationId: DeleteWebChannel - parameters: - - description: The SID of the WebChannel resource to delete. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^CH[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: 'TODO: Resource-level docs' + pathType: instance get: description: '' operationId: FetchWebChannel @@ -1849,10 +1836,10 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -1873,20 +1860,20 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: ChatStatus: - description: The chat status. Can only be `inactive`. + type: string enum: - inactive - type: string + description: The chat status. Can only be `inactive`. PostEngagementData: description: The post-engagement data. type: string @@ -1903,15 +1890,28 @@ paths: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://flex-api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - flex_flow_sid - pathType: instance + delete: + description: '' + operationId: DeleteWebChannel + parameters: + - description: The SID of the WebChannel resource to delete. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CH[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA servers: - url: https://flex-api.twilio.com x-maturity: -- description: This product is Generally Available. - name: GA +- name: GA + description: This product is Generally Available. diff --git a/spec/yaml/twilio_frontline_v1.yaml b/spec/yaml/twilio_frontline_v1.yaml index 0df296fd..20dd61b2 100644 --- a/spec/yaml/twilio_frontline_v1.yaml +++ b/spec/yaml/twilio_frontline_v1.yaml @@ -1,6 +1,7 @@ components: schemas: frontline.v1.user: + type: object properties: avatar: description: The avatar URL which will be shown in Frontline application @@ -19,25 +20,24 @@ components: nullable: true type: boolean sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^US[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource state: - description: Current state of this user + type: string enum: - active - deactivated nullable: true - type: string + description: Current state of this user url: description: An absolute URL for this user. format: uri nullable: true type: string - type: object securitySchemes: accountSid_authToken: scheme: basic @@ -57,7 +57,14 @@ info: openapi: 3.0.1 paths: /v1/Users/{Sid}: + servers: + - url: https://frontline-api.twilio.com description: A User resource represents a frontline user. + x-twilio: + defaultOutputProperties: + - sid + - identity + pathType: instance get: description: Fetch a frontline user operationId: FetchUser @@ -96,24 +103,24 @@ paths: application/x-www-form-urlencoded: schema: properties: + FriendlyName: + description: The string that you assigned to describe the User. + type: string Avatar: description: The avatar URL which will be shown in Frontline application. type: string - FriendlyName: - description: The string that you assigned to describe the User. + State: type: string + enum: + - active + - deactivated + description: Current state of this user. Can be either `active` + or `deactivated`. IsAvailable: description: Whether the User is available for new conversations. Set to `false` to prevent User from receiving new inbound conversations if you are using [Pool Routing](https://www.twilio.com/docs/frontline/handle-incoming-conversations#3-pool-routing). type: boolean - State: - description: Current state of this user. Can be either `active` - or `deactivated`. - enum: - - active - - deactivated - type: string title: UpdateUserRequest type: object responses: @@ -127,16 +134,9 @@ paths: - accountSid_authToken: [] x-maturity: - Beta - servers: - - url: https://frontline-api.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - identity - pathType: instance servers: - url: https://frontline-api.twilio.com x-maturity: -- description: PLEASE NOTE that this is a Beta product that is subject to change. +- name: Beta + description: PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution. - name: Beta diff --git a/spec/yaml/twilio_insights_v1.yaml b/spec/yaml/twilio_insights_v1.yaml index c0d7bb33..00b0fccc 100644 --- a/spec/yaml/twilio_insights_v1.yaml +++ b/spec/yaml/twilio_insights_v1.yaml @@ -1,13 +1,14 @@ components: schemas: insights.v1.account_settings: + type: object properties: account_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true advanced_features: nullable: true type: boolean @@ -18,59 +19,42 @@ components: voice_trace: nullable: true type: boolean - type: object - insights.v1.call: - properties: - links: - format: uri-map - nullable: true - type: object - sid: - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^CA[0-9a-fA-F]{32}$ - type: string - url: - format: uri - nullable: true - type: string - type: object insights.v1.call.annotation: + type: object properties: account_sid: - description: Account SID. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: Account SID. answered_by: - description: Indicates the answering entity as determined by Answering Machine - Detection. + type: string enum: - unknown_answered_by - human - machine nullable: true - type: string + description: Indicates the answering entity as determined by Answering Machine + Detection. call_score: description: Call Score nullable: true type: integer call_sid: - description: Call SID. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: Call SID. comment: description: User comments nullable: true type: string connectivity_issue: - description: Indicates if the call had any connectivity issue + type: string enum: - unknown_connectivity_issue - no_connectivity_issue @@ -79,17 +63,17 @@ components: - dropped_call - number_reachability nullable: true - type: string + description: Indicates if the call had any connectivity issue incident: description: Call tag for incidents or support ticket nullable: true type: string quality_issues: - description: Indicates if the call had audio quality issues. + type: array items: type: string nullable: true - type: array + description: Indicates if the call had audio quality issues. spam: description: Call spam indicator nullable: true @@ -99,119 +83,42 @@ components: format: uri nullable: true type: string + insights.v1.call: type: object - insights.v1.call.event: properties: - account_sid: - maxLength: 34 - minLength: 34 + links: + format: uri-map nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ + type: object + sid: type: string - call_sid: - maxLength: 34 minLength: 34 - nullable: true + maxLength: 34 pattern: ^CA[0-9a-fA-F]{32}$ - type: string - carrier_edge: - nullable: true - client_edge: - nullable: true - edge: - enum: - - unknown_edge - - carrier_edge - - sip_edge - - sdk_edge - - client_edge - nullable: true - type: string - group: - nullable: true - type: string - level: - enum: - - UNKNOWN - - DEBUG - - INFO - - WARNING - - ERROR - nullable: true - type: string - name: - nullable: true - type: string - sdk_edge: nullable: true - sip_edge: - nullable: true - timestamp: + url: + format: uri nullable: true type: string + insights.v1.call_summaries: type: object - insights.v1.call.metric: properties: account_sid: - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ type: string - call_sid: - maxLength: 34 minLength: 34 - nullable: true - pattern: ^CA[0-9a-fA-F]{32}$ - type: string - carrier_edge: - nullable: true - client_edge: - nullable: true - direction: - enum: - - unknown - - inbound - - outbound - - both - nullable: true - type: string - edge: - enum: - - unknown_edge - - carrier_edge - - sip_edge - - sdk_edge - - client_edge - nullable: true - type: string - sdk_edge: - nullable: true - sip_edge: - nullable: true - timestamp: - nullable: true - type: string - type: object - insights.v1.call.summary: - properties: - account_sid: maxLength: 34 - minLength: 34 - nullable: true pattern: ^AC[0-9a-fA-F]{32}$ - type: string - annotation: nullable: true attributes: nullable: true call_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CA[0-9a-fA-F]{32}$ - type: string + nullable: true call_state: + type: string enum: - ringing - completed @@ -222,15 +129,14 @@ components: - answered - undialed nullable: true - type: string call_type: + type: string enum: - carrier - sip - trunking - client nullable: true - type: string carrier_edge: nullable: true client_edge: @@ -239,24 +145,24 @@ components: nullable: true type: integer created_time: + type: string format: date-time nullable: true - type: string duration: nullable: true type: integer end_time: + type: string format: date-time nullable: true - type: string from: nullable: true processing_state: + type: string enum: - complete - partial nullable: true - type: string properties: nullable: true sdk_edge: @@ -264,14 +170,14 @@ components: sip_edge: nullable: true start_time: + type: string format: date-time nullable: true - type: string tags: + type: array items: type: string nullable: true - type: array to: nullable: true trust: @@ -280,158 +186,72 @@ components: format: uri nullable: true type: string + insights.v1.conference: type: object - insights.v1.call_summaries: properties: account_sid: - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ type: string - attributes: - nullable: true - call_sid: - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ nullable: true - pattern: ^CA[0-9a-fA-F]{32}$ + description: Account SID. + conference_sid: type: string - call_state: - enum: - - ringing - - completed - - busy - - fail - - noanswer - - canceled - - answered - - undialed + minLength: 34 + maxLength: 34 + pattern: ^CF[0-9a-fA-F]{32}$ nullable: true - type: string - call_type: - enum: - - carrier - - sip - - trunking - - client + description: Conference SID. + connect_duration_seconds: + description: Duration of the conference in seconds. nullable: true + type: integer + create_time: type: string - carrier_edge: + format: date-time nullable: true - client_edge: + description: Conference creation date/time. + detected_issues: nullable: true - connect_duration: + description: Potential issues detected during the conference. + duration_seconds: + description: Conference duration in seconds. nullable: true type: integer - created_time: - format: date-time - nullable: true + end_reason: type: string - duration: + enum: + - last_participant_left + - conference_ended_via_api + - participant_with_end_conference_on_exit_left + - last_participant_kicked + - participant_with_end_conference_on_exit_kicked nullable: true - type: integer + description: Conference end reason. end_time: + type: string format: date-time nullable: true + description: Conference end date/time. + ended_by: type: string - from: + minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ nullable: true - processing_state: - enum: - - complete - - partial + description: Call SID that ended the conference. + friendly_name: + description: Custom label for the conference. nullable: true type: string - properties: + links: + description: Nested resource URLs. + format: uri-map nullable: true - sdk_edge: - nullable: true - sip_edge: - nullable: true - start_time: - format: date-time - nullable: true - type: string - tags: - items: - type: string - nullable: true - type: array - to: - nullable: true - trust: - nullable: true - url: - format: uri - nullable: true - type: string - type: object - insights.v1.conference: - properties: - account_sid: - description: Account SID. - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - conference_sid: - description: Conference SID. - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^CF[0-9a-fA-F]{32}$ - type: string - connect_duration_seconds: - description: Duration of the conference in seconds. - nullable: true - type: integer - create_time: - description: Conference creation date/time. - format: date-time - nullable: true - type: string - detected_issues: - description: Potential issues detected during the conference. - nullable: true - duration_seconds: - description: Conference duration in seconds. - nullable: true - type: integer - end_reason: - description: Conference end reason. - enum: - - last_participant_left - - conference_ended_via_api - - participant_with_end_conference_on_exit_left - - last_participant_kicked - - participant_with_end_conference_on_exit_kicked - nullable: true - type: string - end_time: - description: Conference end date/time. - format: date-time - nullable: true - type: string - ended_by: - description: Call SID that ended the conference. - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^CA[0-9a-fA-F]{32}$ - type: string - friendly_name: - description: Custom label for the conference. - nullable: true - type: string - links: - description: Nested resource URLs. - format: uri-map - nullable: true - type: object - max_concurrent_participants: - description: Actual maximum concurrent participants. + type: object + max_concurrent_participants: + description: Actual maximum concurrent participants. nullable: true type: integer max_participants: @@ -439,7 +259,7 @@ components: nullable: true type: integer mixer_region: - description: Region where the conference was mixed. + type: string enum: - us1 - au1 @@ -449,9 +269,9 @@ components: - sg1 - de1 nullable: true - type: string + description: Region where the conference was mixed. mixer_region_requested: - description: Configuration-requested conference mixer region. + type: string enum: - us1 - au1 @@ -461,39 +281,40 @@ components: - sg1 - de1 nullable: true - type: string + description: Configuration-requested conference mixer region. processing_state: - description: Processing state for the Conference Summary resource. + type: string enum: - complete - in_progress - timeout nullable: true - type: string + description: Processing state for the Conference Summary resource. recording_enabled: description: Boolean. Indicates whether recording was enabled. nullable: true type: boolean start_time: - description: Timestamp in ISO 8601 format when the conference started. + type: string format: date-time nullable: true - type: string + description: Timestamp in ISO 8601 format when the conference started. status: - description: Status of conference + type: string enum: - in_progress - not_started - completed - summary_timeout nullable: true - type: string + description: Status of conference tag_info: - description: Object. Contains details about conference tags. nullable: true + description: Object. Contains details about conference tags. tags: - description: Tags for detected conference conditions and participant behaviors. + type: array items: + type: string enum: - invalid_requested_region - duplicate_identity @@ -506,9 +327,8 @@ components: - high_latency - low_mos - detected_silence - type: string nullable: true - type: array + description: Tags for detected conference conditions and participant behaviors. unique_participants: description: Unique conference participants. nullable: true @@ -518,32 +338,32 @@ components: format: uri nullable: true type: string - type: object insights.v1.conference.conference_participant: + type: object properties: account_sid: - description: Account SID. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: Account SID. call_direction: - description: Call direction of the participant. + type: string enum: - inbound - outbound nullable: true - type: string + description: Call direction of the participant. call_sid: - description: Unique SID identifier of the call. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: Unique SID identifier of the call. call_status: - description: Call status of the call that generated the participant. + type: string enum: - answered - completed @@ -553,23 +373,23 @@ components: - ringing - canceled nullable: true - type: string + description: Call status of the call that generated the participant. call_type: - description: The Call Type of this Conference Participant. + type: string enum: - carrier - client - sip nullable: true - type: string + description: The Call Type of this Conference Participant. coached_participants: - description: Call SIDs coached by this participant. + type: array items: type: string nullable: true - type: array + description: Call SIDs coached by this participant. conference_region: - description: The Conference Region of this Conference Participant. + type: string enum: - us1 - us2 @@ -580,14 +400,14 @@ components: - sg1 - de1 nullable: true - type: string + description: The Conference Region of this Conference Participant. conference_sid: - description: Conference SID. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CF[0-9a-fA-F]{32}$ - type: string + nullable: true + description: Conference SID. country_code: description: ISO alpha-2 country code of the participant. nullable: true @@ -597,9 +417,9 @@ components: nullable: true type: integer events: + nullable: true description: Object containing information of actions taken by participants. Nested resource URLs. - nullable: true from: description: Caller ID of the calling party. nullable: true @@ -614,31 +434,31 @@ components: nullable: true type: boolean jitter_buffer_size: - description: The Jitter Buffer Size of this Conference Participant. + type: string enum: - large - small - medium - 'off' nullable: true - type: string + description: The Jitter Buffer Size of this Conference Participant. join_time: - description: ISO 8601 timestamp of participant join event. + type: string format: date-time nullable: true - type: string + description: ISO 8601 timestamp of participant join event. label: description: The user-specified label of this participant. nullable: true type: string leave_time: - description: ISO 8601 timestamp of participant leave event. + type: string format: date-time nullable: true - type: string + description: ISO 8601 timestamp of participant leave event. metrics: - description: Object. Contains participant quality metrics. nullable: true + description: Object. Contains participant quality metrics. outbound_queue_length: description: Estimated time in queue at call creation. nullable: true @@ -648,7 +468,7 @@ components: nullable: true type: integer participant_region: - description: Twilio region where the participant media originates. + type: string enum: - us1 - us2 @@ -659,25 +479,25 @@ components: - sg1 - de1 nullable: true - type: string + description: Twilio region where the participant media originates. participant_sid: - description: SID for this participant. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CP[0-9a-fA-F]{32}$ - type: string + nullable: true + description: SID for this participant. processing_state: - description: Processing state of the Participant Summary. + type: string enum: - complete - in_progress - timeout nullable: true - type: string + description: Processing state of the Participant Summary. properties: - description: Participant properties and metadata. nullable: true + description: Participant properties and metadata. to: description: Called party. nullable: true @@ -687,208 +507,213 @@ components: format: uri nullable: true type: string + insights.v1.call.event: type: object - insights.v1.video_room_summary: properties: account_sid: - description: Account SID associated with this room. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + call_sid: type: string - codecs: - description: Codecs used by participants in the room. - items: - enum: - - VP8 - - H264 - - VP9 - type: string + minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ nullable: true - type: array - concurrent_participants: - description: Actual number of concurrent participants. + carrier_edge: nullable: true - type: integer - create_time: - description: Creation time of the room. - format: date-time + client_edge: nullable: true + edge: type: string - created_method: - description: How the room was created. enum: - - sdk - - ad_hoc - - api - nullable: true - type: string - duration_sec: - description: Total room duration from create time to end time. + - unknown_edge + - carrier_edge + - sip_edge + - sdk_edge + - client_edge nullable: true - type: integer - edge_location: - description: Edge location of Twilio media servers for the room. - enum: - - ashburn - - dublin - - frankfurt - - singapore - - sydney - - sao_paulo - - roaming - - umatilla - - tokyo + group: nullable: true type: string - end_reason: - description: Reason the room ended. + level: + type: string enum: - - room_ended_via_api - - timeout + - UNKNOWN + - DEBUG + - INFO + - WARNING + - ERROR + nullable: true + name: nullable: true type: string - end_time: - description: End time for the room. - format: date-time + sdk_edge: + nullable: true + sip_edge: + nullable: true + timestamp: nullable: true type: string - links: - description: Room subresources. - format: uri-map + insights.v1.call.metric: + type: object + properties: + account_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ nullable: true - type: object - max_concurrent_participants: - description: Maximum number of participants allowed in the room at the same - time allowed by the application settings. + call_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ nullable: true - type: integer - max_participants: - description: Max number of total participants allowed by the application - settings. + carrier_edge: nullable: true - type: integer - media_region: - description: Region of Twilio media servers for the room. - enum: - - us1 - - us2 - - au1 - - br1 - - ie1 - - jp1 - - sg1 - - in1 - - de1 - - gll + client_edge: nullable: true + direction: type: string - processing_state: - description: Video Log Analyzer resource state. Will be either `in-progress` - or `complete`. enum: - - complete - - in_progress + - unknown + - inbound + - outbound + - both nullable: true + edge: type: string - recording_enabled: - description: Boolean indicating if recording is enabled for the room. + enum: + - unknown_edge + - carrier_edge + - sip_edge + - sdk_edge + - client_edge nullable: true - type: boolean - room_name: - description: room friendly name. + sdk_edge: + nullable: true + sip_edge: + nullable: true + timestamp: nullable: true type: string - room_sid: - description: Unique identifier for the room. + insights.v1.call.summary: + type: object + properties: + account_sid: + type: string + minLength: 34 maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + annotation: + nullable: true + attributes: + nullable: true + call_sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ nullable: true - pattern: ^RM[0-9a-fA-F]{32}$ + call_state: type: string - room_status: - description: Status of the room. enum: - - in_progress + - ringing - completed + - busy + - fail + - noanswer + - canceled + - answered + - undialed nullable: true + call_type: type: string - room_type: - description: Type of room. enum: - - go - - peer_to_peer - - group - - group_small + - carrier + - sip + - trunking + - client + nullable: true + carrier_edge: + nullable: true + client_edge: + nullable: true + connect_duration: nullable: true + type: integer + created_time: type: string - status_callback: - description: Webhook provided for status callbacks. - format: uri + format: date-time + nullable: true + duration: nullable: true + type: integer + end_time: + type: string + format: date-time + nullable: true + from: + nullable: true + processing_state: type: string - status_callback_method: - description: HTTP method provided for status callback URL. enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method + - complete + - partial + nullable: true + properties: nullable: true + sdk_edge: + nullable: true + sip_edge: + nullable: true + start_time: type: string - total_participant_duration_sec: - description: Combined amount of participant time in the room. + format: date-time nullable: true - type: integer - total_recording_duration_sec: - description: Combined amount of recorded seconds for participants in the - room. + tags: + type: array + items: + type: string nullable: true - type: integer - unique_participant_identities: - description: Unique number of participant identities. + to: nullable: true - type: integer - unique_participants: - description: Number of participants. May include duplicate identities for - participants who left and rejoined. + trust: nullable: true - type: integer url: - description: URL for the room resource. format: uri nullable: true type: string - type: object insights.v1.video_room_summary.video_participant_summary: + type: object properties: account_sid: - description: Account SID associated with the room. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: Account SID associated with the room. codecs: - description: Codecs detected from the participant. + type: array items: + type: string enum: - VP8 - H264 - VP9 - type: string nullable: true - type: array + description: Codecs detected from the participant. duration_sec: description: Amount of time in seconds the participant was in the room. nullable: true type: integer edge_location: - description: Name of the edge location the participant connected to. + type: string enum: - ashburn - dublin @@ -900,7 +725,7 @@ components: - umatilla - tokyo nullable: true - type: string + description: Name of the edge location the participant connected to. end_reason: description: Reason the participant left the room. nullable: true @@ -914,17 +739,17 @@ components: nullable: true type: string join_time: - description: When the participant joined the room. + type: string format: date-time nullable: true - type: string + description: When the participant joined the room. leave_time: - description: When the participant left the room + type: string format: date-time nullable: true - type: string + description: When the participant left the room media_region: - description: Twilio media region the participant connected to. + type: string enum: - us1 - us2 @@ -937,245 +762,579 @@ components: - de1 - gll nullable: true - type: string + description: Twilio media region the participant connected to. participant_identity: description: The application-defined string that uniquely identifies the participant within a Room. nullable: true type: string participant_sid: - description: Unique identifier for the participant. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^PA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: Unique identifier for the participant. properties: + nullable: true description: Object containing information about the participant's data from the room. - nullable: true publisher_info: - description: Object containing information about the SDK name and version. nullable: true + description: Object containing information about the SDK name and version. room_sid: - description: Unique identifier for the room. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RM[0-9a-fA-F]{32}$ - type: string + nullable: true + description: Unique identifier for the room. status: - description: Status of the room. + type: string enum: - in_progress - completed nullable: true - type: string + description: Status of the room. url: description: URL of the participant resource. format: uri nullable: true type: string + insights.v1.video_room_summary: type: object - securitySchemes: - accountSid_authToken: - scheme: basic - type: http -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 + properties: + account_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: Account SID associated with this room. + codecs: + type: array + items: + type: string + enum: + - VP8 + - H264 + - VP9 + nullable: true + description: Codecs used by participants in the room. + concurrent_participants: + description: Actual number of concurrent participants. + nullable: true + type: integer + create_time: + type: string + format: date-time + nullable: true + description: Creation time of the room. + created_method: + type: string + enum: + - sdk + - ad_hoc + - api + nullable: true + description: How the room was created. + duration_sec: + description: Total room duration from create time to end time. + nullable: true + type: integer + edge_location: + type: string + enum: + - ashburn + - dublin + - frankfurt + - singapore + - sydney + - sao_paulo + - roaming + - umatilla + - tokyo + nullable: true + description: Edge location of Twilio media servers for the room. + end_reason: + type: string + enum: + - room_ended_via_api + - timeout + nullable: true + description: Reason the room ended. + end_time: + type: string + format: date-time + nullable: true + description: End time for the room. + links: + description: Room subresources. + format: uri-map + nullable: true + type: object + max_concurrent_participants: + description: Maximum number of participants allowed in the room at the same + time allowed by the application settings. + nullable: true + type: integer + max_participants: + description: Max number of total participants allowed by the application + settings. + nullable: true + type: integer + media_region: + type: string + enum: + - us1 + - us2 + - au1 + - br1 + - ie1 + - jp1 + - sg1 + - in1 + - de1 + - gll + nullable: true + description: Region of Twilio media servers for the room. + processing_state: + type: string + enum: + - complete + - in_progress + nullable: true + description: Video Log Analyzer resource state. Will be either `in-progress` + or `complete`. + recording_enabled: + description: Boolean indicating if recording is enabled for the room. + nullable: true + type: boolean + room_name: + description: room friendly name. + nullable: true + type: string + room_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RM[0-9a-fA-F]{32}$ + nullable: true + description: Unique identifier for the room. + room_status: + type: string + enum: + - in_progress + - completed + nullable: true + description: Status of the room. + room_type: + type: string + enum: + - go + - peer_to_peer + - group + - group_small + nullable: true + description: Type of room. + status_callback: + description: Webhook provided for status callbacks. + format: uri + nullable: true + type: string + status_callback_method: + description: HTTP method provided for status callback URL. + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + nullable: true + type: string + total_participant_duration_sec: + description: Combined amount of participant time in the room. + nullable: true + type: integer + total_recording_duration_sec: + description: Combined amount of recorded seconds for participants in the + room. + nullable: true + type: integer + unique_participant_identities: + description: Unique number of participant identities. + nullable: true + type: integer + unique_participants: + description: Number of participants. May include duplicate identities for + participants who left and rejoined. + nullable: true + type: integer + url: + description: URL for the room resource. + format: uri + nullable: true + type: string + securitySchemes: + accountSid_authToken: + scheme: basic + type: http +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 - Insights version: 1.30.0 openapi: 3.0.1 paths: - /v1/Conferences: + /v1/Voice/Settings: + servers: + - url: https://insights.twilio.com description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - advanced_features + - voice_trace + pathType: instance + get: + description: '' + operationId: FetchAccountSettings + parameters: + - description: '' + in: query + name: SubaccountSid + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/insights.v1.account_settings' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + post: + description: '' + operationId: UpdateAccountSettings + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + AdvancedFeatures: + description: '' + type: boolean + VoiceTrace: + description: '' + type: boolean + SubaccountSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + description: '' + title: UpdateAccountSettingsRequest + type: object + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/insights.v1.account_settings' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Voice/{CallSid}/Annotation: + servers: + - url: https://insights.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - call_sid + - account_sid + pathType: instance + parent: /Voice/{Sid} + post: + description: Create/Update the annotation for the call + operationId: UpdateAnnotation + parameters: + - description: The unique string that Twilio created to identify this Call resource. + It always starts with a CA. + in: path + name: CallSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + AnsweredBy: + type: string + enum: + - unknown_answered_by + - human + - machine + description: 'Which entity answered the call as determined by Answering + Machine Detection. Use this to provide feedback on Answering Machine + Detection accuracy. Possible enumerated values, one of: human, + machine. human indicates the call was answered by a person. machine + indicates the call was answered by an answering machine.' + ConnectivityIssue: + type: string + enum: + - unknown_connectivity_issue + - no_connectivity_issue + - invalid_number + - caller_id + - dropped_call + - number_reachability + description: 'Specify if the call had any connectivity issues. Possible + enumerated values, one : no_connectivity_issue, invalid_number, + caller_id, dropped_call, number_reachability.' + QualityIssues: + description: 'Specify if the call had any subjective quality issues. + Possible values, one or more of: no_quality_issue, low_volume, + choppy_robotic, echo, dtmf, latency, owa, static_noise. Use comma + separated values to indicate multiple quality issues for the same + call' + type: string + Spam: + description: 'Specify if the call was a spam call. Use this to provide + feedback on whether calls placed from your account were marked + as spam, or if inbound calls received by your account were unwanted + spam. Is of type Boolean: true, false. Use true if the call was + a spam call.' + type: boolean + CallScore: + description: 'Specify the call score. This is of type integer. Use + a range of 1-5 to indicate the call experience score, with the + following mapping as a reference for rating the call [5: Excellent, + 4: Good, 3 : Fair, 2 : Poor, 1: Bad].' + nullable: true + type: integer + Comment: + description: "Specify any comments pertaining to the call. This\ + \ of type string with a max limit of 100 characters. Twilio does\ + \ not treat this field as PII, so don\u2019t put any PII in here." + type: string + Incident: + description: "Associate this call with an incident or support ticket.\ + \ This is of type string with a max limit of 100 characters. Twilio\ + \ does not treat this field as PII, so don\u2019t put any PII\ + \ in here." + type: string + title: UpdateAnnotationRequest + type: object + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/insights.v1.call.annotation' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - Beta get: - description: Retrieve a list of Conferences. - operationId: ListConference + description: Fetch a specific Annotation. + operationId: FetchAnnotation parameters: - - description: The SID of the conference. - in: query - name: ConferenceSid - schema: - type: string - - description: Custom label for the conference resource, up to 64 characters. - in: query - name: FriendlyName - schema: - type: string - - description: Conference status. - in: query - name: Status - schema: - type: string - - description: Conferences created after the provided timestamp specified in - ISO 8601 format - in: query - name: CreatedAfter - schema: - type: string - - description: Conferences created before the provided timestamp specified in - ISO 8601 format. - in: query - name: CreatedBefore - schema: - type: string - - description: Twilio region where the conference media was mixed. - in: query - name: MixerRegion - schema: - type: string - - description: Tags applied by Twilio for common potential configuration, quality, - or performance issues. - in: query - name: Tags + - description: The unique SID identifier of the Call. + in: path + name: CallSid + required: true schema: type: string - - description: Account SID for the subaccount whose resources you wish to retrieve. - in: query - name: Subaccount - schema: - maxLength: 34 minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - - description: Potential configuration, behavior, or performance issues detected - during the conference. - in: query - name: DetectedIssues - schema: - type: string - - description: Conference end reason; e.g. last participant left, modified by - API, etc. - in: query - name: EndReason - schema: - 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 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - properties: - conferences: - items: - $ref: '#/components/schemas/insights.v1.conference' - type: array - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - title: ListConferenceResponse - type: object + $ref: '#/components/schemas/insights.v1.call.annotation' description: OK security: - accountSid_authToken: [] x-maturity: - - GA + - Beta + /v1/Voice/{Sid}: servers: - url: https://insights.twilio.com - x-twilio: - defaultOutputProperties: - - conference_sid - - account_sid - pathType: list - /v1/Conferences/{ConferenceSid}: description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: [] + pathType: instance + className: call get: - description: Fetch a specific Conference. - operationId: FetchConference + description: '' + operationId: FetchCall parameters: - - description: The unique SID identifier of the Conference. + - description: '' in: path - name: ConferenceSid + name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^CF[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/insights.v1.conference' + $ref: '#/components/schemas/insights.v1.call' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Voice/Summaries: servers: - url: https://insights.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - - conference_sid - account_sid - pathType: instance - /v1/Conferences/{ConferenceSid}/Participants: - description: 'TODO: Resource-level docs' + - call_sid + - create_time + - start_time + - end_time + - duration + - connect_duration + - call_type + - call_state + pathType: list + className: call_summaries get: - description: List Conference Participants. - operationId: ListConferenceParticipant + description: '' + operationId: ListCallSummaries parameters: - - description: The unique SID identifier of the Conference. - in: path - name: ConferenceSid - required: true + - description: '' + in: query + name: From + schema: + type: string + - description: '' + in: query + name: To + schema: + type: string + - description: '' + in: query + name: FromCarrier + schema: + type: string + - description: '' + in: query + name: ToCarrier + schema: + type: string + - description: '' + in: query + name: FromCountryCode + schema: + type: string + - description: '' + in: query + name: ToCountryCode + schema: + type: string + - description: '' + in: query + name: Branded + schema: + type: boolean + - description: '' + in: query + name: VerifiedCaller + schema: + type: boolean + - description: '' + in: query + name: HasTag + schema: + type: boolean + - description: '' + in: query + name: StartTime + schema: + type: string + - description: '' + in: query + name: EndTime + schema: + type: string + - description: '' + in: query + name: CallType + schema: + type: string + - description: '' + in: query + name: CallState + schema: + type: string + - description: '' + in: query + name: Direction schema: - maxLength: 34 - minLength: 34 - pattern: ^CF[0-9a-fA-F]{32}$ type: string - - description: The unique SID identifier of the Participant. + - description: '' in: query - name: ParticipantSid + name: ProcessingState schema: type: string - - description: User-specified label for a participant. + enum: + - completed + - started + - partial + - all + - description: '' in: query - name: Label + name: SortBy schema: type: string - - description: Conference events generated by application or participant activity; - e.g. `hold`, `mute`, etc. + enum: + - start_time + - end_time + - description: '' in: query - name: Events + name: Subaccount schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: '' + in: query + name: AbnormalSession + schema: + type: boolean - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -1189,14 +1348,19 @@ paths: content: application/json: schema: + type: object + title: ListCallSummariesResponse properties: + call_summaries: + type: array + items: + $ref: '#/components/schemas/insights.v1.call_summaries' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1210,226 +1374,115 @@ paths: url: format: uri type: string - type: object - participants: - items: - $ref: '#/components/schemas/insights.v1.conference.conference_participant' - type: array - title: ListConferenceParticipantResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Conferences/{ConferenceSid}: servers: - url: https://insights.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - className: conference_participant defaultOutputProperties: - - participant_sid - conference_sid - - call_sid - account_sid - parent: /Conferences - pathType: list - /v1/Conferences/{ConferenceSid}/Participants/{ParticipantSid}: - description: 'TODO: Resource-level docs' + pathType: instance get: - description: Fetch a specific Conference Participant Summary. - operationId: FetchConferenceParticipant + description: Fetch a specific Conference. + operationId: FetchConference parameters: - description: The unique SID identifier of the Conference. in: path name: ConferenceSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^CF[0-9a-fA-F]{32}$ type: string - - description: The unique SID identifier of the Participant. - in: path - name: ParticipantSid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^CP[0-9a-fA-F]{32}$ - type: string - - description: Conference events generated by application or participant activity; - e.g. `hold`, `mute`, etc. - in: query - name: Events - schema: - type: string - - description: Object. Contains participant call quality metrics. - in: query - name: Metrics - schema: - type: string + maxLength: 34 + pattern: ^CF[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/insights.v1.conference.conference_participant' + $ref: '#/components/schemas/insights.v1.conference' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Conferences: servers: - url: https://insights.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - className: conference_participant defaultOutputProperties: - - participant_sid - conference_sid - - call_sid - account_sid - parent: /Conferences - pathType: instance - /v1/Video/Rooms: - description: 'TODO: Resource-level docs' + pathType: list get: - description: Get a list of Programmable Video Rooms. - operationId: ListVideoRoomSummary + description: Retrieve a list of Conferences. + operationId: ListConference parameters: - - description: Type of room. Can be `go`, `peer_to_peer`, `group`, or `group_small`. + - description: The SID of the conference. in: query - name: RoomType + name: ConferenceSid schema: - items: - enum: - - go - - peer_to_peer - - group - - group_small - type: string - type: array - - description: Codecs used by participants in the room. Can be `VP8`, `H264`, - or `VP9`. + type: string + - description: Custom label for the conference resource, up to 64 characters. in: query - name: Codec + name: FriendlyName schema: - items: - enum: - - VP8 - - H264 - - VP9 - type: string - type: array - - description: Room friendly name. + type: string + - description: Conference status. in: query - name: RoomName + name: Status schema: type: string - - description: Only read rooms that started on or after this ISO 8601 timestamp. + - description: Conferences created after the provided timestamp specified in + ISO 8601 format in: query name: CreatedAfter schema: - format: date-time type: string - - description: Only read rooms that started before this ISO 8601 timestamp. + - description: Conferences created before the provided timestamp specified in + ISO 8601 format. in: query name: CreatedBefore schema: - format: date-time type: string - - description: How many resources to return in each list page. The default is - 50, and the maximum is 1000. + - description: Twilio region where the conference media was mixed. in: query - name: PageSize + name: MixerRegion schema: - maximum: 1000 - minimum: 1 - type: integer - responses: - '200': - content: - application/json: - schema: - properties: - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - rooms: - items: - $ref: '#/components/schemas/insights.v1.video_room_summary' - type: array - title: ListVideoRoomSummaryResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - Beta - servers: - - url: https://insights.twilio.com - x-twilio: - defaultOutputProperties: - - room_sid - - create_time - pathType: list - /v1/Video/Rooms/{RoomSid}: - description: 'TODO: Resource-level docs' - get: - description: Get Video Log Analyzer data for a Room. - operationId: FetchVideoRoomSummary - parameters: - - description: The SID of the Room resource. - in: path - name: RoomSid - required: true + type: string + - description: Tags applied by Twilio for common potential configuration, quality, + or performance issues. + in: query + name: Tags schema: type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/insights.v1.video_room_summary' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - Beta - servers: - - url: https://insights.twilio.com - x-twilio: - defaultOutputProperties: - - room_sid - - create_time - pathType: instance - /v1/Video/Rooms/{RoomSid}/Participants: - description: 'TODO: Resource-level docs' - get: - description: Get a list of room participants. - operationId: ListVideoParticipantSummary - parameters: - - description: The SID of the Room resource. - in: path - name: RoomSid - required: true + - description: Account SID for the subaccount whose resources you wish to retrieve. + in: query + name: Subaccount + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + - description: Potential configuration, behavior, or performance issues detected + during the conference. + in: query + name: DetectedIssues + schema: + type: string + - description: Conference end reason; e.g. last participant left, modified by + API, etc. + in: query + name: EndReason schema: type: string - description: How many resources to return in each list page. The default is @@ -1445,14 +1498,19 @@ paths: content: application/json: schema: + type: object + title: ListConferenceResponse properties: + conferences: + type: array + items: + $ref: '#/components/schemas/insights.v1.conference' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1466,41 +1524,57 @@ paths: url: format: uri type: string - type: object - participants: - items: - $ref: '#/components/schemas/insights.v1.video_room_summary.video_participant_summary' - type: array - title: ListVideoParticipantSummaryResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - - Beta + - GA + /v1/Conferences/{ConferenceSid}/Participants/{ParticipantSid}: servers: - url: https://insights.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - participant_sid - parent: /Video/Rooms - pathType: list - /v1/Video/Rooms/{RoomSid}/Participants/{ParticipantSid}: - description: 'TODO: Resource-level docs' + - conference_sid + - call_sid + - account_sid + pathType: instance + parent: /Conferences + className: conference_participant get: - description: Get Video Log Analyzer data for a Room Participant. - operationId: FetchVideoParticipantSummary + description: Fetch a specific Conference Participant Summary. + operationId: FetchConferenceParticipant parameters: - - description: The SID of the Room resource. + - description: The unique SID identifier of the Conference. in: path - name: RoomSid + name: ConferenceSid required: true schema: type: string - - description: The SID of the Participant resource. + minLength: 34 + maxLength: 34 + pattern: ^CF[0-9a-fA-F]{32}$ + - description: The unique SID identifier of the Participant. in: path name: ParticipantSid required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CP[0-9a-fA-F]{32}$ + - description: Conference events generated by application or participant activity; + e.g. `hold`, `mute`, etc. + in: query + name: Events + schema: + type: string + - description: Object. Contains participant call quality metrics. + in: query + name: Metrics schema: type: string responses: @@ -1508,191 +1582,230 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/insights.v1.video_room_summary.video_participant_summary' + $ref: '#/components/schemas/insights.v1.conference.conference_participant' description: OK security: - accountSid_authToken: [] x-maturity: - - Beta + - GA + /v1/Conferences/{ConferenceSid}/Participants: servers: - url: https://insights.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - participant_sid - parent: /Video/Rooms - pathType: instance - /v1/Voice/Settings: - description: 'TODO: Resource-level docs' + - conference_sid + - call_sid + - account_sid + pathType: list + parent: /Conferences + className: conference_participant get: - description: '' - operationId: FetchAccountSettings + description: List Conference Participants. + operationId: ListConferenceParticipant parameters: - - description: '' - in: query - name: SubaccountSid + - description: The unique SID identifier of the Conference. + in: path + name: ConferenceSid + required: true schema: - maxLength: 34 + type: string minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ + maxLength: 34 + pattern: ^CF[0-9a-fA-F]{32}$ + - description: The unique SID identifier of the Participant. + in: query + name: ParticipantSid + schema: type: string + - description: User-specified label for a participant. + in: query + name: Label + schema: + type: string + - description: Conference events generated by application or participant activity; + e.g. `hold`, `mute`, etc. + in: query + name: Events + schema: + 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 responses: '200': content: application/json: schema: - $ref: '#/components/schemas/insights.v1.account_settings' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: '' - operationId: UpdateAccountSettings - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - AdvancedFeatures: - description: '' - type: boolean - SubaccountSid: - description: '' - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - VoiceTrace: - description: '' - type: boolean - title: UpdateAccountSettingsRequest - type: object - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/insights.v1.account_settings' + type: object + title: ListConferenceParticipantResponse + properties: + participants: + type: array + items: + $ref: '#/components/schemas/insights.v1.conference.conference_participant' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Voice/{CallSid}/Events: servers: - url: https://insights.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - - advanced_features - - voice_trace - pathType: instance - /v1/Voice/Summaries: - description: 'TODO: Resource-level docs' + - timestamp + - call_sid + - account_sid + - edge + - name + pathType: list + parent: /Voice/{Sid} get: description: '' - operationId: ListCallSummaries + operationId: ListEvent parameters: - description: '' - in: query - name: From - schema: - type: string - - description: '' - in: query - name: To - schema: - type: string - - description: '' - in: query - name: FromCarrier - schema: - type: string - - description: '' - in: query - name: ToCarrier - schema: - type: string - - description: '' - in: query - name: FromCountryCode - schema: - type: string - - description: '' - in: query - name: ToCountryCode - schema: - type: string - - description: '' - in: query - name: Branded - schema: - type: boolean - - description: '' - in: query - name: VerifiedCaller - schema: - type: boolean - - description: '' - in: query - name: HasTag - schema: - type: boolean - - description: '' - in: query - name: StartTime - schema: - type: string - - description: '' - in: query - name: EndTime + in: path + name: CallSid + required: true schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ - description: '' in: query - name: CallType + name: Edge schema: type: string - - description: '' + enum: + - unknown_edge + - carrier_edge + - sip_edge + - sdk_edge + - client_edge + - description: How many resources to return in each list page. The default is + 50, and the maximum is 1000. in: query - name: CallState + name: PageSize schema: - type: string + maximum: 1000 + minimum: 1 + type: integer + responses: + '200': + content: + application/json: + schema: + type: object + title: ListEventResponse + properties: + events: + type: array + items: + $ref: '#/components/schemas/insights.v1.call.event' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - Preview + /v1/Voice/{CallSid}/Metrics: + servers: + - url: https://insights.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - timestamp + - call_sid + - account_sid + - edge + - direction + pathType: list + parent: /Voice/{Sid} + get: + description: '' + operationId: ListMetric + parameters: - description: '' - in: query - name: Direction + in: path + name: CallSid + required: true schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ - description: '' in: query - name: ProcessingState + name: Edge schema: - enum: - - completed - - started - - partial - - all type: string - - description: '' - in: query - name: SortBy - schema: enum: - - start_time - - end_time - type: string + - unknown_edge + - carrier_edge + - sip_edge + - sdk_edge + - client_edge - description: '' in: query - name: Subaccount + name: Direction schema: - maxLength: 34 - minLength: 34 - pattern: ^AC[0-9a-fA-F]{32}$ type: string - - description: '' - in: query - name: AbnormalSession - schema: - type: boolean + enum: + - unknown + - inbound + - outbound + - both - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -1706,18 +1819,19 @@ paths: content: application/json: schema: + type: object + title: ListMetricResponse properties: - call_summaries: - items: - $ref: '#/components/schemas/insights.v1.call_summaries' + metrics: type: array + items: + $ref: '#/components/schemas/insights.v1.call.metric' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1731,175 +1845,112 @@ paths: url: format: uri type: string - type: object - title: ListCallSummariesResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - - GA + - Preview + /v1/Voice/{CallSid}/Summary: servers: - url: https://insights.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - className: call_summaries defaultOutputProperties: - - account_sid - - call_sid - - create_time - - start_time - - end_time - - duration - - connect_duration - call_type - call_state - pathType: list - /v1/Voice/{CallSid}/Annotation: - description: 'TODO: Resource-level docs' + - processing_state + - duration + pathType: instance + parent: /Voice/{Sid} + className: call_summary get: - description: Fetch a specific Annotation. - operationId: FetchAnnotation + description: '' + operationId: FetchSummary parameters: - - description: The unique SID identifier of the Call. + - description: '' in: path name: CallSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^CA[0-9a-fA-F]{32}$ + - description: '' + in: query + name: ProcessingState + schema: type: string + enum: + - complete + - partial responses: '200': content: application/json: schema: - $ref: '#/components/schemas/insights.v1.call.annotation' + $ref: '#/components/schemas/insights.v1.call.summary' description: OK security: - accountSid_authToken: [] x-maturity: - - Beta - post: - description: Create/Update the annotation for the call - operationId: UpdateAnnotation + - GA + /v1/Video/Rooms/{RoomSid}/Participants/{ParticipantSid}: + servers: + - url: https://insights.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - participant_sid + pathType: instance + parent: /Video/Rooms + get: + description: Get Video Log Analyzer data for a Room Participant. + operationId: FetchVideoParticipantSummary parameters: - - description: The unique string that Twilio created to identify this Call resource. - It always starts with a CA. + - description: The SID of the Room resource. in: path - name: CallSid + name: RoomSid + required: true + schema: + type: string + - description: The SID of the Participant resource. + in: path + name: ParticipantSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^CA[0-9a-fA-F]{32}$ type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - AnsweredBy: - description: 'Which entity answered the call as determined by Answering - Machine Detection. Use this to provide feedback on Answering Machine - Detection accuracy. Possible enumerated values, one of: human, - machine. human indicates the call was answered by a person. machine - indicates the call was answered by an answering machine.' - enum: - - unknown_answered_by - - human - - machine - type: string - CallScore: - description: 'Specify the call score. This is of type integer. Use - a range of 1-5 to indicate the call experience score, with the - following mapping as a reference for rating the call [5: Excellent, - 4: Good, 3 : Fair, 2 : Poor, 1: Bad].' - nullable: true - type: integer - Comment: - description: "Specify any comments pertaining to the call. This\ - \ of type string with a max limit of 100 characters. Twilio does\ - \ not treat this field as PII, so don\u2019t put any PII in here." - type: string - ConnectivityIssue: - description: 'Specify if the call had any connectivity issues. Possible - enumerated values, one : no_connectivity_issue, invalid_number, - caller_id, dropped_call, number_reachability.' - enum: - - unknown_connectivity_issue - - no_connectivity_issue - - invalid_number - - caller_id - - dropped_call - - number_reachability - type: string - Incident: - description: "Associate this call with an incident or support ticket.\ - \ This is of type string with a max limit of 100 characters. Twilio\ - \ does not treat this field as PII, so don\u2019t put any PII\ - \ in here." - type: string - QualityIssues: - description: 'Specify if the call had any subjective quality issues. - Possible values, one or more of: no_quality_issue, low_volume, - choppy_robotic, echo, dtmf, latency, owa, static_noise. Use comma - separated values to indicate multiple quality issues for the same - call' - type: string - Spam: - description: 'Specify if the call was a spam call. Use this to provide - feedback on whether calls placed from your account were marked - as spam, or if inbound calls received by your account were unwanted - spam. Is of type Boolean: true, false. Use true if the call was - a spam call.' - type: boolean - title: UpdateAnnotationRequest - type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/insights.v1.call.annotation' + $ref: '#/components/schemas/insights.v1.video_room_summary.video_participant_summary' description: OK security: - accountSid_authToken: [] x-maturity: - Beta + /v1/Video/Rooms/{RoomSid}/Participants: servers: - url: https://insights.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - - call_sid - - account_sid - parent: /Voice/{Sid} - pathType: instance - /v1/Voice/{CallSid}/Events: - description: 'TODO: Resource-level docs' + - participant_sid + pathType: list + parent: /Video/Rooms get: - description: '' - operationId: ListEvent + description: Get a list of room participants. + operationId: ListVideoParticipantSummary parameters: - - description: '' + - description: The SID of the Room resource. in: path - name: CallSid + name: RoomSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^CA[0-9a-fA-F]{32}$ - type: string - - description: '' - in: query - name: Edge - schema: - enum: - - unknown_edge - - carrier_edge - - sip_edge - - sdk_edge - - client_edge type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. @@ -1914,18 +1965,19 @@ paths: content: application/json: schema: + type: object + title: ListVideoParticipantSummaryResponse properties: - events: - items: - $ref: '#/components/schemas/insights.v1.call.event' + participants: type: array + items: + $ref: '#/components/schemas/insights.v1.video_room_summary.video_participant_summary' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1939,61 +1991,97 @@ paths: url: format: uri type: string - type: object - title: ListEventResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - - Preview + - Beta + /v1/Video/Rooms/{RoomSid}: servers: - url: https://insights.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - - timestamp - - call_sid - - account_sid - - edge - - name - parent: /Voice/{Sid} - pathType: list - /v1/Voice/{CallSid}/Metrics: - description: 'TODO: Resource-level docs' + - room_sid + - create_time + pathType: instance get: - description: '' - operationId: ListMetric + description: Get Video Log Analyzer data for a Room. + operationId: FetchVideoRoomSummary parameters: - - description: '' + - description: The SID of the Room resource. in: path - name: CallSid + name: RoomSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^CA[0-9a-fA-F]{32}$ type: string - - description: '' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/insights.v1.video_room_summary' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - Beta + /v1/Video/Rooms: + servers: + - url: https://insights.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - room_sid + - create_time + pathType: list + get: + description: Get a list of Programmable Video Rooms. + operationId: ListVideoRoomSummary + parameters: + - description: Type of room. Can be `go`, `peer_to_peer`, `group`, or `group_small`. in: query - name: Edge + name: RoomType + schema: + type: array + items: + type: string + enum: + - go + - peer_to_peer + - group + - group_small + - description: Codecs used by participants in the room. Can be `VP8`, `H264`, + or `VP9`. + in: query + name: Codec + schema: + type: array + items: + type: string + enum: + - VP8 + - H264 + - VP9 + - description: Room friendly name. + in: query + name: RoomName schema: - enum: - - unknown_edge - - carrier_edge - - sip_edge - - sdk_edge - - client_edge type: string - - description: '' + - description: Only read rooms that started on or after this ISO 8601 timestamp. in: query - name: Direction + name: CreatedAfter + schema: + type: string + format: date-time + - description: Only read rooms that started before this ISO 8601 timestamp. + in: query + name: CreatedBefore schema: - enum: - - unknown - - inbound - - outbound - - both type: string + format: date-time - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -2007,14 +2095,19 @@ paths: content: application/json: schema: + type: object + title: ListVideoRoomSummaryResponse properties: + rooms: + type: array + items: + $ref: '#/components/schemas/insights.v1.video_room_summary' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -2028,115 +2121,22 @@ paths: url: format: uri type: string - type: object - metrics: - items: - $ref: '#/components/schemas/insights.v1.call.metric' - type: array - title: ListMetricResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - Preview - servers: - - url: https://insights.twilio.com - x-twilio: - defaultOutputProperties: - - timestamp - - call_sid - - account_sid - - edge - - direction - parent: /Voice/{Sid} - pathType: list - /v1/Voice/{CallSid}/Summary: - description: 'TODO: Resource-level docs' - get: - description: '' - operationId: FetchSummary - parameters: - - description: '' - in: path - name: CallSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^CA[0-9a-fA-F]{32}$ - type: string - - description: '' - in: query - name: ProcessingState - schema: - enum: - - complete - - partial - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/insights.v1.call.summary' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://insights.twilio.com - x-twilio: - className: call_summary - defaultOutputProperties: - - call_type - - call_state - - processing_state - - duration - parent: /Voice/{Sid} - pathType: instance - /v1/Voice/{Sid}: - description: 'TODO: Resource-level docs' - get: - description: '' - operationId: FetchCall - parameters: - - description: '' - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^CA[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/insights.v1.call' + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - - GA - servers: - - url: https://insights.twilio.com - x-twilio: - className: call - defaultOutputProperties: [] - pathType: instance + - Beta servers: - url: https://insights.twilio.com x-maturity: -- description: This product is Generally Available. - name: GA -- description: PLEASE NOTE that this is a Beta product that is subject to change. +- name: GA + description: This product is Generally Available. +- name: Beta + description: PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution. - name: Beta -- description: PLEASE NOTE that this is a Preview product that is subject to change. +- name: Preview + description: PLEASE NOTE that this is a Preview product that is subject to change. Use it with caution. If you currently do not have developer preview access, please contact help@twilio.com. - name: Preview diff --git a/spec/yaml/twilio_ip_messaging_v1.yaml b/spec/yaml/twilio_ip_messaging_v1.yaml index 5c5e0a8d..06f3a200 100644 --- a/spec/yaml/twilio_ip_messaging_v1.yaml +++ b/spec/yaml/twilio_ip_messaging_v1.yaml @@ -1,263 +1,180 @@ components: schemas: - ip_messaging.v1.credential: + ip_messaging.v1.service.channel: + type: object properties: account_sid: - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - date_created: - format: date-time - nullable: true - type: string - date_updated: - format: date-time - nullable: true - type: string - friendly_name: - nullable: true - type: string - sandbox: - nullable: true type: string - sid: - maxLength: 34 minLength: 34 - nullable: true - pattern: ^CR[0-9a-fA-F]{32}$ - type: string - type: - enum: - - gcm - - apn - - fcm - nullable: true - type: string - url: - format: uri - nullable: true - type: string - type: object - ip_messaging.v1.service: - properties: - account_sid: maxLength: 34 - minLength: 34 - nullable: true pattern: ^AC[0-9a-fA-F]{32}$ - type: string - consumption_report_interval: nullable: true - type: integer - date_created: - format: date-time + attributes: nullable: true type: string - date_updated: - format: date-time + created_by: nullable: true type: string - default_channel_creator_role_sid: - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^RL[0-9a-fA-F]{32}$ + date_created: type: string - default_channel_role_sid: - maxLength: 34 - minLength: 34 + format: date-time nullable: true - pattern: ^RL[0-9a-fA-F]{32}$ + date_updated: type: string - default_service_role_sid: - maxLength: 34 - minLength: 34 + format: date-time nullable: true - pattern: ^RL[0-9a-fA-F]{32}$ - type: string friendly_name: nullable: true type: string - limits: - nullable: true links: format: uri-map nullable: true type: object - notifications: - nullable: true - post_webhook_url: + members_count: nullable: true - type: string - pre_webhook_url: + type: integer + messages_count: nullable: true + type: integer + service_sid: type: string - reachability_enabled: - nullable: true - type: boolean - read_status_enabled: + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ nullable: true - type: boolean sid: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 + pattern: ^CH[0-9a-fA-F]{32}$ nullable: true - pattern: ^IS[0-9a-fA-F]{32}$ + type: type: string - typing_indicator_timeout: + enum: + - public + - private nullable: true - type: integer - url: - format: uri + unique_name: nullable: true type: string - webhook_filters: - items: - type: string - nullable: true - type: array - webhook_method: + url: + format: uri nullable: true type: string - webhooks: - nullable: true + ip_messaging.v1.credential: type: object - ip_messaging.v1.service.channel: properties: account_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - attributes: - nullable: true - type: string - created_by: nullable: true - type: string date_created: + type: string format: date-time nullable: true - type: string date_updated: + type: string format: date-time nullable: true - type: string friendly_name: nullable: true type: string - links: - format: uri-map - nullable: true - type: object - members_count: - nullable: true - type: integer - messages_count: - nullable: true - type: integer - service_sid: - maxLength: 34 - minLength: 34 + sandbox: nullable: true - pattern: ^IS[0-9a-fA-F]{32}$ type: string sid: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ nullable: true - pattern: ^CH[0-9a-fA-F]{32}$ - type: string type: - enum: - - public - - private - nullable: true type: string - unique_name: + enum: + - gcm + - apn + - fcm nullable: true - type: string url: format: uri nullable: true type: string - type: object ip_messaging.v1.service.channel.invite: + type: object properties: account_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true channel_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string + nullable: true created_by: nullable: true type: string date_created: + type: string format: date-time nullable: true - type: string date_updated: + type: string format: date-time nullable: true - type: string identity: nullable: true type: string role_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string + nullable: true service_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IN[0-9a-fA-F]{32}$ - type: string + nullable: true url: format: uri nullable: true type: string - type: object ip_messaging.v1.service.channel.member: + type: object properties: account_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true channel_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string + nullable: true date_created: + type: string format: date-time nullable: true - type: string date_updated: + type: string format: date-time nullable: true - type: string identity: nullable: true type: string @@ -265,40 +182,40 @@ components: nullable: true type: integer last_consumption_timestamp: + type: string format: date-time nullable: true - type: string role_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string + nullable: true service_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^MB[0-9a-fA-F]{32}$ - type: string + nullable: true url: format: uri nullable: true type: string - type: object ip_messaging.v1.service.channel.message: + type: object properties: account_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true attributes: nullable: true type: string @@ -306,19 +223,19 @@ components: nullable: true type: string channel_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string + nullable: true date_created: + type: string format: date-time nullable: true - type: string date_updated: + type: string format: date-time nullable: true - type: string from: nullable: true type: string @@ -326,23 +243,23 @@ components: nullable: true type: integer service_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IM[0-9a-fA-F]{32}$ - type: string + nullable: true to: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string + nullable: true url: format: uri nullable: true @@ -350,73 +267,157 @@ components: was_edited: nullable: true type: boolean - type: object ip_messaging.v1.service.role: + type: object properties: account_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true date_created: + type: string format: date-time nullable: true - type: string date_updated: + type: string format: date-time nullable: true - type: string friendly_name: nullable: true type: string permissions: + type: array items: type: string nullable: true - type: array service_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string + nullable: true type: + type: string enum: - channel - deployment nullable: true - type: string url: format: uri nullable: true type: string + ip_messaging.v1.service: type: object - ip_messaging.v1.service.user: properties: account_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + consumption_report_interval: + nullable: true + type: integer + date_created: + type: string + format: date-time + nullable: true + date_updated: + type: string + format: date-time + nullable: true + default_channel_creator_role_sid: + type: string + minLength: 34 maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ + nullable: true + default_channel_role_sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ + nullable: true + default_service_role_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ + nullable: true + friendly_name: + nullable: true + type: string + limits: + nullable: true + links: + format: uri-map + nullable: true + type: object + notifications: + nullable: true + post_webhook_url: + nullable: true + type: string + pre_webhook_url: + nullable: true + type: string + reachability_enabled: + nullable: true + type: boolean + read_status_enabled: + nullable: true + type: boolean + sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + nullable: true + typing_indicator_timeout: + nullable: true + type: integer + url: + format: uri nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ type: string + webhook_filters: + type: array + items: + type: string + nullable: true + webhook_method: + nullable: true + type: string + webhooks: + nullable: true + ip_messaging.v1.service.user: + type: object + properties: + account_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true attributes: nullable: true type: string date_created: + type: string format: date-time nullable: true - type: string date_updated: + type: string format: date-time nullable: true - type: string friendly_name: nullable: true type: string @@ -437,42 +438,42 @@ components: nullable: true type: object role_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string + nullable: true service_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^US[0-9a-fA-F]{32}$ - type: string + nullable: true url: format: uri nullable: true type: string - type: object ip_messaging.v1.service.user.user_channel: + type: object properties: account_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true channel_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string + nullable: true last_consumed_message_index: nullable: true type: integer @@ -481,28 +482,27 @@ components: nullable: true type: object member_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^MB[0-9a-fA-F]{32}$ - type: string + nullable: true service_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true status: + type: string enum: - joined - invited - not_participating nullable: true - type: string unread_messages_count: nullable: true type: integer - type: object securitySchemes: accountSid_authToken: scheme: basic @@ -521,127 +521,65 @@ info: version: 1.30.0 openapi: 3.0.1 paths: - /v1/Credentials: + /v1/Services/{ServiceSid}/Channels/{Sid}: + servers: + - url: https://ip-messaging.twilio.com description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - unique_name + - friendly_name + pathType: instance + parent: /Services get: description: '' - operationId: ListCredential + operationId: FetchChannel parameters: - - description: How many resources to return in each list page. The default is - 50, and the maximum is 1000. - in: query - name: PageSize + - description: '' + in: path + name: ServiceSid + required: true schema: - maximum: 1000 - minimum: 1 - type: integer + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: '' + in: path + name: Sid + required: true + schema: + type: string responses: '200': content: application/json: schema: - properties: - credentials: - items: - $ref: '#/components/schemas/ip_messaging.v1.credential' - type: array - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - title: ListCredentialResponse - type: object + $ref: '#/components/schemas/ip_messaging.v1.service.channel' description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: + delete: description: '' - operationId: CreateCredential - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - ApiKey: - description: '' - type: string - Certificate: - description: '' - type: string - FriendlyName: - description: '' - type: string - PrivateKey: - description: '' - type: string - Sandbox: - description: '' - type: boolean - Secret: - description: '' - type: string - Type: - description: '' - enum: - - gcm - - apn - - fcm - type: string - required: - - Type - title: CreateCredentialRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/ip_messaging.v1.credential' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://ip-messaging.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - type - pathType: list - /v1/Credentials/{Sid}: - delete: - description: '' - operationId: DeleteCredential + operationId: DeleteChannel parameters: - description: '' in: path - name: Sid + name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 - pattern: ^CR[0-9a-fA-F]{32}$ + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: '' + in: path + name: Sid + required: true + schema: type: string responses: '204': @@ -650,94 +588,132 @@ paths: - accountSid_authToken: [] x-maturity: - GA - description: 'TODO: Resource-level docs' - get: + post: description: '' - operationId: FetchCredential + operationId: UpdateChannel parameters: - description: '' in: path - name: Sid + name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 - pattern: ^CR[0-9a-fA-F]{32}$ + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: '' + in: path + name: Sid + required: true + schema: type: string + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: '' + type: string + UniqueName: + description: '' + type: string + Attributes: + description: '' + type: string + title: UpdateChannelRequest + type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/ip_messaging.v1.credential' + $ref: '#/components/schemas/ip_messaging.v1.service.channel' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ServiceSid}/Channels: + servers: + - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - unique_name + - friendly_name + pathType: list + parent: /Services post: description: '' - operationId: UpdateCredential + operationId: CreateChannel parameters: - description: '' in: path - name: Sid + name: ServiceSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^CR[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - ApiKey: + FriendlyName: description: '' type: string - Certificate: + UniqueName: description: '' type: string - FriendlyName: + Attributes: description: '' type: string - PrivateKey: - description: '' + Type: type: string - Sandbox: - description: '' - type: boolean - Secret: + enum: + - public + - private description: '' - type: string - title: UpdateCredentialRequest + title: CreateChannelRequest type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/ip_messaging.v1.credential' - description: OK + $ref: '#/components/schemas/ip_messaging.v1.service.channel' + description: Created security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://ip-messaging.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - type - pathType: instance - /v1/Services: - description: 'TODO: Resource-level docs' get: description: '' - operationId: ListService + operationId: ListChannel parameters: + - description: '' + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: '' + in: query + name: Type + schema: + type: array + items: + type: string + enum: + - public + - private - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -751,14 +727,19 @@ paths: content: application/json: schema: + type: object + title: ListChannelResponse properties: + channels: + type: array + items: + $ref: '#/components/schemas/ip_messaging.v1.service.channel' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -772,77 +753,27 @@ paths: url: format: uri type: string - type: object - services: - items: - $ref: '#/components/schemas/ip_messaging.v1.service' - type: array - title: ListServiceResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: '' - operationId: CreateService - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - FriendlyName: - description: '' - type: string - required: - - FriendlyName - title: CreateServiceRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/ip_messaging.v1.service' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA + /v1/Credentials: servers: - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - friendly_name - - date_created + - type pathType: list - /v1/Services/{ServiceSid}/Channels: - description: 'TODO: Resource-level docs' get: description: '' - operationId: ListChannel + operationId: ListCredential parameters: - - description: '' - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: '' - in: query - name: Type - schema: - items: - enum: - - public - - private - type: string - type: array - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -856,18 +787,19 @@ paths: content: application/json: schema: + type: object + title: ListCredentialResponse properties: - channels: - items: - $ref: '#/components/schemas/ip_messaging.v1.service.channel' + credentials: type: array + items: + $ref: '#/components/schemas/ip_messaging.v1.credential' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -881,9 +813,8 @@ paths: url: format: uri type: string - type: object - title: ListChannelResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] @@ -891,128 +822,81 @@ paths: - GA post: description: '' - operationId: CreateChannel - parameters: - - description: '' - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string + operationId: CreateCredential requestBody: content: application/x-www-form-urlencoded: schema: properties: - Attributes: - description: '' + Type: type: string + enum: + - gcm + - apn + - fcm + description: '' FriendlyName: description: '' type: string - Type: + Certificate: description: '' - enum: - - public - - private type: string - UniqueName: + PrivateKey: description: '' type: string - title: CreateChannelRequest + Sandbox: + description: '' + type: boolean + ApiKey: + description: '' + type: string + Secret: + description: '' + type: string + required: + - Type + title: CreateCredentialRequest type: object responses: '201': content: application/json: schema: - $ref: '#/components/schemas/ip_messaging.v1.service.channel' + $ref: '#/components/schemas/ip_messaging.v1.credential' description: Created security: - accountSid_authToken: [] x-maturity: - GA + /v1/Credentials/{Sid}: servers: - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - - unique_name - friendly_name - parent: /Services - pathType: list - /v1/Services/{ServiceSid}/Channels/{ChannelSid}/Invites: - description: 'TODO: Resource-level docs' + - type + pathType: instance get: description: '' - operationId: ListInvite + operationId: FetchCredential parameters: - description: '' in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: '' - in: path - name: ChannelSid + name: Sid required: true schema: type: string - - description: '' - in: query - name: Identity - schema: - items: - type: string - type: array - - 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 + minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - properties: - invites: - items: - $ref: '#/components/schemas/ip_messaging.v1.service.channel.invite' - type: array - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - title: ListInviteResponse - type: object + $ref: '#/components/schemas/ip_messaging.v1.credential' description: OK security: - accountSid_authToken: [] @@ -1020,75 +904,97 @@ paths: - GA post: description: '' - operationId: CreateInvite + operationId: UpdateCredential parameters: - description: '' in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: '' - in: path - name: ChannelSid + name: Sid required: true schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - Identity: + FriendlyName: description: '' type: string - RoleSid: + Certificate: description: '' - maxLength: 34 - minLength: 34 - pattern: ^RL[0-9a-fA-F]{32}$ type: string - required: - - Identity - title: CreateInviteRequest + PrivateKey: + description: '' + type: string + Sandbox: + description: '' + type: boolean + ApiKey: + description: '' + type: string + Secret: + description: '' + type: string + title: UpdateCredentialRequest type: object responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/ip_messaging.v1.service.channel.invite' - description: Created + $ref: '#/components/schemas/ip_messaging.v1.credential' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + delete: + description: '' + operationId: DeleteCredential + parameters: + - description: '' + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ServiceSid}/Channels/{ChannelSid}/Invites/{Sid}: servers: - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - identity - date_created + pathType: instance parent: /Services/{ServiceSid}/Channels - pathType: list - /v1/Services/{ServiceSid}/Channels/{ChannelSid}/Invites/{Sid}: - delete: + get: description: '' - operationId: DeleteInvite + operationId: FetchInvite parameters: - description: '' in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: ChannelSid @@ -1100,31 +1006,34 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IN[0-9a-fA-F]{32}$ - type: string responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ip_messaging.v1.service.channel.invite' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - description: 'TODO: Resource-level docs' - get: + delete: description: '' - operationId: FetchInvite + operationId: DeleteInvite parameters: - description: '' in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: ChannelSid @@ -1136,83 +1045,128 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IN[0-9a-fA-F]{32}$ - type: string responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ip_messaging.v1.service.channel.invite' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ServiceSid}/Channels/{ChannelSid}/Invites: servers: - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - identity - date_created + pathType: list parent: /Services/{ServiceSid}/Channels - pathType: instance - /v1/Services/{ServiceSid}/Channels/{ChannelSid}/Members: - description: 'TODO: Resource-level docs' - get: + post: description: '' - operationId: ListMember + operationId: CreateInvite parameters: - description: '' in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: ChannelSid required: true schema: type: string - - description: '' - in: query - name: Identity - schema: - items: - type: string - type: array - - 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 + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Identity: + description: '' + type: string + RoleSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ + description: '' + required: + - Identity + title: CreateInviteRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/ip_messaging.v1.service.channel.invite' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + get: + description: '' + operationId: ListInvite + parameters: + - description: '' + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: '' + in: path + name: ChannelSid + required: true + schema: + type: string + - description: '' + in: query + name: Identity + schema: + type: array + items: + 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 responses: '200': content: application/json: schema: + type: object + title: ListInviteResponse properties: - members: - items: - $ref: '#/components/schemas/ip_messaging.v1.service.channel.member' + invites: type: array + items: + $ref: '#/components/schemas/ip_messaging.v1.service.channel.invite' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1226,72 +1180,63 @@ paths: url: format: uri type: string - type: object - title: ListMemberResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: + /v1/Services/{ServiceSid}/Channels/{ChannelSid}/Members/{Sid}: + servers: + - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - identity + - date_created + pathType: instance + parent: /Services/{ServiceSid}/Channels + get: description: '' - operationId: CreateMember + operationId: FetchMember parameters: - description: '' in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: ChannelSid required: true schema: type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Identity: - description: '' - type: string - RoleSid: - description: '' - maxLength: 34 - minLength: 34 - pattern: ^RL[0-9a-fA-F]{32}$ - type: string - required: - - Identity - title: CreateMemberRequest - type: object + - description: '' + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^MB[0-9a-fA-F]{32}$ responses: - '201': + '200': content: application/json: schema: $ref: '#/components/schemas/ip_messaging.v1.service.channel.member' - description: Created + description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://ip-messaging.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - identity - - date_created - parent: /Services/{ServiceSid}/Channels - pathType: list - /v1/Services/{ServiceSid}/Channels/{ChannelSid}/Members/{Sid}: delete: description: '' operationId: DeleteMember @@ -1301,10 +1246,10 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: ChannelSid @@ -1316,10 +1261,10 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^MB[0-9a-fA-F]{32}$ - type: string responses: '204': description: The resource was deleted successfully. @@ -1327,20 +1272,19 @@ paths: - accountSid_authToken: [] x-maturity: - GA - description: 'TODO: Resource-level docs' - get: + post: description: '' - operationId: FetchMember + operationId: UpdateMember parameters: - description: '' in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: ChannelSid @@ -1352,10 +1296,27 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^MB[0-9a-fA-F]{32}$ - type: string + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + RoleSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ + description: '' + LastConsumedMessageIndex: + description: '' + nullable: true + type: integer + title: UpdateMemberRequest + type: object responses: '200': content: @@ -1367,103 +1328,91 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ServiceSid}/Channels/{ChannelSid}/Members: + servers: + - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - identity + - date_created + pathType: list + parent: /Services/{ServiceSid}/Channels post: description: '' - operationId: UpdateMember + operationId: CreateMember parameters: - description: '' in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: ChannelSid required: true schema: type: string - - description: '' - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^MB[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - LastConsumedMessageIndex: + Identity: description: '' - nullable: true - type: integer + type: string RoleSid: - description: '' - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string - title: UpdateMemberRequest + description: '' + required: + - Identity + title: CreateMemberRequest type: object responses: - '200': + '201': content: application/json: schema: $ref: '#/components/schemas/ip_messaging.v1.service.channel.member' - description: OK + description: Created security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://ip-messaging.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - identity - - date_created - parent: /Services/{ServiceSid}/Channels - pathType: instance - /v1/Services/{ServiceSid}/Channels/{ChannelSid}/Messages: - description: 'TODO: Resource-level docs' get: description: '' - operationId: ListMessage + operationId: ListMember parameters: - description: '' in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: ChannelSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^CH[0-9a-fA-F]{32}$ type: string - description: '' in: query - name: Order + name: Identity schema: - enum: - - asc - - desc - type: string + type: array + items: + type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -1477,18 +1426,19 @@ paths: content: application/json: schema: + type: object + title: ListMemberResponse properties: - messages: + members: + type: array items: - $ref: '#/components/schemas/ip_messaging.v1.service.channel.message' - type: array + $ref: '#/components/schemas/ip_messaging.v1.service.channel.member' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1502,153 +1452,101 @@ paths: url: format: uri type: string - type: object - title: ListMessageResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: '' - operationId: CreateMessage - parameters: - - description: '' - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: '' - in: path - name: ChannelSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^CH[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Attributes: - description: '' - type: string - Body: - description: '' - type: string - From: - description: '' - type: string - required: - - Body - title: CreateMessageRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/ip_messaging.v1.service.channel.message' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA + /v1/Services/{ServiceSid}/Channels/{ChannelSid}/Messages/{Sid}: servers: - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - from - to - date_created + pathType: instance parent: /Services/{ServiceSid}/Channels - pathType: list - /v1/Services/{ServiceSid}/Channels/{ChannelSid}/Messages/{Sid}: - delete: + get: description: '' - operationId: DeleteMessage + operationId: FetchMessage parameters: - description: '' in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: ChannelSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IM[0-9a-fA-F]{32}$ - type: string responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ip_messaging.v1.service.channel.message' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - description: 'TODO: Resource-level docs' - get: + delete: description: '' - operationId: FetchMessage + operationId: DeleteMessage parameters: - description: '' in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: ChannelSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IM[0-9a-fA-F]{32}$ - type: string responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ip_messaging.v1.service.channel.message' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: @@ -1662,37 +1560,37 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: ChannelSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IM[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Attributes: + Body: description: '' type: string - Body: + Attributes: description: '' type: string title: UpdateMessageRequest @@ -1708,144 +1606,99 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ServiceSid}/Channels/{ChannelSid}/Messages: servers: - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - from - to - date_created + pathType: list parent: /Services/{ServiceSid}/Channels - pathType: instance - /v1/Services/{ServiceSid}/Channels/{Sid}: - delete: + post: description: '' - operationId: DeleteChannel + operationId: CreateMessage parameters: - description: '' in: path name: ServiceSid required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: '' - in: path - name: Sid - required: true schema: type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: 'TODO: Resource-level docs' - get: - description: '' - operationId: FetchChannel - parameters: - - description: '' - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: '' - in: path - name: Sid - required: true - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ip_messaging.v1.service.channel' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: '' - operationId: UpdateChannel - parameters: - - description: '' - in: path - name: ServiceSid - required: true - schema: maxLength: 34 - minLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path - name: Sid + name: ChannelSid required: true schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^CH[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - Attributes: + Body: description: '' type: string - FriendlyName: + From: description: '' type: string - UniqueName: + Attributes: description: '' type: string - title: UpdateChannelRequest + required: + - Body + title: CreateMessageRequest type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/ip_messaging.v1.service.channel' - description: OK + $ref: '#/components/schemas/ip_messaging.v1.service.channel.message' + description: Created security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://ip-messaging.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - unique_name - - friendly_name - parent: /Services - pathType: instance - /v1/Services/{ServiceSid}/Roles: - description: 'TODO: Resource-level docs' get: description: '' - operationId: ListRole + operationId: ListMessage parameters: - description: '' in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ + - description: '' + in: path + name: ChannelSid + required: true + schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^CH[0-9a-fA-F]{32}$ + - description: '' + in: query + name: Order + schema: + type: string + enum: + - asc + - desc - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -1859,14 +1712,19 @@ paths: content: application/json: schema: + type: object + title: ListMessageResponse properties: - meta: - properties: - first_page_url: + messages: + type: array + items: + $ref: '#/components/schemas/ip_messaging.v1.service.channel.message' + meta: + type: object + properties: + first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1880,77 +1738,57 @@ paths: url: format: uri type: string - type: object - roles: - items: - $ref: '#/components/schemas/ip_messaging.v1.service.role' - type: array - title: ListRoleResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: + /v1/Services/{ServiceSid}/Roles/{Sid}: + servers: + - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - type + pathType: instance + parent: /Services + get: description: '' - operationId: CreateRole + operationId: FetchRole parameters: - description: '' in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ + - description: '' + in: path + name: Sid + required: true + schema: type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - FriendlyName: - description: '' - type: string - Permission: - description: '' - items: - type: string - type: array - Type: - description: '' - enum: - - channel - - deployment - type: string - required: - - FriendlyName - - Type - - Permission - title: CreateRoleRequest - type: object + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ responses: - '201': + '200': content: application/json: schema: $ref: '#/components/schemas/ip_messaging.v1.service.role' - description: Created + description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://ip-messaging.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - type - parent: /Services - pathType: list - /v1/Services/{ServiceSid}/Roles/{Sid}: delete: description: '' operationId: DeleteRole @@ -1960,19 +1798,19 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string responses: '204': description: The resource was deleted successfully. @@ -1980,29 +1818,42 @@ paths: - accountSid_authToken: [] x-maturity: - GA - description: 'TODO: Resource-level docs' - get: + post: description: '' - operationId: FetchRole + operationId: UpdateRole parameters: - description: '' in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Permission: + type: array + items: + type: string + description: '' + required: + - Permission + title: UpdateRoleRequest + type: object responses: '200': content: @@ -2014,77 +1865,79 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ServiceSid}/Roles: + servers: + - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - type + pathType: list + parent: /Services post: description: '' - operationId: UpdateRole + operationId: CreateRole parameters: - description: '' in: path name: ServiceSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ type: string - - description: '' - in: path - name: Sid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^RL[0-9a-fA-F]{32}$ - type: string + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - Permission: + FriendlyName: + description: '' + type: string + Type: + type: string + enum: + - channel + - deployment description: '' + Permission: + type: array items: type: string - type: array + description: '' required: + - FriendlyName + - Type - Permission - title: UpdateRoleRequest + title: CreateRoleRequest type: object responses: - '200': + '201': content: application/json: schema: $ref: '#/components/schemas/ip_messaging.v1.service.role' - description: OK + description: Created security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://ip-messaging.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - type - parent: /Services - pathType: instance - /v1/Services/{ServiceSid}/Users: - description: 'TODO: Resource-level docs' get: description: '' - operationId: ListUser + operationId: ListRole parameters: - description: '' in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[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 @@ -2098,14 +1951,19 @@ paths: content: application/json: schema: + type: object + title: ListRoleResponse properties: + roles: + type: array + items: + $ref: '#/components/schemas/ip_messaging.v1.service.role' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -2119,281 +1977,60 @@ paths: url: format: uri type: string - type: object - users: - items: - $ref: '#/components/schemas/ip_messaging.v1.service.user' - type: array - title: ListUserResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: + /v1/Services/{Sid}: + servers: + - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - date_created + pathType: instance + get: description: '' - operationId: CreateUser + operationId: FetchService parameters: - description: '' in: path - name: ServiceSid + name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Attributes: - description: '' - type: string - FriendlyName: - description: '' - type: string - Identity: - description: '' - type: string - RoleSid: - description: '' - maxLength: 34 - minLength: 34 - pattern: ^RL[0-9a-fA-F]{32}$ - type: string - required: - - Identity - title: CreateUserRequest - type: object responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/ip_messaging.v1.service.user' - description: Created + $ref: '#/components/schemas/ip_messaging.v1.service' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://ip-messaging.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - date_created - parent: /Services - pathType: list - /v1/Services/{ServiceSid}/Users/{Sid}: delete: description: '' - operationId: DeleteUser - parameters: - - description: '' - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: '' - in: path - name: Sid - required: true - schema: - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: 'TODO: Resource-level docs' - get: - description: '' - operationId: FetchUser - parameters: - - description: '' - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: '' - in: path - name: Sid - required: true - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ip_messaging.v1.service.user' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: '' - operationId: UpdateUser + operationId: DeleteService parameters: - - description: '' - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: Sid required: true schema: type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Attributes: - description: '' - type: string - FriendlyName: - description: '' - type: string - RoleSid: - description: '' - maxLength: 34 - minLength: 34 - pattern: ^RL[0-9a-fA-F]{32}$ - type: string - title: UpdateUserRequest - type: object - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ip_messaging.v1.service.user' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://ip-messaging.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - date_created - parent: /Services - pathType: instance - /v1/Services/{ServiceSid}/Users/{UserSid}/Channels: - description: 'TODO: Resource-level docs' - get: - description: '' - operationId: ListUserChannel - parameters: - - description: '' - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: '' - in: path - name: UserSid - required: true - schema: - 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 - responses: - '200': - content: - application/json: - schema: - properties: - channels: - items: - $ref: '#/components/schemas/ip_messaging.v1.service.user.user_channel' - type: array - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - title: ListUserChannelResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://ip-messaging.twilio.com - x-twilio: - className: user_channel - defaultOutputProperties: - - channel_sid - - status - parent: /Services/{ServiceSid}/Users - pathType: list - /v1/Services/{Sid}: - delete: - description: '' - operationId: DeleteService - parameters: - - description: '' - in: path - name: Sid - required: true - schema: maxLength: 34 - minLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string responses: '204': description: The resource was deleted successfully. @@ -2401,31 +2038,6 @@ paths: - accountSid_authToken: [] x-maturity: - GA - description: 'TODO: Resource-level docs' - get: - description: '' - operationId: FetchService - parameters: - - description: '' - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ip_messaging.v1.service' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA post: description: '' operationId: UpdateService @@ -2435,61 +2047,58 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - ConsumptionReportInterval: - description: '' - type: integer - DefaultChannelCreatorRoleSid: + FriendlyName: description: '' - maxLength: 34 + type: string + DefaultServiceRoleSid: + type: string minLength: 34 + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string - DefaultChannelRoleSid: description: '' - maxLength: 34 + DefaultChannelRoleSid: + type: string minLength: 34 + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string - DefaultServiceRoleSid: description: '' - maxLength: 34 + DefaultChannelCreatorRoleSid: + type: string minLength: 34 + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string - FriendlyName: description: '' - type: string - Limits.ChannelMembers: + ReadStatusEnabled: description: '' - type: integer - Limits.UserChannels: - description: '' - type: integer - Notifications.AddedToChannel.Enabled: + type: boolean + ReachabilityEnabled: description: '' type: boolean - Notifications.AddedToChannel.Template: + TypingIndicatorTimeout: description: '' - type: string - Notifications.InvitedToChannel.Enabled: + type: integer + ConsumptionReportInterval: + description: '' + type: integer + Notifications.NewMessage.Enabled: description: '' type: boolean - Notifications.InvitedToChannel.Template: + Notifications.NewMessage.Template: description: '' type: string - Notifications.NewMessage.Enabled: + Notifications.AddedToChannel.Enabled: description: '' type: boolean - Notifications.NewMessage.Template: + Notifications.AddedToChannel.Template: description: '' type: string Notifications.RemovedFromChannel.Enabled: @@ -2498,28 +2107,20 @@ paths: Notifications.RemovedFromChannel.Template: description: '' type: string - PostWebhookUrl: + Notifications.InvitedToChannel.Enabled: + description: '' + type: boolean + Notifications.InvitedToChannel.Template: description: '' - format: uri type: string PreWebhookUrl: description: '' format: uri type: string - ReachabilityEnabled: - description: '' - type: boolean - ReadStatusEnabled: - description: '' - type: boolean - TypingIndicatorTimeout: - description: '' - type: integer - WebhookFilters: + PostWebhookUrl: description: '' - items: - type: string - type: array + format: uri + type: string WebhookMethod: description: '' enum: @@ -2531,7 +2132,16 @@ paths: - DELETE format: http-method type: string - Webhooks.OnChannelAdd.Method: + WebhookFilters: + type: array + items: + type: string + description: '' + Webhooks.OnMessageSend.Url: + description: '' + format: uri + type: string + Webhooks.OnMessageSend.Method: description: '' enum: - HEAD @@ -2542,11 +2152,11 @@ paths: - DELETE format: http-method type: string - Webhooks.OnChannelAdd.Url: + Webhooks.OnMessageUpdate.Url: description: '' format: uri type: string - Webhooks.OnChannelAdded.Method: + Webhooks.OnMessageUpdate.Method: description: '' enum: - HEAD @@ -2557,11 +2167,11 @@ paths: - DELETE format: http-method type: string - Webhooks.OnChannelAdded.Url: + Webhooks.OnMessageRemove.Url: description: '' format: uri type: string - Webhooks.OnChannelDestroy.Method: + Webhooks.OnMessageRemove.Method: description: '' enum: - HEAD @@ -2572,11 +2182,11 @@ paths: - DELETE format: http-method type: string - Webhooks.OnChannelDestroy.Url: + Webhooks.OnChannelAdd.Url: description: '' format: uri type: string - Webhooks.OnChannelDestroyed.Method: + Webhooks.OnChannelAdd.Method: description: '' enum: - HEAD @@ -2587,11 +2197,11 @@ paths: - DELETE format: http-method type: string - Webhooks.OnChannelDestroyed.Url: + Webhooks.OnChannelDestroy.Url: description: '' format: uri type: string - Webhooks.OnChannelUpdate.Method: + Webhooks.OnChannelDestroy.Method: description: '' enum: - HEAD @@ -2606,7 +2216,7 @@ paths: description: '' format: uri type: string - Webhooks.OnChannelUpdated.Method: + Webhooks.OnChannelUpdate.Method: description: '' enum: - HEAD @@ -2617,7 +2227,7 @@ paths: - DELETE format: http-method type: string - Webhooks.OnChannelUpdated.Url: + Webhooks.OnMemberAdd.Url: description: '' format: uri type: string @@ -2632,11 +2242,11 @@ paths: - DELETE format: http-method type: string - Webhooks.OnMemberAdd.Url: + Webhooks.OnMemberRemove.Url: description: '' format: uri type: string - Webhooks.OnMemberAdded.Method: + Webhooks.OnMemberRemove.Method: description: '' enum: - HEAD @@ -2647,11 +2257,11 @@ paths: - DELETE format: http-method type: string - Webhooks.OnMemberAdded.Url: + Webhooks.OnMessageSent.Url: description: '' format: uri type: string - Webhooks.OnMemberRemove.Method: + Webhooks.OnMessageSent.Method: description: '' enum: - HEAD @@ -2662,11 +2272,11 @@ paths: - DELETE format: http-method type: string - Webhooks.OnMemberRemove.Url: + Webhooks.OnMessageUpdated.Url: description: '' format: uri type: string - Webhooks.OnMemberRemoved.Method: + Webhooks.OnMessageUpdated.Method: description: '' enum: - HEAD @@ -2677,11 +2287,11 @@ paths: - DELETE format: http-method type: string - Webhooks.OnMemberRemoved.Url: + Webhooks.OnMessageRemoved.Url: description: '' format: uri type: string - Webhooks.OnMessageRemove.Method: + Webhooks.OnMessageRemoved.Method: description: '' enum: - HEAD @@ -2692,11 +2302,11 @@ paths: - DELETE format: http-method type: string - Webhooks.OnMessageRemove.Url: + Webhooks.OnChannelAdded.Url: description: '' format: uri type: string - Webhooks.OnMessageRemoved.Method: + Webhooks.OnChannelAdded.Method: description: '' enum: - HEAD @@ -2707,11 +2317,11 @@ paths: - DELETE format: http-method type: string - Webhooks.OnMessageRemoved.Url: + Webhooks.OnChannelDestroyed.Url: description: '' format: uri type: string - Webhooks.OnMessageSend.Method: + Webhooks.OnChannelDestroyed.Method: description: '' enum: - HEAD @@ -2722,11 +2332,11 @@ paths: - DELETE format: http-method type: string - Webhooks.OnMessageSend.Url: + Webhooks.OnChannelUpdated.Url: description: '' format: uri type: string - Webhooks.OnMessageSent.Method: + Webhooks.OnChannelUpdated.Method: description: '' enum: - HEAD @@ -2737,11 +2347,11 @@ paths: - DELETE format: http-method type: string - Webhooks.OnMessageSent.Url: + Webhooks.OnMemberAdded.Url: description: '' format: uri type: string - Webhooks.OnMessageUpdate.Method: + Webhooks.OnMemberAdded.Method: description: '' enum: - HEAD @@ -2752,11 +2362,11 @@ paths: - DELETE format: http-method type: string - Webhooks.OnMessageUpdate.Url: + Webhooks.OnMemberRemoved.Url: description: '' format: uri type: string - Webhooks.OnMessageUpdated.Method: + Webhooks.OnMemberRemoved.Method: description: '' enum: - HEAD @@ -2767,10 +2377,12 @@ paths: - DELETE format: http-method type: string - Webhooks.OnMessageUpdated.Url: + Limits.ChannelMembers: description: '' - format: uri - type: string + type: integer + Limits.UserChannels: + description: '' + type: integer title: UpdateServiceRequest type: object responses: @@ -2784,16 +2396,404 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Services: servers: - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - date_created + pathType: list + post: + description: '' + operationId: CreateService + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: '' + type: string + required: + - FriendlyName + title: CreateServiceRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/ip_messaging.v1.service' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + get: + description: '' + 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListServiceResponse + properties: + services: + type: array + items: + $ref: '#/components/schemas/ip_messaging.v1.service' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Services/{ServiceSid}/Users/{Sid}: + servers: + - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - friendly_name - date_created pathType: instance + parent: /Services + get: + description: '' + operationId: FetchUser + parameters: + - description: '' + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: '' + in: path + name: Sid + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ip_messaging.v1.service.user' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + delete: + description: '' + operationId: DeleteUser + parameters: + - description: '' + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: '' + in: path + name: Sid + required: true + schema: + type: string + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + post: + description: '' + operationId: UpdateUser + parameters: + - description: '' + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: '' + in: path + name: Sid + required: true + schema: + type: string + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + RoleSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ + description: '' + Attributes: + description: '' + type: string + FriendlyName: + description: '' + type: string + title: UpdateUserRequest + type: object + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ip_messaging.v1.service.user' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Services/{ServiceSid}/Users: + servers: + - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - date_created + pathType: list + parent: /Services + post: + description: '' + operationId: CreateUser + parameters: + - description: '' + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Identity: + description: '' + type: string + RoleSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ + description: '' + Attributes: + description: '' + type: string + FriendlyName: + description: '' + type: string + required: + - Identity + title: CreateUserRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/ip_messaging.v1.service.user' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + get: + description: '' + operationId: ListUser + parameters: + - description: '' + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListUserResponse + properties: + users: + type: array + items: + $ref: '#/components/schemas/ip_messaging.v1.service.user' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Services/{ServiceSid}/Users/{UserSid}/Channels: + servers: + - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - channel_sid + - status + pathType: list + parent: /Services/{ServiceSid}/Users + className: user_channel + get: + description: '' + operationId: ListUserChannel + parameters: + - description: '' + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: '' + in: path + name: UserSid + required: true + schema: + 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListUserChannelResponse + properties: + channels: + type: array + items: + $ref: '#/components/schemas/ip_messaging.v1.service.user.user_channel' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA servers: - url: https://ip-messaging.twilio.com x-maturity: -- description: This product is Generally Available. - name: GA +- name: GA + description: This product is Generally Available. diff --git a/spec/yaml/twilio_ip_messaging_v2.yaml b/spec/yaml/twilio_ip_messaging_v2.yaml index 5c06b07b..79645c66 100644 --- a/spec/yaml/twilio_ip_messaging_v2.yaml +++ b/spec/yaml/twilio_ip_messaging_v2.yaml @@ -1,164 +1,35 @@ components: schemas: - ip_messaging.v2.credential: - properties: - account_sid: - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - date_created: - format: date-time - nullable: true - type: string - date_updated: - format: date-time - nullable: true - type: string - friendly_name: - nullable: true - type: string - sandbox: - nullable: true - type: string - sid: - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^CR[0-9a-fA-F]{32}$ - type: string - type: - enum: - - gcm - - apn - - fcm - nullable: true - type: string - url: - format: uri - nullable: true - type: string + ip_messaging.v2.service.binding: type: object - ip_messaging.v2.service: properties: account_sid: - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - consumption_report_interval: - nullable: true - type: integer - date_created: - format: date-time - nullable: true - type: string - date_updated: - format: date-time - nullable: true - type: string - default_channel_creator_role_sid: - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^RL[0-9a-fA-F]{32}$ - type: string - default_channel_role_sid: - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^RL[0-9a-fA-F]{32}$ - type: string - default_service_role_sid: - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^RL[0-9a-fA-F]{32}$ - type: string - friendly_name: - nullable: true - type: string - limits: - nullable: true - links: - format: uri-map - nullable: true - type: object - media: - nullable: true - notifications: - nullable: true - post_webhook_retry_count: - nullable: true - type: integer - post_webhook_url: - nullable: true - type: string - pre_webhook_retry_count: - nullable: true - type: integer - pre_webhook_url: - nullable: true type: string - reachability_enabled: - nullable: true - type: boolean - read_status_enabled: - nullable: true - type: boolean - sid: - maxLength: 34 minLength: 34 - nullable: true - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - typing_indicator_timeout: - nullable: true - type: integer - url: - format: uri - nullable: true - type: string - webhook_filters: - items: - type: string - nullable: true - type: array - webhook_method: - nullable: true - type: string - type: object - ip_messaging.v2.service.binding: - properties: - account_sid: maxLength: 34 - minLength: 34 - nullable: true pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true binding_type: + type: string enum: - gcm - apn - fcm nullable: true - type: string credential_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CR[0-9a-fA-F]{32}$ - type: string + nullable: true date_created: + type: string format: date-time nullable: true - type: string date_updated: + type: string format: date-time nullable: true - type: string endpoint: nullable: true type: string @@ -170,35 +41,35 @@ components: nullable: true type: object message_types: + type: array items: type: string nullable: true - type: array service_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^BS[0-9a-fA-F]{32}$ - type: string + nullable: true url: format: uri nullable: true type: string - type: object ip_messaging.v2.service.channel: + type: object properties: account_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true attributes: nullable: true type: string @@ -206,13 +77,13 @@ components: nullable: true type: string date_created: + type: string format: date-time nullable: true - type: string date_updated: + type: string format: date-time nullable: true - type: string friendly_name: nullable: true type: string @@ -227,23 +98,23 @@ components: nullable: true type: integer service_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string + nullable: true type: + type: string enum: - public - private nullable: true - type: string unique_name: nullable: true type: string @@ -251,43 +122,43 @@ components: format: uri nullable: true type: string - type: object ip_messaging.v2.service.channel.channel_webhook: + type: object properties: account_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true channel_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string + nullable: true configuration: nullable: true date_created: + type: string format: date-time nullable: true - type: string date_updated: + type: string format: date-time nullable: true - type: string service_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WH[0-9a-fA-F]{32}$ - type: string + nullable: true type: nullable: true type: string @@ -295,83 +166,123 @@ components: format: uri nullable: true type: string + ip_messaging.v2.credential: type: object - ip_messaging.v2.service.channel.invite: properties: account_sid: - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ type: string - channel_sid: - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ nullable: true - pattern: ^CH[0-9a-fA-F]{32}$ - type: string - created_by: - nullable: true - type: string date_created: - format: date-time - nullable: true type: string - date_updated: format: date-time nullable: true + date_updated: type: string - identity: + format: date-time nullable: true - type: string - role_sid: - maxLength: 34 - minLength: 34 + friendly_name: nullable: true - pattern: ^RL[0-9a-fA-F]{32}$ type: string - service_sid: - maxLength: 34 - minLength: 34 + sandbox: nullable: true - pattern: ^IS[0-9a-fA-F]{32}$ type: string sid: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ nullable: true - pattern: ^IN[0-9a-fA-F]{32}$ + type: type: string - url: - format: uri - nullable: true + enum: + - gcm + - apn + - fcm + nullable: true + url: + format: uri + nullable: true type: string + ip_messaging.v2.service.channel.invite: type: object - ip_messaging.v2.service.channel.member: properties: account_sid: + type: string + minLength: 34 maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + channel_sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^CH[0-9a-fA-F]{32}$ + nullable: true + created_by: nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ type: string - attributes: + date_created: + type: string + format: date-time nullable: true + date_updated: type: string - channel_sid: + format: date-time + nullable: true + identity: + nullable: true + type: string + role_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ + nullable: true + service_sid: + type: string + minLength: 34 maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + nullable: true + sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^IN[0-9a-fA-F]{32}$ nullable: true - pattern: ^CH[0-9a-fA-F]{32}$ + url: + format: uri + nullable: true + type: string + ip_messaging.v2.service.channel.member: + type: object + properties: + account_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + attributes: + nullable: true + type: string + channel_sid: type: string + minLength: 34 + maxLength: 34 + pattern: ^CH[0-9a-fA-F]{32}$ + nullable: true date_created: + type: string format: date-time nullable: true - type: string date_updated: + type: string format: date-time nullable: true - type: string identity: nullable: true type: string @@ -379,40 +290,40 @@ components: nullable: true type: integer last_consumption_timestamp: + type: string format: date-time nullable: true - type: string role_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string + nullable: true service_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^MB[0-9a-fA-F]{32}$ - type: string + nullable: true url: format: uri nullable: true type: string - type: object ip_messaging.v2.service.channel.message: + type: object properties: account_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true attributes: nullable: true type: string @@ -420,19 +331,19 @@ components: nullable: true type: string channel_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string + nullable: true date_created: + type: string format: date-time nullable: true - type: string date_updated: + type: string format: date-time nullable: true - type: string from: nullable: true type: string @@ -445,23 +356,23 @@ components: media: nullable: true service_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IM[0-9a-fA-F]{32}$ - type: string + nullable: true to: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string + nullable: true type: nullable: true type: string @@ -472,144 +383,234 @@ components: was_edited: nullable: true type: boolean - type: object ip_messaging.v2.service.role: + type: object properties: account_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true date_created: + type: string format: date-time nullable: true - type: string date_updated: + type: string format: date-time nullable: true - type: string friendly_name: nullable: true type: string permissions: + type: array items: type: string nullable: true - type: array service_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ - type: string + nullable: true type: + type: string enum: - channel - deployment nullable: true - type: string url: format: uri nullable: true type: string + ip_messaging.v2.service: type: object - ip_messaging.v2.service.user: properties: account_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - attributes: nullable: true - type: string + consumption_report_interval: + nullable: true + type: integer date_created: + type: string format: date-time nullable: true - type: string date_updated: + type: string format: date-time nullable: true + default_channel_creator_role_sid: type: string - friendly_name: + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ nullable: true + default_channel_role_sid: type: string - identity: + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ nullable: true + default_service_role_sid: type: string - is_notifiable: + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ nullable: true - type: boolean - is_online: + friendly_name: nullable: true - type: boolean - joined_channels_count: + type: string + limits: nullable: true - type: integer links: format: uri-map nullable: true type: object - role_sid: - maxLength: 34 - minLength: 34 + media: + nullable: true + notifications: + nullable: true + post_webhook_retry_count: + nullable: true + type: integer + post_webhook_url: nullable: true - pattern: ^RL[0-9a-fA-F]{32}$ type: string - service_sid: - maxLength: 34 - minLength: 34 + pre_webhook_retry_count: + nullable: true + type: integer + pre_webhook_url: nullable: true - pattern: ^IS[0-9a-fA-F]{32}$ type: string + reachability_enabled: + nullable: true + type: boolean + read_status_enabled: + nullable: true + type: boolean sid: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ nullable: true - pattern: ^US[0-9a-fA-F]{32}$ - type: string + typing_indicator_timeout: + nullable: true + type: integer url: format: uri nullable: true type: string + webhook_filters: + type: array + items: + type: string + nullable: true + webhook_method: + nullable: true + type: string + ip_messaging.v2.service.user: type: object - ip_messaging.v2.service.user.user_binding: properties: account_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - binding_type: - enum: - - gcm - - apn - - fcm nullable: true - type: string - credential_sid: - maxLength: 34 - minLength: 34 + attributes: nullable: true - pattern: ^CR[0-9a-fA-F]{32}$ type: string date_created: + type: string format: date-time nullable: true - type: string date_updated: + type: string + format: date-time + nullable: true + friendly_name: + nullable: true + type: string + identity: + nullable: true + type: string + is_notifiable: + nullable: true + type: boolean + is_online: + nullable: true + type: boolean + joined_channels_count: + nullable: true + type: integer + links: + format: uri-map + nullable: true + type: object + role_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ + nullable: true + service_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + nullable: true + sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^US[0-9a-fA-F]{32}$ + nullable: true + url: + format: uri + nullable: true + type: string + ip_messaging.v2.service.user.user_binding: + type: object + properties: + account_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + binding_type: + type: string + enum: + - gcm + - apn + - fcm + nullable: true + credential_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ + nullable: true + date_created: + type: string format: date-time nullable: true + date_updated: type: string + format: date-time + nullable: true endpoint: nullable: true type: string @@ -617,47 +618,47 @@ components: nullable: true type: string message_types: + type: array items: type: string nullable: true - type: array service_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^BS[0-9a-fA-F]{32}$ - type: string + nullable: true url: format: uri nullable: true type: string user_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^US[0-9a-fA-F]{32}$ - type: string - type: object + nullable: true ip_messaging.v2.service.user.user_channel: + type: object properties: account_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true channel_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CH[0-9a-fA-F]{32}$ - type: string + nullable: true last_consumed_message_index: nullable: true type: integer @@ -666,30 +667,30 @@ components: nullable: true type: object member_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^MB[0-9a-fA-F]{32}$ - type: string + nullable: true notification_level: + type: string enum: - default - muted nullable: true - type: string service_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true status: + type: string enum: - joined - invited - not_participating nullable: true - type: string unread_messages_count: nullable: true type: integer @@ -698,12 +699,11 @@ components: nullable: true type: string user_sid: - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^US[0-9a-fA-F]{32}$ - type: string - type: object + nullable: true securitySchemes: accountSid_authToken: scheme: basic @@ -722,12 +722,48 @@ info: version: 1.30.0 openapi: 3.0.1 paths: - /v2/Credentials: + /v2/Services/{ServiceSid}/Bindings: + servers: + - url: https://ip-messaging.twilio.com description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - endpoint + - identity + pathType: list + parent: /Services get: description: '' - operationId: ListCredential + operationId: ListBinding parameters: + - description: '' + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: '' + in: query + name: BindingType + schema: + type: array + items: + type: string + enum: + - gcm + - apn + - fcm + - description: '' + in: query + name: Identity + schema: + type: array + items: + type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -741,18 +777,19 @@ paths: content: application/json: schema: + type: object + title: ListBindingResponse properties: - credentials: - items: - $ref: '#/components/schemas/ip_messaging.v2.credential' + bindings: type: array + items: + $ref: '#/components/schemas/ip_messaging.v2.service.binding' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -766,179 +803,325 @@ paths: url: format: uri type: string - type: object - title: ListCredentialResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: '' - operationId: CreateCredential - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - ApiKey: - description: '' - type: string - Certificate: - description: '' - type: string - FriendlyName: - description: '' - type: string - PrivateKey: - description: '' - type: string - Sandbox: - description: '' - type: boolean - Secret: - description: '' - type: string - Type: - description: '' - enum: - - gcm - - apn - - fcm - type: string - required: - - Type - title: CreateCredentialRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/ip_messaging.v2.credential' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA + /v2/Services/{ServiceSid}/Bindings/{Sid}: servers: - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - - friendly_name - - type - pathType: list - /v2/Credentials/{Sid}: - delete: + - endpoint + - identity + pathType: instance + parent: /Services + get: description: '' - operationId: DeleteCredential + operationId: FetchBinding parameters: - description: '' in: path - name: Sid + name: ServiceSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^CR[0-9a-fA-F]{32}$ type: string - responses: - '204': - description: The resource was deleted successfully. + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: '' + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^BS[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ip_messaging.v2.service.binding' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - description: 'TODO: Resource-level docs' - get: + delete: description: '' - operationId: FetchCredential + operationId: DeleteBinding parameters: + - description: '' + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ - description: '' in: path name: Sid required: true schema: + type: string + minLength: 34 maxLength: 34 + pattern: ^BS[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v2/Services/{ServiceSid}/Channels/{Sid}: + servers: + - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - unique_name + - friendly_name + pathType: instance + parent: /Services + get: + description: '' + operationId: FetchChannel + parameters: + - description: '' + in: path + name: ServiceSid + required: true + schema: + type: string minLength: 34 - pattern: ^CR[0-9a-fA-F]{32}$ + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: '' + in: path + name: Sid + required: true + schema: type: string responses: '200': content: application/json: schema: - $ref: '#/components/schemas/ip_messaging.v2.credential' + $ref: '#/components/schemas/ip_messaging.v2.service.channel' description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: + delete: description: '' - operationId: UpdateCredential + operationId: DeleteChannel parameters: - description: '' in: path - name: Sid + name: ServiceSid required: true schema: + type: string + minLength: 34 maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: '' + in: path + name: Sid + required: true + schema: + type: string + - description: The X-Twilio-Webhook-Enabled HTTP request header + in: header + name: X-Twilio-Webhook-Enabled + schema: + type: string + enum: + - 'true' + - 'false' + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + post: + description: '' + operationId: UpdateChannel + parameters: + - description: '' + in: path + name: ServiceSid + required: true + schema: + type: string minLength: 34 - pattern: ^CR[0-9a-fA-F]{32}$ + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: '' + in: path + name: Sid + required: true + schema: + type: string + - description: The X-Twilio-Webhook-Enabled HTTP request header + in: header + name: X-Twilio-Webhook-Enabled + schema: type: string + enum: + - 'true' + - 'false' requestBody: content: application/x-www-form-urlencoded: schema: properties: - ApiKey: + FriendlyName: description: '' type: string - Certificate: + UniqueName: description: '' type: string - FriendlyName: + Attributes: description: '' type: string - PrivateKey: + DateCreated: + type: string + format: date-time description: '' + DateUpdated: type: string - Sandbox: + format: date-time description: '' - type: boolean - Secret: + CreatedBy: description: '' type: string - title: UpdateCredentialRequest + title: UpdateChannelRequest type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/ip_messaging.v2.credential' + $ref: '#/components/schemas/ip_messaging.v2.service.channel' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v2/Services/{ServiceSid}/Channels: servers: - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid + - unique_name - friendly_name - - type - pathType: instance - /v2/Services: - description: 'TODO: Resource-level docs' + pathType: list + parent: /Services + post: + description: '' + operationId: CreateChannel + parameters: + - description: '' + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: The X-Twilio-Webhook-Enabled HTTP request header + in: header + name: X-Twilio-Webhook-Enabled + schema: + type: string + enum: + - 'true' + - 'false' + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: '' + type: string + UniqueName: + description: '' + type: string + Attributes: + description: '' + type: string + Type: + type: string + enum: + - public + - private + description: '' + DateCreated: + type: string + format: date-time + description: '' + DateUpdated: + type: string + format: date-time + description: '' + CreatedBy: + description: '' + type: string + title: CreateChannelRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/ip_messaging.v2.service.channel' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA get: description: '' - operationId: ListService + operationId: ListChannel parameters: + - description: '' + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: '' + in: query + name: Type + schema: + type: array + items: + type: string + enum: + - public + - private - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -952,14 +1135,19 @@ paths: content: application/json: schema: + type: object + title: ListChannelResponse properties: + channels: + type: array + items: + $ref: '#/components/schemas/ip_messaging.v2.service.channel' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -973,85 +1161,42 @@ paths: url: format: uri type: string - type: object - services: - items: - $ref: '#/components/schemas/ip_messaging.v2.service' - type: array - title: ListServiceResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: '' - operationId: CreateService - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - FriendlyName: - description: '' - type: string - required: - - FriendlyName - title: CreateServiceRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/ip_messaging.v2.service' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA + /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Webhooks: servers: - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - - friendly_name - - date_created + - configuration pathType: list - /v2/Services/{ServiceSid}/Bindings: - description: 'TODO: Resource-level docs' + parent: /Services/{ServiceSid}/Channels get: description: '' - operationId: ListBinding + operationId: ListChannelWebhook parameters: - description: '' in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' - in: query - name: BindingType - schema: - items: - enum: - - gcm - - apn - - fcm - type: string - type: array - - description: '' - in: query - name: Identity + in: path + name: ChannelSid + required: true schema: - items: - type: string - type: array + type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -1065,18 +1210,19 @@ paths: content: application/json: schema: + type: object + title: ListChannelWebhookResponse properties: - bindings: - items: - $ref: '#/components/schemas/ip_messaging.v2.service.binding' + webhooks: type: array + items: + $ref: '#/components/schemas/ip_messaging.v2.service.channel.channel_webhook' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1090,121 +1236,259 @@ paths: url: format: uri type: string - type: object - title: ListBindingResponse - type: object + key: + type: string + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + post: + description: '' + operationId: CreateChannelWebhook + parameters: + - description: '' + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: '' + in: path + name: ChannelSid + required: true + schema: + type: string + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Type: + type: string + enum: + - webhook + - trigger + - studio + description: '' + Configuration.Url: + description: '' + type: string + Configuration.Method: + type: string + enum: + - GET + - POST + description: '' + Configuration.Filters: + type: array + items: + type: string + description: '' + Configuration.Triggers: + type: array + items: + type: string + description: '' + Configuration.FlowSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^FW[0-9a-fA-F]{32}$ + description: '' + Configuration.RetryCount: + description: '' + type: integer + required: + - Type + title: CreateChannelWebhookRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/ip_messaging.v2.service.channel.channel_webhook' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Webhooks/{Sid}: + servers: + - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - configuration + pathType: instance + parent: /Services/{ServiceSid}/Channels + get: + description: '' + operationId: FetchChannelWebhook + parameters: + - description: '' + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: '' + in: path + name: ChannelSid + required: true + schema: + type: string + - description: '' + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WH[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ip_messaging.v2.service.channel.channel_webhook' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + post: + description: '' + operationId: UpdateChannelWebhook + parameters: + - description: '' + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: '' + in: path + name: ChannelSid + required: true + schema: + type: string + - description: '' + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WH[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Configuration.Url: + description: '' + type: string + Configuration.Method: + type: string + enum: + - GET + - POST + description: '' + Configuration.Filters: + type: array + items: + type: string + description: '' + Configuration.Triggers: + type: array + items: + type: string + description: '' + Configuration.FlowSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^FW[0-9a-fA-F]{32}$ + description: '' + Configuration.RetryCount: + description: '' + type: integer + title: UpdateChannelWebhookRequest + type: object + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ip_messaging.v2.service.channel.channel_webhook' description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://ip-messaging.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - endpoint - - identity - parent: /Services - pathType: list - /v2/Services/{ServiceSid}/Bindings/{Sid}: delete: description: '' - operationId: DeleteBinding + operationId: DeleteChannelWebhook parameters: - description: '' in: path name: ServiceSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ type: string - - description: '' - in: path - name: Sid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^BS[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: 'TODO: Resource-level docs' - get: - description: '' - operationId: FetchBinding - parameters: + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ - description: '' in: path - name: ServiceSid + name: ChannelSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ type: string - description: '' in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^BS[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^WH[0-9a-fA-F]{32}$ responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ip_messaging.v2.service.binding' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA + /v2/Credentials: servers: - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - - endpoint - - identity - parent: /Services - pathType: instance - /v2/Services/{ServiceSid}/Channels: - description: 'TODO: Resource-level docs' + - friendly_name + - type + pathType: list get: description: '' - operationId: ListChannel + operationId: ListCredential parameters: - - description: '' - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: '' - in: query - name: Type - schema: - items: - enum: - - public - - private - type: string - type: array - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -1218,18 +1502,19 @@ paths: content: application/json: schema: + type: object + title: ListCredentialResponse properties: - channels: - items: - $ref: '#/components/schemas/ip_messaging.v2.service.channel' + credentials: type: array + items: + $ref: '#/components/schemas/ip_messaging.v2.credential' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1243,9 +1528,8 @@ paths: url: format: uri type: string - type: object - title: ListChannelResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] @@ -1253,147 +1537,81 @@ paths: - GA post: description: '' - operationId: CreateChannel - parameters: - - description: '' - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The X-Twilio-Webhook-Enabled HTTP request header - in: header - name: X-Twilio-Webhook-Enabled - schema: - enum: - - 'true' - - 'false' - type: string + operationId: CreateCredential requestBody: content: application/x-www-form-urlencoded: schema: properties: - Attributes: - description: '' + Type: type: string - CreatedBy: + enum: + - gcm + - apn + - fcm description: '' - type: string - DateCreated: + FriendlyName: description: '' - format: date-time type: string - DateUpdated: + Certificate: description: '' - format: date-time type: string - FriendlyName: + PrivateKey: description: '' type: string - Type: + Sandbox: + description: '' + type: boolean + ApiKey: description: '' - enum: - - public - - private type: string - UniqueName: + Secret: description: '' type: string - title: CreateChannelRequest + required: + - Type + title: CreateCredentialRequest type: object responses: '201': content: application/json: schema: - $ref: '#/components/schemas/ip_messaging.v2.service.channel' + $ref: '#/components/schemas/ip_messaging.v2.credential' description: Created security: - accountSid_authToken: [] x-maturity: - GA + /v2/Credentials/{Sid}: servers: - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - - unique_name - friendly_name - parent: /Services - pathType: list - /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Invites: - description: 'TODO: Resource-level docs' + - type + pathType: instance get: description: '' - operationId: ListInvite + operationId: FetchCredential parameters: - description: '' in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: '' - in: path - name: ChannelSid + name: Sid required: true schema: type: string - - description: '' - in: query - name: Identity - schema: - items: - type: string - type: array - - 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 + minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - properties: - invites: - items: - $ref: '#/components/schemas/ip_messaging.v2.service.channel.invite' - type: array - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - title: ListInviteResponse - type: object + $ref: '#/components/schemas/ip_messaging.v2.credential' description: OK security: - accountSid_authToken: [] @@ -1401,75 +1619,97 @@ paths: - GA post: description: '' - operationId: CreateInvite + operationId: UpdateCredential parameters: - description: '' in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: '' - in: path - name: ChannelSid + name: Sid required: true schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - Identity: + FriendlyName: description: '' type: string - RoleSid: + Certificate: description: '' - maxLength: 34 - minLength: 34 - pattern: ^RL[0-9a-fA-F]{32}$ type: string - required: - - Identity - title: CreateInviteRequest + PrivateKey: + description: '' + type: string + Sandbox: + description: '' + type: boolean + ApiKey: + description: '' + type: string + Secret: + description: '' + type: string + title: UpdateCredentialRequest type: object responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/ip_messaging.v2.service.channel.invite' - description: Created + $ref: '#/components/schemas/ip_messaging.v2.credential' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + delete: + description: '' + operationId: DeleteCredential + parameters: + - description: '' + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA + /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Invites/{Sid}: servers: - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - identity - date_created + pathType: instance parent: /Services/{ServiceSid}/Channels - pathType: list - /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Invites/{Sid}: - delete: + get: description: '' - operationId: DeleteInvite + operationId: FetchInvite parameters: - description: '' in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: ChannelSid @@ -1481,31 +1721,34 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IN[0-9a-fA-F]{32}$ - type: string responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ip_messaging.v2.service.channel.invite' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - description: 'TODO: Resource-level docs' - get: + delete: description: '' - operationId: FetchInvite + operationId: DeleteInvite parameters: - description: '' in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: ChannelSid @@ -1517,202 +1760,172 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IN[0-9a-fA-F]{32}$ - type: string responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ip_messaging.v2.service.channel.invite' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA + /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Invites: servers: - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - identity - date_created + pathType: list parent: /Services/{ServiceSid}/Channels - pathType: instance - /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Members: - description: 'TODO: Resource-level docs' - get: + post: description: '' - operationId: ListMember + operationId: CreateInvite parameters: - description: '' in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: ChannelSid required: true schema: type: string - - description: '' - in: query - name: Identity - schema: - items: - type: string - type: array - - 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 + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Identity: + description: '' + type: string + RoleSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ + description: '' + required: + - Identity + title: CreateInviteRequest + type: object responses: - '200': + '201': content: application/json: schema: - properties: - members: - items: - $ref: '#/components/schemas/ip_messaging.v2.service.channel.member' - type: array - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - title: ListMemberResponse - type: object - description: OK + $ref: '#/components/schemas/ip_messaging.v2.service.channel.invite' + description: Created security: - accountSid_authToken: [] x-maturity: - GA - post: + get: description: '' - operationId: CreateMember + operationId: ListInvite parameters: - description: '' in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: ChannelSid required: true schema: type: string - - description: The X-Twilio-Webhook-Enabled HTTP request header - in: header - name: X-Twilio-Webhook-Enabled + - description: '' + in: query + name: Identity schema: - enum: - - 'true' - - 'false' - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Attributes: - description: '' - type: string - DateCreated: - description: '' - format: date-time - type: string - DateUpdated: - description: '' - format: date-time - type: string - Identity: - description: '' - type: string - LastConsumedMessageIndex: - description: '' - nullable: true - type: integer - LastConsumptionTimestamp: - description: '' - format: date-time - type: string - RoleSid: - description: '' - maxLength: 34 - minLength: 34 - pattern: ^RL[0-9a-fA-F]{32}$ - type: string - required: - - Identity - title: CreateMemberRequest - type: object + type: array + items: + 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 responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/ip_messaging.v2.service.channel.member' - description: Created + type: object + title: ListInviteResponse + properties: + invites: + type: array + items: + $ref: '#/components/schemas/ip_messaging.v2.service.channel.invite' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string + description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Members/{Sid}: servers: - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - identity - date_created + pathType: instance parent: /Services/{ServiceSid}/Channels - pathType: list - /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Members/{Sid}: - delete: + get: description: '' - operationId: DeleteMember + operationId: FetchMember parameters: - description: '' in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: ChannelSid @@ -1725,35 +1938,30 @@ paths: required: true schema: type: string - - description: The X-Twilio-Webhook-Enabled HTTP request header - in: header - name: X-Twilio-Webhook-Enabled - schema: - enum: - - 'true' - - 'false' - type: string responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ip_messaging.v2.service.channel.member' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - description: 'TODO: Resource-level docs' - get: + delete: description: '' - operationId: FetchMember + operationId: DeleteMember parameters: - description: '' in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: ChannelSid @@ -1766,13 +1974,17 @@ paths: required: true schema: type: string + - description: The X-Twilio-Webhook-Enabled HTTP request header + in: header + name: X-Twilio-Webhook-Enabled + schema: + type: string + enum: + - 'true' + - 'false' responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ip_messaging.v2.service.channel.member' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: @@ -1786,10 +1998,10 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: ChannelSid @@ -1806,39 +2018,39 @@ paths: in: header name: X-Twilio-Webhook-Enabled schema: + type: string enum: - 'true' - 'false' - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Attributes: - description: '' - type: string - DateCreated: - description: '' - format: date-time + RoleSid: type: string - DateUpdated: + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ description: '' - format: date-time - type: string LastConsumedMessageIndex: description: '' nullable: true type: integer LastConsumptionTimestamp: + type: string + format: date-time description: '' + DateCreated: + type: string format: date-time + description: '' + DateUpdated: type: string - RoleSid: + format: date-time + description: '' + Attributes: description: '' - maxLength: 34 - minLength: 34 - pattern: ^RL[0-9a-fA-F]{32}$ type: string title: UpdateMemberRequest type: object @@ -1853,103 +2065,30 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Members: servers: - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - identity - date_created + pathType: list parent: /Services/{ServiceSid}/Channels - pathType: instance - /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Messages: - description: 'TODO: Resource-level docs' - get: - description: '' - operationId: ListMessage - parameters: - - description: '' - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: '' - in: path - name: ChannelSid - required: true - schema: - type: string - - description: '' - in: query - name: Order - schema: - enum: - - asc - - desc - 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 - responses: - '200': - content: - application/json: - schema: - properties: - messages: - items: - $ref: '#/components/schemas/ip_messaging.v2.service.channel.message' - type: array - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - title: ListMessageResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA post: description: '' - operationId: CreateMessage + operationId: CreateMember parameters: - description: '' in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: ChannelSid @@ -1960,78 +2099,155 @@ paths: in: header name: X-Twilio-Webhook-Enabled schema: + type: string enum: - 'true' - 'false' - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Attributes: + Identity: description: '' type: string - Body: - description: '' + RoleSid: type: string - DateCreated: + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ description: '' - format: date-time - type: string - DateUpdated: + LastConsumedMessageIndex: description: '' - format: date-time + nullable: true + type: integer + LastConsumptionTimestamp: type: string - From: + format: date-time description: '' + DateCreated: type: string - LastUpdatedBy: + format: date-time description: '' + DateUpdated: type: string - MediaSid: + format: date-time + description: '' + Attributes: description: '' - maxLength: 34 - minLength: 34 - pattern: ^ME[0-9a-fA-F]{32}$ type: string - title: CreateMessageRequest + required: + - Identity + title: CreateMemberRequest type: object responses: - '201': + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/ip_messaging.v2.service.channel.member' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + get: + description: '' + operationId: ListMember + parameters: + - description: '' + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: '' + in: path + name: ChannelSid + required: true + schema: + type: string + - description: '' + in: query + name: Identity + schema: + type: array + items: + 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 + responses: + '200': content: application/json: schema: - $ref: '#/components/schemas/ip_messaging.v2.service.channel.message' - description: Created + type: object + title: ListMemberResponse + properties: + members: + type: array + items: + $ref: '#/components/schemas/ip_messaging.v2.service.channel.member' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string + description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Messages/{Sid}: servers: - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - from - to - date_created + pathType: instance parent: /Services/{ServiceSid}/Channels - pathType: list - /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Messages/{Sid}: - delete: + get: description: '' - operationId: DeleteMessage + operationId: FetchMessage parameters: - description: '' in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: ChannelSid @@ -2043,39 +2259,34 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IM[0-9a-fA-F]{32}$ - type: string - - description: The X-Twilio-Webhook-Enabled HTTP request header - in: header - name: X-Twilio-Webhook-Enabled - schema: - enum: - - 'true' - - 'false' - type: string responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ip_messaging.v2.service.channel.message' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - description: 'TODO: Resource-level docs' - get: + delete: description: '' - operationId: FetchMessage + operationId: DeleteMessage parameters: - description: '' in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: ChannelSid @@ -2087,17 +2298,21 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IM[0-9a-fA-F]{32}$ + - description: The X-Twilio-Webhook-Enabled HTTP request header + in: header + name: X-Twilio-Webhook-Enabled + schema: type: string + enum: + - 'true' + - 'false' responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ip_messaging.v2.service.channel.message' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: @@ -2111,10 +2326,10 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: ChannelSid @@ -2126,43 +2341,43 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IM[0-9a-fA-F]{32}$ - type: string - description: The X-Twilio-Webhook-Enabled HTTP request header in: header name: X-Twilio-Webhook-Enabled schema: + type: string enum: - 'true' - 'false' - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Attributes: + Body: description: '' type: string - Body: + Attributes: description: '' type: string DateCreated: - description: '' - format: date-time type: string - DateUpdated: - description: '' format: date-time - type: string - From: description: '' + DateUpdated: type: string + format: date-time + description: '' LastUpdatedBy: description: '' type: string + From: + description: '' + type: string title: UpdateMessageRequest type: object responses: @@ -2176,215 +2391,102 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Messages: servers: - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - from - to - date_created + pathType: list parent: /Services/{ServiceSid}/Channels - pathType: instance - /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Webhooks: - description: 'TODO: Resource-level docs' - get: + post: description: '' - operationId: ListChannelWebhook + operationId: CreateMessage parameters: - description: '' in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: ChannelSid required: true schema: 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 - responses: - '200': - content: - application/json: - schema: - properties: - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - webhooks: - items: - $ref: '#/components/schemas/ip_messaging.v2.service.channel.channel_webhook' - type: array - title: ListChannelWebhookResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: '' - operationId: CreateChannelWebhook - parameters: - - description: '' - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: '' - in: path - name: ChannelSid - required: true + - description: The X-Twilio-Webhook-Enabled HTTP request header + in: header + name: X-Twilio-Webhook-Enabled schema: type: string + enum: + - 'true' + - 'false' requestBody: content: application/x-www-form-urlencoded: schema: properties: - Configuration.Filters: - description: '' - items: - type: string - type: array - Configuration.FlowSid: + From: description: '' - maxLength: 34 - minLength: 34 - pattern: ^FW[0-9a-fA-F]{32}$ type: string - Configuration.Method: + Attributes: description: '' - enum: - - GET - - POST type: string - Configuration.RetryCount: + DateCreated: + type: string + format: date-time description: '' - type: integer - Configuration.Triggers: + DateUpdated: + type: string + format: date-time description: '' - items: - type: string - type: array - Configuration.Url: + LastUpdatedBy: description: '' type: string - Type: + Body: description: '' - enum: - - webhook - - trigger - - studio type: string - required: - - Type - title: CreateChannelWebhookRequest + MediaSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^ME[0-9a-fA-F]{32}$ + description: '' + title: CreateMessageRequest type: object responses: '201': content: application/json: schema: - $ref: '#/components/schemas/ip_messaging.v2.service.channel.channel_webhook' + $ref: '#/components/schemas/ip_messaging.v2.service.channel.message' description: Created security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://ip-messaging.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - configuration - parent: /Services/{ServiceSid}/Channels - pathType: list - /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Webhooks/{Sid}: - delete: + get: description: '' - operationId: DeleteChannelWebhook + operationId: ListMessage parameters: - description: '' in: path name: ServiceSid required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: '' - in: path - name: ChannelSid - required: true schema: type: string - - description: '' - in: path - name: Sid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^WH[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: 'TODO: Resource-level docs' - get: - description: '' - operationId: FetchChannelWebhook - parameters: - - description: '' - in: path - name: ServiceSid - required: true - schema: maxLength: 34 - minLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: ChannelSid @@ -2392,135 +2494,125 @@ paths: schema: type: string - description: '' - in: path - name: Sid - required: true + in: query + name: Order schema: - maxLength: 34 - minLength: 34 - pattern: ^WH[0-9a-fA-F]{32}$ type: string + enum: + - asc + - desc + - 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 responses: '200': content: application/json: schema: - $ref: '#/components/schemas/ip_messaging.v2.service.channel.channel_webhook' + type: object + title: ListMessageResponse + properties: + messages: + type: array + items: + $ref: '#/components/schemas/ip_messaging.v2.service.channel.message' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: + /v2/Services/{ServiceSid}/Roles/{Sid}: + servers: + - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - type + pathType: instance + parent: /Services + get: description: '' - operationId: UpdateChannelWebhook + operationId: FetchRole parameters: - description: '' in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: '' - in: path - name: ChannelSid - required: true - schema: - type: string - description: '' in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^WH[0-9a-fA-F]{32}$ type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Configuration.Filters: - description: '' - items: - type: string - type: array - Configuration.FlowSid: - description: '' - maxLength: 34 - minLength: 34 - pattern: ^FW[0-9a-fA-F]{32}$ - type: string - Configuration.Method: - description: '' - enum: - - GET - - POST - type: string - Configuration.RetryCount: - description: '' - type: integer - Configuration.Triggers: - description: '' - items: - type: string - type: array - Configuration.Url: - description: '' - type: string - title: UpdateChannelWebhookRequest - type: object + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/ip_messaging.v2.service.channel.channel_webhook' + $ref: '#/components/schemas/ip_messaging.v2.service.role' description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://ip-messaging.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - configuration - parent: /Services/{ServiceSid}/Channels - pathType: instance - /v2/Services/{ServiceSid}/Channels/{Sid}: delete: description: '' - operationId: DeleteChannel + operationId: DeleteRole parameters: - description: '' in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: Sid required: true schema: type: string - - description: The X-Twilio-Webhook-Enabled HTTP request header - in: header - name: X-Twilio-Webhook-Enabled - schema: - enum: - - 'true' - - 'false' - type: string + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ responses: '204': description: The resource was deleted successfully. @@ -2528,113 +2620,113 @@ paths: - accountSid_authToken: [] x-maturity: - GA - description: 'TODO: Resource-level docs' - get: + post: description: '' - operationId: FetchChannel + operationId: UpdateRole parameters: - description: '' in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: Sid required: true schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Permission: + type: array + items: + type: string + description: '' + required: + - Permission + title: UpdateRoleRequest + type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/ip_messaging.v2.service.channel' + $ref: '#/components/schemas/ip_messaging.v2.service.role' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v2/Services/{ServiceSid}/Roles: + servers: + - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - type + pathType: list + parent: /Services post: description: '' - operationId: UpdateChannel + operationId: CreateRole parameters: - description: '' in: path name: ServiceSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: '' - in: path - name: Sid - required: true - schema: - type: string - - description: The X-Twilio-Webhook-Enabled HTTP request header - in: header - name: X-Twilio-Webhook-Enabled - schema: - enum: - - 'true' - - 'false' type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - Attributes: - description: '' - type: string - CreatedBy: - description: '' - type: string - DateCreated: + FriendlyName: description: '' - format: date-time type: string - DateUpdated: - description: '' - format: date-time + Type: type: string - FriendlyName: + enum: + - channel + - deployment description: '' - type: string - UniqueName: + Permission: + type: array + items: + type: string description: '' - type: string - title: UpdateChannelRequest + required: + - FriendlyName + - Type + - Permission + title: CreateRoleRequest type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/ip_messaging.v2.service.channel' - description: OK + $ref: '#/components/schemas/ip_messaging.v2.service.role' + description: Created security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://ip-messaging.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - unique_name - - friendly_name - parent: /Services - pathType: instance - /v2/Services/{ServiceSid}/Roles: - description: 'TODO: Resource-level docs' get: description: '' operationId: ListRole @@ -2644,10 +2736,10 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[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 @@ -2661,14 +2753,19 @@ paths: content: application/json: schema: + type: object + title: ListRoleResponse properties: + roles: + type: array + items: + $ref: '#/components/schemas/ip_messaging.v2.service.role' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -2682,99 +2779,60 @@ paths: url: format: uri type: string - type: object - roles: - items: - $ref: '#/components/schemas/ip_messaging.v2.service.role' - type: array - title: ListRoleResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: + /v2/Services/{Sid}: + servers: + - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - date_created + pathType: instance + get: description: '' - operationId: CreateRole + operationId: FetchService parameters: - description: '' in: path - name: ServiceSid + name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - FriendlyName: - description: '' - type: string - Permission: - description: '' - items: - type: string - type: array - Type: - description: '' - enum: - - channel - - deployment - type: string - required: - - FriendlyName - - Type - - Permission - title: CreateRoleRequest - type: object responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/ip_messaging.v2.service.role' - description: Created + $ref: '#/components/schemas/ip_messaging.v2.service' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://ip-messaging.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - type - parent: /Services - pathType: list - /v2/Services/{ServiceSid}/Roles/{Sid}: delete: description: '' - operationId: DeleteRole + operationId: DeleteService parameters: - - description: '' - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^RL[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ responses: '204': description: The resource was deleted successfully. @@ -2782,111 +2840,191 @@ paths: - accountSid_authToken: [] x-maturity: - GA - description: 'TODO: Resource-level docs' - get: + post: description: '' - operationId: FetchRole + operationId: UpdateService parameters: - - description: '' - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^RL[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: '' + type: string + DefaultServiceRoleSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ + description: '' + DefaultChannelRoleSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ + description: '' + DefaultChannelCreatorRoleSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ + description: '' + ReadStatusEnabled: + description: '' + type: boolean + ReachabilityEnabled: + description: '' + type: boolean + TypingIndicatorTimeout: + description: '' + type: integer + ConsumptionReportInterval: + description: '' + type: integer + Notifications.NewMessage.Enabled: + description: '' + type: boolean + Notifications.NewMessage.Template: + description: '' + type: string + Notifications.NewMessage.Sound: + description: '' + type: string + Notifications.NewMessage.BadgeCountEnabled: + description: '' + type: boolean + Notifications.AddedToChannel.Enabled: + description: '' + type: boolean + Notifications.AddedToChannel.Template: + description: '' + type: string + Notifications.AddedToChannel.Sound: + description: '' + type: string + Notifications.RemovedFromChannel.Enabled: + description: '' + type: boolean + Notifications.RemovedFromChannel.Template: + description: '' + type: string + Notifications.RemovedFromChannel.Sound: + description: '' + type: string + Notifications.InvitedToChannel.Enabled: + description: '' + type: boolean + Notifications.InvitedToChannel.Template: + description: '' + type: string + Notifications.InvitedToChannel.Sound: + description: '' + type: string + PreWebhookUrl: + description: '' + format: uri + type: string + PostWebhookUrl: + description: '' + format: uri + type: string + WebhookMethod: + description: '' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + type: string + WebhookFilters: + type: array + items: + type: string + description: '' + Limits.ChannelMembers: + description: '' + type: integer + Limits.UserChannels: + description: '' + type: integer + Media.CompatibilityMessage: + description: '' + type: string + PreWebhookRetryCount: + description: '' + type: integer + PostWebhookRetryCount: + description: '' + type: integer + Notifications.LogEnabled: + description: '' + type: boolean + title: UpdateServiceRequest + type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/ip_messaging.v2.service.role' + $ref: '#/components/schemas/ip_messaging.v2.service' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v2/Services: + servers: + - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - date_created + pathType: list post: description: '' - operationId: UpdateRole - parameters: - - description: '' - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: '' - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^RL[0-9a-fA-F]{32}$ - type: string + operationId: CreateService requestBody: content: application/x-www-form-urlencoded: schema: properties: - Permission: + FriendlyName: description: '' - items: - type: string - type: array + type: string required: - - Permission - title: UpdateRoleRequest + - FriendlyName + title: CreateServiceRequest type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/ip_messaging.v2.service.role' - description: OK + $ref: '#/components/schemas/ip_messaging.v2.service' + description: Created security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://ip-messaging.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - type - parent: /Services - pathType: instance - /v2/Services/{ServiceSid}/Users: - description: 'TODO: Resource-level docs' get: description: '' - operationId: ListUser + operationId: ListService parameters: - - description: '' - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[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 @@ -2900,14 +3038,19 @@ paths: content: application/json: schema: + type: object + title: ListServiceResponse properties: + services: + type: array + items: + $ref: '#/components/schemas/ip_messaging.v2.service' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -2921,85 +3064,55 @@ paths: url: format: uri type: string - type: object - users: - items: - $ref: '#/components/schemas/ip_messaging.v2.service.user' - type: array - title: ListUserResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: + /v2/Services/{ServiceSid}/Users/{Sid}: + servers: + - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - identity + - date_created + pathType: instance + parent: /Services + get: description: '' - operationId: CreateUser + operationId: FetchUser parameters: - description: '' in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The X-Twilio-Webhook-Enabled HTTP request header - in: header - name: X-Twilio-Webhook-Enabled + - description: '' + in: path + name: Sid + required: true schema: - enum: - - 'true' - - 'false' type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Attributes: - description: '' - type: string - FriendlyName: - description: '' - type: string - Identity: - description: '' - type: string - RoleSid: - description: '' - maxLength: 34 - minLength: 34 - pattern: ^RL[0-9a-fA-F]{32}$ - type: string - required: - - Identity - title: CreateUserRequest - type: object responses: - '201': + '200': content: application/json: schema: $ref: '#/components/schemas/ip_messaging.v2.service.user' - description: Created + description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://ip-messaging.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - identity - - date_created - parent: /Services - pathType: list - /v2/Services/{ServiceSid}/Users/{Sid}: delete: description: '' operationId: DeleteUser @@ -3009,10 +3122,10 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: Sid @@ -3026,26 +3139,52 @@ paths: - accountSid_authToken: [] x-maturity: - GA - description: 'TODO: Resource-level docs' - get: + post: description: '' - operationId: FetchUser + operationId: UpdateUser parameters: - description: '' in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: Sid required: true schema: type: string + - description: The X-Twilio-Webhook-Enabled HTTP request header + in: header + name: X-Twilio-Webhook-Enabled + schema: + type: string + enum: + - 'true' + - 'false' + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + RoleSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RL[0-9a-fA-F]{32}$ + description: '' + Attributes: + description: '' + type: string + FriendlyName: + description: '' + type: string + title: UpdateUserRequest + type: object responses: '200': content: @@ -3057,75 +3196,146 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v2/Services/{ServiceSid}/Users: + servers: + - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - identity + - date_created + pathType: list + parent: /Services post: description: '' - operationId: UpdateUser - parameters: - - description: '' - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string + operationId: CreateUser + parameters: - description: '' in: path - name: Sid + name: ServiceSid required: true schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ - description: The X-Twilio-Webhook-Enabled HTTP request header in: header name: X-Twilio-Webhook-Enabled schema: + type: string enum: - 'true' - 'false' - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Attributes: - description: '' - type: string - FriendlyName: + Identity: description: '' type: string RoleSid: - description: '' - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^RL[0-9a-fA-F]{32}$ + description: '' + Attributes: + description: '' type: string - title: UpdateUserRequest + FriendlyName: + description: '' + type: string + required: + - Identity + title: CreateUserRequest type: object responses: - '200': + '201': content: application/json: schema: $ref: '#/components/schemas/ip_messaging.v2.service.user' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + get: + description: '' + operationId: ListUser + parameters: + - description: '' + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListUserResponse + properties: + users: + type: array + items: + $ref: '#/components/schemas/ip_messaging.v2.service.user' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v2/Services/{ServiceSid}/Users/{UserSid}/Bindings: servers: - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - - friendly_name + - endpoint - identity - - date_created - parent: /Services - pathType: instance - /v2/Services/{ServiceSid}/Users/{UserSid}/Bindings: - description: 'TODO: Resource-level docs' + - binding_type + pathType: list + parent: /Services/{ServiceSid}/Users + className: user_binding get: description: '' operationId: ListUserBinding @@ -3135,10 +3345,10 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: UserSid @@ -3149,13 +3359,13 @@ paths: in: query name: BindingType schema: + type: array items: + type: string enum: - gcm - apn - fcm - type: string - type: array - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -3169,18 +3379,19 @@ paths: content: application/json: schema: + type: object + title: ListUserBindingResponse properties: bindings: + type: array items: $ref: '#/components/schemas/ip_messaging.v2.service.user.user_binding' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -3194,39 +3405,39 @@ paths: url: format: uri type: string - type: object - title: ListUserBindingResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v2/Services/{ServiceSid}/Users/{UserSid}/Bindings/{Sid}: servers: - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - className: user_binding defaultOutputProperties: - sid - endpoint - identity - binding_type + pathType: instance parent: /Services/{ServiceSid}/Users - pathType: list - /v2/Services/{ServiceSid}/Users/{UserSid}/Bindings/{Sid}: - delete: + className: user_binding + get: description: '' - operationId: DeleteUserBinding + operationId: FetchUserBinding parameters: - description: '' in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: UserSid @@ -3238,31 +3449,34 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^BS[0-9a-fA-F]{32}$ - type: string responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ip_messaging.v2.service.user.user_binding' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - description: 'TODO: Resource-level docs' - get: + delete: description: '' - operationId: FetchUserBinding + operationId: DeleteUserBinding parameters: - description: '' in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: UserSid @@ -3274,34 +3488,28 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^BS[0-9a-fA-F]{32}$ - type: string responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ip_messaging.v2.service.user.user_binding' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA + /v2/Services/{ServiceSid}/Users/{UserSid}/Channels: servers: - url: https://ip-messaging.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - className: user_binding defaultOutputProperties: - - sid - - endpoint - - identity - - binding_type + - channel_sid + - status + pathType: list parent: /Services/{ServiceSid}/Users - pathType: instance - /v2/Services/{ServiceSid}/Users/{UserSid}/Channels: - description: 'TODO: Resource-level docs' + className: user_channel get: description: '' operationId: ListUserChannel @@ -3311,10 +3519,10 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: UserSid @@ -3334,82 +3542,50 @@ paths: content: application/json: schema: + type: object + title: ListUserChannelResponse properties: channels: + type: array items: $ref: '#/components/schemas/ip_messaging.v2.service.user.user_channel' - type: array meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string type: object - title: ListUserChannelResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://ip-messaging.twilio.com - x-twilio: - className: user_channel - defaultOutputProperties: - - channel_sid - - status - parent: /Services/{ServiceSid}/Users - pathType: list - /v2/Services/{ServiceSid}/Users/{UserSid}/Channels/{ChannelSid}: - delete: - description: '' - operationId: DeleteUserChannel - parameters: - - description: '' - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: '' - in: path - name: UserSid - required: true - schema: - type: string - - description: '' - in: path - name: ChannelSid - required: true - schema: - type: string - responses: - '204': - description: The resource was deleted successfully. + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string + description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v2/Services/{ServiceSid}/Users/{UserSid}/Channels/{ChannelSid}: + servers: + - url: https://ip-messaging.twilio.com description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - channel_sid + - status + pathType: instance + parent: /Services/{ServiceSid}/Users + className: user_channel get: description: '' operationId: FetchUserChannel @@ -3419,10 +3595,10 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: UserSid @@ -3446,19 +3622,19 @@ paths: - accountSid_authToken: [] x-maturity: - GA - post: + delete: description: '' - operationId: UpdateUserChannel + operationId: DeleteUserChannel parameters: - description: '' in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - description: '' in: path name: UserSid @@ -3471,248 +3647,72 @@ paths: required: true schema: type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - LastConsumedMessageIndex: - description: '' - nullable: true - type: integer - LastConsumptionTimestamp: - description: '' - format: date-time - type: string - NotificationLevel: - description: '' - enum: - - default - - muted - type: string - title: UpdateUserChannelRequest - type: object responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ip_messaging.v2.service.user.user_channel' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://ip-messaging.twilio.com - x-twilio: - className: user_channel - defaultOutputProperties: - - channel_sid - - status - parent: /Services/{ServiceSid}/Users - pathType: instance - /v2/Services/{Sid}: - delete: + post: description: '' - operationId: DeleteService + operationId: UpdateUserChannel parameters: - description: '' in: path - name: Sid + name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: 'TODO: Resource-level docs' - get: - description: '' - operationId: FetchService - parameters: - description: '' in: path - name: Sid + name: UserSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ip_messaging.v2.service' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: '' - operationId: UpdateService - parameters: - description: '' in: path - name: Sid + name: ChannelSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - ConsumptionReportInterval: - description: '' - type: integer - DefaultChannelCreatorRoleSid: - description: '' - maxLength: 34 - minLength: 34 - pattern: ^RL[0-9a-fA-F]{32}$ - type: string - DefaultChannelRoleSid: - description: '' - maxLength: 34 - minLength: 34 - pattern: ^RL[0-9a-fA-F]{32}$ - type: string - DefaultServiceRoleSid: - description: '' - maxLength: 34 - minLength: 34 - pattern: ^RL[0-9a-fA-F]{32}$ - type: string - FriendlyName: - description: '' - type: string - Limits.ChannelMembers: - description: '' - type: integer - Limits.UserChannels: - description: '' - type: integer - Media.CompatibilityMessage: - description: '' - type: string - Notifications.AddedToChannel.Enabled: - description: '' - type: boolean - Notifications.AddedToChannel.Sound: - description: '' - type: string - Notifications.AddedToChannel.Template: - description: '' - type: string - Notifications.InvitedToChannel.Enabled: - description: '' - type: boolean - Notifications.InvitedToChannel.Sound: - description: '' - type: string - Notifications.InvitedToChannel.Template: - description: '' - type: string - Notifications.LogEnabled: - description: '' - type: boolean - Notifications.NewMessage.BadgeCountEnabled: - description: '' - type: boolean - Notifications.NewMessage.Enabled: - description: '' - type: boolean - Notifications.NewMessage.Sound: - description: '' - type: string - Notifications.NewMessage.Template: - description: '' - type: string - Notifications.RemovedFromChannel.Enabled: - description: '' - type: boolean - Notifications.RemovedFromChannel.Sound: - description: '' - type: string - Notifications.RemovedFromChannel.Template: - description: '' + NotificationLevel: type: string - PostWebhookRetryCount: - description: '' - type: integer - PostWebhookUrl: + enum: + - default + - muted description: '' - format: uri - type: string - PreWebhookRetryCount: + LastConsumedMessageIndex: description: '' + nullable: true type: integer - PreWebhookUrl: - description: '' - format: uri + LastConsumptionTimestamp: type: string - ReachabilityEnabled: - description: '' - type: boolean - ReadStatusEnabled: - description: '' - type: boolean - TypingIndicatorTimeout: - description: '' - type: integer - WebhookFilters: - description: '' - items: - type: string - type: array - WebhookMethod: + format: date-time description: '' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - title: UpdateServiceRequest + title: UpdateUserChannelRequest type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/ip_messaging.v2.service' + $ref: '#/components/schemas/ip_messaging.v2.service.user.user_channel' description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://ip-messaging.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - date_created - pathType: instance servers: - url: https://ip-messaging.twilio.com x-maturity: -- description: This product is Generally Available. - name: GA +- name: GA + description: This product is Generally Available. diff --git a/spec/yaml/twilio_lookups_v1.yaml b/spec/yaml/twilio_lookups_v1.yaml index e46f6225..d3446ed4 100644 --- a/spec/yaml/twilio_lookups_v1.yaml +++ b/spec/yaml/twilio_lookups_v1.yaml @@ -1,16 +1,17 @@ components: schemas: lookups.v1.phone_number: + type: object properties: add_ons: - description: A JSON string with the results of the Add-ons you specified nullable: true + description: A JSON string with the results of the Add-ons you specified caller_name: - description: The name of the phone number's owner nullable: true + description: The name of the phone number's owner carrier: - description: The telecom company that provides the phone number nullable: true + description: The telecom company that provides the phone number country_code: description: The ISO country code for the phone number nullable: true @@ -29,7 +30,6 @@ components: format: uri nullable: true type: string - type: object securitySchemes: accountSid_authToken: scheme: basic @@ -49,7 +49,15 @@ info: openapi: 3.0.1 paths: /v1/PhoneNumbers/{PhoneNumber}: + servers: + - url: https://lookups.twilio.com description: Detailed information on phone numbers + x-twilio: + defaultOutputProperties: + - caller_name + - country_code + - carrier + pathType: instance get: description: '' operationId: FetchPhoneNumber @@ -79,9 +87,9 @@ paths: in: query name: Type schema: + type: array items: type: string - type: array - description: The `unique_name` of an Add-on you would like to invoke. Can be the `unique_name` of an Add-on that is installed on your account. You can specify multiple instances of this parameter to invoke multiple Add-ons. @@ -89,16 +97,16 @@ paths: in: query name: AddOns schema: + type: array items: type: string - type: array - description: Data specific to the add-on you would like to invoke. The content and format of this value depends on the add-on. in: query name: AddOnsData schema: - format: prefixed-collapsible-map-AddOns type: object + format: prefixed-collapsible-map-AddOns responses: '200': content: @@ -110,16 +118,8 @@ paths: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://lookups.twilio.com - x-twilio: - defaultOutputProperties: - - caller_name - - country_code - - carrier - pathType: instance servers: - url: https://lookups.twilio.com x-maturity: -- description: This product is Generally Available. - name: GA +- name: GA + description: This product is Generally Available. diff --git a/spec/yaml/twilio_lookups_v2.yaml b/spec/yaml/twilio_lookups_v2.yaml index 322a5c49..4aa7d4ed 100644 --- a/spec/yaml/twilio_lookups_v2.yaml +++ b/spec/yaml/twilio_lookups_v2.yaml @@ -1,13 +1,14 @@ components: schemas: lookups.v2.phone_number: + type: object properties: call_forwarding: - description: An object that contains call forwarding status information nullable: true + description: An object that contains call forwarding status information caller_name: - description: An object that contains caller name information nullable: true + description: An object that contains caller name information calling_country_code: description: International dialing prefix nullable: true @@ -16,15 +17,12 @@ components: description: Phone number's ISO country code nullable: true type: string - enhanced_line_type: - description: An object that contains line type information - nullable: true line_type_intelligence: - description: An object that contains line type information nullable: true + description: An object that contains line type information live_activity: - description: An object that contains live activity information nullable: true + description: An object that contains live activity information national_format: description: Phone number in national format nullable: true @@ -35,8 +33,8 @@ components: nullable: true type: string sim_swap: - description: An object that contains SIM swap information nullable: true + description: An object that contains SIM swap information url: description: The absolute URL of the resource format: uri @@ -47,8 +45,9 @@ components: nullable: true type: boolean validation_errors: - description: Contains reasons why a phone number is invalid + type: array items: + type: string enum: - TOO_SHORT - TOO_LONG @@ -56,10 +55,8 @@ components: - INVALID_COUNTRY_CODE - INVALID_LENGTH - NOT_A_NUMBER - type: string nullable: true - type: array - type: object + description: Contains reasons why a phone number is invalid securitySchemes: accountSid_authToken: scheme: basic @@ -79,8 +76,19 @@ info: openapi: 3.0.1 paths: /v2/PhoneNumbers/{PhoneNumber}: + servers: + - url: https://lookups.twilio.com description: Query information on a phone number so that you can make a trusted interaction with your user + x-twilio: + defaultOutputProperties: + - calling_country_code + - phone_number + - country_code + - valid + - validation_results + - national_format + pathType: instance get: description: '' operationId: FetchPhoneNumber @@ -93,8 +101,7 @@ paths: schema: type: string - description: A comma-separated list of fields to return. Possible values are - caller_name, sim_swap, call_forwarding, live_activity, enhanced_line_type - or line_type_intelligence. + caller_name, sim_swap, call_forwarding, live_activity, line_type_intelligence. in: query name: Fields schema: @@ -116,20 +123,9 @@ paths: - accountSid_authToken: [] x-maturity: - Beta - servers: - - url: https://lookups.twilio.com - x-twilio: - defaultOutputProperties: - - calling_country_code - - phone_number - - country_code - - valid - - validation_results - - national_format - pathType: instance servers: - url: https://lookups.twilio.com x-maturity: -- description: PLEASE NOTE that this is a Beta product that is subject to change. +- name: Beta + description: PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution. - name: Beta diff --git a/spec/yaml/twilio_media_v1.yaml b/spec/yaml/twilio_media_v1.yaml index b9464b67..a7b1fba5 100644 --- a/spec/yaml/twilio_media_v1.yaml +++ b/spec/yaml/twilio_media_v1.yaml @@ -1,25 +1,26 @@ components: schemas: media.v1.media_processor: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated ended_reason: description: The reason why a MediaProcessor ended nullable: true @@ -37,20 +38,20 @@ components: nullable: true type: integer sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^ZX[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource status: - description: The status of the MediaProcessor + type: string enum: - failed - started - ended nullable: true - type: string + description: The status of the MediaProcessor status_callback: description: The URL to which Twilio will send MediaProcessor event updates format: uri @@ -74,38 +75,38 @@ components: format: uri nullable: true type: string - type: object media.v1.media_recording: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated duration: description: The duration of the MediaRecording nullable: true type: integer format: - description: The format of the MediaRecording + type: string enum: - mp4 - webm nullable: true - type: string + description: The format of the MediaRecording links: description: The URLs of related resources format: uri-map @@ -116,39 +117,39 @@ components: nullable: true type: integer processor_sid: - description: The SID of the MediaProcessor - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^ZX[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the MediaProcessor resolution: description: The dimensions of the video image in pixels nullable: true type: string sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^KV[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource source_sid: - description: The SID of the resource that generated the original media - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the resource that generated the original media status: - description: The status of the MediaRecording + type: string enum: - processing - completed - deleted - failed nullable: true - type: string + description: The status of the MediaRecording status_callback: description: The URL to which Twilio will send MediaRecording event updates format: uri @@ -172,36 +173,36 @@ components: format: uri nullable: true type: string - type: object media.v1.player_streamer: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated ended_reason: - description: The reason why a PlayerStreamer ended + type: string enum: - ended-via-api - max-duration-exceeded - stream-disconnected-by-source - unexpected-failure nullable: true - type: string + description: The reason why a PlayerStreamer ended links: description: The URLs of related resources format: uri-map @@ -212,21 +213,21 @@ components: nullable: true type: integer sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^VJ[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource status: - description: The status of the PlayerStreamer + type: string enum: - created - started - ended - failed nullable: true - type: string + description: The status of the PlayerStreamer status_callback: description: The URL to which Twilio will send PlayerStreamer event updates format: uri @@ -254,39 +255,38 @@ components: description: Whether the PlayerStreamer is configured to stream video nullable: true type: boolean - type: object media.v1.player_streamer.player_streamer_playback_grant: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created grant: + nullable: true description: The grant that authorizes the player sdk to connect to the livestream - nullable: true sid: - description: The unique string that identifies the PlayerStreamer associated - with this PlaybackGrant. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^VJ[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the PlayerStreamer associated + with this PlaybackGrant. url: description: The absolute URL of the resource format: uri nullable: true type: string - type: object securitySchemes: accountSid_authToken: scheme: basic @@ -306,8 +306,82 @@ info: openapi: 3.0.1 paths: /v1/MediaProcessors: + servers: + - url: https://media.twilio.com description: A MediaProcessor resource provides the ability to capture content from a web application with a Twilio Media Extension to create a livestream. + x-twilio: + defaultOutputProperties: + - sid + - status + - extension + - extension_context + pathType: list + post: + description: '' + operationId: CreateMediaProcessor + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Extension: + description: 'The [Media Extension](/docs/live/api/media-extensions-overview) + name or URL. Ex: `video-composer-v2`' + type: string + ExtensionContext: + description: The context of the Media Extension, represented as + a JSON dictionary. See the documentation for the specific [Media + Extension](/docs/live/api/media-extensions-overview) you are using + for more information about the context to send. + type: string + ExtensionEnvironment: + description: User-defined environment variables for the Media Extension, + represented as a JSON dictionary of key/value strings. See the + documentation for the specific [Media Extension](/docs/live/api/media-extensions-overview) + you are using for more information about whether you need to provide + this. + StatusCallback: + description: The URL to which Twilio will send asynchronous webhook + requests for every MediaProcessor event. See [Status Callbacks](/docs/live/status-callbacks) + for details. + format: uri + type: string + StatusCallbackMethod: + description: The HTTP method Twilio should use to call the `status_callback` + URL. Can be `POST` or `GET` and the default is `POST`. + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + type: string + MaxDuration: + description: The maximum time, in seconds, that the MediaProcessor + can run before automatically ends. The default value is 300 seconds, + and the maximum value is 90000 seconds. Once this maximum duration + is reached, Twilio will end the MediaProcessor, regardless of + whether media is still streaming. + type: integer + required: + - Extension + - ExtensionContext + title: CreateMediaProcessorRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/media.v1.media_processor' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA get: description: Returns a list of MediaProcessors. operationId: ListMediaProcessor @@ -317,20 +391,20 @@ paths: in: query name: Order schema: + type: string enum: - asc - desc - type: string - description: Status to filter by, with possible values `started`, `ended` or `failed`. in: query name: Status schema: + type: string enum: - failed - started - ended - type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -344,18 +418,19 @@ paths: content: application/json: schema: + type: object + title: ListMediaProcessorResponse properties: media_processors: + type: array items: $ref: '#/components/schemas/media.v1.media_processor' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -369,91 +444,25 @@ paths: url: format: uri type: string - type: object - title: ListMediaProcessorResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: '' - operationId: CreateMediaProcessor - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Extension: - description: 'The [Media Extension](/docs/live/api/media-extensions-overview) - name or URL. Ex: `video-composer-v2`' - type: string - ExtensionContext: - description: The context of the Media Extension, represented as - a JSON dictionary. See the documentation for the specific [Media - Extension](/docs/live/api/media-extensions-overview) you are using - for more information about the context to send. - type: string - ExtensionEnvironment: - description: User-defined environment variables for the Media Extension, - represented as a JSON dictionary of key/value strings. See the - documentation for the specific [Media Extension](/docs/live/api/media-extensions-overview) - you are using for more information about whether you need to provide - this. - MaxDuration: - description: The maximum time, in seconds, that the MediaProcessor - can run before automatically ends. The default value is 300 seconds, - and the maximum value is 90000 seconds. Once this maximum duration - is reached, Twilio will end the MediaProcessor, regardless of - whether media is still streaming. - type: integer - StatusCallback: - description: The URL to which Twilio will send asynchronous webhook - requests for every MediaProcessor event. See [Status Callbacks](/docs/live/status-callbacks) - for details. - format: uri - type: string - StatusCallbackMethod: - description: The HTTP method Twilio should use to call the `status_callback` - URL. Can be `POST` or `GET` and the default is `POST`. - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - required: - - Extension - - ExtensionContext - title: CreateMediaProcessorRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/media.v1.media_processor' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA + /v1/MediaProcessors/{Sid}: servers: - url: https://media.twilio.com + description: A MediaProcessor resource provides the ability to capture content + from a web application with a Twilio Media Extension to create a livestream. x-twilio: defaultOutputProperties: - sid - status - extension - extension_context - pathType: list - /v1/MediaProcessors/{Sid}: - description: A MediaProcessor resource provides the ability to capture content - from a web application with a Twilio Media Extension to create a livestream. + pathType: instance get: description: Returns a single MediaProcessor resource identified by a SID. operationId: FetchMediaProcessor @@ -463,10 +472,10 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^ZX[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -487,20 +496,20 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^ZX[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: Status: - description: The status of the MediaProcessor. Can be `ended`. + type: string enum: - ended - type: string + description: The status of the MediaProcessor. Can be `ended`. required: - Status title: UpdateMediaProcessorRequest @@ -516,18 +525,70 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/MediaRecordings/{Sid}: servers: - url: https://media.twilio.com + description: A MediaRecording resource exposes recording metadata and allows the + deletion of a particular recording. x-twilio: defaultOutputProperties: - sid - status - - extension - - extension_context pathType: instance + delete: + description: Deletes a MediaRecording resource identified by a SID. + operationId: DeleteMediaRecording + parameters: + - description: The SID of the MediaRecording resource to delete. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^KV[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - Preview + get: + description: Returns a single MediaRecording resource identified by a SID. + operationId: FetchMediaRecording + parameters: + - description: The SID of the MediaRecording resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^KV[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/media.v1.media_recording' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - Preview /v1/MediaRecordings: + servers: + - url: https://media.twilio.com description: A MediaRecording resource exposes recording metadata and allows the deletion of a particular recording. + x-twilio: + defaultOutputProperties: + - sid + - status + pathType: list get: description: Returns a list of MediaRecordings. operationId: ListMediaRecording @@ -537,37 +598,37 @@ paths: in: query name: Order schema: + type: string enum: - asc - desc - type: string - description: Status to filter by, with possible values `processing`, `completed`, `deleted`, or `failed`. in: query name: Status schema: + type: string enum: - processing - completed - deleted - failed - type: string - description: SID of a MediaProcessor to filter by. in: query name: ProcessorSid schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^ZX[0-9a-fA-F]{32}$ - type: string - description: SID of a MediaRecording source to filter by. in: query name: SourceSid schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^[a-zA-Z]{2}[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 @@ -581,18 +642,19 @@ paths: content: application/json: schema: + type: object + title: ListMediaRecordingResponse properties: media_recordings: + type: array items: $ref: '#/components/schemas/media.v1.media_recording' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -606,78 +668,146 @@ paths: url: format: uri type: string - type: object - title: ListMediaRecordingResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - Preview + /v1/PlayerStreamers/{Sid}: servers: - url: https://media.twilio.com + description: A PlayerStreamer resource provides the ability to send a livestream + to a JavaScript, iOS, or Android Player SDK. x-twilio: defaultOutputProperties: - sid - status - pathType: list - /v1/MediaRecordings/{Sid}: - delete: - description: Deletes a MediaRecording resource identified by a SID. - operationId: DeleteMediaRecording + pathType: instance + get: + description: Returns a single PlayerStreamer resource identified by a SID. + operationId: FetchPlayerStreamer parameters: - - description: The SID of the MediaRecording resource to delete. + - description: The SID of the PlayerStreamer resource to fetch. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^KV[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^VJ[0-9a-fA-F]{32}$ responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/media.v1.player_streamer' + description: OK security: - accountSid_authToken: [] x-maturity: - - Preview - description: A MediaRecording resource exposes recording metadata and allows the - deletion of a particular recording. - get: - description: Returns a single MediaRecording resource identified by a SID. - operationId: FetchMediaRecording + - GA + post: + description: Updates a PlayerStreamer resource identified by a SID. + operationId: UpdatePlayerStreamer parameters: - - description: The SID of the MediaRecording resource to fetch. + - description: The SID of the PlayerStreamer resource to update. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^KV[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^VJ[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Status: + type: string + enum: + - ended + description: 'The status the PlayerStreamer should be transitioned + to. Can be: `ended`.' + required: + - Status + title: UpdatePlayerStreamerRequest + type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/media.v1.media_recording' + $ref: '#/components/schemas/media.v1.player_streamer' description: OK security: - accountSid_authToken: [] x-maturity: - - Preview + - GA + /v1/PlayerStreamers: servers: - url: https://media.twilio.com + description: A PlayerStreamer resource provides the ability to send a livestream + to a JavaScript, iOS, or Android Player SDK. x-twilio: defaultOutputProperties: - sid - status - pathType: instance - /v1/PlayerStreamers: - description: A PlayerStreamer resource provides the ability to send a livestream - to a JavaScript, iOS, or Android Player SDK. + pathType: list + post: + description: '' + operationId: CreatePlayerStreamer + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Video: + description: Specifies whether the PlayerStreamer is configured + to stream video. Defaults to `true`. + type: boolean + StatusCallback: + description: The URL to which Twilio will send asynchronous webhook + requests for every PlayerStreamer event. See [Status Callbacks](/docs/live/status-callbacks) + for more details. + format: uri + type: string + StatusCallbackMethod: + description: The HTTP method Twilio should use to call the `status_callback` + URL. Can be `POST` or `GET` and the default is `POST`. + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + type: string + MaxDuration: + description: The maximum time, in seconds, that the PlayerStreamer + can run before automatically ends. The default value is 300 seconds, + and the maximum value is 90000 seconds. Once this maximum duration + is reached, Twilio will end the PlayerStreamer, regardless of + whether media is still streaming. + type: integer + title: CreatePlayerStreamerRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/media.v1.player_streamer' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA get: description: Returns a list of PlayerStreamers. operationId: ListPlayerStreamer @@ -687,21 +817,21 @@ paths: in: query name: Order schema: + type: string enum: - asc - desc - type: string - description: Status to filter by, with possible values `created`, `started`, `ended`, or `failed`. in: query name: Status schema: + type: string enum: - created - started - ended - failed - type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -715,14 +845,19 @@ paths: content: application/json: schema: + type: object + title: ListPlayerStreamerResponse properties: + player_streamers: + type: array + items: + $ref: '#/components/schemas/media.v1.player_streamer' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -736,151 +871,62 @@ paths: url: format: uri type: string - type: object - player_streamers: - items: - $ref: '#/components/schemas/media.v1.player_streamer' - type: array - title: ListPlayerStreamerResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: '' - operationId: CreatePlayerStreamer - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - MaxDuration: - description: The maximum time, in seconds, that the PlayerStreamer - can run before automatically ends. The default value is 300 seconds, - and the maximum value is 90000 seconds. Once this maximum duration - is reached, Twilio will end the PlayerStreamer, regardless of - whether media is still streaming. - type: integer - StatusCallback: - description: The URL to which Twilio will send asynchronous webhook - requests for every PlayerStreamer event. See [Status Callbacks](/docs/live/status-callbacks) - for more details. - format: uri - type: string - StatusCallbackMethod: - description: The HTTP method Twilio should use to call the `status_callback` - URL. Can be `POST` or `GET` and the default is `POST`. - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - Video: - description: Specifies whether the PlayerStreamer is configured - to stream video. Defaults to `true`. - type: boolean - title: CreatePlayerStreamerRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/media.v1.player_streamer' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA + /v1/PlayerStreamers/{Sid}/PlaybackGrant: servers: - url: https://media.twilio.com + description: A PlaybackGrant resource allows developers to generate a grant to + initialize the Twilio Live Player SDK and connect to a livestream. x-twilio: - defaultOutputProperties: - - sid - - status - pathType: list - /v1/PlayerStreamers/{Sid}: - description: A PlayerStreamer resource provides the ability to send a livestream - to a JavaScript, iOS, or Android Player SDK. - get: - description: Returns a single PlayerStreamer resource identified by a SID. - operationId: FetchPlayerStreamer - parameters: - - description: The SID of the PlayerStreamer resource to fetch. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^VJ[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/media.v1.player_streamer' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA + defaultOutputProperties: [] + pathType: instance + parent: /PlayerStreamers post: - description: Updates a PlayerStreamer resource identified by a SID. - operationId: UpdatePlayerStreamer + description: '' + operationId: CreatePlayerStreamerPlaybackGrant parameters: - - description: The SID of the PlayerStreamer resource to update. + - description: The unique string generated to identify the PlayerStreamer resource + associated with this PlaybackGrant in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^VJ[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Status: - description: 'The status the PlayerStreamer should be transitioned - to. Can be: `ended`.' - enum: - - ended + Ttl: + description: The time to live of the PlaybackGrant. Default value + is 15 seconds. Maximum value is 60 seconds. + type: integer + AccessControlAllowOrigin: + description: The full origin URL where the livestream can be streamed. + If this is not provided, it can be streamed from any domain. type: string - required: - - Status - title: UpdatePlayerStreamerRequest + title: CreatePlayerStreamerPlaybackGrantRequest type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/media.v1.player_streamer' - description: OK + $ref: '#/components/schemas/media.v1.player_streamer.player_streamer_playback_grant' + description: Created security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://media.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - status - pathType: instance - /v1/PlayerStreamers/{Sid}/PlaybackGrant: - description: A PlaybackGrant resource allows developers to generate a grant to - initialize the Twilio Live Player SDK and connect to a livestream. get: description: '**This method is not enabled.** Returns a single PlaybackGrant resource identified by a SID.' @@ -891,10 +937,10 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^VJ[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -906,58 +952,12 @@ paths: - accountSid_authToken: [] x-maturity: - GA - post: - description: '' - operationId: CreatePlayerStreamerPlaybackGrant - parameters: - - description: The unique string generated to identify the PlayerStreamer resource - associated with this PlaybackGrant - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^VJ[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - AccessControlAllowOrigin: - description: The full origin URL where the livestream can be streamed. - If this is not provided, it can be streamed from any domain. - type: string - Ttl: - description: The time to live of the PlaybackGrant. Default value - is 15 seconds. Maximum value is 60 seconds. - type: integer - title: CreatePlayerStreamerPlaybackGrantRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/media.v1.player_streamer.player_streamer_playback_grant' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://media.twilio.com - x-twilio: - defaultOutputProperties: [] - parent: /PlayerStreamers - pathType: instance servers: - url: https://media.twilio.com x-maturity: -- description: This product is Generally Available. - name: GA -- description: PLEASE NOTE that this is a Preview product that is subject to change. +- name: GA + description: This product is Generally Available. +- name: Preview + description: PLEASE NOTE that this is a Preview product that is subject to change. Use it with caution. If you currently do not have developer preview access, please contact help@twilio.com. - name: Preview diff --git a/spec/yaml/twilio_messaging_v1.yaml b/spec/yaml/twilio_messaging_v1.yaml index 5f3349e5..32f4d84e 100644 --- a/spec/yaml/twilio_messaging_v1.yaml +++ b/spec/yaml/twilio_messaging_v1.yaml @@ -1,33 +1,85 @@ components: schemas: - messaging.v1.brand_registrations: + messaging.v1.service.alpha_sender: + type: object properties: - a2p_profile_bundle_sid: - description: A2P Messaging Profile Bundle BundleSid + account_sid: + type: string + minLength: 34 maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created the resource + alpha_sender: + description: The Alphanumeric Sender ID string + nullable: true + type: string + capabilities: + type: array + items: + type: string + nullable: true + description: An array of values that describe whether the number can receive + calls or messages + date_created: + type: string + format: date-time + nullable: true + description: The ISO 8601 date and time in GMT when the resource was created + date_updated: + type: string + format: date-time + nullable: true + description: The ISO 8601 date and time in GMT when the resource was last + updated + service_sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^MG[0-9a-fA-F]{32}$ nullable: true - pattern: ^BU[0-9a-fA-F]{32}$ + description: The SID of the Service that the resource is associated with + sid: type: string - account_sid: - description: The SID of the Account that created the resource + minLength: 34 maxLength: 34 + pattern: ^AI[0-9a-fA-F]{32}$ + nullable: true + description: The unique string that identifies the resource + url: + description: The absolute URL of the AlphaSender resource + format: uri + nullable: true + type: string + messaging.v1.brand_registrations: + type: object + properties: + a2p_profile_bundle_sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^BU[0-9a-fA-F]{32}$ nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ + description: A2P Messaging Profile Bundle BundleSid + account_sid: type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created the resource brand_feedback: - description: Brand feedback + type: array items: + type: string enum: - TAX_ID - STOCK_SYMBOL - NONPROFIT - GOVERNMENT_ENTITY - OTHERS - type: string nullable: true - type: array + description: Brand feedback brand_score: description: Brand score nullable: true @@ -37,23 +89,23 @@ components: nullable: true type: string customer_profile_bundle_sid: - description: A2P Messaging Profile Bundle BundleSid - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^BU[0-9a-fA-F]{32}$ - type: string + nullable: true + description: A2P Messaging Profile Bundle BundleSid date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated failure_reason: description: A reason why brand registration has failed nullable: true @@ -63,14 +115,14 @@ components: nullable: true type: boolean identity_status: - description: Identity Status + type: string enum: - SELF_DECLARED - UNVERIFIED - VERIFIED - VETTED_VERIFIED nullable: true - type: string + description: Identity Status links: format: uri-map nullable: true @@ -86,18 +138,18 @@ components: nullable: true type: boolean sid: - description: A2P BrandRegistration Sid - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^BN[0-9a-fA-F]{32}$ - type: string + nullable: true + description: A2P BrandRegistration Sid skip_automatic_sec_vet: description: Skip Automatic Secondary Vetting nullable: true type: boolean status: - description: Brand Registration status. + type: string enum: - PENDING - APPROVED @@ -105,7 +157,7 @@ components: - IN_REVIEW - DELETED nullable: true - type: string + description: Brand Registration status. tax_exempt_status: description: Tax Exempt Status nullable: true @@ -119,41 +171,41 @@ components: format: uri nullable: true type: string - type: object messaging.v1.brand_registrations.brand_vetting: + type: object properties: account_sid: - description: The SID of the Account that created the vetting - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the vetting brand_sid: - description: A2P BrandRegistration Sid - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^BN[0-9a-fA-F]{32}$ - type: string + nullable: true + description: A2P BrandRegistration Sid brand_vetting_sid: - description: SID for third-party vetting record - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^VT[0-9a-fA-F]{32}$ - type: string + nullable: true + description: SID for third-party vetting record date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated url: description: The absolute URL of the Brand Vetting format: uri @@ -168,82 +220,138 @@ components: nullable: true type: string vetting_provider: - description: Third-party provider that has conducted the vetting + type: string enum: - campaign-verify nullable: true - type: string + description: Third-party provider that has conducted the vetting vetting_status: description: Status of vetting attempt nullable: true type: string - type: object messaging.v1.deactivation: + type: object properties: redirect_to: description: Redirect url to the list of deactivated numbers. format: uri nullable: true type: string - type: object messaging.v1.external_campaign: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource campaign_id: description: ID of the preregistered campaign. nullable: true type: string date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created messaging_service_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^MG[0-9a-fA-F]{32}$ + nullable: true description: The SID of the Messaging Service the resource is associated with + sid: + type: string + minLength: 34 maxLength: 34 + pattern: ^QE[0-9a-fA-F]{32}$ + nullable: true + description: The unique string that identifies a US A2P Compliance resource + messaging.v1.service.phone_number: + type: object + properties: + account_sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created the resource + capabilities: + type: array + items: + type: string + nullable: true + description: An array of values that describe whether the number can receive + calls or messages + country_code: + description: The 2-character ISO Country Code of the number nullable: true - pattern: ^MG[0-9a-fA-F]{32}$ type: string - sid: - description: The unique string that identifies a US A2P Compliance resource + date_created: + type: string + format: date-time + nullable: true + description: The ISO 8601 date and time in GMT when the resource was created + date_updated: + type: string + format: date-time + nullable: true + description: The ISO 8601 date and time in GMT when the resource was last + updated + phone_number: + description: The phone number in E.164 format + format: phone-number + nullable: true + type: string + service_sid: + type: string + minLength: 34 maxLength: 34 + pattern: ^MG[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Service that the resource is associated with + sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^PN[0-9a-fA-F]{32}$ + nullable: true + description: The unique string that identifies the resource + url: + description: The absolute URL of the PhoneNumber resource + format: uri nullable: true - pattern: ^QE[0-9a-fA-F]{32}$ type: string - type: object messaging.v1.service: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource area_code_geomatch: description: Whether to enable Area Code Geomatch on the Service Instance nullable: true type: boolean date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated fallback_method: description: The HTTP method we use to call fallback_url enum: @@ -303,20 +411,20 @@ components: nullable: true type: boolean scan_message_content: - description: Reserved + type: string enum: - inherit - enable - disable nullable: true - type: string + description: Reserved sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^MG[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource smart_encoding: description: Whether to enable Encoding for messages sent through the Service instance @@ -359,185 +467,78 @@ components: description: How long, in seconds, messages sent from the Service are valid nullable: true type: integer + messaging.v1.service.short_code: type: object - messaging.v1.service.alpha_sender: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - alpha_sender: - description: The Alphanumeric Sender ID string - nullable: true - type: string - capabilities: - description: An array of values that describe whether the number can receive - calls or messages - items: - type: string - nullable: true - type: array - date_created: - description: The 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 date and time in GMT when the resource was last - updated - format: date-time - nullable: true type: string - service_sid: - description: The SID of the Service that the resource is associated with - maxLength: 34 minLength: 34 - nullable: true - pattern: ^MG[0-9a-fA-F]{32}$ - type: string - sid: - description: The unique string that identifies the resource maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AI[0-9a-fA-F]{32}$ - type: string - url: - description: The absolute URL of the AlphaSender resource - format: uri + pattern: ^AC[0-9a-fA-F]{32}$ nullable: true - type: string - type: object - messaging.v1.service.phone_number: - properties: - account_sid: description: The SID of the Account that created the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string capabilities: - description: An array of values that describe whether the number can receive - calls or messages + type: array items: type: string nullable: true - type: array + description: An array of values that describe whether the number can receive + calls or messages country_code: description: The 2-character ISO Country Code of the number nullable: true type: string date_created: - description: The 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 date and time in GMT when the resource was last - updated format: date-time nullable: true - type: string - phone_number: - description: The phone number in E.164 format - format: phone-number - nullable: true - type: string - service_sid: - description: The SID of the Service that the resource is associated with - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^MG[0-9a-fA-F]{32}$ - type: string - sid: - description: The unique string that identifies the 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 - messaging.v1.service.short_code: - properties: - account_sid: - description: The SID of the Account that created the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - capabilities: - description: An array of values that describe whether the number can receive - calls or messages - items: - type: string - nullable: true - type: array - country_code: - description: The 2-character ISO Country Code of the number - nullable: true - type: string - date_created: description: The ISO 8601 date and time in GMT when the resource was created + date_updated: + type: string format: date-time nullable: true - type: string - date_updated: description: The ISO 8601 date and time in GMT when the resource was last updated - format: date-time - nullable: true - type: string service_sid: - description: The SID of the Service that the resource is associated with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^MG[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Service that the resource is associated with short_code: description: The E.164 format of the short code nullable: true type: string sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^SC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource url: description: The absolute URL of the ShortCode resource format: uri nullable: true type: string - type: object messaging.v1.service.us_app_to_person: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource brand_registration_sid: - description: A2P Brand Registration SID - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^BN[0-9a-fA-F]{32}$ - type: string + nullable: true + description: A2P Brand Registration SID campaign_id: description: The Campaign Registry (TCR) Campaign ID. nullable: true @@ -547,16 +548,16 @@ components: nullable: true type: string date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated description: description: A short description of what this SMS campaign does nullable: true @@ -577,33 +578,33 @@ components: nullable: true type: boolean message_samples: - description: Message samples + type: array items: type: string nullable: true - type: array + description: Message samples messaging_service_sid: - description: The SID of the Messaging Service the resource is associated - with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^MG[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Messaging Service the resource is associated + with mock: description: A boolean that specifies whether campaign is a mock or not. nullable: true type: boolean rate_limits: - description: Rate limit and/or classification set by each carrier nullable: true + description: Rate limit and/or classification set by each carrier sid: - description: The unique string that identifies a US A2P Compliance resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^QE[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies a US A2P Compliance resource url: description: The absolute URL of the US App to Person resource format: uri @@ -613,23 +614,22 @@ components: description: A2P Campaign Use Case. nullable: true type: string - type: object messaging.v1.service.us_app_to_person_usecase: + type: object properties: us_app_to_person_usecases: - description: Human readable A2P Use Case details + type: array items: {} nullable: true - type: array - type: object + description: Human readable A2P Use Case details messaging.v1.usecase: + type: object properties: usecases: - description: Human readable Messaging Service Use Case details + type: array items: {} nullable: true - type: array - type: object + description: Human readable Messaging Service Use Case details securitySchemes: accountSid_authToken: scheme: basic @@ -648,47 +648,70 @@ info: version: 1.30.0 openapi: 3.0.1 paths: - /v1/Deactivations: - description: A Deactivation resource to retrieve a list of United States phone - numbers that have been deactivated by mobile carriers on a specific date. - get: - description: Fetch a list of all United States numbers that have been deactivated - on a specific date. - operationId: FetchDeactivation + /v1/Services/{ServiceSid}/AlphaSenders: + servers: + - url: https://messaging.twilio.com + description: A Messaging Service resource to add, fetch or remove an Alpha Sender + ID from a Messaging Service. + x-twilio: + defaultOutputProperties: + - sid + - alpha_sender + pathType: list + parent: /Services + post: + description: '' + operationId: CreateAlphaSender parameters: - - description: The request will return a list of all United States Phone Numbers - that were deactivated on the day specified by this parameter. This date - should be specified in YYYY-MM-DD format. - in: query - name: Date + - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) + to create the resource under. + in: path + name: ServiceSid + required: true schema: - format: date type: string + minLength: 34 + maxLength: 34 + pattern: ^MG[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + AlphaSender: + description: The Alphanumeric Sender ID string. Can be up to 11 + characters long. Valid characters are A-Z, a-z, 0-9, space, and + hyphen `-`. This value cannot contain only numbers. + type: string + required: + - AlphaSender + title: CreateAlphaSenderRequest + type: object responses: - '307': + '201': content: application/json: schema: - $ref: '#/components/schemas/messaging.v1.deactivation' - description: Temporary Redirect + $ref: '#/components/schemas/messaging.v1.service.alpha_sender' + description: Created security: - accountSid_authToken: [] x-maturity: - - GA - servers: - - url: https://messaging.twilio.com - x-twilio: - className: deactivations - defaultOutputProperties: - - redirect_to - pathType: instance - /v1/Services: - description: A Messaging Service resource to create, fetch, update, delete or - add/remove senders from Messaging Services. + - Beta get: description: '' - operationId: ListService + operationId: ListAlphaSender parameters: + - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) + to read the resources from. + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^MG[0-9a-fA-F]{32}$ - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -702,14 +725,19 @@ paths: content: application/json: schema: + type: object + title: ListAlphaSenderResponse properties: + alpha_senders: + type: array + items: + $ref: '#/components/schemas/messaging.v1.service.alpha_sender' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -723,231 +751,152 @@ paths: url: format: uri type: string - type: object - services: - items: - $ref: '#/components/schemas/messaging.v1.service' - type: array - title: ListServiceResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - Beta - post: + /v1/Services/{ServiceSid}/AlphaSenders/{Sid}: + servers: + - url: https://messaging.twilio.com + description: A Messaging Service resource to add, fetch or remove an Alpha Sender + ID from a Messaging Service. + x-twilio: + defaultOutputProperties: + - sid + - alpha_sender + pathType: instance + parent: /Services + get: description: '' - operationId: CreateService - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - AreaCodeGeomatch: - description: Whether to enable [Area Code Geomatch](https://www.twilio.com/docs/sms/services#area-code-geomatch) - on the Service Instance. - type: boolean - FallbackMethod: - description: 'The HTTP method we should use to call `fallback_url`. - Can be: `GET` or `POST`.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - FallbackToLongCode: - description: Whether to enable [Fallback to Long Code](https://www.twilio.com/docs/sms/services#fallback-to-long-code) - for messages sent through the Service instance. - type: boolean - FallbackUrl: - description: The URL that we call using `fallback_method` if an - error occurs while retrieving or executing the TwiML from the - Inbound Request URL. If the `use_inbound_webhook_on_number` field - is enabled then the webhook url defined on the phone number will - override the `fallback_url` defined for the Messaging Service. - format: uri - type: string - FriendlyName: - description: A descriptive string that you create to describe the - resource. It can be up to 64 characters long. - type: string - InboundMethod: - description: The HTTP method we should use to call `inbound_request_url`. - Can be `GET` or `POST` and the default is `POST`. - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - InboundRequestUrl: - description: The URL we call using `inbound_method` when a message - is received by any phone number or short code in the Service. - When this property is `null`, receiving inbound messages is disabled. - All messages sent to the Twilio phone number or short code will - not be logged and received on the Account. If the `use_inbound_webhook_on_number` - field is enabled then the webhook url defined on the phone number - will override the `inbound_request_url` defined for the Messaging - Service. - format: uri - type: string - MmsConverter: - description: Whether to enable the [MMS Converter](https://www.twilio.com/docs/sms/services#mms-converter) - for messages sent through the Service instance. - type: boolean - ScanMessageContent: - description: Reserved. - enum: - - inherit - - enable - - disable - type: string - SmartEncoding: - description: Whether to enable [Smart Encoding](https://www.twilio.com/docs/sms/services#smart-encoding) - for messages sent through the Service instance. - type: boolean - StatusCallback: - description: The URL we should call to [pass status updates](https://www.twilio.com/docs/sms/api/message-resource#message-status-values) - about message delivery. - format: uri - type: string - StickySender: - description: Whether to enable [Sticky Sender](https://www.twilio.com/docs/sms/services#sticky-sender) - on the Service instance. - type: boolean - SynchronousValidation: - description: Reserved. - type: boolean - UseInboundWebhookOnNumber: - description: A boolean value that indicates either the webhook url - configured on the phone number will be used or `inbound_request_url`/`fallback_url` - url will be called when a message is received from the phone number. - If this field is enabled then the webhook url defined on the phone - number will override the `inbound_request_url`/`fallback_url` - defined for the Messaging Service. - type: boolean - Usecase: - description: 'A string that describes the scenario in which the - Messaging Service will be used. Examples: [notification, marketing, - verification, poll ..].' - type: string - ValidityPeriod: - description: How long, in seconds, messages sent from the Service - are valid. Can be an integer from `1` to `14,400`. - type: integer - required: - - FriendlyName - title: CreateServiceRequest - type: object + operationId: FetchAlphaSender + parameters: + - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) + to fetch the resource from. + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^MG[0-9a-fA-F]{32}$ + - description: The SID of the AlphaSender resource to fetch. + in: path + name: Sid + required: true + schema: + type: string responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/messaging.v1.service' - description: Created + $ref: '#/components/schemas/messaging.v1.service.alpha_sender' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - Beta + delete: + description: '' + operationId: DeleteAlphaSender + parameters: + - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) + to delete the resource from. + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^MG[0-9a-fA-F]{32}$ + - description: The SID of the AlphaSender resource to delete. + in: path + name: Sid + required: true + schema: + type: string + responses: + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - Beta + /v1/a2p/BrandRegistrations/{Sid}: servers: - url: https://messaging.twilio.com + description: A Messaging Service resource to add and fetch Brand Registrations. x-twilio: defaultOutputProperties: - sid - - friendly_name - date_created - pathType: list - /v1/Services/PreregisteredUsa2p: - description: Resource to associate preregistered campaign with Messaging Service. - post: + pathType: instance + get: description: '' - operationId: CreateExternalCampaign - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - CampaignId: - description: ID of the preregistered campaign. - type: string - MessagingServiceSid: - description: The SID of the [Messaging Service](https://www.twilio.com/docs/messaging/services/api) - that the resource is associated with. - maxLength: 34 - minLength: 34 - pattern: ^MG[0-9a-fA-F]{32}$ - type: string - required: - - CampaignId - - MessagingServiceSid - title: CreateExternalCampaignRequest - type: object + operationId: FetchBrandRegistrations + parameters: + - description: The SID of the Brand Registration resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^BN[0-9a-fA-F]{32}$ responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/messaging.v1.external_campaign' - description: Created + $ref: '#/components/schemas/messaging.v1.brand_registrations' + description: OK security: - accountSid_authToken: [] x-maturity: - Beta - servers: - - url: https://messaging.twilio.com - x-twilio: - className: external_campaign - defaultOutputProperties: - - campaign_id - - messaging_service_sid - pathType: list - /v1/Services/Usecases: - description: Use Case resource. Fetch possible use cases for a Messaging Service. - get: + post: description: '' - operationId: FetchUsecase + operationId: UpdateBrandRegistrations + parameters: + - description: The SID of the Brand Registration resource to update. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^BN[0-9a-fA-F]{32}$ responses: - '200': + '202': content: application/json: schema: - $ref: '#/components/schemas/messaging.v1.usecase' - description: OK + $ref: '#/components/schemas/messaging.v1.brand_registrations' + description: Accepted security: - accountSid_authToken: [] x-maturity: - Beta + /v1/a2p/BrandRegistrations: servers: - url: https://messaging.twilio.com + description: A Messaging Service resource to add and fetch Brand Registrations. x-twilio: defaultOutputProperties: - - usecases + - sid + - date_created pathType: list - /v1/Services/{MessagingServiceSid}/Compliance/Usa2p: - description: A service for (fetch/create/delete) A2P Campaign for a Messaging - Service get: description: '' - operationId: ListUsAppToPerson + operationId: ListBrandRegistrations parameters: - - description: The SID of the [Messaging Service](https://www.twilio.com/docs/messaging/services/api) - to fetch the resource from. - in: path - name: MessagingServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^MG[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 @@ -961,18 +910,19 @@ paths: content: application/json: schema: + type: object + title: ListBrandRegistrationsResponse properties: - compliance: - items: - $ref: '#/components/schemas/messaging.v1.service.us_app_to_person' + data: type: array + items: + $ref: '#/components/schemas/messaging.v1.brand_registrations' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -986,9 +936,8 @@ paths: url: format: uri type: string - type: object - title: ListUsAppToPersonResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] @@ -996,220 +945,134 @@ paths: - Beta post: description: '' - operationId: CreateUsAppToPerson - parameters: - - description: The SID of the [Messaging Service](https://www.twilio.com/docs/messaging/services/api) - to create the resources from. - in: path - name: MessagingServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^MG[0-9a-fA-F]{32}$ - type: string + operationId: CreateBrandRegistrations requestBody: content: application/x-www-form-urlencoded: schema: properties: - BrandRegistrationSid: - description: A2P Brand Registration SID - maxLength: 34 + CustomerProfileBundleSid: + type: string minLength: 34 - pattern: ^BN[0-9a-fA-F]{32}$ + maxLength: 34 + pattern: ^BU[0-9a-fA-F]{32}$ + description: Customer Profile Bundle Sid. + A2PProfileBundleSid: type: string - Description: - description: A short description of what this SMS campaign does. + minLength: 34 + maxLength: 34 + pattern: ^BU[0-9a-fA-F]{32}$ + description: A2P Messaging Profile Bundle Sid. + BrandType: + description: 'Type of brand being created. One of: "STANDARD", "STARTER". + STARTER is for low volume, starter use cases. STANDARD is for + all other use cases.' type: string - HasEmbeddedLinks: - description: Indicates that this SMS campaign will send messages - that contain links. + Mock: + description: A boolean that specifies whether brand should be a + mock or not. If true, brand will be registered as a mock brand. + Defaults to false if no value is provided. type: boolean - HasEmbeddedPhone: - description: Indicates that this SMS campaign will send messages - that contain phone numbers. + SkipAutomaticSecVet: + description: A flag to disable automatic secondary vetting for brands + which it would otherwise be done. type: boolean - MessageSamples: - description: Message samples, at least 2 and up to 5 sample messages, - <=1024 chars each. - items: - type: string - type: array - UsAppToPersonUsecase: - description: 'A2P Campaign Use Case. Examples: [ 2FA, EMERGENCY, - MARKETING..]' - type: string required: - - BrandRegistrationSid - - Description - - MessageSamples - - UsAppToPersonUsecase - - HasEmbeddedLinks - - HasEmbeddedPhone - title: CreateUsAppToPersonRequest + - CustomerProfileBundleSid + - A2PProfileBundleSid + title: CreateBrandRegistrationsRequest type: object responses: '201': content: application/json: schema: - $ref: '#/components/schemas/messaging.v1.service.us_app_to_person' + $ref: '#/components/schemas/messaging.v1.brand_registrations' description: Created security: - accountSid_authToken: [] x-maturity: - Beta + /v1/a2p/BrandRegistrations/{BrandSid}/Vettings: servers: - url: https://messaging.twilio.com + description: A Messaging Service resource to add and get Brand Vettings. x-twilio: - className: us_app_to_person defaultOutputProperties: - - brand_registration_sid - - campaign_status + - account_sid + - brand_sid + - brand_vetting_sid - date_created - parent: /Services - pathType: list - /v1/Services/{MessagingServiceSid}/Compliance/Usa2p/Usecases: - description: Messaging Service Use Case resource. Fetch possible use cases for - service. The Use Cases API returns an empty list if there is an issue with the - customer's A2P brand registration. This Brand cannot register any campaign use - cases. Customers are requested to contact support with their A2P brand information. - get: - description: '' - operationId: FetchUsAppToPersonUsecase - parameters: - - description: The SID of the [Messaging Service](https://www.twilio.com/docs/messaging/services/api) - to fetch the resource from. - in: path - name: MessagingServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^MG[0-9a-fA-F]{32}$ - type: string - - description: The unique string to identify the A2P brand. - in: query - name: BrandRegistrationSid - schema: - maxLength: 34 - minLength: 34 - pattern: ^BN[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/messaging.v1.service.us_app_to_person_usecase' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - Beta - servers: - - url: https://messaging.twilio.com - x-twilio: - className: us_app_to_person_usecase - defaultOutputProperties: - - us_app_to_person_usecases - parent: /Services + - date_updated + - vetting_status + - vetting_class pathType: list - /v1/Services/{MessagingServiceSid}/Compliance/Usa2p/{Sid}: - delete: + parent: /a2p/BrandRegistrations + className: brand_vetting + post: description: '' - operationId: DeleteUsAppToPerson + operationId: CreateBrandVetting parameters: - - description: The SID of the [Messaging Service](https://www.twilio.com/docs/messaging/services/api) - to delete the resource from. - in: path - name: MessagingServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^MG[0-9a-fA-F]{32}$ - type: string - - description: The SID of the US A2P Compliance resource to delete `QE2c6890da8086d771620e9b13fadeba0b`. + - description: The SID of the Brand Registration resource of the vettings to + create . in: path - name: Sid + name: BrandSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^QE[0-9a-fA-F]{32}$ type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - Beta - description: A service for (fetch/create/delete) A2P Campaign for a Messaging - Service - get: - description: '' - operationId: FetchUsAppToPerson - parameters: - - description: The SID of the [Messaging Service](https://www.twilio.com/docs/messaging/services/api) - to fetch the resource from. - in: path - name: MessagingServiceSid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^MG[0-9a-fA-F]{32}$ - type: string - - description: The SID of the US A2P Compliance resource to fetch `QE2c6890da8086d771620e9b13fadeba0b`. - in: path - name: Sid - required: true - schema: maxLength: 34 - minLength: 34 - pattern: ^QE[0-9a-fA-F]{32}$ - type: string + pattern: ^BN[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + VettingProvider: + type: string + enum: + - campaign-verify + description: The third-party provider of the vettings to create + . + VettingId: + description: The unique ID of the vetting + type: string + required: + - VettingProvider + title: CreateBrandVettingRequest + type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/messaging.v1.service.us_app_to_person' - description: OK + $ref: '#/components/schemas/messaging.v1.brand_registrations.brand_vetting' + description: Created security: - accountSid_authToken: [] x-maturity: - Beta - servers: - - url: https://messaging.twilio.com - x-twilio: - className: us_app_to_person - defaultOutputProperties: - - brand_registration_sid - - campaign_status - - date_created - parent: /Services - pathType: instance - /v1/Services/{ServiceSid}/AlphaSenders: - description: A Messaging Service resource to add, fetch or remove an Alpha Sender - ID from a Messaging Service. get: description: '' - operationId: ListAlphaSender + operationId: ListBrandVetting parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to read the resources from. + - description: The SID of the Brand Registration resource of the vettings to + read . in: path - name: ServiceSid + name: BrandSid required: true schema: - maxLength: 34 + type: string minLength: 34 - pattern: ^MG[0-9a-fA-F]{32}$ + maxLength: 34 + pattern: ^BN[0-9a-fA-F]{32}$ + - description: The third-party provider of the vettings to read + in: query + name: VettingProvider + schema: type: string + enum: + - campaign-verify - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -1223,18 +1086,19 @@ paths: content: application/json: schema: + type: object + title: ListBrandVettingResponse properties: - alpha_senders: - items: - $ref: '#/components/schemas/messaging.v1.service.alpha_sender' + data: type: array + items: + $ref: '#/components/schemas/messaging.v1.brand_registrations.brand_vetting' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1248,133 +1112,193 @@ paths: url: format: uri type: string - type: object - title: ListAlphaSenderResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - Beta - post: + /v1/a2p/BrandRegistrations/{BrandSid}/Vettings/{BrandVettingSid}: + servers: + - url: https://messaging.twilio.com + description: A Messaging Service resource to add and get Brand Vettings. + x-twilio: + defaultOutputProperties: + - account_sid + - brand_sid + - brand_vetting_sid + - date_created + - date_updated + - vetting_status + - vetting_class + pathType: instance + parent: /a2p/BrandRegistrations + className: brand_vetting + get: description: '' - operationId: CreateAlphaSender + operationId: FetchBrandVetting parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to create the resource under. + - description: The SID of the Brand Registration resource of the vettings to + read . in: path - name: ServiceSid + name: BrandSid required: true schema: + type: string + minLength: 34 maxLength: 34 + pattern: ^BN[0-9a-fA-F]{32}$ + - description: The Twilio SID of the third-party vetting record. + in: path + name: BrandVettingSid + required: true + schema: + type: string minLength: 34 - pattern: ^MG[0-9a-fA-F]{32}$ + maxLength: 34 + pattern: ^VT[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/messaging.v1.brand_registrations.brand_vetting' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - Beta + /v1/Deactivations: + servers: + - url: https://messaging.twilio.com + description: A Deactivation resource to retrieve a list of United States phone + numbers that have been deactivated by mobile carriers on a specific date. + x-twilio: + defaultOutputProperties: + - redirect_to + pathType: instance + className: deactivations + get: + description: Fetch a list of all United States numbers that have been deactivated + on a specific date. + operationId: FetchDeactivation + parameters: + - description: The request will return a list of all United States Phone Numbers + that were deactivated on the day specified by this parameter. This date + should be specified in YYYY-MM-DD format. + in: query + name: Date + schema: + format: date type: string + responses: + '307': + content: + application/json: + schema: + $ref: '#/components/schemas/messaging.v1.deactivation' + description: Temporary Redirect + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Services/PreregisteredUsa2p: + servers: + - url: https://messaging.twilio.com + description: Resource to associate preregistered campaign with Messaging Service. + x-twilio: + defaultOutputProperties: + - campaign_id + - messaging_service_sid + pathType: list + className: external_campaign + post: + description: '' + operationId: CreateExternalCampaign requestBody: content: application/x-www-form-urlencoded: schema: properties: - AlphaSender: - description: The Alphanumeric Sender ID string. Can be up to 11 - characters long. Valid characters are A-Z, a-z, 0-9, space, and - hyphen `-`. This value cannot contain only numbers. + CampaignId: + description: ID of the preregistered campaign. + type: string + MessagingServiceSid: type: string + minLength: 34 + maxLength: 34 + pattern: ^MG[0-9a-fA-F]{32}$ + description: The SID of the [Messaging Service](https://www.twilio.com/docs/messaging/services/api) + that the resource is associated with. required: - - AlphaSender - title: CreateAlphaSenderRequest + - CampaignId + - MessagingServiceSid + title: CreateExternalCampaignRequest type: object responses: '201': content: application/json: schema: - $ref: '#/components/schemas/messaging.v1.service.alpha_sender' + $ref: '#/components/schemas/messaging.v1.external_campaign' description: Created security: - accountSid_authToken: [] x-maturity: - Beta + /v1/Services/{ServiceSid}/PhoneNumbers: servers: - url: https://messaging.twilio.com + description: A Messaging Service resource to add, fetch or remove phone numbers + from a Messaging Service. x-twilio: defaultOutputProperties: - sid - - alpha_sender - parent: /Services + - phone_number + - country_code pathType: list - /v1/Services/{ServiceSid}/AlphaSenders/{Sid}: - delete: + parent: /Services + post: description: '' - operationId: DeleteAlphaSender + operationId: CreatePhoneNumber parameters: - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to delete the resource from. + to create the resource under. in: path name: ServiceSid required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^MG[0-9a-fA-F]{32}$ - type: string - - description: The SID of the AlphaSender resource to delete. - in: path - name: Sid - required: true schema: type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - Beta - description: A Messaging Service resource to add, fetch or remove an Alpha Sender - ID from a Messaging Service. - get: - description: '' - operationId: FetchAlphaSender - parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to fetch the resource from. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 minLength: 34 + maxLength: 34 pattern: ^MG[0-9a-fA-F]{32}$ - type: string - - description: The SID of the AlphaSender resource to fetch. - in: path - name: Sid - required: true - schema: - type: string + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + PhoneNumberSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^PN[0-9a-fA-F]{32}$ + description: The SID of the Phone Number being added to the Service. + required: + - PhoneNumberSid + title: CreatePhoneNumberRequest + type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/messaging.v1.service.alpha_sender' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - Beta - servers: - - url: https://messaging.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - alpha_sender - parent: /Services - pathType: instance - /v1/Services/{ServiceSid}/PhoneNumbers: - description: A Messaging Service resource to add, fetch or remove phone numbers - from a Messaging Service. + $ref: '#/components/schemas/messaging.v1.service.phone_number' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - Beta get: description: '' operationId: ListPhoneNumber @@ -1385,10 +1309,10 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^MG[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 @@ -1402,14 +1326,19 @@ paths: content: application/json: schema: + type: object + title: ListPhoneNumberResponse properties: + phone_numbers: + type: array + items: + $ref: '#/components/schemas/messaging.v1.service.phone_number' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1423,68 +1352,25 @@ paths: url: format: uri type: string - type: object - phone_numbers: - items: - $ref: '#/components/schemas/messaging.v1.service.phone_number' - type: array - title: ListPhoneNumberResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - Beta - post: - description: '' - operationId: CreatePhoneNumber - parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to create the resource under. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^MG[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - PhoneNumberSid: - description: The SID of the Phone Number being added to the Service. - maxLength: 34 - minLength: 34 - pattern: ^PN[0-9a-fA-F]{32}$ - type: string - required: - - PhoneNumberSid - title: CreatePhoneNumberRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/messaging.v1.service.phone_number' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - Beta + /v1/Services/{ServiceSid}/PhoneNumbers/{Sid}: servers: - url: https://messaging.twilio.com + description: A Messaging Service resource to add, fetch or remove phone numbers + from a Messaging Service. x-twilio: defaultOutputProperties: - sid - phone_number - country_code + pathType: instance parent: /Services - pathType: list - /v1/Services/{ServiceSid}/PhoneNumbers/{Sid}: delete: description: '' operationId: DeletePhoneNumber @@ -1495,10 +1381,10 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^MG[0-9a-fA-F]{32}$ - type: string - description: The SID of the PhoneNumber resource to delete. in: path name: Sid @@ -1512,8 +1398,6 @@ paths: - accountSid_authToken: [] x-maturity: - Beta - description: A Messaging Service resource to add, fetch or remove phone numbers - from a Messaging Service. get: description: '' operationId: FetchPhoneNumber @@ -1524,10 +1408,10 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^MG[0-9a-fA-F]{32}$ - type: string - description: The SID of the PhoneNumber resource to fetch. in: path name: Sid @@ -1545,245 +1429,200 @@ paths: - accountSid_authToken: [] x-maturity: - Beta + /v1/Services: servers: - url: https://messaging.twilio.com + description: A Messaging Service resource to create, fetch, update, delete or + add/remove senders from Messaging Services. x-twilio: defaultOutputProperties: - sid - - phone_number - - country_code - parent: /Services - pathType: instance - /v1/Services/{ServiceSid}/ShortCodes: - description: A Messaging Service resource to add, fetch or remove short code numbers - from a Messaging Service. - get: - description: '' - operationId: ListShortCode - parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to read the resources from. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^MG[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 - responses: - '200': - content: - application/json: - schema: - properties: - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - short_codes: - items: - $ref: '#/components/schemas/messaging.v1.service.short_code' - type: array - title: ListShortCodeResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - Beta + - friendly_name + - date_created + pathType: list post: description: '' - operationId: CreateShortCode - parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to create the resource under. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^MG[0-9a-fA-F]{32}$ - type: string + operationId: CreateService requestBody: content: application/x-www-form-urlencoded: schema: properties: - ShortCodeSid: - description: The SID of the ShortCode resource being added to the + FriendlyName: + description: A descriptive string that you create to describe the + resource. It can be up to 64 characters long. + type: string + InboundRequestUrl: + description: The URL we call using `inbound_method` when a message + is received by any phone number or short code in the Service. + When this property is `null`, receiving inbound messages is disabled. + All messages sent to the Twilio phone number or short code will + not be logged and received on the Account. If the `use_inbound_webhook_on_number` + field is enabled then the webhook url defined on the phone number + will override the `inbound_request_url` defined for the Messaging Service. - maxLength: 34 - minLength: 34 - pattern: ^SC[0-9a-fA-F]{32}$ + format: uri + type: string + InboundMethod: + description: The HTTP method we should use to call `inbound_request_url`. + Can be `GET` or `POST` and the default is `POST`. + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + type: string + FallbackUrl: + description: The URL that we call using `fallback_method` if an + error occurs while retrieving or executing the TwiML from the + Inbound Request URL. If the `use_inbound_webhook_on_number` field + is enabled then the webhook url defined on the phone number will + override the `fallback_url` defined for the Messaging Service. + format: uri + type: string + FallbackMethod: + description: 'The HTTP method we should use to call `fallback_url`. + Can be: `GET` or `POST`.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + type: string + StatusCallback: + description: The URL we should call to [pass status updates](https://www.twilio.com/docs/sms/api/message-resource#message-status-values) + about message delivery. + format: uri + type: string + StickySender: + description: Whether to enable [Sticky Sender](https://www.twilio.com/docs/sms/services#sticky-sender) + on the Service instance. + type: boolean + MmsConverter: + description: Whether to enable the [MMS Converter](https://www.twilio.com/docs/sms/services#mms-converter) + for messages sent through the Service instance. + type: boolean + SmartEncoding: + description: Whether to enable [Smart Encoding](https://www.twilio.com/docs/sms/services#smart-encoding) + for messages sent through the Service instance. + type: boolean + ScanMessageContent: + type: string + enum: + - inherit + - enable + - disable + description: Reserved. + FallbackToLongCode: + description: Whether to enable [Fallback to Long Code](https://www.twilio.com/docs/sms/services#fallback-to-long-code) + for messages sent through the Service instance. + type: boolean + AreaCodeGeomatch: + description: Whether to enable [Area Code Geomatch](https://www.twilio.com/docs/sms/services#area-code-geomatch) + on the Service Instance. + type: boolean + ValidityPeriod: + description: How long, in seconds, messages sent from the Service + are valid. Can be an integer from `1` to `14,400`. + type: integer + SynchronousValidation: + description: Reserved. + type: boolean + Usecase: + description: 'A string that describes the scenario in which the + Messaging Service will be used. Examples: [notification, marketing, + verification, poll ..].' type: string + UseInboundWebhookOnNumber: + description: A boolean value that indicates either the webhook url + configured on the phone number will be used or `inbound_request_url`/`fallback_url` + url will be called when a message is received from the phone number. + If this field is enabled then the webhook url defined on the phone + number will override the `inbound_request_url`/`fallback_url` + defined for the Messaging Service. + type: boolean required: - - ShortCodeSid - title: CreateShortCodeRequest + - FriendlyName + title: CreateServiceRequest type: object responses: '201': content: application/json: schema: - $ref: '#/components/schemas/messaging.v1.service.short_code' + $ref: '#/components/schemas/messaging.v1.service' description: Created security: - accountSid_authToken: [] x-maturity: - Beta - servers: - - url: https://messaging.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - short_code - - country_code - parent: /Services - pathType: list - /v1/Services/{ServiceSid}/ShortCodes/{Sid}: - delete: - description: '' - operationId: DeleteShortCode - parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to delete the resource from. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^MG[0-9a-fA-F]{32}$ - type: string - - description: The SID of the ShortCode resource to delete. - in: path - name: Sid - required: true - schema: - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - Beta - description: A Messaging Service resource to add, fetch or remove short code numbers - from a Messaging Service. get: description: '' - operationId: FetchShortCode + operationId: ListService parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) - to fetch the resource from. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^MG[0-9a-fA-F]{32}$ - type: string - - description: The SID of the ShortCode resource to fetch. - in: path - name: Sid - required: true + - description: How many resources to return in each list page. The default is + 50, and the maximum is 1000. + in: query + name: PageSize schema: - type: string + maximum: 1000 + minimum: 1 + type: integer responses: '200': content: application/json: schema: - $ref: '#/components/schemas/messaging.v1.service.short_code' + type: object + title: ListServiceResponse + properties: + services: + type: array + items: + $ref: '#/components/schemas/messaging.v1.service' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - Beta + /v1/Services/{Sid}: servers: - url: https://messaging.twilio.com + description: A Messaging Service resource to create, fetch, update, delete or + add/remove senders from Messaging Services. x-twilio: defaultOutputProperties: - sid - - short_code - - country_code - parent: /Services + - friendly_name + - date_created pathType: instance - /v1/Services/{Sid}: - delete: - description: '' - operationId: DeleteService - parameters: - - description: The SID of the Service resource to delete. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^MG[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - Beta - description: A Messaging Service resource to create, fetch, update, delete or - add/remove senders from Messaging Services. - get: - description: '' - operationId: FetchService - parameters: - - description: The SID of the Service resource to fetch. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^MG[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/messaging.v1.service' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - Beta post: description: '' operationId: UpdateService @@ -1793,22 +1632,33 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^MG[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - AreaCodeGeomatch: - description: Whether to enable [Area Code Geomatch](https://www.twilio.com/docs/sms/services#area-code-geomatch) - on the Service Instance. - type: boolean - FallbackMethod: - description: 'The HTTP method we should use to call `fallback_url`. - Can be: `GET` or `POST`.' + FriendlyName: + description: A descriptive string that you create to describe the + resource. It can be up to 64 characters long. + type: string + InboundRequestUrl: + description: The URL we call using `inbound_method` when a message + is received by any phone number or short code in the Service. + When this property is `null`, receiving inbound messages is disabled. + All messages sent to the Twilio phone number or short code will + not be logged and received on the Account. If the `use_inbound_webhook_on_number` + field is enabled then the webhook url defined on the phone number + will override the `inbound_request_url` defined for the Messaging + Service. + format: uri + type: string + InboundMethod: + description: The HTTP method we should use to call `inbound_request_url`. + Can be `GET` or `POST` and the default is `POST`. enum: - HEAD - GET @@ -1818,10 +1668,6 @@ paths: - DELETE format: http-method type: string - FallbackToLongCode: - description: Whether to enable [Fallback to Long Code](https://www.twilio.com/docs/sms/services#fallback-to-long-code) - for messages sent through the Service instance. - type: boolean FallbackUrl: description: The URL that we call using `fallback_method` if an error occurs while retrieving or executing the TwiML from the @@ -1830,13 +1676,9 @@ paths: override the `fallback_url` defined for the Messaging Service. format: uri type: string - FriendlyName: - description: A descriptive string that you create to describe the - resource. It can be up to 64 characters long. - type: string - InboundMethod: - description: The HTTP method we should use to call `inbound_request_url`. - Can be `GET` or `POST` and the default is `POST`. + FallbackMethod: + description: 'The HTTP method we should use to call `fallback_url`. + Can be: `GET` or `POST`.' enum: - HEAD - GET @@ -1846,44 +1688,50 @@ paths: - DELETE format: http-method type: string - InboundRequestUrl: - description: The URL we call using `inbound_method` when a message - is received by any phone number or short code in the Service. - When this property is `null`, receiving inbound messages is disabled. - All messages sent to the Twilio phone number or short code will - not be logged and received on the Account. If the `use_inbound_webhook_on_number` - field is enabled then the webhook url defined on the phone number - will override the `inbound_request_url` defined for the Messaging - Service. + StatusCallback: + description: The URL we should call to [pass status updates](https://www.twilio.com/docs/sms/api/message-resource#message-status-values) + about message delivery. format: uri type: string + StickySender: + description: Whether to enable [Sticky Sender](https://www.twilio.com/docs/sms/services#sticky-sender) + on the Service instance. + type: boolean MmsConverter: description: Whether to enable the [MMS Converter](https://www.twilio.com/docs/sms/services#mms-converter) for messages sent through the Service instance. type: boolean + SmartEncoding: + description: Whether to enable [Smart Encoding](https://www.twilio.com/docs/sms/services#smart-encoding) + for messages sent through the Service instance. + type: boolean ScanMessageContent: - description: Reserved. + type: string enum: - inherit - enable - disable - type: string - SmartEncoding: - description: Whether to enable [Smart Encoding](https://www.twilio.com/docs/sms/services#smart-encoding) + description: Reserved. + FallbackToLongCode: + description: Whether to enable [Fallback to Long Code](https://www.twilio.com/docs/sms/services#fallback-to-long-code) for messages sent through the Service instance. type: boolean - StatusCallback: - description: The URL we should call to [pass status updates](https://www.twilio.com/docs/sms/api/message-resource#message-status-values) - about message delivery. - format: uri - type: string - StickySender: - description: Whether to enable [Sticky Sender](https://www.twilio.com/docs/sms/services#sticky-sender) - on the Service instance. + AreaCodeGeomatch: + description: Whether to enable [Area Code Geomatch](https://www.twilio.com/docs/sms/services#area-code-geomatch) + on the Service Instance. type: boolean + ValidityPeriod: + description: How long, in seconds, messages sent from the Service + are valid. Can be an integer from `1` to `14,400`. + type: integer SynchronousValidation: description: Reserved. type: boolean + Usecase: + description: 'A string that describes the scenario in which the + Messaging Service will be used. Examples: [notification, marketing, + verification, poll ..]' + type: string UseInboundWebhookOnNumber: description: A boolean value that indicates either the webhook url configured on the phone number will be used or `inbound_request_url`/`fallback_url` @@ -1892,15 +1740,6 @@ paths: number will override the `inbound_request_url`/`fallback_url` defined for the Messaging Service. type: boolean - Usecase: - description: 'A string that describes the scenario in which the - Messaging Service will be used. Examples: [notification, marketing, - verification, poll ..]' - type: string - ValidityPeriod: - description: How long, in seconds, messages sent from the Service - are valid. Can be an integer from `1` to `14,400`. - type: integer title: UpdateServiceRequest type: object responses: @@ -1914,20 +1753,117 @@ paths: - accountSid_authToken: [] x-maturity: - Beta + get: + description: '' + operationId: FetchService + parameters: + - description: The SID of the Service resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^MG[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/messaging.v1.service' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - Beta + delete: + description: '' + operationId: DeleteService + parameters: + - description: The SID of the Service resource to delete. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^MG[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - Beta + /v1/Services/{ServiceSid}/ShortCodes: servers: - url: https://messaging.twilio.com + description: A Messaging Service resource to add, fetch or remove short code numbers + from a Messaging Service. x-twilio: defaultOutputProperties: - sid - - friendly_name - - date_created - pathType: instance - /v1/a2p/BrandRegistrations: - description: A Messaging Service resource to add and fetch Brand Registrations. + - short_code + - country_code + pathType: list + parent: /Services + post: + description: '' + operationId: CreateShortCode + parameters: + - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) + to create the resource under. + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^MG[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + ShortCodeSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^SC[0-9a-fA-F]{32}$ + description: The SID of the ShortCode resource being added to the + Service. + required: + - ShortCodeSid + title: CreateShortCodeRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/messaging.v1.service.short_code' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - Beta get: description: '' - operationId: ListBrandRegistrations + operationId: ListShortCode parameters: + - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) + to read the resources from. + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^MG[0-9a-fA-F]{32}$ - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -1941,18 +1877,19 @@ paths: content: application/json: schema: + type: object + title: ListShortCodeResponse properties: - data: - items: - $ref: '#/components/schemas/messaging.v1.brand_registrations' + short_codes: type: array + items: + $ref: '#/components/schemas/messaging.v1.service.short_code' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1966,94 +1903,176 @@ paths: url: format: uri type: string - type: object - title: ListBrandRegistrationsResponse - type: object + key: + type: string + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - Beta + /v1/Services/{ServiceSid}/ShortCodes/{Sid}: + servers: + - url: https://messaging.twilio.com + description: A Messaging Service resource to add, fetch or remove short code numbers + from a Messaging Service. + x-twilio: + defaultOutputProperties: + - sid + - short_code + - country_code + pathType: instance + parent: /Services + delete: + description: '' + operationId: DeleteShortCode + parameters: + - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) + to delete the resource from. + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^MG[0-9a-fA-F]{32}$ + - description: The SID of the ShortCode resource to delete. + in: path + name: Sid + required: true + schema: + type: string + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - Beta + get: + description: '' + operationId: FetchShortCode + parameters: + - description: The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) + to fetch the resource from. + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^MG[0-9a-fA-F]{32}$ + - description: The SID of the ShortCode resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/messaging.v1.service.short_code' description: OK security: - accountSid_authToken: [] x-maturity: - Beta + /v1/Services/{MessagingServiceSid}/Compliance/Usa2p: + servers: + - url: https://messaging.twilio.com + description: A service for (fetch/create/delete) A2P Campaign for a Messaging + Service + x-twilio: + defaultOutputProperties: + - brand_registration_sid + - campaign_status + - date_created + pathType: list + parent: /Services + className: us_app_to_person post: description: '' - operationId: CreateBrandRegistrations + operationId: CreateUsAppToPerson + parameters: + - description: The SID of the [Messaging Service](https://www.twilio.com/docs/messaging/services/api) + to create the resources from. + in: path + name: MessagingServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^MG[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - A2PProfileBundleSid: - description: A2P Messaging Profile Bundle Sid. - maxLength: 34 - minLength: 34 - pattern: ^BU[0-9a-fA-F]{32}$ - type: string - BrandType: - description: 'Type of brand being created. One of: "STANDARD", "STARTER". - STARTER is for low volume, starter use cases. STANDARD is for - all other use cases.' + BrandRegistrationSid: type: string - CustomerProfileBundleSid: - description: Customer Profile Bundle Sid. - maxLength: 34 minLength: 34 - pattern: ^BU[0-9a-fA-F]{32}$ + maxLength: 34 + pattern: ^BN[0-9a-fA-F]{32}$ + description: A2P Brand Registration SID + Description: + description: A short description of what this SMS campaign does. + type: string + MessageSamples: + type: array + items: + type: string + description: Message samples, at least 2 and up to 5 sample messages, + <=1024 chars each. + UsAppToPersonUsecase: + description: 'A2P Campaign Use Case. Examples: [ 2FA, EMERGENCY, + MARKETING..]' type: string - Mock: - description: A boolean that specifies whether brand should be a - mock or not. If true, brand will be registered as a mock brand. - Defaults to false if no value is provided. + HasEmbeddedLinks: + description: Indicates that this SMS campaign will send messages + that contain links. type: boolean - SkipAutomaticSecVet: - description: A flag to disable automatic secondary vetting for brands - which it would otherwise be done. + HasEmbeddedPhone: + description: Indicates that this SMS campaign will send messages + that contain phone numbers. type: boolean required: - - CustomerProfileBundleSid - - A2PProfileBundleSid - title: CreateBrandRegistrationsRequest + - BrandRegistrationSid + - Description + - MessageSamples + - UsAppToPersonUsecase + - HasEmbeddedLinks + - HasEmbeddedPhone + title: CreateUsAppToPersonRequest type: object responses: '201': content: application/json: schema: - $ref: '#/components/schemas/messaging.v1.brand_registrations' + $ref: '#/components/schemas/messaging.v1.service.us_app_to_person' description: Created security: - accountSid_authToken: [] x-maturity: - Beta - servers: - - url: https://messaging.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - date_created - pathType: list - /v1/a2p/BrandRegistrations/{BrandSid}/Vettings: - description: A Messaging Service resource to add and get Brand Vettings. get: description: '' - operationId: ListBrandVetting + operationId: ListUsAppToPerson parameters: - - description: The SID of the Brand Registration resource of the vettings to - read . + - description: The SID of the [Messaging Service](https://www.twilio.com/docs/messaging/services/api) + to fetch the resource from. in: path - name: BrandSid + name: MessagingServiceSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^BN[0-9a-fA-F]{32}$ - type: string - - description: The third-party provider of the vettings to read - in: query - name: VettingProvider - schema: - enum: - - campaign-verify type: string + minLength: 34 + maxLength: 34 + pattern: ^MG[0-9a-fA-F]{32}$ - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -2067,18 +2086,19 @@ paths: content: application/json: schema: + type: object + title: ListUsAppToPersonResponse properties: - data: - items: - $ref: '#/components/schemas/messaging.v1.brand_registrations.brand_vetting' + compliance: type: array + items: + $ref: '#/components/schemas/messaging.v1.service.us_app_to_person' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -2092,183 +2112,163 @@ paths: url: format: uri type: string - type: object - title: ListBrandVettingResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - Beta - post: + /v1/Services/{MessagingServiceSid}/Compliance/Usa2p/{Sid}: + servers: + - url: https://messaging.twilio.com + description: A service for (fetch/create/delete) A2P Campaign for a Messaging + Service + x-twilio: + defaultOutputProperties: + - brand_registration_sid + - campaign_status + - date_created + pathType: instance + parent: /Services + className: us_app_to_person + delete: description: '' - operationId: CreateBrandVetting + operationId: DeleteUsAppToPerson parameters: - - description: The SID of the Brand Registration resource of the vettings to - create . + - description: The SID of the [Messaging Service](https://www.twilio.com/docs/messaging/services/api) + to delete the resource from. in: path - name: BrandSid + name: MessagingServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 - pattern: ^BN[0-9a-fA-F]{32}$ + maxLength: 34 + pattern: ^MG[0-9a-fA-F]{32}$ + - description: The SID of the US A2P Compliance resource to delete `QE2c6890da8086d771620e9b13fadeba0b`. + in: path + name: Sid + required: true + schema: type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - VettingId: - description: The unique ID of the vetting - type: string - VettingProvider: - description: The third-party provider of the vettings to create - . - enum: - - campaign-verify - type: string - required: - - VettingProvider - title: CreateBrandVettingRequest - type: object + minLength: 34 + maxLength: 34 + pattern: ^QE[0-9a-fA-F]{32}$ responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/messaging.v1.brand_registrations.brand_vetting' - description: Created + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - Beta - servers: - - url: https://messaging.twilio.com - x-twilio: - className: brand_vetting - defaultOutputProperties: - - account_sid - - brand_sid - - brand_vetting_sid - - date_created - - date_updated - - vetting_status - - vetting_class - parent: /a2p/BrandRegistrations - pathType: list - /v1/a2p/BrandRegistrations/{BrandSid}/Vettings/{BrandVettingSid}: - description: A Messaging Service resource to add and get Brand Vettings. get: description: '' - operationId: FetchBrandVetting + operationId: FetchUsAppToPerson parameters: - - description: The SID of the Brand Registration resource of the vettings to - read . + - description: The SID of the [Messaging Service](https://www.twilio.com/docs/messaging/services/api) + to fetch the resource from. in: path - name: BrandSid + name: MessagingServiceSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^BN[0-9a-fA-F]{32}$ type: string - - description: The Twilio SID of the third-party vetting record. + minLength: 34 + maxLength: 34 + pattern: ^MG[0-9a-fA-F]{32}$ + - description: The SID of the US A2P Compliance resource to fetch `QE2c6890da8086d771620e9b13fadeba0b`. in: path - name: BrandVettingSid + name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^VT[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^QE[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/messaging.v1.brand_registrations.brand_vetting' + $ref: '#/components/schemas/messaging.v1.service.us_app_to_person' description: OK security: - accountSid_authToken: [] x-maturity: - Beta + /v1/Services/{MessagingServiceSid}/Compliance/Usa2p/Usecases: servers: - url: https://messaging.twilio.com + description: Messaging Service Use Case resource. Fetch possible use cases for + service. The Use Cases API returns an empty list if there is an issue with the + customer's A2P brand registration. This Brand cannot register any campaign use + cases. Customers are requested to contact support with their A2P brand information. x-twilio: - className: brand_vetting defaultOutputProperties: - - account_sid - - brand_sid - - brand_vetting_sid - - date_created - - date_updated - - vetting_status - - vetting_class - parent: /a2p/BrandRegistrations - pathType: instance - /v1/a2p/BrandRegistrations/{Sid}: - description: A Messaging Service resource to add and fetch Brand Registrations. + - us_app_to_person_usecases + pathType: list + parent: /Services + className: us_app_to_person_usecase get: description: '' - operationId: FetchBrandRegistrations + operationId: FetchUsAppToPersonUsecase parameters: - - description: The SID of the Brand Registration resource to fetch. + - description: The SID of the [Messaging Service](https://www.twilio.com/docs/messaging/services/api) + to fetch the resource from. in: path - name: Sid + name: MessagingServiceSid required: true schema: + type: string + minLength: 34 maxLength: 34 + pattern: ^MG[0-9a-fA-F]{32}$ + - description: The unique string to identify the A2P brand. + in: query + name: BrandRegistrationSid + schema: + type: string minLength: 34 + maxLength: 34 pattern: ^BN[0-9a-fA-F]{32}$ - type: string responses: '200': content: application/json: schema: - $ref: '#/components/schemas/messaging.v1.brand_registrations' + $ref: '#/components/schemas/messaging.v1.service.us_app_to_person_usecase' description: OK security: - accountSid_authToken: [] x-maturity: - Beta - post: + /v1/Services/Usecases: + servers: + - url: https://messaging.twilio.com + description: Use Case resource. Fetch possible use cases for a Messaging Service. + x-twilio: + defaultOutputProperties: + - usecases + pathType: list + get: description: '' - operationId: UpdateBrandRegistrations - parameters: - - description: The SID of the Brand Registration resource to update. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^BN[0-9a-fA-F]{32}$ - type: string + operationId: FetchUsecase responses: - '202': + '200': content: application/json: schema: - $ref: '#/components/schemas/messaging.v1.brand_registrations' - description: Accepted + $ref: '#/components/schemas/messaging.v1.usecase' + description: OK security: - accountSid_authToken: [] x-maturity: - Beta - servers: - - url: https://messaging.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - date_created - pathType: instance servers: - url: https://messaging.twilio.com x-maturity: -- description: This product is Generally Available. - name: GA -- description: PLEASE NOTE that this is a Beta product that is subject to change. +- name: GA + description: This product is Generally Available. +- name: Beta + description: PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution. - name: Beta diff --git a/spec/yaml/twilio_monitor_v1.yaml b/spec/yaml/twilio_monitor_v1.yaml index 1f667f88..99284c2b 100644 --- a/spec/yaml/twilio_monitor_v1.yaml +++ b/spec/yaml/twilio_monitor_v1.yaml @@ -1,14 +1,15 @@ components: schemas: monitor.v1.alert: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource alert_text: description: The text of the alert nullable: true @@ -18,22 +19,22 @@ components: nullable: true type: string date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_generated: + type: string + format: date-time + nullable: true description: The date and time when the alert was generated specified in ISO 8601 format + date_updated: + type: string format: date-time nullable: true - type: string - date_updated: description: The ISO 8601 date and time in GMT when the resource was last updated - format: date-time - nullable: true - type: string error_code: description: The error code for the condition that generated the alert nullable: true @@ -65,41 +66,41 @@ components: nullable: true type: string resource_sid: - description: The SID of the resource for which the alert was generated - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the resource for which the alert was generated service_sid: - description: The SID of the service or resource that generated the alert - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the service or resource that generated the alert sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^NO[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource url: description: The absolute URL of the Alert resource format: uri nullable: true type: string - type: object monitor.v1.alert-instance: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource alert_text: description: The text of the alert nullable: true @@ -109,22 +110,22 @@ components: nullable: true type: string date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_generated: + type: string + format: date-time + nullable: true description: The date and time when the alert was generated specified in ISO 8601 format + date_updated: + type: string format: date-time nullable: true - type: string - date_updated: description: The ISO 8601 date and time in GMT when the resource was last updated - format: date-time - nullable: true - type: string error_code: description: The error code for the condition that generated the alert nullable: true @@ -164,12 +165,12 @@ components: nullable: true type: string resource_sid: - description: The SID of the resource for which the alert was generated - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the resource for which the alert was generated response_body: description: The response body of the request that generated the alert nullable: true @@ -179,41 +180,41 @@ components: nullable: true type: string service_sid: - description: The SID of the service or resource that generated the alert - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the service or resource that generated the alert sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^NO[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource url: description: The absolute URL of the Alert resource format: uri nullable: true type: string - type: object monitor.v1.event: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource actor_sid: - description: The SID of the actor that caused the event, if available - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^US[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the actor that caused the event, if available actor_type: description: The type of actor that caused the event nullable: true @@ -223,14 +224,14 @@ components: nullable: true type: string event_data: + nullable: true description: A JSON string that represents an object with additional data about the event - nullable: true event_date: - description: The ISO 8601 date and time in GMT when the event was recorded + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the event was recorded event_type: description: The event's type nullable: true @@ -241,23 +242,23 @@ components: nullable: true type: object resource_sid: - description: The SID of the resource that was affected - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the resource that was affected resource_type: description: The type of resource that was affected nullable: true type: string sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AE[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource source: description: The originating system or interface that caused the event nullable: true @@ -271,7 +272,6 @@ components: format: uri nullable: true type: string - type: object securitySchemes: accountSid_authToken: scheme: basic @@ -290,8 +290,52 @@ info: version: 1.30.0 openapi: 3.0.1 paths: + /v1/Alerts/{Sid}: + servers: + - url: https://monitor.twilio.com + description: Debugger alerts + x-twilio: + defaultOutputProperties: + - sid + - error_code + - log_level + - alert_text + pathType: instance + get: + description: '' + operationId: FetchAlert + parameters: + - description: The SID of the Alert resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^NO[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/monitor.v1.alert-instance' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA /v1/Alerts: + servers: + - url: https://monitor.twilio.com description: Debugger alerts + x-twilio: + defaultOutputProperties: + - sid + - error_code + - log_level + - alert_text + pathType: list get: description: '' operationId: ListAlert @@ -308,16 +352,16 @@ paths: in: query name: StartDate schema: - format: date-time type: string + format: date-time - description: Only include alerts that occurred on or before this date and time. Specify the date and time in GMT and format as `YYYY-MM-DD` or `YYYY-MM-DDThh:mm:ssZ`. Queries for alerts older than 30 days are not supported. in: query name: EndDate schema: - format: date-time type: string + format: date-time - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -331,18 +375,19 @@ paths: content: application/json: schema: + type: object + title: ListAlertResponse properties: alerts: + type: array items: $ref: '#/components/schemas/monitor.v1.alert' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -356,60 +401,59 @@ paths: url: format: uri type: string - type: object - title: ListAlertResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Events/{Sid}: servers: - url: https://monitor.twilio.com + description: Debugger events x-twilio: defaultOutputProperties: - sid - - error_code - - log_level - - alert_text - pathType: list - /v1/Alerts/{Sid}: - description: Debugger alerts + - event_type + - event_type + - description + pathType: instance get: description: '' - operationId: FetchAlert + operationId: FetchEvent parameters: - - description: The SID of the Alert resource to fetch. + - description: The SID of the Event resource to fetch. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^NO[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^AE[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/monitor.v1.alert-instance' + $ref: '#/components/schemas/monitor.v1.event' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Events: servers: - url: https://monitor.twilio.com + description: Debugger events x-twilio: defaultOutputProperties: - sid - - error_code - - log_level - - alert_text - pathType: instance - /v1/Events: - description: Debugger events + - event_type + - event_type + - description + pathType: list get: description: Returns a list of events in the account, sorted by event-date. operationId: ListEvent @@ -419,10 +463,10 @@ paths: in: query name: ActorSid schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^US[0-9a-fA-F]{32}$ - type: string - description: Only include events of this [Event Type](https://www.twilio.com/docs/usage/monitor-events#event-types). in: query name: EventType @@ -433,10 +477,10 @@ paths: in: query name: ResourceSid schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ - type: string - description: Only include events that originated from this IP address. Useful for tracking suspicious activity originating from the API or the Twilio Console. @@ -449,15 +493,15 @@ paths: in: query name: StartDate schema: - format: date-time type: string + format: date-time - description: Only include events that occurred on or before this date. Specify the date in GMT and [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. in: query name: EndDate schema: - format: date-time type: string + format: date-time - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -471,18 +515,19 @@ paths: content: application/json: schema: + type: object + title: ListEventResponse properties: events: + type: array items: $ref: '#/components/schemas/monitor.v1.event' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -496,60 +541,15 @@ paths: url: format: uri type: string - type: object - title: ListEventResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://monitor.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - event_type - - event_type - - description - pathType: list - /v1/Events/{Sid}: - description: Debugger events - get: - description: '' - operationId: FetchEvent - parameters: - - description: The SID of the Event resource to fetch. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^AE[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/monitor.v1.event' + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://monitor.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - event_type - - event_type - - description - pathType: instance servers: - url: https://monitor.twilio.com x-maturity: -- description: This product is Generally Available. - name: GA +- name: GA + description: This product is Generally Available. diff --git a/spec/yaml/twilio_notify_v1.yaml b/spec/yaml/twilio_notify_v1.yaml index 5bf05e71..39e42e84 100644 --- a/spec/yaml/twilio_notify_v1.yaml +++ b/spec/yaml/twilio_notify_v1.yaml @@ -1,25 +1,105 @@ components: schemas: - notify.v1.credential: + notify.v1.service.binding: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created the resource + address: + description: The channel-specific address + nullable: true + type: string + binding_type: + description: The type of the Binding + nullable: true + type: string + credential_sid: type: string + minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Credential resource to be used to send notifications + to this Binding date_created: - description: The RFC 2822 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was created date_updated: + type: string + format: date-time + nullable: true description: The RFC 2822 date and time in GMT when the resource was last updated + endpoint: + description: Deprecated + nullable: true + type: string + identity: + description: The `identity` value that identifies the new resource's User + nullable: true + type: string + links: + description: The URLs of related resources + format: uri-map + nullable: true + type: object + notification_protocol_version: + description: The protocol version to use to send the notification + nullable: true + type: string + service_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Service that the resource is associated with + sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^BS[0-9a-fA-F]{32}$ + nullable: true + description: The unique string that identifies the resource + tags: + type: array + items: + type: string + nullable: true + description: The list of tags associated with this Binding + url: + description: The absolute URL of the Binding resource + format: uri + nullable: true + type: string + notify.v1.credential: + type: object + properties: + account_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created the resource + date_created: + type: string format: date-time nullable: true + description: The RFC 2822 date and time in GMT when the resource was created + date_updated: type: string + format: date-time + nullable: true + description: The RFC 2822 date and time in GMT when the resource was last + updated friendly_name: description: The string that you assigned to describe the resource nullable: true @@ -29,57 +109,156 @@ components: nullable: true type: string sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CR[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource type: - description: The Credential type, one of `gcm`, `fcm`, or `apn` + type: string enum: - gcm - apn - fcm nullable: true - type: string + description: The Credential type, one of `gcm`, `fcm`, or `apn` url: description: The absolute URL of the Credential resource format: uri nullable: true type: string + notify.v1.service.notification: type: object - notify.v1.service: properties: account_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true description: The SID of the Account that created the resource + action: + description: The actions to display for the notification + nullable: true + type: string + alexa: + nullable: true + description: Deprecated + apn: + nullable: true + description: The APNS-specific payload that overrides corresponding attributes + in a generic payload for APNS Bindings + body: + description: The notification body text + nullable: true + type: string + data: + nullable: true + description: The custom key-value pairs of the notification's payload + date_created: + type: string + format: date-time + nullable: true + description: The RFC 2822 date and time in GMT when the resource was created + facebook_messenger: + nullable: true + description: Deprecated + fcm: + nullable: true + description: The FCM-specific payload that overrides corresponding attributes + in generic payload for FCM Bindings + gcm: + nullable: true + description: The GCM-specific payload that overrides corresponding attributes + in generic payload for GCM Bindings + identities: + type: array + items: + type: string + nullable: true + description: The list of identity values of the Users to notify + priority: + type: string + enum: + - high + - low + nullable: true + description: The priority of the notification + segments: + type: array + items: + type: string + nullable: true + description: The list of Segments to notify + service_sid: + type: string + minLength: 34 maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Service that the resource is associated with + sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^NT[0-9a-fA-F]{32}$ nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ + description: The unique string that identifies the resource + sms: + nullable: true + description: The SMS-specific payload that overrides corresponding attributes + in generic payload for SMS Bindings + sound: + description: The name of the sound to be played for the notification + nullable: true + type: string + tags: + type: array + items: + type: string + nullable: true + description: The tags that select the Bindings to notify + title: + description: The notification title + nullable: true + type: string + ttl: + description: How long, in seconds, the notification is valid + nullable: true + type: integer + notify.v1.service: + type: object + properties: + account_sid: type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created the resource alexa_skill_id: description: Deprecated nullable: true type: string apn_credential_sid: - description: The SID of the Credential to use for APN Bindings - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CR[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Credential to use for APN Bindings date_created: - description: The RFC 2822 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was created date_updated: - description: The RFC 2822 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was last + updated default_alexa_notification_protocol_version: description: Deprecated nullable: true @@ -109,23 +288,23 @@ components: nullable: true type: string fcm_credential_sid: - description: The SID of the Credential to use for FCM Bindings - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CR[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Credential to use for FCM Bindings friendly_name: description: The string that you assigned to describe the resource nullable: true type: string gcm_credential_sid: - description: The SID of the Credential to use for GCM Bindings - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CR[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Credential to use for GCM Bindings links: description: The URLs of the resources related to the service format: uri-map @@ -136,203 +315,24 @@ components: nullable: true type: boolean messaging_service_sid: - description: The SID of the Messaging Service to use for SMS Bindings - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^MG[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Messaging Service to use for SMS Bindings sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string - url: - description: The absolute URL of the Service resource - format: uri - nullable: true - type: string - type: object - notify.v1.service.binding: - properties: - account_sid: - description: The SID of the Account that created the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - address: - description: The channel-specific address - nullable: true - type: string - binding_type: - description: The type of the Binding - nullable: true - type: string - credential_sid: - description: The SID of the Credential resource to be used to send notifications - to this Binding - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^CR[0-9a-fA-F]{32}$ - type: string - date_created: - description: The RFC 2822 date and time in GMT when the resource was created - format: date-time - nullable: true - type: string - date_updated: - description: The RFC 2822 date and time in GMT when the resource was last - updated - format: date-time - nullable: true - type: string - endpoint: - description: Deprecated - nullable: true - type: string - identity: - description: The `identity` value that identifies the new resource's User nullable: true - type: string - links: - description: The URLs of related resources - format: uri-map - nullable: true - type: object - notification_protocol_version: - description: The protocol version to use to send the notification - nullable: true - type: string - service_sid: - description: The SID of the Service that the resource is associated with - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - sid: description: The unique string that identifies the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^BS[0-9a-fA-F]{32}$ - type: string - tags: - description: The list of tags associated with this Binding - items: - type: string - nullable: true - type: array url: - description: The absolute URL of the Binding resource + description: The absolute URL of the Service resource format: uri nullable: true type: string - type: object - notify.v1.service.notification: - properties: - account_sid: - description: The SID of the Account that created the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - action: - description: The actions to display for the notification - nullable: true - type: string - alexa: - description: Deprecated - nullable: true - apn: - description: The APNS-specific payload that overrides corresponding attributes - in a generic payload for APNS Bindings - nullable: true - body: - description: The notification body text - nullable: true - type: string - data: - description: The custom key-value pairs of the notification's payload - nullable: true - date_created: - description: The RFC 2822 date and time in GMT when the resource was created - format: date-time - nullable: true - type: string - facebook_messenger: - description: Deprecated - nullable: true - fcm: - description: The FCM-specific payload that overrides corresponding attributes - in generic payload for FCM Bindings - nullable: true - gcm: - description: The GCM-specific payload that overrides corresponding attributes - in generic payload for GCM Bindings - nullable: true - identities: - description: The list of identity values of the Users to notify - items: - type: string - nullable: true - type: array - priority: - description: The priority of the notification - enum: - - high - - low - nullable: true - type: string - segments: - description: The list of Segments to notify - items: - type: string - nullable: true - type: array - service_sid: - description: The SID of the Service that the resource is associated with - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - sid: - description: The unique string that identifies the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^NT[0-9a-fA-F]{32}$ - type: string - sms: - description: The SMS-specific payload that overrides corresponding attributes - in generic payload for SMS Bindings - nullable: true - sound: - description: The name of the sound to be played for the notification - nullable: true - type: string - tags: - description: The tags that select the Bindings to notify - items: - type: string - nullable: true - type: array - title: - description: The notification title - nullable: true - type: string - ttl: - description: How long, in seconds, the notification is valid - nullable: true - type: integer - type: object securitySchemes: accountSid_authToken: scheme: basic @@ -351,251 +351,230 @@ info: version: 1.30.0 openapi: 3.0.1 paths: - /v1/Credentials: + /v1/Services/{ServiceSid}/Bindings/{Sid}: + servers: + - url: https://notify.twilio.com description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - identity + - endpoint + - binding_type + - address + pathType: instance + parent: /Services get: description: '' - operationId: ListCredential + operationId: FetchBinding parameters: - - description: How many resources to return in each list page. The default is - 50, and the maximum is 1000. - in: query - name: PageSize + - description: The SID of the [Service](https://www.twilio.com/docs/notify/api/service-resource) + to fetch the resource from. + in: path + name: ServiceSid + required: true schema: - maximum: 1000 - minimum: 1 - type: integer + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Binding + resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^BS[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - properties: - credentials: - items: - $ref: '#/components/schemas/notify.v1.credential' - type: array - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - title: ListCredentialResponse - type: object + $ref: '#/components/schemas/notify.v1.service.binding' description: OK security: - accountSid_authToken: [] x-maturity: - Beta - post: - description: '' - operationId: CreateCredential - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - ApiKey: - description: '[GCM only] The `Server key` of your project from Firebase - console under Settings / Cloud messaging.' - type: string - Certificate: - description: '[APN only] The URL-encoded representation of the certificate. - Strip everything outside of the headers, e.g. `-----BEGIN CERTIFICATE-----MIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV.....A==-----END - CERTIFICATE-----`' - type: string - FriendlyName: - description: A descriptive string that you create to describe the - resource. It can be up to 64 characters long. - type: string - PrivateKey: - description: '[APN only] The URL-encoded representation of the private - key. Strip everything outside of the headers, e.g. `-----BEGIN - RSA PRIVATE KEY-----MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fGgvCI1l9s+cmBY3WIz+cUDqmxiieR\n.-----END - RSA PRIVATE KEY-----`' - type: string - Sandbox: - description: '[APN only] Whether to send the credential to sandbox - APNs. Can be `true` to send to sandbox APNs or `false` to send - to production.' - type: boolean - Secret: - description: '[FCM only] The `Server key` of your project from Firebase - console under Settings / Cloud messaging.' - type: string - Type: - description: 'The Credential type. Can be: `gcm`, `fcm`, or `apn`.' - enum: - - gcm - - apn - - fcm - type: string - required: - - Type - title: CreateCredentialRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/notify.v1.credential' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - Beta - servers: - - url: https://notify.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - type - pathType: list - /v1/Credentials/{Sid}: delete: description: '' - operationId: DeleteCredential + operationId: DeleteBinding parameters: - - description: The Twilio-provided string that uniquely identifies the Credential - resource to delete. + - description: The SID of the [Service](https://www.twilio.com/docs/notify/api/service-resource) + to delete the resource from. in: path - name: Sid + name: ServiceSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^CR[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: '' - operationId: FetchCredential - parameters: - - description: The Twilio-provided string that uniquely identifies the Credential - resource to fetch. + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Binding + resource to delete. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^CR[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^BS[0-9a-fA-F]{32}$ responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/notify.v1.credential' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - Beta + /v1/Services/{ServiceSid}/Bindings: + servers: + - url: https://notify.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - identity + - endpoint + - binding_type + - address + pathType: list + parent: /Services post: description: '' - operationId: UpdateCredential + operationId: CreateBinding parameters: - - description: The Twilio-provided string that uniquely identifies the Credential - resource to update. + - description: The SID of the [Service](https://www.twilio.com/docs/notify/api/service-resource) + to create the resource under. in: path - name: Sid + name: ServiceSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^CR[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - ApiKey: - description: '[GCM only] The `Server key` of your project from Firebase - console under Settings / Cloud messaging.' + Identity: + description: The `identity` value that uniquely identifies the new + resource's [User](https://www.twilio.com/docs/chat/rest/user-resource) + within the [Service](https://www.twilio.com/docs/notify/api/service-resource). + Up to 20 Bindings can be created for the same Identity in a given + Service. type: string - Certificate: - description: '[APN only] The URL-encoded representation of the certificate. - Strip everything outside of the headers, e.g. `-----BEGIN CERTIFICATE-----MIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV.....A==-----END - CERTIFICATE-----`' + BindingType: type: string - FriendlyName: - description: A descriptive string that you create to describe the - resource. It can be up to 64 characters long. + enum: + - apn + - gcm + - sms + - fcm + - facebook-messenger + - alexa + description: 'The transport technology to use for the Binding. Can + be: `apn`, `fcm`, `gcm`, `sms`, or `facebook-messenger`.' + Address: + description: The channel-specific address. For APNS, the device + token. For FCM and GCM, the registration token. For SMS, a phone + number in E.164 format. For Facebook Messenger, the Messenger + ID of the user or a phone number in E.164 format. type: string - PrivateKey: - description: '[APN only] The URL-encoded representation of the private - key. Strip everything outside of the headers, e.g. `-----BEGIN - RSA PRIVATE KEY-----MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fGgvCI1l9s+cmBY3WIz+cUDqmxiieR\n.-----END - RSA PRIVATE KEY-----`' + Tag: + type: array + items: + type: string + description: A tag that can be used to select the Bindings to notify. + Repeat this parameter to specify more than one tag, up to a total + of 20 tags. + NotificationProtocolVersion: + description: The protocol version to use to send the notification. + This defaults to the value of `default_xxxx_notification_protocol_version` + for the protocol in the [Service](https://www.twilio.com/docs/notify/api/service-resource). + The current version is `"3"` for `apn`, `fcm`, and `gcm` type + Bindings. The parameter is not applicable to `sms` and `facebook-messenger` + type Bindings as the data format is fixed. type: string - Sandbox: - description: '[APN only] Whether to send the credential to sandbox - APNs. Can be `true` to send to sandbox APNs or `false` to send - to production.' - type: boolean - Secret: - description: '[FCM only] The `Server key` of your project from Firebase - console under Settings / Cloud messaging.' + CredentialSid: type: string - title: UpdateCredentialRequest + minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ + description: The SID of the [Credential](https://www.twilio.com/docs/notify/api/credential-resource) + resource to be used to send notifications to this Binding. If + present, this overrides the Credential specified in the Service + resource. Applies to only `apn`, `fcm`, and `gcm` type Bindings. + Endpoint: + description: Deprecated. + type: string + required: + - Identity + - BindingType + - Address + title: CreateBindingRequest type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/notify.v1.credential' - description: OK + $ref: '#/components/schemas/notify.v1.service.binding' + description: Created security: - accountSid_authToken: [] x-maturity: - Beta - servers: - - url: https://notify.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - type - pathType: instance - /v1/Services: - description: 'TODO: Resource-level docs' get: description: '' - operationId: ListService + operationId: ListBinding parameters: - - description: The string that identifies the Service resources to read. + - description: The SID of the [Service](https://www.twilio.com/docs/notify/api/service-resource) + to read the resource from. + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + - description: Only include usage that has occurred on or after this date. Specify + the date in GMT and format as `YYYY-MM-DD`. in: query - name: FriendlyName + name: StartDate schema: + format: date + type: string + - description: Only include usage that occurred on or before this date. Specify + the date in GMT and format as `YYYY-MM-DD`. + in: query + name: EndDate + schema: + format: date type: string + - description: The [User](https://www.twilio.com/docs/chat/rest/user-resource)'s + `identity` value of the resources to read. + in: query + name: Identity + schema: + type: array + items: + type: string + - description: 'Only list Bindings that have all of the specified Tags. The + following implicit tags are available: `all`, `apn`, `fcm`, `gcm`, `sms`, + `facebook-messenger`. Up to 5 tags are allowed.' + in: query + name: Tag + schema: + type: array + items: + type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -609,14 +588,19 @@ paths: content: application/json: schema: + type: object + title: ListBindingResponse properties: + bindings: + type: array + items: + $ref: '#/components/schemas/notify.v1.service.binding' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -630,165 +614,27 @@ paths: url: format: uri type: string - type: object - services: - items: - $ref: '#/components/schemas/notify.v1.service' - type: array - title: ListServiceResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - Beta - post: - description: '' - operationId: CreateService - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - AlexaSkillId: - description: Deprecated. - type: string - ApnCredentialSid: - description: The SID of the [Credential](https://www.twilio.com/docs/notify/api/credential-resource) - to use for APN Bindings. - maxLength: 34 - minLength: 34 - pattern: ^CR[0-9a-fA-F]{32}$ - type: string - DefaultAlexaNotificationProtocolVersion: - description: Deprecated. - type: string - DefaultApnNotificationProtocolVersion: - description: The protocol version to use for sending APNS notifications. - Can be overridden on a Binding by Binding basis when creating - a [Binding](https://www.twilio.com/docs/notify/api/binding-resource) - resource. - type: string - DefaultFcmNotificationProtocolVersion: - description: The protocol version to use for sending FCM notifications. - Can be overridden on a Binding by Binding basis when creating - a [Binding](https://www.twilio.com/docs/notify/api/binding-resource) - resource. - type: string - DefaultGcmNotificationProtocolVersion: - description: The protocol version to use for sending GCM notifications. - Can be overridden on a Binding by Binding basis when creating - a [Binding](https://www.twilio.com/docs/notify/api/binding-resource) - resource. - type: string - DeliveryCallbackEnabled: - description: Callback configuration that enables delivery callbacks, - default false - type: boolean - DeliveryCallbackUrl: - description: URL to send delivery status callback. - type: string - FacebookMessengerPageId: - description: Deprecated. - type: string - FcmCredentialSid: - description: The SID of the [Credential](https://www.twilio.com/docs/notify/api/credential-resource) - to use for FCM Bindings. - maxLength: 34 - minLength: 34 - pattern: ^CR[0-9a-fA-F]{32}$ - type: string - FriendlyName: - description: A descriptive string that you create to describe the - resource. It can be up to 64 characters long. - type: string - GcmCredentialSid: - description: The SID of the [Credential](https://www.twilio.com/docs/notify/api/credential-resource) - to use for GCM Bindings. - maxLength: 34 - minLength: 34 - pattern: ^CR[0-9a-fA-F]{32}$ - type: string - LogEnabled: - description: 'Whether to log notifications. Can be: `true` or `false` - and the default is `true`.' - type: boolean - MessagingServiceSid: - description: The SID of the [Messaging Service](https://www.twilio.com/docs/sms/send-messages#messaging-services) - to use for SMS Bindings. This parameter must be set in order to - send SMS notifications. - maxLength: 34 - minLength: 34 - pattern: ^MG[0-9a-fA-F]{32}$ - type: string - title: CreateServiceRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/notify.v1.service' - description: Created + key: + type: string + description: OK security: - accountSid_authToken: [] x-maturity: - Beta + /v1/Credentials: servers: - url: https://notify.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - friendly_name - - date_created + - type pathType: list - /v1/Services/{ServiceSid}/Bindings: - description: 'TODO: Resource-level docs' get: description: '' - operationId: ListBinding + operationId: ListCredential parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/notify/api/service-resource) - to read the resource from. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: Only include usage that has occurred on or after this date. Specify - the date in GMT and format as `YYYY-MM-DD`. - in: query - name: StartDate - schema: - format: date - type: string - - description: Only include usage that occurred on or before this date. Specify - the date in GMT and format as `YYYY-MM-DD`. - in: query - name: EndDate - schema: - format: date - type: string - - description: The [User](https://www.twilio.com/docs/chat/rest/user-resource)'s - `identity` value of the resources to read. - in: query - name: Identity - schema: - items: - type: string - type: array - - description: 'Only list Bindings that have all of the specified Tags. The - following implicit tags are available: `all`, `apn`, `fcm`, `gcm`, `sms`, - `facebook-messenger`. Up to 5 tags are allowed.' - in: query - name: Tag - schema: - items: - type: string - type: array - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -802,18 +648,19 @@ paths: content: application/json: schema: + type: object + title: ListCredentialResponse properties: - bindings: - items: - $ref: '#/components/schemas/notify.v1.service.binding' + credentials: type: array + items: + $ref: '#/components/schemas/notify.v1.credential' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -827,9 +674,8 @@ paths: url: format: uri type: string - type: object - title: ListBindingResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] @@ -837,183 +683,189 @@ paths: - Beta post: description: '' - operationId: CreateBinding - parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/notify/api/service-resource) - to create the resource under. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string + operationId: CreateCredential requestBody: content: application/x-www-form-urlencoded: schema: properties: - Address: - description: The channel-specific address. For APNS, the device - token. For FCM and GCM, the registration token. For SMS, a phone - number in E.164 format. For Facebook Messenger, the Messenger - ID of the user or a phone number in E.164 format. + Type: type: string - BindingType: - description: 'The transport technology to use for the Binding. Can - be: `apn`, `fcm`, `gcm`, `sms`, or `facebook-messenger`.' enum: - - apn - gcm - - sms + - apn - fcm - - facebook-messenger - - alexa + description: 'The Credential type. Can be: `gcm`, `fcm`, or `apn`.' + FriendlyName: + description: A descriptive string that you create to describe the + resource. It can be up to 64 characters long. type: string - CredentialSid: - description: The SID of the [Credential](https://www.twilio.com/docs/notify/api/credential-resource) - resource to be used to send notifications to this Binding. If - present, this overrides the Credential specified in the Service - resource. Applies to only `apn`, `fcm`, and `gcm` type Bindings. - maxLength: 34 - minLength: 34 - pattern: ^CR[0-9a-fA-F]{32}$ + Certificate: + description: '[APN only] The URL-encoded representation of the certificate. + Strip everything outside of the headers, e.g. `-----BEGIN CERTIFICATE-----MIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV.....A==-----END + CERTIFICATE-----`' type: string - Endpoint: - description: Deprecated. + PrivateKey: + description: '[APN only] The URL-encoded representation of the private + key. Strip everything outside of the headers, e.g. `-----BEGIN + RSA PRIVATE KEY-----MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fGgvCI1l9s+cmBY3WIz+cUDqmxiieR\n.-----END + RSA PRIVATE KEY-----`' type: string - Identity: - description: The `identity` value that uniquely identifies the new - resource's [User](https://www.twilio.com/docs/chat/rest/user-resource) - within the [Service](https://www.twilio.com/docs/notify/api/service-resource). - Up to 20 Bindings can be created for the same Identity in a given - Service. + Sandbox: + description: '[APN only] Whether to send the credential to sandbox + APNs. Can be `true` to send to sandbox APNs or `false` to send + to production.' + type: boolean + ApiKey: + description: '[GCM only] The `Server key` of your project from Firebase + console under Settings / Cloud messaging.' type: string - NotificationProtocolVersion: - description: The protocol version to use to send the notification. - This defaults to the value of `default_xxxx_notification_protocol_version` - for the protocol in the [Service](https://www.twilio.com/docs/notify/api/service-resource). - The current version is `"3"` for `apn`, `fcm`, and `gcm` type - Bindings. The parameter is not applicable to `sms` and `facebook-messenger` - type Bindings as the data format is fixed. + Secret: + description: '[FCM only] The `Server key` of your project from Firebase + console under Settings / Cloud messaging.' type: string - Tag: - description: A tag that can be used to select the Bindings to notify. - Repeat this parameter to specify more than one tag, up to a total - of 20 tags. - items: - type: string - type: array required: - - Identity - - BindingType - - Address - title: CreateBindingRequest + - Type + title: CreateCredentialRequest type: object responses: '201': content: application/json: schema: - $ref: '#/components/schemas/notify.v1.service.binding' + $ref: '#/components/schemas/notify.v1.credential' description: Created security: - accountSid_authToken: [] x-maturity: - Beta + /v1/Credentials/{Sid}: servers: - url: https://notify.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - - identity - - endpoint - - binding_type - - address - parent: /Services - pathType: list - /v1/Services/{ServiceSid}/Bindings/{Sid}: - delete: + - friendly_name + - type + pathType: instance + get: description: '' - operationId: DeleteBinding + operationId: FetchCredential parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/notify/api/service-resource) - to delete the resource from. + - description: The Twilio-provided string that uniquely identifies the Credential + resource to fetch. in: path - name: ServiceSid + name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ type: string - - description: The Twilio-provided string that uniquely identifies the Binding - resource to delete. + minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/notify.v1.credential' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - Beta + post: + description: '' + operationId: UpdateCredential + parameters: + - description: The Twilio-provided string that uniquely identifies the Credential + resource to update. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^BS[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: A descriptive string that you create to describe the + resource. It can be up to 64 characters long. + type: string + Certificate: + description: '[APN only] The URL-encoded representation of the certificate. + Strip everything outside of the headers, e.g. `-----BEGIN CERTIFICATE-----MIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV.....A==-----END + CERTIFICATE-----`' + type: string + PrivateKey: + description: '[APN only] The URL-encoded representation of the private + key. Strip everything outside of the headers, e.g. `-----BEGIN + RSA PRIVATE KEY-----MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fGgvCI1l9s+cmBY3WIz+cUDqmxiieR\n.-----END + RSA PRIVATE KEY-----`' + type: string + Sandbox: + description: '[APN only] Whether to send the credential to sandbox + APNs. Can be `true` to send to sandbox APNs or `false` to send + to production.' + type: boolean + ApiKey: + description: '[GCM only] The `Server key` of your project from Firebase + console under Settings / Cloud messaging.' + type: string + Secret: + description: '[FCM only] The `Server key` of your project from Firebase + console under Settings / Cloud messaging.' + type: string + title: UpdateCredentialRequest + type: object responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/notify.v1.credential' + description: OK security: - accountSid_authToken: [] x-maturity: - Beta - description: 'TODO: Resource-level docs' - get: + delete: description: '' - operationId: FetchBinding + operationId: DeleteCredential parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/notify/api/service-resource) - to fetch the resource from. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Binding - resource to fetch. + - description: The Twilio-provided string that uniquely identifies the Credential + resource to delete. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^BS[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/notify.v1.service.binding' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - Beta + /v1/Services/{ServiceSid}/Notifications: servers: - url: https://notify.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - - identity - - endpoint - - binding_type - - address + - priority + - title + pathType: list parent: /Services - pathType: instance - /v1/Services/{ServiceSid}/Notifications: - description: 'TODO: Resource-level docs' post: description: '' operationId: CreateNotification @@ -1024,31 +876,15 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Action: - description: The actions to display for the notification. For APNS, - translates to the `aps.category` value. For GCM, translates to - the `data.twi_action` value. For SMS, this parameter is not supported - and is omitted from deliveries to those channels. - type: string - Alexa: - description: Deprecated. - Apn: - description: The APNS-specific payload that overrides corresponding - attributes in the generic payload for APNS Bindings. This property - maps to the APNS `Payload` item, therefore the `aps` key must - be used to change standard attributes. Adds custom key-value pairs - to the root of the dictionary. See the [APNS documentation](https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CommunicatingwithAPNs.html) - for more details. We reserve keys that start with `twi_` for future - use. Custom keys that start with `twi_` are not allowed. Body: description: The notification text. For FCM and GCM, translates to `data.twi_body`. For APNS, translates to `aps.alert.body`. @@ -1056,6 +892,47 @@ paths: value, or `media_urls` attribute defined in the `sms` parameter of the notification. type: string + Priority: + type: string + enum: + - high + - low + description: 'The priority of the notification. Can be: `low` or + `high` and the default is `high`. A value of `low` optimizes the + client app''s battery consumption; however, notifications may + be delivered with unspecified delay. For FCM and GCM, `low` priority + is the same as `Normal` priority. For APNS `low` priority is the + same as `5`. A value of `high` sends the notification immediately, + and can wake up a sleeping device. For FCM and GCM, `high` is + the same as `High` priority. For APNS, `high` is a priority `10`. + SMS does not support this property.' + Ttl: + description: How long, in seconds, the notification is valid. Can + be an integer between 0 and 2,419,200, which is 4 weeks, the default + and the maximum supported time to live (TTL). Delivery should + be attempted if the device is offline until the TTL elapses. Zero + means that the notification delivery is attempted immediately, + only once, and is not stored for future delivery. SMS does not + support this property. + type: integer + Title: + description: The notification title. For FCM and GCM, this translates + to the `data.twi_title` value. For APNS, this translates to the + `aps.alert.title` value. SMS does not support this property. This + field is not visible on iOS phones and tablets but appears on + Apple Watch and Android devices. + type: string + Sound: + description: The name of the sound to be played for the notification. + For FCM and GCM, this Translates to `data.twi_sound`. For APNS, + this translates to `aps.sound`. SMS does not support this property. + type: string + Action: + description: The actions to display for the notification. For APNS, + translates to the `aps.category` value. For GCM, translates to + the `data.twi_action` value. For SMS, this parameter is not supported + and is omitted from deliveries to those channels. + type: string Data: description: The custom key-value pairs of the notification's payload. For FCM and GCM, this value translates to `data` in the FCM and @@ -1067,9 +944,32 @@ paths: with `twi_` are not allowed and are rejected as 400 Bad request with no delivery attempted. For SMS, this parameter is not supported and is omitted from deliveries to those channels. - DeliveryCallbackUrl: - description: URL to send webhooks. - type: string + Apn: + description: The APNS-specific payload that overrides corresponding + attributes in the generic payload for APNS Bindings. This property + maps to the APNS `Payload` item, therefore the `aps` key must + be used to change standard attributes. Adds custom key-value pairs + to the root of the dictionary. See the [APNS documentation](https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CommunicatingwithAPNs.html) + for more details. We reserve keys that start with `twi_` for future + use. Custom keys that start with `twi_` are not allowed. + Gcm: + description: The GCM-specific payload that overrides corresponding + attributes in the generic payload for GCM Bindings. This property + maps to the root JSON dictionary. See the [GCM documentation](https://firebase.google.com/docs/cloud-messaging/http-server-ref) + for more details. Target parameters `to`, `registration_ids`, + and `notification_key` are not allowed. We reserve keys that start + with `twi_` for future use. Custom keys that start with `twi_` + are not allowed. GCM also [reserves certain keys](https://firebase.google.com/docs/cloud-messaging/http-server-ref). + Sms: + description: 'The SMS-specific payload that overrides corresponding + attributes in the generic payload for SMS Bindings. Each attribute + in this value maps to the corresponding `form` parameter of the + Twilio [Message](https://www.twilio.com/docs/sms/send-messages) + resource. These parameters of the Message resource are supported + in snake case format: `body`, `media_urls`, `status_callback`, + and `max_price`. The `status_callback` parameter overrides the + corresponding parameter in the messaging service, if configured. + The `media_urls` property expects a JSON array.' FacebookMessenger: description: Deprecated. Fcm: @@ -1082,119 +982,228 @@ paths: keys that start with `twi_` are not allowed. FCM also [reserves certain keys](https://firebase.google.com/docs/cloud-messaging/http-server-ref), which cannot be used in that channel. - Gcm: - description: The GCM-specific payload that overrides corresponding - attributes in the generic payload for GCM Bindings. This property - maps to the root JSON dictionary. See the [GCM documentation](https://firebase.google.com/docs/cloud-messaging/http-server-ref) - for more details. Target parameters `to`, `registration_ids`, - and `notification_key` are not allowed. We reserve keys that start - with `twi_` for future use. Custom keys that start with `twi_` - are not allowed. GCM also [reserves certain keys](https://firebase.google.com/docs/cloud-messaging/http-server-ref). + Segment: + type: array + items: + type: string + description: The Segment resource is deprecated. Use the `tag` parameter, + instead. + Alexa: + description: Deprecated. + ToBinding: + type: array + items: + type: string + description: The destination address specified as a JSON string. Multiple + `to_binding` parameters can be included but the total size of + the request entity should not exceed 1MB. This is typically sufficient + for 10,000 phone numbers. + DeliveryCallbackUrl: + description: URL to send webhooks. + type: string Identity: + type: array + items: + type: string description: The `identity` value that uniquely identifies the new resource's [User](https://www.twilio.com/docs/chat/rest/user-resource) within the [Service](https://www.twilio.com/docs/notify/api/service-resource). Delivery will be attempted only to Bindings with an Identity in this list. No more than 20 items are allowed in this list. + Tag: + type: array items: type: string - type: array - Priority: - description: 'The priority of the notification. Can be: `low` or - `high` and the default is `high`. A value of `low` optimizes the - client app''s battery consumption; however, notifications may - be delivered with unspecified delay. For FCM and GCM, `low` priority - is the same as `Normal` priority. For APNS `low` priority is the - same as `5`. A value of `high` sends the notification immediately, - and can wake up a sleeping device. For FCM and GCM, `high` is - the same as `High` priority. For APNS, `high` is a priority `10`. - SMS does not support this property.' - enum: - - high - - low + description: A tag that selects the Bindings to notify. Repeat this + parameter to specify more than one tag, up to a total of 5 tags. + The implicit tag `all` is available to notify all Bindings in + a Service instance. Similarly, the implicit tags `apn`, `fcm`, + `gcm`, `sms` and `facebook-messenger` are available to notify + all Bindings in a specific channel. + title: CreateNotificationRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/notify.v1.service.notification' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - Beta + x-twilio: + conditional: + - - identity + - tag + /v1/Services: + servers: + - url: https://notify.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - date_created + pathType: list + post: + description: '' + operationId: CreateService + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: A descriptive string that you create to describe the + resource. It can be up to 64 characters long. + type: string + ApnCredentialSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ + description: The SID of the [Credential](https://www.twilio.com/docs/notify/api/credential-resource) + to use for APN Bindings. + GcmCredentialSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ + description: The SID of the [Credential](https://www.twilio.com/docs/notify/api/credential-resource) + to use for GCM Bindings. + MessagingServiceSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^MG[0-9a-fA-F]{32}$ + description: The SID of the [Messaging Service](https://www.twilio.com/docs/sms/send-messages#messaging-services) + to use for SMS Bindings. This parameter must be set in order to + send SMS notifications. + FacebookMessengerPageId: + description: Deprecated. + type: string + DefaultApnNotificationProtocolVersion: + description: The protocol version to use for sending APNS notifications. + Can be overridden on a Binding by Binding basis when creating + a [Binding](https://www.twilio.com/docs/notify/api/binding-resource) + resource. + type: string + DefaultGcmNotificationProtocolVersion: + description: The protocol version to use for sending GCM notifications. + Can be overridden on a Binding by Binding basis when creating + a [Binding](https://www.twilio.com/docs/notify/api/binding-resource) + resource. type: string - Segment: - description: The Segment resource is deprecated. Use the `tag` parameter, - instead. - items: - type: string - type: array - Sms: - description: 'The SMS-specific payload that overrides corresponding - attributes in the generic payload for SMS Bindings. Each attribute - in this value maps to the corresponding `form` parameter of the - Twilio [Message](https://www.twilio.com/docs/sms/send-messages) - resource. These parameters of the Message resource are supported - in snake case format: `body`, `media_urls`, `status_callback`, - and `max_price`. The `status_callback` parameter overrides the - corresponding parameter in the messaging service, if configured. - The `media_urls` property expects a JSON array.' - Sound: - description: The name of the sound to be played for the notification. - For FCM and GCM, this Translates to `data.twi_sound`. For APNS, - this translates to `aps.sound`. SMS does not support this property. + FcmCredentialSid: type: string - Tag: - description: A tag that selects the Bindings to notify. Repeat this - parameter to specify more than one tag, up to a total of 5 tags. - The implicit tag `all` is available to notify all Bindings in - a Service instance. Similarly, the implicit tags `apn`, `fcm`, - `gcm`, `sms` and `facebook-messenger` are available to notify - all Bindings in a specific channel. - items: - type: string - type: array - Title: - description: The notification title. For FCM and GCM, this translates - to the `data.twi_title` value. For APNS, this translates to the - `aps.alert.title` value. SMS does not support this property. This - field is not visible on iOS phones and tablets but appears on - Apple Watch and Android devices. + minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ + description: The SID of the [Credential](https://www.twilio.com/docs/notify/api/credential-resource) + to use for FCM Bindings. + DefaultFcmNotificationProtocolVersion: + description: The protocol version to use for sending FCM notifications. + Can be overridden on a Binding by Binding basis when creating + a [Binding](https://www.twilio.com/docs/notify/api/binding-resource) + resource. type: string - ToBinding: - description: The destination address specified as a JSON string. Multiple - `to_binding` parameters can be included but the total size of - the request entity should not exceed 1MB. This is typically sufficient - for 10,000 phone numbers. - items: - type: string - type: array - Ttl: - description: How long, in seconds, the notification is valid. Can - be an integer between 0 and 2,419,200, which is 4 weeks, the default - and the maximum supported time to live (TTL). Delivery should - be attempted if the device is offline until the TTL elapses. Zero - means that the notification delivery is attempted immediately, - only once, and is not stored for future delivery. SMS does not - support this property. - type: integer - title: CreateNotificationRequest + LogEnabled: + description: 'Whether to log notifications. Can be: `true` or `false` + and the default is `true`.' + type: boolean + AlexaSkillId: + description: Deprecated. + type: string + DefaultAlexaNotificationProtocolVersion: + description: Deprecated. + type: string + DeliveryCallbackUrl: + description: URL to send delivery status callback. + type: string + DeliveryCallbackEnabled: + description: Callback configuration that enables delivery callbacks, + default false + type: boolean + title: CreateServiceRequest type: object responses: '201': content: application/json: schema: - $ref: '#/components/schemas/notify.v1.service.notification' + $ref: '#/components/schemas/notify.v1.service' description: Created security: - accountSid_authToken: [] x-maturity: - Beta - x-twilio: - conditional: - - - identity - - tag + get: + description: '' + operationId: ListService + parameters: + - description: The string that identifies the Service resources to read. + in: query + name: FriendlyName + schema: + 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListServiceResponse + properties: + services: + type: array + items: + $ref: '#/components/schemas/notify.v1.service' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - Beta + /v1/Services/{Sid}: servers: - url: https://notify.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - - priority - - title - parent: /Services - pathType: list - /v1/Services/{Sid}: + - friendly_name + - date_created + pathType: instance delete: description: '' operationId: DeleteService @@ -1205,10 +1214,10 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string responses: '204': description: The resource was deleted successfully. @@ -1216,7 +1225,6 @@ paths: - accountSid_authToken: [] x-maturity: - Beta - description: 'TODO: Resource-level docs' get: description: '' operationId: FetchService @@ -1227,10 +1235,10 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -1252,26 +1260,42 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - AlexaSkillId: - description: Deprecated. + FriendlyName: + description: A descriptive string that you create to describe the + resource. It can be up to 64 characters long. type: string ApnCredentialSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ description: The SID of the [Credential](https://www.twilio.com/docs/notify/api/credential-resource) to use for APN Bindings. - maxLength: 34 + GcmCredentialSid: + type: string minLength: 34 + maxLength: 34 pattern: ^CR[0-9a-fA-F]{32}$ + description: The SID of the [Credential](https://www.twilio.com/docs/notify/api/credential-resource) + to use for GCM Bindings. + MessagingServiceSid: type: string - DefaultAlexaNotificationProtocolVersion: + minLength: 34 + maxLength: 34 + pattern: ^MG[0-9a-fA-F]{32}$ + description: The SID of the [Messaging Service](https://www.twilio.com/docs/sms/send-messages#messaging-services) + to use for SMS Bindings. This parameter must be set in order to + send SMS notifications. + FacebookMessengerPageId: description: Deprecated. type: string DefaultApnNotificationProtocolVersion: @@ -1280,58 +1304,42 @@ paths: a [Binding](https://www.twilio.com/docs/notify/api/binding-resource) resource. type: string - DefaultFcmNotificationProtocolVersion: - description: The protocol version to use for sending FCM notifications. - Can be overridden on a Binding by Binding basis when creating - a [Binding](https://www.twilio.com/docs/notify/api/binding-resource) - resource. - type: string DefaultGcmNotificationProtocolVersion: description: The protocol version to use for sending GCM notifications. Can be overridden on a Binding by Binding basis when creating a [Binding](https://www.twilio.com/docs/notify/api/binding-resource) resource. type: string - DeliveryCallbackEnabled: - description: Callback configuration that enables delivery callbacks, - default false - type: boolean - DeliveryCallbackUrl: - description: URL to send delivery status callback. - type: string - FacebookMessengerPageId: - description: Deprecated. - type: string FcmCredentialSid: - description: The SID of the [Credential](https://www.twilio.com/docs/notify/api/credential-resource) - to use for FCM Bindings. - maxLength: 34 - minLength: 34 - pattern: ^CR[0-9a-fA-F]{32}$ - type: string - FriendlyName: - description: A descriptive string that you create to describe the - resource. It can be up to 64 characters long. type: string - GcmCredentialSid: - description: The SID of the [Credential](https://www.twilio.com/docs/notify/api/credential-resource) - to use for GCM Bindings. - maxLength: 34 minLength: 34 + maxLength: 34 pattern: ^CR[0-9a-fA-F]{32}$ + description: The SID of the [Credential](https://www.twilio.com/docs/notify/api/credential-resource) + to use for FCM Bindings. + DefaultFcmNotificationProtocolVersion: + description: The protocol version to use for sending FCM notifications. + Can be overridden on a Binding by Binding basis when creating + a [Binding](https://www.twilio.com/docs/notify/api/binding-resource) + resource. type: string LogEnabled: description: 'Whether to log notifications. Can be: `true` or `false` and the default is `true`.' type: boolean - MessagingServiceSid: - description: The SID of the [Messaging Service](https://www.twilio.com/docs/sms/send-messages#messaging-services) - to use for SMS Bindings. This parameter must be set in order to - send SMS notifications. - maxLength: 34 - minLength: 34 - pattern: ^MG[0-9a-fA-F]{32}$ + AlexaSkillId: + description: Deprecated. + type: string + DefaultAlexaNotificationProtocolVersion: + description: Deprecated. + type: string + DeliveryCallbackUrl: + description: URL to send delivery status callback. type: string + DeliveryCallbackEnabled: + description: Callback configuration that enables delivery callbacks, + default false + type: boolean title: UpdateServiceRequest type: object responses: @@ -1345,17 +1353,9 @@ paths: - accountSid_authToken: [] x-maturity: - Beta - servers: - - url: https://notify.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - date_created - pathType: instance servers: - url: https://notify.twilio.com x-maturity: -- description: PLEASE NOTE that this is a Beta product that is subject to change. +- name: Beta + description: PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution. - name: Beta diff --git a/spec/yaml/twilio_numbers_v2.yaml b/spec/yaml/twilio_numbers_v2.yaml index bd17407e..2333671a 100644 --- a/spec/yaml/twilio_numbers_v2.yaml +++ b/spec/yaml/twilio_numbers_v2.yaml @@ -1,28 +1,26 @@ components: schemas: - numbers.v2.regulatory_compliance: - properties: {} - type: object numbers.v2.regulatory_compliance.bundle: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated email: description: The email address nullable: true @@ -37,21 +35,21 @@ components: nullable: true type: object regulation_sid: - description: The unique string of a regulation. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RN[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string of a regulation. sid: - description: The unique string that identifies the resource. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^BU[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource. status: - description: The verification status of the Bundle resource + type: string enum: - draft - pending-review @@ -60,7 +58,7 @@ components: - twilio-approved - provisionally-approved nullable: true - type: string + description: The verification status of the Bundle resource status_callback: description: The URL we call to inform your application of status changes. format: uri @@ -72,32 +70,32 @@ components: nullable: true type: string valid_until: - description: The ISO 8601 date and time in GMT when the resource will be - valid until. + type: string format: date-time nullable: true - type: string - type: object + description: The ISO 8601 date and time in GMT when the resource will be + valid until. numbers.v2.regulatory_compliance.bundle.bundle_copy: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated email: description: The email address nullable: true @@ -107,21 +105,21 @@ components: nullable: true type: string regulation_sid: - description: The unique string of a regulation - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RN[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string of a regulation sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^BU[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource status: - description: The verification status of the Bundle resource + type: string enum: - draft - pending-review @@ -130,312 +128,315 @@ components: - twilio-approved - provisionally-approved nullable: true - type: string + description: The verification status of the Bundle resource status_callback: description: The URL we call to inform your application of status changes format: uri nullable: true type: string valid_until: - description: The ISO 8601 date and time in GMT when the resource will be - valid until + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource will be + valid until + numbers.v2.regulatory_compliance.end_user: type: object - numbers.v2.regulatory_compliance.bundle.evaluation: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created the resource + attributes: + nullable: true + description: The set of parameters that compose the End Users resource + date_created: type: string - bundle_sid: - description: The unique string that identifies the resource - maxLength: 34 - minLength: 34 + format: date-time nullable: true - pattern: ^BU[0-9a-fA-F]{32}$ + description: The ISO 8601 date and time in GMT when the resource was created + date_updated: type: string - date_created: format: date-time nullable: true + description: The ISO 8601 date and time in GMT when the resource was last + updated + friendly_name: + description: The string that you assigned to describe the resource + nullable: true + type: string + sid: type: string - regulation_sid: - description: The unique string of a regulation - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^IT[0-9a-fA-F]{32}$ nullable: true - pattern: ^RN[0-9a-fA-F]{32}$ + description: The unique string that identifies the resource + type: type: string - results: - description: The results of the Evaluation resource - items: {} + enum: + - individual + - business + nullable: true + description: The type of end user of the Bundle resource + url: + description: The absolute URL of the End User resource + format: uri nullable: true + type: string + numbers.v2.regulatory_compliance.end_user_type: + type: object + properties: + fields: type: array - sid: - description: The unique string that identifies the Evaluation resource - maxLength: 34 - minLength: 34 + items: {} + nullable: true + description: The required information for creating an End-User. + friendly_name: + description: A human-readable description of the End-User Type resource nullable: true - pattern: ^EL[0-9a-fA-F]{32}$ type: string - status: - description: The compliance status of the Evaluation resource - enum: - - compliant - - noncompliant + machine_name: + description: A machine-readable description of the End-User Type resource nullable: true type: string + sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^OY[0-9a-fA-F]{32}$ + nullable: true + description: The unique string that identifies the End-User Type resource url: + description: The absolute URL of the End-User Type resource format: uri nullable: true type: string + numbers.v2.regulatory_compliance.bundle.evaluation: type: object - numbers.v2.regulatory_compliance.bundle.item_assignment: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource bundle_sid: - description: The unique string that identifies the Bundle resource. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^BU[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true + regulation_sid: type: string - object_sid: - description: The sid of an object bag - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^RN[0-9a-fA-F]{32}$ nullable: true - pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ - type: string + description: The unique string of a regulation + results: + type: array + items: {} + nullable: true + description: The results of the Evaluation resource sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 + maxLength: 34 + pattern: ^EL[0-9a-fA-F]{32}$ nullable: true - pattern: ^BV[0-9a-fA-F]{32}$ + description: The unique string that identifies the Evaluation resource + status: type: string + enum: + - compliant + - noncompliant + nullable: true + description: The compliance status of the Evaluation resource url: - description: The absolute URL of the Identity resource format: uri nullable: true type: string + numbers.v2.regulatory_compliance.bundle.item_assignment: type: object - numbers.v2.regulatory_compliance.bundle.replace_items: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created the resource + bundle_sid: type: string - date_created: - description: The ISO 8601 date and time in GMT when the resource was created - format: date-time + minLength: 34 + maxLength: 34 + pattern: ^BU[0-9a-fA-F]{32}$ nullable: true + description: The unique string that identifies the Bundle resource. + date_created: type: string - date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated format: date-time nullable: true + description: The ISO 8601 date and time in GMT when the resource was created + object_sid: type: string - email: - description: The email address + minLength: 34 + maxLength: 34 + pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ nullable: true + description: The sid of an object bag + sid: type: string - friendly_name: - description: The string that you assigned to describe the resource + minLength: 34 + maxLength: 34 + pattern: ^BV[0-9a-fA-F]{32}$ nullable: true - type: string - regulation_sid: - description: The unique string of a regulation - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^RN[0-9a-fA-F]{32}$ - type: string - sid: description: The unique string that identifies the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^BU[0-9a-fA-F]{32}$ - type: string - status: - description: The verification status of the Bundle resource - enum: - - draft - - pending-review - - in-review - - twilio-rejected - - twilio-approved - - provisionally-approved - nullable: true - type: string - status_callback: - description: The URL we call to inform your application of status changes + url: + description: The absolute URL of the Identity resource format: uri nullable: true type: string - valid_until: - description: The ISO 8601 date and time in GMT when the resource will be - valid until - format: date-time - nullable: true - type: string + numbers.v2.regulatory_compliance.regulation: type: object - numbers.v2.regulatory_compliance.end_user: properties: - account_sid: - description: The SID of the Account that created the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ + end_user_type: type: string - attributes: - description: The set of parameters that compose the End Users resource + enum: + - individual + - business nullable: true - date_created: - description: The ISO 8601 date and time in GMT when the resource was created - format: date-time + description: The type of End User of the Regulation resource + friendly_name: + description: A human-readable description of the Regulation resource nullable: true type: string - date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated - format: date-time + iso_country: + description: The ISO country code of the phone number's country nullable: true type: string - friendly_name: - description: The string that you assigned to describe the resource + number_type: + description: The type of phone number restricted by the regulatory requirement nullable: true type: string - sid: - description: The unique string that identifies the resource - maxLength: 34 - minLength: 34 + requirements: nullable: true - pattern: ^IT[0-9a-fA-F]{32}$ + description: The sid of a regulation object that dictates requirements + sid: type: string - type: - description: The type of end user of the Bundle resource - enum: - - individual - - business + minLength: 34 + maxLength: 34 + pattern: ^RN[0-9a-fA-F]{32}$ nullable: true - type: string + description: The unique string that identifies the Regulation resource url: - description: The absolute URL of the End User resource + description: The absolute URL of the Regulation resource format: uri nullable: true type: string + numbers.v2.regulatory_compliance: + type: object + properties: {} + numbers.v2.regulatory_compliance.bundle.replace_items: type: object - numbers.v2.regulatory_compliance.end_user_type: properties: - fields: - description: The required information for creating an End-User. - items: {} - nullable: true - type: array - friendly_name: - description: A human-readable description of the End-User Type resource - nullable: true - type: string - machine_name: - description: A machine-readable description of the End-User Type resource - nullable: true + account_sid: type: string - sid: - description: The unique string that identifies the End-User Type resource - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ nullable: true - pattern: ^OY[0-9a-fA-F]{32}$ + description: The SID of the Account that created the resource + date_created: type: string - url: - description: The absolute URL of the End-User Type resource - format: uri + format: date-time nullable: true + description: The ISO 8601 date and time in GMT when the resource was created + date_updated: type: string - type: object - numbers.v2.regulatory_compliance.regulation: - properties: - end_user_type: - description: The type of End User of the Regulation resource - enum: - - individual - - business + format: date-time nullable: true - type: string - friendly_name: - description: A human-readable description of the Regulation resource + description: The ISO 8601 date and time in GMT when the resource was last + updated + email: + description: The email address nullable: true type: string - iso_country: - description: The ISO country code of the phone number's country + friendly_name: + description: The string that you assigned to describe the resource nullable: true type: string - number_type: - description: The type of phone number restricted by the regulatory requirement - nullable: true + regulation_sid: type: string - requirements: - description: The sid of a regulation object that dictates requirements + minLength: 34 + maxLength: 34 + pattern: ^RN[0-9a-fA-F]{32}$ nullable: true + description: The unique string of a regulation sid: - description: The unique string that identifies the Regulation resource - maxLength: 34 + type: string minLength: 34 + maxLength: 34 + pattern: ^BU[0-9a-fA-F]{32}$ nullable: true - pattern: ^RN[0-9a-fA-F]{32}$ + description: The unique string that identifies the resource + status: type: string - url: - description: The absolute URL of the Regulation resource + enum: + - draft + - pending-review + - in-review + - twilio-rejected + - twilio-approved + - provisionally-approved + nullable: true + description: The verification status of the Bundle resource + status_callback: + description: The URL we call to inform your application of status changes format: uri nullable: true type: string - type: object + valid_until: + type: string + format: date-time + nullable: true + description: The ISO 8601 date and time in GMT when the resource will be + valid until numbers.v2.regulatory_compliance.supporting_document: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource attributes: + nullable: true description: The set of parameters that compose the Supporting Documents resource - nullable: true date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated failure_reason: description: The failure reason of the Supporting Document Resource. nullable: true @@ -449,14 +450,14 @@ components: nullable: true type: string sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RD[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource status: - description: The verification status of the Supporting Document resource + type: string enum: - draft - pending-review @@ -465,7 +466,7 @@ components: - expired - provisionally-approved nullable: true - type: string + description: The verification status of the Supporting Document resource type: description: The type of the Supporting Document nullable: true @@ -475,14 +476,14 @@ components: format: uri nullable: true type: string - type: object numbers.v2.regulatory_compliance.supporting_document_type: + type: object properties: fields: - description: The required information for creating a Supporting Document + type: array items: {} nullable: true - type: array + description: The required information for creating a Supporting Document friendly_name: description: A human-readable description of the Supporting Document Type resource @@ -494,19 +495,18 @@ components: nullable: true type: string sid: - description: The unique string that identifies the Supporting Document Type - resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^OY[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the Supporting Document Type + resource url: description: The absolute URL of the Supporting Document Type resource format: uri nullable: true type: string - type: object securitySchemes: accountSid_authToken: scheme: basic @@ -525,36 +525,96 @@ info: version: 1.30.0 openapi: 3.0.1 paths: - /v2/RegulatoryCompliance: - description: 'TODO: Resource-level docs' + /v2/RegulatoryCompliance/Bundles: servers: - url: https://numbers.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - defaultOutputProperties: [] + defaultOutputProperties: + - sid + - regulation_sid + - friendly_name pathType: list - /v2/RegulatoryCompliance/Bundles: - description: 'TODO: Resource-level docs' - get: - description: Retrieve a list of all Bundles for an account. - operationId: ListBundle - parameters: - - description: The verification status of the Bundle resource. Please refer - to [Bundle Statuses](https://www.twilio.com/docs/phone-numbers/regulatory/api/bundles#bundle-statuses) - for more details. - in: query - name: Status - schema: - enum: - - draft - - pending-review - - in-review - - twilio-rejected - - twilio-approved - - provisionally-approved - type: string - - description: The string that you assigned to describe the resource. The column - can contain 255 variable characters. - in: query + parent: /RegulatoryCompliance + post: + description: Create a new Bundle. + operationId: CreateBundle + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: The string that you assigned to describe the resource. + type: string + Email: + description: The email address that will receive updates when the + Bundle resource changes status. + type: string + StatusCallback: + description: The URL we call to inform your application of status + changes. + format: uri + type: string + RegulationSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RN[0-9a-fA-F]{32}$ + description: The unique string of a regulation that is associated + to the Bundle resource. + IsoCountry: + description: The [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) + of the Bundle's phone number country ownership request. + type: string + EndUserType: + type: string + enum: + - individual + - business + description: The [type of End User](https://www.twilio.com/docs/phone-numbers/regulatory/api/end-user-types) + of the Bundle resource. + NumberType: + description: The type of phone number of the Bundle's ownership + request. Can be `local`, `mobile`, `national`, or `toll free`. + type: string + required: + - FriendlyName + - Email + title: CreateBundleRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/numbers.v2.regulatory_compliance.bundle' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + get: + description: Retrieve a list of all Bundles for an account. + operationId: ListBundle + parameters: + - description: The verification status of the Bundle resource. Please refer + to [Bundle Statuses](https://www.twilio.com/docs/phone-numbers/regulatory/api/bundles#bundle-statuses) + for more details. + in: query + name: Status + schema: + type: string + enum: + - draft + - pending-review + - in-review + - twilio-rejected + - twilio-approved + - provisionally-approved + - description: The string that you assigned to describe the resource. The column + can contain 255 variable characters. + in: query name: FriendlyName schema: type: string @@ -563,10 +623,10 @@ paths: in: query name: RegulationSid schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^RN[0-9a-fA-F]{32}$ - type: string - description: The 2-digit [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) of the Bundle's phone number country ownership request. in: query @@ -589,18 +649,18 @@ paths: in: query name: SortBy schema: + type: string enum: - valid-until - date-updated - type: string - description: Default is `DESC`. Can be `ASC` or `DESC`. in: query name: SortDirection schema: + type: string enum: - ASC - DESC - type: string - description: Date to filter Bundles having their `valid_until_date` before or after the specified date. Can be `ValidUntilDate>=` or `ValidUntilDate<=`. Both can be used in conjunction as well. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) @@ -608,8 +668,8 @@ paths: in: query name: ValidUntilDate schema: - format: date-time type: string + format: date-time - description: Date to filter Bundles having their `valid_until_date` before or after the specified date. Can be `ValidUntilDate>=` or `ValidUntilDate<=`. Both can be used in conjunction as well. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) @@ -617,8 +677,8 @@ paths: in: query name: ValidUntilDate< schema: - format: date-time type: string + format: date-time - description: Date to filter Bundles having their `valid_until_date` before or after the specified date. Can be `ValidUntilDate>=` or `ValidUntilDate<=`. Both can be used in conjunction as well. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) @@ -626,8 +686,8 @@ paths: in: query name: ValidUntilDate> schema: - format: date-time type: string + format: date-time - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -641,14 +701,19 @@ paths: content: application/json: schema: + type: object + title: ListBundleResponse properties: + results: + type: array + items: + $ref: '#/components/schemas/numbers.v2.regulatory_compliance.bundle' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -662,338 +727,179 @@ paths: url: format: uri type: string - type: object - results: - items: - $ref: '#/components/schemas/numbers.v2.regulatory_compliance.bundle' - type: array - title: ListBundleResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: Create a new Bundle. - operationId: CreateBundle - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Email: - description: The email address that will receive updates when the - Bundle resource changes status. - type: string - EndUserType: - description: The [type of End User](https://www.twilio.com/docs/phone-numbers/regulatory/api/end-user-types) - of the Bundle resource. - enum: - - individual - - business - type: string - FriendlyName: - description: The string that you assigned to describe the resource. - type: string - IsoCountry: - description: The [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) - of the Bundle's phone number country ownership request. - type: string - NumberType: - description: The type of phone number of the Bundle's ownership - request. Can be `local`, `mobile`, `national`, or `toll free`. - type: string - RegulationSid: - description: The unique string of a regulation that is associated - to the Bundle resource. - maxLength: 34 - minLength: 34 - pattern: ^RN[0-9a-fA-F]{32}$ - type: string - StatusCallback: - description: The URL we call to inform your application of status - changes. - format: uri - type: string - required: - - FriendlyName - - Email - title: CreateBundleRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/numbers.v2.regulatory_compliance.bundle' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA + /v2/RegulatoryCompliance/Bundles/{Sid}: servers: - url: https://numbers.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - regulation_sid - friendly_name + pathType: instance parent: /RegulatoryCompliance - pathType: list - /v2/RegulatoryCompliance/Bundles/{BundleSid}/Copies: - description: 'TODO: Resource-level docs' get: - description: Retrieve a list of all Bundles Copies for a Bundle. - operationId: ListBundleCopy + description: Fetch a specific Bundle instance. + operationId: FetchBundle parameters: - description: The unique string that we created to identify the Bundle resource. in: path - name: BundleSid + name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^BU[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 responses: '200': content: application/json: schema: - properties: - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - results: - items: - $ref: '#/components/schemas/numbers.v2.regulatory_compliance.bundle.bundle_copy' - type: array - title: ListBundleCopyResponse - type: object + $ref: '#/components/schemas/numbers.v2.regulatory_compliance.bundle' description: OK security: - accountSid_authToken: [] x-maturity: - - Beta + - GA post: - description: Creates a new copy of a Bundle. It will internally create copies - of all the bundle items (identities and documents) of the original bundle - operationId: CreateBundleCopy + description: Updates a Bundle in an account. + operationId: UpdateBundle parameters: - - description: The unique string that identifies the Bundle to be copied. + - description: The unique string that we created to identify the Bundle resource. in: path - name: BundleSid + name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^BU[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: + Status: + type: string + enum: + - draft + - pending-review + - in-review + - twilio-rejected + - twilio-approved + - provisionally-approved + description: The verification status of the Bundle resource. + StatusCallback: + description: The URL we call to inform your application of status + changes. + format: uri + type: string FriendlyName: - description: The string that you assigned to describe the copied - bundle. + description: The string that you assigned to describe the resource. type: string - title: CreateBundleCopyRequest + Email: + description: The email address that will receive updates when the + Bundle resource changes status. + type: string + title: UpdateBundleRequest type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/numbers.v2.regulatory_compliance.bundle.bundle_copy' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - Beta - servers: - - url: https://numbers.twilio.com - x-twilio: - className: bundle_copy - defaultOutputProperties: [] - parent: /RegulatoryCompliance/Bundles - pathType: list - /v2/RegulatoryCompliance/Bundles/{BundleSid}/Evaluations: - description: 'TODO: Resource-level docs' - get: - description: Retrieve a list of Evaluations associated to the Bundle resource. - operationId: ListEvaluation - parameters: - - description: The unique string that identifies the Bundle resource. - in: path - name: BundleSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^BU[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 responses: '200': content: application/json: schema: - properties: - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - results: - items: - $ref: '#/components/schemas/numbers.v2.regulatory_compliance.bundle.evaluation' - type: array - title: ListEvaluationResponse - type: object + $ref: '#/components/schemas/numbers.v2.regulatory_compliance.bundle' description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: Creates an evaluation for a bundle - operationId: CreateEvaluation + delete: + description: Delete a specific Bundle. + operationId: DeleteBundle parameters: - - description: The unique string that identifies the Bundle resource. + - description: The unique string that we created to identify the Bundle resource. in: path - name: BundleSid + name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^BU[0-9a-fA-F]{32}$ - type: string responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/numbers.v2.regulatory_compliance.bundle.evaluation' - description: Created + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA + /v2/RegulatoryCompliance/Bundles/{BundleSid}/Copies: servers: - url: https://numbers.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - defaultOutputProperties: - - sid - parent: /RegulatoryCompliance/Bundles + defaultOutputProperties: [] pathType: list - /v2/RegulatoryCompliance/Bundles/{BundleSid}/Evaluations/{Sid}: - description: 'TODO: Resource-level docs' - get: - description: Fetch specific Evaluation Instance. - operationId: FetchEvaluation + parent: /RegulatoryCompliance/Bundles + className: bundle_copy + post: + description: Creates a new copy of a Bundle. It will internally create copies + of all the bundle items (identities and documents) of the original bundle + operationId: CreateBundleCopy parameters: - - description: The unique string that we created to identify the Bundle resource. + - description: The unique string that identifies the Bundle to be copied. in: path name: BundleSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^BU[0-9a-fA-F]{32}$ type: string - - description: The unique string that identifies the Evaluation resource. - in: path - name: Sid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^EL[0-9a-fA-F]{32}$ - type: string + maxLength: 34 + pattern: ^BU[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: The string that you assigned to describe the copied + bundle. + type: string + title: CreateBundleCopyRequest + type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/numbers.v2.regulatory_compliance.bundle.evaluation' - description: OK + $ref: '#/components/schemas/numbers.v2.regulatory_compliance.bundle.bundle_copy' + description: Created security: - accountSid_authToken: [] x-maturity: - - GA - servers: - - url: https://numbers.twilio.com - x-twilio: - defaultOutputProperties: - - sid - parent: /RegulatoryCompliance/Bundles - pathType: instance - /v2/RegulatoryCompliance/Bundles/{BundleSid}/ItemAssignments: - description: 'TODO: Resource-level docs' + - Beta get: - description: Retrieve a list of all Assigned Items for an account. - operationId: ListItemAssignment + description: Retrieve a list of all Bundles Copies for a Bundle. + operationId: ListBundleCopy parameters: - description: The unique string that we created to identify the Bundle resource. in: path name: BundleSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^BU[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 @@ -1007,14 +913,19 @@ paths: content: application/json: schema: + type: object + title: ListBundleCopyResponse properties: + results: + type: array + items: + $ref: '#/components/schemas/numbers.v2.regulatory_compliance.bundle.bundle_copy' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1028,298 +939,214 @@ paths: url: format: uri type: string - type: object - results: - items: - $ref: '#/components/schemas/numbers.v2.regulatory_compliance.bundle.item_assignment' - type: array - title: ListItemAssignmentResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - - GA + - Beta + /v2/RegulatoryCompliance/EndUsers: + servers: + - url: https://numbers.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + pathType: list + parent: /RegulatoryCompliance post: - description: Create a new Assigned Item. - operationId: CreateItemAssignment - parameters: - - description: The unique string that we created to identify the Bundle resource. - in: path - name: BundleSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^BU[0-9a-fA-F]{32}$ - type: string + description: Create a new End User. + operationId: CreateEndUser requestBody: content: application/x-www-form-urlencoded: schema: properties: - ObjectSid: - description: The SID of an object bag that holds information of - the different items. - maxLength: 34 - minLength: 34 - pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ + FriendlyName: + description: The string that you assigned to describe the resource. type: string + Type: + type: string + enum: + - individual + - business + description: The type of end user of the Bundle resource - can be + `individual` or `business`. + Attributes: + description: The set of parameters that are the attributes of the + End User resource which are derived End User Types. required: - - ObjectSid - title: CreateItemAssignmentRequest + - FriendlyName + - Type + title: CreateEndUserRequest type: object responses: '201': content: application/json: schema: - $ref: '#/components/schemas/numbers.v2.regulatory_compliance.bundle.item_assignment' + $ref: '#/components/schemas/numbers.v2.regulatory_compliance.end_user' description: Created security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://numbers.twilio.com - x-twilio: - defaultOutputProperties: - - sid - parent: /RegulatoryCompliance/Bundles - pathType: list - /v2/RegulatoryCompliance/Bundles/{BundleSid}/ItemAssignments/{Sid}: - delete: - description: Remove an Assignment Item Instance. - operationId: DeleteItemAssignment - parameters: - - description: The unique string that we created to identify the Bundle resource. - in: path - name: BundleSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^BU[0-9a-fA-F]{32}$ - type: string - - description: The unique string that we created to identify the Identity resource. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^BV[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: 'TODO: Resource-level docs' get: - description: Fetch specific Assigned Item Instance. - operationId: FetchItemAssignment + description: Retrieve a list of all End User for an account. + operationId: ListEndUser parameters: - - description: The unique string that we created to identify the Bundle resource. - in: path - name: BundleSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^BU[0-9a-fA-F]{32}$ - type: string - - description: The unique string that we created to identify the Identity resource. - in: path - name: Sid - required: true + - description: How many resources to return in each list page. The default is + 50, and the maximum is 1000. + in: query + name: PageSize schema: - maxLength: 34 - minLength: 34 - pattern: ^BV[0-9a-fA-F]{32}$ - type: string + maximum: 1000 + minimum: 1 + type: integer responses: '200': content: application/json: schema: - $ref: '#/components/schemas/numbers.v2.regulatory_compliance.bundle.item_assignment' + type: object + title: ListEndUserResponse + properties: + results: + type: array + items: + $ref: '#/components/schemas/numbers.v2.regulatory_compliance.end_user' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v2/RegulatoryCompliance/EndUsers/{Sid}: servers: - url: https://numbers.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - parent: /RegulatoryCompliance/Bundles + - friendly_name pathType: instance - /v2/RegulatoryCompliance/Bundles/{BundleSid}/ReplaceItems: - description: 'TODO: Resource-level docs' - post: - description: Replaces all bundle items in the target bundle (specified in the - path) with all the bundle items of the source bundle (specified by the from_bundle_sid - body param) - operationId: CreateReplaceItems - parameters: - - description: The unique string that identifies the Bundle where the item assignments - are going to be replaced. - in: path - name: BundleSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^BU[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - FromBundleSid: - description: The source bundle sid to copy the item assignments - from. - maxLength: 34 - minLength: 34 - pattern: ^BU[0-9a-fA-F]{32}$ - type: string - required: - - FromBundleSid - title: CreateReplaceItemsRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/numbers.v2.regulatory_compliance.bundle.replace_items' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - Beta - servers: - - url: https://numbers.twilio.com - x-twilio: - className: replace_items - defaultOutputProperties: [] - parent: /RegulatoryCompliance/Bundles - pathType: list - /v2/RegulatoryCompliance/Bundles/{Sid}: - delete: - description: Delete a specific Bundle. - operationId: DeleteBundle - parameters: - - description: The unique string that we created to identify the Bundle resource. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^BU[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: 'TODO: Resource-level docs' + parent: /RegulatoryCompliance get: - description: Fetch a specific Bundle instance. - operationId: FetchBundle + description: Fetch specific End User Instance. + operationId: FetchEndUser parameters: - - description: The unique string that we created to identify the Bundle resource. + - description: The unique string created by Twilio to identify the End User + resource. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^BU[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^IT[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/numbers.v2.regulatory_compliance.bundle' + $ref: '#/components/schemas/numbers.v2.regulatory_compliance.end_user' description: OK security: - accountSid_authToken: [] x-maturity: - GA post: - description: Updates a Bundle in an account. - operationId: UpdateBundle + description: Update an existing End User. + operationId: UpdateEndUser parameters: - - description: The unique string that we created to identify the Bundle resource. + - description: The unique string created by Twilio to identify the End User + resource. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^BU[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^IT[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - Email: - description: The email address that will receive updates when the - Bundle resource changes status. - type: string FriendlyName: description: The string that you assigned to describe the resource. type: string - Status: - description: The verification status of the Bundle resource. - enum: - - draft - - pending-review - - in-review - - twilio-rejected - - twilio-approved - - provisionally-approved - type: string - StatusCallback: - description: The URL we call to inform your application of status - changes. - format: uri - type: string - title: UpdateBundleRequest + Attributes: + description: The set of parameters that are the attributes of the + End User resource which are derived End User Types. + title: UpdateEndUserRequest type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/numbers.v2.regulatory_compliance.bundle' + $ref: '#/components/schemas/numbers.v2.regulatory_compliance.end_user' description: OK security: - accountSid_authToken: [] x-maturity: - GA + delete: + description: Delete a specific End User. + operationId: DeleteEndUser + parameters: + - description: The unique string created by Twilio to identify the End User + resource. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IT[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v2/RegulatoryCompliance/EndUserTypes: servers: - url: https://numbers.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - - regulation_sid - friendly_name + pathType: list parent: /RegulatoryCompliance - pathType: instance - /v2/RegulatoryCompliance/EndUserTypes: - description: 'TODO: Resource-level docs' get: description: Retrieve a list of all End-User Types. operationId: ListEndUserType @@ -1337,18 +1164,19 @@ paths: content: application/json: schema: + type: object + title: ListEndUserTypeResponse properties: end_user_types: + type: array items: $ref: '#/components/schemas/numbers.v2.regulatory_compliance.end_user_type' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1362,24 +1190,23 @@ paths: url: format: uri type: string - type: object - title: ListEndUserTypeResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v2/RegulatoryCompliance/EndUserTypes/{Sid}: servers: - url: https://numbers.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - friendly_name + pathType: instance parent: /RegulatoryCompliance - pathType: list - /v2/RegulatoryCompliance/EndUserTypes/{Sid}: - description: 'TODO: Resource-level docs' get: description: Fetch a specific End-User Type Instance. operationId: FetchEndUserType @@ -1401,20 +1228,52 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v2/RegulatoryCompliance/Bundles/{BundleSid}/Evaluations: servers: - url: https://numbers.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - - friendly_name - parent: /RegulatoryCompliance - pathType: instance - /v2/RegulatoryCompliance/EndUsers: - description: 'TODO: Resource-level docs' + pathType: list + parent: /RegulatoryCompliance/Bundles + post: + description: Creates an evaluation for a bundle + operationId: CreateEvaluation + parameters: + - description: The unique string that identifies the Bundle resource. + in: path + name: BundleSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^BU[0-9a-fA-F]{32}$ + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/numbers.v2.regulatory_compliance.bundle.evaluation' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA get: - description: Retrieve a list of all End User for an account. - operationId: ListEndUser + description: Retrieve a list of Evaluations associated to the Bundle resource. + operationId: ListEvaluation parameters: + - description: The unique string that identifies the Bundle resource. + in: path + name: BundleSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^BU[0-9a-fA-F]{32}$ - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -1428,14 +1287,19 @@ paths: content: application/json: schema: + type: object + title: ListEvaluationResponse properties: + results: + type: array + items: + $ref: '#/components/schemas/numbers.v2.regulatory_compliance.bundle.evaluation' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1449,159 +1313,244 @@ paths: url: format: uri type: string - type: object - results: - items: - $ref: '#/components/schemas/numbers.v2.regulatory_compliance.end_user' - type: array - title: ListEndUserResponse - type: object + key: + type: string + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v2/RegulatoryCompliance/Bundles/{BundleSid}/Evaluations/{Sid}: + servers: + - url: https://numbers.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + pathType: instance + parent: /RegulatoryCompliance/Bundles + get: + description: Fetch specific Evaluation Instance. + operationId: FetchEvaluation + parameters: + - description: The unique string that we created to identify the Bundle resource. + in: path + name: BundleSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^BU[0-9a-fA-F]{32}$ + - description: The unique string that identifies the Evaluation resource. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^EL[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/numbers.v2.regulatory_compliance.bundle.evaluation' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v2/RegulatoryCompliance/Bundles/{BundleSid}/ItemAssignments: + servers: + - url: https://numbers.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + pathType: list + parent: /RegulatoryCompliance/Bundles post: - description: Create a new End User. - operationId: CreateEndUser + description: Create a new Assigned Item. + operationId: CreateItemAssignment + parameters: + - description: The unique string that we created to identify the Bundle resource. + in: path + name: BundleSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^BU[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - Attributes: - description: The set of parameters that are the attributes of the - End User resource which are derived End User Types. - FriendlyName: - description: The string that you assigned to describe the resource. - type: string - Type: - description: The type of end user of the Bundle resource - can be - `individual` or `business`. - enum: - - individual - - business + ObjectSid: type: string + minLength: 34 + maxLength: 34 + pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ + description: The SID of an object bag that holds information of + the different items. required: - - FriendlyName - - Type - title: CreateEndUserRequest + - ObjectSid + title: CreateItemAssignmentRequest type: object responses: - '201': + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/numbers.v2.regulatory_compliance.bundle.item_assignment' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + get: + description: Retrieve a list of all Assigned Items for an account. + operationId: ListItemAssignment + parameters: + - description: The unique string that we created to identify the Bundle resource. + in: path + name: BundleSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^BU[0-9a-fA-F]{32}$ + - 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 + responses: + '200': content: application/json: schema: - $ref: '#/components/schemas/numbers.v2.regulatory_compliance.end_user' - description: Created + type: object + title: ListItemAssignmentResponse + properties: + results: + type: array + items: + $ref: '#/components/schemas/numbers.v2.regulatory_compliance.bundle.item_assignment' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string + description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v2/RegulatoryCompliance/Bundles/{BundleSid}/ItemAssignments/{Sid}: servers: - url: https://numbers.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - - friendly_name - parent: /RegulatoryCompliance - pathType: list - /v2/RegulatoryCompliance/EndUsers/{Sid}: - delete: - description: Delete a specific End User. - operationId: DeleteEndUser + pathType: instance + parent: /RegulatoryCompliance/Bundles + get: + description: Fetch specific Assigned Item Instance. + operationId: FetchItemAssignment parameters: - - description: The unique string created by Twilio to identify the End User - resource. + - description: The unique string that we created to identify the Bundle resource. in: path - name: Sid + name: BundleSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^IT[0-9a-fA-F]{32}$ type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: 'TODO: Resource-level docs' - get: - description: Fetch specific End User Instance. - operationId: FetchEndUser - parameters: - - description: The unique string created by Twilio to identify the End User - resource. + minLength: 34 + maxLength: 34 + pattern: ^BU[0-9a-fA-F]{32}$ + - description: The unique string that we created to identify the Identity resource. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^IT[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^BV[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/numbers.v2.regulatory_compliance.end_user' + $ref: '#/components/schemas/numbers.v2.regulatory_compliance.bundle.item_assignment' description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: Update an existing End User. - operationId: UpdateEndUser + delete: + description: Remove an Assignment Item Instance. + operationId: DeleteItemAssignment parameters: - - description: The unique string created by Twilio to identify the End User - resource. + - description: The unique string that we created to identify the Bundle resource. in: path - name: Sid + name: BundleSid required: true schema: - maxLength: 34 + type: string minLength: 34 - pattern: ^IT[0-9a-fA-F]{32}$ + maxLength: 34 + pattern: ^BU[0-9a-fA-F]{32}$ + - description: The unique string that we created to identify the Identity resource. + in: path + name: Sid + required: true + schema: type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Attributes: - description: The set of parameters that are the attributes of the - End User resource which are derived End User Types. - FriendlyName: - description: The string that you assigned to describe the resource. - type: string - title: UpdateEndUserRequest - type: object + minLength: 34 + maxLength: 34 + pattern: ^BV[0-9a-fA-F]{32}$ responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/numbers.v2.regulatory_compliance.end_user' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA + /v2/RegulatoryCompliance/Regulations: servers: - url: https://numbers.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - friendly_name + pathType: list parent: /RegulatoryCompliance - pathType: instance - /v2/RegulatoryCompliance/Regulations: - description: 'TODO: Resource-level docs' get: description: Retrieve a list of all Regulations. operationId: ListRegulation @@ -1611,10 +1560,10 @@ paths: in: query name: EndUserType schema: + type: string enum: - individual - business - type: string - description: The ISO country code of the phone number's country. in: query name: IsoCountry @@ -1638,14 +1587,19 @@ paths: content: application/json: schema: + type: object + title: ListRegulationResponse properties: + results: + type: array + items: + $ref: '#/components/schemas/numbers.v2.regulatory_compliance.regulation' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1659,28 +1613,23 @@ paths: url: format: uri type: string - type: object - results: - items: - $ref: '#/components/schemas/numbers.v2.regulatory_compliance.regulation' - type: array - title: ListRegulationResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v2/RegulatoryCompliance/Regulations/{Sid}: servers: - url: https://numbers.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - friendly_name + pathType: instance parent: /RegulatoryCompliance - pathType: list - /v2/RegulatoryCompliance/Regulations/{Sid}: - description: 'TODO: Resource-level docs' get: description: Fetch specific Regulation Instance. operationId: FetchRegulation @@ -1690,10 +1639,10 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^RN[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -1705,19 +1654,112 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v2/RegulatoryCompliance: + servers: + - url: https://numbers.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: [] + pathType: list + /v2/RegulatoryCompliance/Bundles/{BundleSid}/ReplaceItems: + servers: + - url: https://numbers.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: [] + pathType: list + parent: /RegulatoryCompliance/Bundles + className: replace_items + post: + description: Replaces all bundle items in the target bundle (specified in the + path) with all the bundle items of the source bundle (specified by the from_bundle_sid + body param) + operationId: CreateReplaceItems + parameters: + - description: The unique string that identifies the Bundle where the item assignments + are going to be replaced. + in: path + name: BundleSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^BU[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FromBundleSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^BU[0-9a-fA-F]{32}$ + description: The source bundle sid to copy the item assignments + from. + required: + - FromBundleSid + title: CreateReplaceItemsRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/numbers.v2.regulatory_compliance.bundle.replace_items' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - Beta + /v2/RegulatoryCompliance/SupportingDocuments: servers: - url: https://numbers.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - friendly_name + pathType: list parent: /RegulatoryCompliance - pathType: instance - /v2/RegulatoryCompliance/SupportingDocumentTypes: - description: 'TODO: Resource-level docs' + post: + description: Create a new Supporting Document. + operationId: CreateSupportingDocument + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: The string that you assigned to describe the resource. + type: string + Type: + description: The type of the Supporting Document. + type: string + Attributes: + description: The set of parameters that are the attributes of the + Supporting Documents resource which are derived Supporting Document + Types. + required: + - FriendlyName + - Type + title: CreateSupportingDocumentRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/numbers.v2.regulatory_compliance.supporting_document' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA get: - description: Retrieve a list of all Supporting Document Types. - operationId: ListSupportingDocumentType + description: Retrieve a list of all Supporting Document for an account. + operationId: ListSupportingDocument parameters: - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. @@ -1732,14 +1774,19 @@ paths: content: application/json: schema: + type: object + title: ListSupportingDocumentResponse properties: + results: + type: array + items: + $ref: '#/components/schemas/numbers.v2.regulatory_compliance.supporting_document' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1753,63 +1800,121 @@ paths: url: format: uri type: string - type: object - supporting_document_types: - items: - $ref: '#/components/schemas/numbers.v2.regulatory_compliance.supporting_document_type' - type: array - title: ListSupportingDocumentTypeResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v2/RegulatoryCompliance/SupportingDocuments/{Sid}: servers: - url: https://numbers.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - friendly_name + pathType: instance parent: /RegulatoryCompliance - pathType: list - /v2/RegulatoryCompliance/SupportingDocumentTypes/{Sid}: - description: 'TODO: Resource-level docs' get: - description: Fetch a specific Supporting Document Type Instance. - operationId: FetchSupportingDocumentType + description: Fetch specific Supporting Document Instance. + operationId: FetchSupportingDocument parameters: - - description: The unique string that identifies the Supporting Document Type - resource. + - description: The unique string created by Twilio to identify the Supporting + Document resource. in: path name: Sid required: true schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^RD[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/numbers.v2.regulatory_compliance.supporting_document_type' + $ref: '#/components/schemas/numbers.v2.regulatory_compliance.supporting_document' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + post: + description: Update an existing Supporting Document. + operationId: UpdateSupportingDocument + parameters: + - description: The unique string created by Twilio to identify the Supporting + Document resource. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RD[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: The string that you assigned to describe the resource. + type: string + Attributes: + description: The set of parameters that are the attributes of the + Supporting Document resource which are derived Supporting Document + Types. + title: UpdateSupportingDocumentRequest + type: object + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/numbers.v2.regulatory_compliance.supporting_document' description: OK security: - accountSid_authToken: [] x-maturity: - GA + delete: + description: Delete a specific Supporting Document. + operationId: DeleteSupportingDocument + parameters: + - description: The unique string created by Twilio to identify the Supporting + Document resource. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RD[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v2/RegulatoryCompliance/SupportingDocumentTypes: servers: - url: https://numbers.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - friendly_name + pathType: list parent: /RegulatoryCompliance - pathType: instance - /v2/RegulatoryCompliance/SupportingDocuments: - description: 'TODO: Resource-level docs' get: - description: Retrieve a list of all Supporting Document for an account. - operationId: ListSupportingDocument + description: Retrieve a list of all Supporting Document Types. + operationId: ListSupportingDocumentType parameters: - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. @@ -1824,14 +1929,19 @@ paths: content: application/json: schema: + type: object + title: ListSupportingDocumentTypeResponse properties: + supporting_document_types: + type: array + items: + $ref: '#/components/schemas/numbers.v2.regulatory_compliance.supporting_document_type' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1845,160 +1955,50 @@ paths: url: format: uri type: string - type: object - results: - items: - $ref: '#/components/schemas/numbers.v2.regulatory_compliance.supporting_document' - type: array - title: ListSupportingDocumentResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: Create a new Supporting Document. - operationId: CreateSupportingDocument - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Attributes: - description: The set of parameters that are the attributes of the - Supporting Documents resource which are derived Supporting Document - Types. - FriendlyName: - description: The string that you assigned to describe the resource. - type: string - Type: - description: The type of the Supporting Document. - type: string - required: - - FriendlyName - - Type - title: CreateSupportingDocumentRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/numbers.v2.regulatory_compliance.supporting_document' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA + /v2/RegulatoryCompliance/SupportingDocumentTypes/{Sid}: servers: - url: https://numbers.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - friendly_name + pathType: instance parent: /RegulatoryCompliance - pathType: list - /v2/RegulatoryCompliance/SupportingDocuments/{Sid}: - delete: - description: Delete a specific Supporting Document. - operationId: DeleteSupportingDocument - parameters: - - description: The unique string created by Twilio to identify the Supporting - Document resource. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^RD[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: 'TODO: Resource-level docs' get: - description: Fetch specific Supporting Document Instance. - operationId: FetchSupportingDocument - parameters: - - description: The unique string created by Twilio to identify the Supporting - Document resource. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^RD[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/numbers.v2.regulatory_compliance.supporting_document' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: Update an existing Supporting Document. - operationId: UpdateSupportingDocument + description: Fetch a specific Supporting Document Type Instance. + operationId: FetchSupportingDocumentType parameters: - - description: The unique string created by Twilio to identify the Supporting - Document resource. + - description: The unique string that identifies the Supporting Document Type + resource. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^RD[0-9a-fA-F]{32}$ type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Attributes: - description: The set of parameters that are the attributes of the - Supporting Document resource which are derived Supporting Document - Types. - FriendlyName: - description: The string that you assigned to describe the resource. - type: string - title: UpdateSupportingDocumentRequest - type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/numbers.v2.regulatory_compliance.supporting_document' + $ref: '#/components/schemas/numbers.v2.regulatory_compliance.supporting_document_type' description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://numbers.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - parent: /RegulatoryCompliance - pathType: instance servers: - url: https://numbers.twilio.com x-maturity: -- description: This product is Generally Available. - name: GA -- description: PLEASE NOTE that this is a Beta product that is subject to change. +- name: GA + description: This product is Generally Available. +- name: Beta + description: PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution. - name: Beta diff --git a/spec/yaml/twilio_pricing_v1.yaml b/spec/yaml/twilio_pricing_v1.yaml index 4ee36f54..342ba6b2 100644 --- a/spec/yaml/twilio_pricing_v1.yaml +++ b/spec/yaml/twilio_pricing_v1.yaml @@ -1,6 +1,7 @@ components: schemas: pricing.v1.messaging: + type: object properties: links: format: uri-map @@ -13,8 +14,8 @@ components: format: uri nullable: true type: string - type: object pricing.v1.messaging.messaging_country: + type: object properties: country: description: The name of the country @@ -30,15 +31,15 @@ components: format: uri nullable: true type: string - type: object pricing.v1.messaging.messaging_country-instance: + type: object properties: country: description: The name of the country nullable: true type: string inbound_sms_prices: - description: The list of InboundPrice records + type: array items: format: inbound-sms-price properties: @@ -50,14 +51,14 @@ components: type: string type: object nullable: true - type: array + description: The list of InboundPrice records iso_country: description: The ISO country code format: iso-country-code nullable: true type: string outbound_sms_prices: - description: The list of OutboundSMSPrice records + type: array items: format: outbound-sms-price properties: @@ -80,7 +81,7 @@ components: type: array type: object nullable: true - type: array + description: The list of OutboundSMSPrice records price_unit: description: The currency in which prices are measured, in ISO 4127 format (e.g. usd, eur, jpy) @@ -92,8 +93,8 @@ components: format: uri nullable: true type: string - type: object pricing.v1.phone_number: + type: object properties: links: format: uri-map @@ -106,8 +107,8 @@ components: format: uri nullable: true type: string - type: object pricing.v1.phone_number.phone_number_country: + type: object properties: country: description: The name of the country @@ -123,8 +124,8 @@ components: format: uri nullable: true type: string - type: object pricing.v1.phone_number.phone_number_country-instance: + type: object properties: country: description: The name of the country @@ -136,7 +137,7 @@ components: nullable: true type: string phone_number_prices: - description: The list of PhoneNumberPrices records + type: array items: format: phone-number-price properties: @@ -148,7 +149,7 @@ components: type: string type: object nullable: true - type: array + description: The list of PhoneNumberPrices records price_unit: description: The currency in which prices are measured, in ISO 4127 format (e.g. usd, eur, jpy) @@ -160,8 +161,8 @@ components: format: uri nullable: true type: string - type: object pricing.v1.voice: + type: object properties: links: format: uri-map @@ -174,8 +175,8 @@ components: format: uri nullable: true type: string - type: object pricing.v1.voice.voice_country: + type: object properties: country: description: The name of the country @@ -191,15 +192,15 @@ components: format: uri nullable: true type: string - type: object pricing.v1.voice.voice_country-instance: + type: object properties: country: description: The name of the country nullable: true type: string inbound_call_prices: - description: The list of InboundCallPrice records + type: array items: format: inbound-call-price properties: @@ -211,14 +212,14 @@ components: type: string type: object nullable: true - type: array + description: The list of InboundCallPrice records iso_country: description: The ISO country code format: iso-country-code nullable: true type: string outbound_prefix_prices: - description: The list of OutboundPrefixPrice records + type: array items: format: outbound-prefix-price properties: @@ -234,7 +235,7 @@ components: type: array type: object nullable: true - type: array + description: The list of OutboundPrefixPrice records price_unit: description: The currency in which prices are measured, in ISO 4127 format (e.g. usd, eur, jpy) @@ -246,8 +247,8 @@ components: format: uri nullable: true type: string - type: object pricing.v1.voice.voice_number: + type: object properties: country: description: The name of the country @@ -296,7 +297,6 @@ components: format: uri nullable: true type: string - type: object securitySchemes: accountSid_authToken: scheme: basic @@ -316,15 +316,25 @@ info: openapi: 3.0.1 paths: /v1/Messaging: - description: 'TODO: Resource-level docs' servers: - url: https://pricing.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - name pathType: instance /v1/Messaging/Countries: + servers: + - url: https://pricing.twilio.com description: Messaging pricing by country + x-twilio: + defaultOutputProperties: + - country + - outbound_sms_prices + - inbound_sms_prices + - price_unit + pathType: list + parent: /Messaging get: description: '' operationId: ListMessagingCountry @@ -342,18 +352,19 @@ paths: content: application/json: schema: + type: object + title: ListMessagingCountryResponse properties: countries: + type: array items: $ref: '#/components/schemas/pricing.v1.messaging.messaging_country' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -367,26 +378,25 @@ paths: url: format: uri type: string - type: object - title: ListMessagingCountryResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Messaging/Countries/{IsoCountry}: servers: - url: https://pricing.twilio.com + description: Messaging pricing by country x-twilio: defaultOutputProperties: - country - outbound_sms_prices - inbound_sms_prices - price_unit + pathType: instance parent: /Messaging - pathType: list - /v1/Messaging/Countries/{IsoCountry}: - description: Messaging pricing by country get: description: '' operationId: FetchMessagingCountry @@ -410,26 +420,24 @@ paths: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://pricing.twilio.com - x-twilio: - defaultOutputProperties: - - country - - outbound_sms_prices - - inbound_sms_prices - - price_unit - parent: /Messaging - pathType: instance /v1/PhoneNumbers: - description: 'TODO: Resource-level docs' servers: - url: https://pricing.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - name pathType: list /v1/PhoneNumbers/Countries: + servers: + - url: https://pricing.twilio.com description: Phone number pricing by country + x-twilio: + defaultOutputProperties: + - country + - price_unit + pathType: list + parent: /PhoneNumbers get: description: '' operationId: ListPhoneNumberCountry @@ -447,18 +455,19 @@ paths: content: application/json: schema: + type: object + title: ListPhoneNumberCountryResponse properties: countries: + type: array items: $ref: '#/components/schemas/pricing.v1.phone_number.phone_number_country' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -472,24 +481,23 @@ paths: url: format: uri type: string - type: object - title: ListPhoneNumberCountryResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/PhoneNumbers/Countries/{IsoCountry}: servers: - url: https://pricing.twilio.com + description: Phone number pricing by country x-twilio: defaultOutputProperties: - country - price_unit + pathType: instance parent: /PhoneNumbers - pathType: list - /v1/PhoneNumbers/Countries/{IsoCountry}: - description: Phone number pricing by country get: description: '' operationId: FetchPhoneNumberCountry @@ -513,24 +521,24 @@ paths: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://pricing.twilio.com - x-twilio: - defaultOutputProperties: - - country - - price_unit - parent: /PhoneNumbers - pathType: instance /v1/Voice: - description: 'TODO: Resource-level docs' servers: - url: https://pricing.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - name pathType: instance /v1/Voice/Countries: + servers: + - url: https://pricing.twilio.com description: Voice pricing by country + x-twilio: + defaultOutputProperties: + - country + - price_unit + pathType: list + parent: /Voice get: description: '' operationId: ListVoiceCountry @@ -548,18 +556,19 @@ paths: content: application/json: schema: + type: object + title: ListVoiceCountryResponse properties: countries: + type: array items: $ref: '#/components/schemas/pricing.v1.voice.voice_country' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -573,24 +582,23 @@ paths: url: format: uri type: string - type: object - title: ListVoiceCountryResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Voice/Countries/{IsoCountry}: servers: - url: https://pricing.twilio.com + description: Voice pricing by country x-twilio: defaultOutputProperties: - country - price_unit + pathType: instance parent: /Voice - pathType: list - /v1/Voice/Countries/{IsoCountry}: - description: Voice pricing by country get: description: '' operationId: FetchVoiceCountry @@ -614,16 +622,18 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Voice/Numbers/{Number}: servers: - url: https://pricing.twilio.com + description: Voice pricing for a specific phone number x-twilio: defaultOutputProperties: - country + - outbound_call_price + - inbound_call_price - price_unit - parent: /Voice pathType: instance - /v1/Voice/Numbers/{Number}: - description: Voice pricing for a specific phone number + parent: /Voice get: description: '' operationId: FetchVoiceNumber @@ -646,18 +656,8 @@ paths: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://pricing.twilio.com - x-twilio: - defaultOutputProperties: - - country - - outbound_call_price - - inbound_call_price - - price_unit - parent: /Voice - pathType: instance servers: - url: https://pricing.twilio.com x-maturity: -- description: This product is Generally Available. - name: GA +- name: GA + description: This product is Generally Available. diff --git a/spec/yaml/twilio_pricing_v2.yaml b/spec/yaml/twilio_pricing_v2.yaml index ef918e61..3c0fec40 100644 --- a/spec/yaml/twilio_pricing_v2.yaml +++ b/spec/yaml/twilio_pricing_v2.yaml @@ -1,6 +1,7 @@ components: schemas: pricing.v2.trunking_country: + type: object properties: country: description: The name of the country @@ -16,8 +17,8 @@ components: format: uri nullable: true type: string - type: object pricing.v2.trunking_country-instance: + type: object properties: country: description: The name of the country @@ -29,7 +30,7 @@ components: nullable: true type: string originating_call_prices: - description: The list of OriginatingCallPrice records + type: array items: format: inbound-call-price properties: @@ -41,7 +42,7 @@ components: type: string type: object nullable: true - type: array + description: The list of OriginatingCallPrice records price_unit: description: The currency in which prices are measured, in ISO 4127 format (e.g. usd, eur, jpy) @@ -49,7 +50,7 @@ components: nullable: true type: string terminating_prefix_prices: - description: The list of TerminatingPrefixPrice records + type: array items: format: outbound-prefix-price-with-origin properties: @@ -69,14 +70,14 @@ components: type: array type: object nullable: true - type: array + description: The list of TerminatingPrefixPrice records url: description: The absolute URL of the resource format: uri nullable: true type: string - type: object pricing.v2.trunking_number: + type: object properties: country: description: The name of the country @@ -116,6 +117,7 @@ components: nullable: true type: string terminating_prefix_prices: + type: array items: format: outbound-prefix-price-with-origin properties: @@ -135,14 +137,13 @@ components: type: array type: object nullable: true - type: array url: description: The absolute URL of the resource format: uri nullable: true type: string - type: object pricing.v2.voice: + type: object properties: links: description: The URLs of the related Countries and Numbers resources @@ -158,8 +159,8 @@ components: format: uri nullable: true type: string - type: object pricing.v2.voice.voice_country: + type: object properties: country: description: The name of the country @@ -175,15 +176,15 @@ components: format: uri nullable: true type: string - type: object pricing.v2.voice.voice_country-instance: + type: object properties: country: description: The name of the country nullable: true type: string inbound_call_prices: - description: The list of InboundCallPrice records + type: array items: format: inbound-call-price properties: @@ -195,14 +196,14 @@ components: type: string type: object nullable: true - type: array + description: The list of InboundCallPrice records iso_country: description: The ISO country code format: iso-country-code nullable: true type: string outbound_prefix_prices: - description: The list of OutboundPrefixPriceWithOrigin records + type: array items: format: outbound-prefix-price-with-origin properties: @@ -222,7 +223,7 @@ components: type: array type: object nullable: true - type: array + description: The list of OutboundPrefixPriceWithOrigin records price_unit: description: The currency in which prices are measured, in ISO 4127 format (e.g. usd, eur, jpy) @@ -234,8 +235,8 @@ components: format: uri nullable: true type: string - type: object pricing.v2.voice.voice_number: + type: object properties: country: description: The name of the country @@ -269,7 +270,7 @@ components: nullable: true type: string outbound_call_prices: - description: The list of OutboundCallPriceWithOrigin records + type: array items: format: outbound-call-price-with-origin properties: @@ -283,7 +284,7 @@ components: type: array type: object nullable: true - type: array + description: The list of OutboundCallPriceWithOrigin records price_unit: description: The currency in which prices are measured, in ISO 4127 format (e.g. usd, eur, jpy) @@ -295,7 +296,6 @@ components: format: uri nullable: true type: string - type: object securitySchemes: accountSid_authToken: scheme: basic @@ -315,7 +315,14 @@ info: openapi: 3.0.1 paths: /v2/Trunking/Countries: + servers: + - url: https://pricing.twilio.com description: Trunking pricing by country + x-twilio: + defaultOutputProperties: + - country + - price_unit + pathType: list get: description: '' operationId: ListTrunkingCountry @@ -333,18 +340,19 @@ paths: content: application/json: schema: + type: object + title: ListTrunkingCountryResponse properties: countries: + type: array items: $ref: '#/components/schemas/pricing.v2.trunking_country' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -358,23 +366,22 @@ paths: url: format: uri type: string - type: object - title: ListTrunkingCountryResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v2/Trunking/Countries/{IsoCountry}: servers: - url: https://pricing.twilio.com + description: Trunking pricing by country x-twilio: defaultOutputProperties: - country - price_unit - pathType: list - /v2/Trunking/Countries/{IsoCountry}: - description: Trunking pricing by country + pathType: instance get: description: Fetch a specific Country. operationId: FetchTrunkingCountry @@ -398,15 +405,16 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v2/Trunking/Numbers/{DestinationNumber}: servers: - url: https://pricing.twilio.com + description: Trunking pricing for a specific phone number x-twilio: defaultOutputProperties: - country + - inbound_call_price - price_unit pathType: instance - /v2/Trunking/Numbers/{DestinationNumber}: - description: Trunking pricing for a specific phone number get: description: Fetch pricing information for a specific destination and, optionally, origination phone number. @@ -440,24 +448,24 @@ paths: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://pricing.twilio.com - x-twilio: - defaultOutputProperties: - - country - - inbound_call_price - - price_unit - pathType: instance /v2/Voice: - description: Voice pricing servers: - url: https://pricing.twilio.com + description: Voice pricing x-twilio: defaultOutputProperties: - name pathType: instance /v2/Voice/Countries: + servers: + - url: https://pricing.twilio.com description: Voice pricing by country + x-twilio: + defaultOutputProperties: + - country + - price_unit + pathType: list + parent: /Voice get: description: '' operationId: ListVoiceCountry @@ -475,18 +483,19 @@ paths: content: application/json: schema: + type: object + title: ListVoiceCountryResponse properties: countries: + type: array items: $ref: '#/components/schemas/pricing.v2.voice.voice_country' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -500,24 +509,23 @@ paths: url: format: uri type: string - type: object - title: ListVoiceCountryResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v2/Voice/Countries/{IsoCountry}: servers: - url: https://pricing.twilio.com + description: Voice pricing by country x-twilio: defaultOutputProperties: - country - price_unit + pathType: instance parent: /Voice - pathType: list - /v2/Voice/Countries/{IsoCountry}: - description: Voice pricing by country get: description: Fetch a specific Country. operationId: FetchVoiceCountry @@ -541,16 +549,17 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v2/Voice/Numbers/{DestinationNumber}: servers: - url: https://pricing.twilio.com + description: Voice pricing for a specific phone number x-twilio: defaultOutputProperties: - country + - inbound_call_price - price_unit - parent: /Voice pathType: instance - /v2/Voice/Numbers/{DestinationNumber}: - description: Voice pricing for a specific phone number + parent: /Voice get: description: Fetch pricing information for a specific destination and, optionally, origination phone number. @@ -584,17 +593,8 @@ paths: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://pricing.twilio.com - x-twilio: - defaultOutputProperties: - - country - - inbound_call_price - - price_unit - parent: /Voice - pathType: instance servers: - url: https://pricing.twilio.com x-maturity: -- description: This product is Generally Available. - name: GA +- name: GA + description: This product is Generally Available. diff --git a/spec/yaml/twilio_proxy_v1.yaml b/spec/yaml/twilio_proxy_v1.yaml index 32c5ba0a..1d05deae 100644 --- a/spec/yaml/twilio_proxy_v1.yaml +++ b/spec/yaml/twilio_proxy_v1.yaml @@ -1,305 +1,204 @@ components: schemas: - proxy.v1.service: + proxy.v1.service.session.interaction: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 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 - maxLength: 34 - minLength: 34 + description: The SID of the Account that created the resource + data: + description: A JSON string that includes the message body of message interactions nullable: true - pattern: ^IS[0-9a-fA-F]{32}$ type: string date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the Interaction was + created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true + description: The ISO 8601 date and time in GMT when the resource was last + updated + inbound_participant_sid: type: string - default_ttl: - description: Default TTL for a Session, in seconds - nullable: true - type: integer - geo_match_level: - description: Where a proxy number must be located relative to the participant - identifier - enum: - - area-code - - overlay - - radius - - country + minLength: 34 + maxLength: 34 + pattern: ^KP[0-9a-fA-F]{32}$ nullable: true + description: The SID of the inbound Participant resource + inbound_resource_sid: type: string - intercept_callback_url: - description: The URL we call on each interaction - format: uri + minLength: 34 + maxLength: 34 + pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ nullable: true + description: The SID of the inbound resource + inbound_resource_status: type: string - links: - description: The URLs of resources related to the Service - format: uri-map - nullable: true - type: object - number_selection_behavior: - description: The preference for Proxy Number selection for the Service instance enum: - - avoid-sticky - - prefer-sticky + - accepted + - answered + - busy + - canceled + - completed + - deleted + - delivered + - delivery-unknown + - failed + - in-progress + - initiated + - no-answer + - queued + - received + - receiving + - ringing + - scheduled + - sending + - sent + - undelivered + - unknown 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 - format: uri + description: The inbound resource status of the Interaction + inbound_resource_type: + description: The inbound resource type nullable: true type: string - sid: - description: The unique string that identifies the resource - maxLength: 34 - minLength: 34 + inbound_resource_url: + description: The URL of the Twilio inbound resource + format: uri nullable: true - pattern: ^KS[0-9a-fA-F]{32}$ type: string - unique_name: - description: An application-defined string that uniquely identifies the - resource - nullable: true + outbound_participant_sid: type: string - url: - description: The absolute URL of the Service resource - format: uri + minLength: 34 + maxLength: 34 + pattern: ^KP[0-9a-fA-F]{32}$ nullable: true + description: The SID of the outbound Participant + outbound_resource_sid: type: string - type: object - proxy.v1.service.phone_number: - properties: - account_sid: - description: The SID of the Account that created the resource - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ + description: The SID of the outbound resource + outbound_resource_status: 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 date and time in GMT when the resource was created - format: date-time + 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 nullable: true - type: string - date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated - format: date-time + description: The outbound resource status of the Interaction + outbound_resource_type: + description: The outbound resource type nullable: true type: string - friendly_name: - description: The string that you assigned to describe the resource + outbound_resource_url: + description: The URL of the Twilio outbound resource + format: uri nullable: true type: string - in_use: - description: The number of open session assigned to the number. - nullable: true - type: integer - is_reserved: - description: Reserve the phone number for manual assignment to participants - only - nullable: true - type: boolean - iso_country: - description: The ISO Country Code - nullable: true + service_sid: type: string - phone_number: - description: The phone number in E.164 format - format: phone-number + minLength: 34 + maxLength: 34 + pattern: ^KS[0-9a-fA-F]{32}$ nullable: true + description: The SID of the resource's parent Service + session_sid: type: string - service_sid: - description: The SID of the PhoneNumber resource's parent Service resource - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^KC[0-9a-fA-F]{32}$ nullable: true - pattern: ^KS[0-9a-fA-F]{32}$ - type: string + description: The SID of the resource's parent Session sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 + maxLength: 34 + pattern: ^KI[0-9a-fA-F]{32}$ nullable: true - pattern: ^PN[0-9a-fA-F]{32}$ + description: The unique string that identifies the resource + type: type: string + enum: + - message + - voice + - unknown + nullable: true + description: The Type of the Interaction url: - description: The absolute URL of the PhoneNumber resource + description: The absolute URL of the Interaction resource format: uri nullable: true type: string + proxy.v1.service.session.participant.message_interaction: type: object - proxy.v1.service.session: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - closed_reason: - description: The reason the Session ended + nullable: true + description: The SID of the Account that created the resource + data: + description: A JSON string that includes the message body sent to the participant nullable: true type: string date_created: - description: The 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 date when the Session ended format: date-time nullable: true + description: The ISO 8601 date and time in GMT when the resource was created + date_updated: type: string - date_expiry: - description: The ISO 8601 date when the Session should expire format: date-time nullable: true + description: The ISO 8601 date and time in GMT when the resource was last + updated + inbound_participant_sid: type: string - date_last_interaction: - description: The ISO 8601 date when the Session last had an interaction - format: date-time - nullable: true - type: string - date_started: - description: The ISO 8601 date when the Session started - format: date-time - nullable: true - type: string - date_updated: - description: The 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: - description: The Mode of the Session - enum: - - message-only - - voice-only - - voice-and-message - nullable: true - type: string - service_sid: - description: The SID of the resource's parent Service - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^KS[0-9a-fA-F]{32}$ - type: string - sid: - description: The unique string that identifies the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^KC[0-9a-fA-F]{32}$ - type: string - status: - description: The status of the Session - enum: - - open - - in-progress - - closed - - failed - - unknown - nullable: true - type: string - ttl: - description: When the session will expire - nullable: true - type: integer - unique_name: - description: An application-defined string that uniquely identifies the - resource - 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 that created the 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 - nullable: true - type: string - date_created: - description: The 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 date and time in GMT when the resource was last - updated - format: date-time + minLength: 34 + maxLength: 34 + pattern: ^KP[0-9a-fA-F]{32}$ nullable: true + description: Always empty for Message Interactions + inbound_resource_sid: type: string - inbound_participant_sid: - description: The SID of the inbound 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 maxLength: 34 - minLength: 34 - nullable: true pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ - type: string + nullable: true + description: Always empty for Message Interactions inbound_resource_status: - description: The inbound resource status of the Interaction + type: string enum: - accepted - answered @@ -323,32 +222,32 @@ components: - undelivered - unknown nullable: true - type: string + description: Always empty for Message Interactions inbound_resource_type: - description: The inbound resource type + description: Always empty for Message Interactions nullable: true type: string inbound_resource_url: - description: The URL of the Twilio inbound resource + description: Always empty for Message Interactions format: uri nullable: true type: string outbound_participant_sid: - description: The SID of the outbound Participant - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^KP[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the outbound Participant resource outbound_resource_sid: - description: The SID of the outbound resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the outbound Message resource outbound_resource_status: - description: The outbound resource status of the Interaction + type: string enum: - accepted - answered @@ -372,76 +271,83 @@ components: - undelivered - unknown nullable: true - type: string + description: The outbound resource status outbound_resource_type: description: The outbound resource type nullable: true type: string outbound_resource_url: - description: The URL of the Twilio outbound resource + description: The URL of the Twilio message resource format: uri nullable: true type: string - service_sid: - description: The SID of the resource's parent Service - maxLength: 34 + participant_sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^KP[0-9a-fA-F]{32}$ nullable: true - pattern: ^KS[0-9a-fA-F]{32}$ + description: The SID of the Participant resource + service_sid: type: string - session_sid: - description: The SID of the resource's parent Session - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^KS[0-9a-fA-F]{32}$ nullable: true - pattern: ^KC[0-9a-fA-F]{32}$ + description: The SID of the resource's parent Service + session_sid: type: string - sid: - description: The unique string that identifies the resource - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^KC[0-9a-fA-F]{32}$ nullable: true - pattern: ^KI[0-9a-fA-F]{32}$ + description: The SID of the resource's parent Session + sid: type: string + minLength: 34 + maxLength: 34 + pattern: ^KI[0-9a-fA-F]{32}$ + nullable: true + description: The unique string that identifies the resource type: - description: The Type of the Interaction + type: string enum: - message - voice - unknown nullable: true - type: string + description: The Type of Message Interaction url: - description: The absolute URL of the Interaction resource + description: The absolute URL of the MessageInteraction resource format: uri nullable: true type: string - type: object proxy.v1.service.session.participant: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_deleted: - description: The ISO 8601 date the Participant was removed + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date the Participant was removed date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated friendly_name: description: The string that you assigned to describe the participant nullable: true @@ -460,270 +366,364 @@ components: nullable: true type: string proxy_identifier_sid: - description: The SID of the Proxy Identifier assigned to the Participant - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^PN[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Proxy Identifier assigned to the Participant service_sid: - description: The SID of the resource's parent Service - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^KS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the resource's parent Service session_sid: - description: The SID of the resource's parent Session - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^KC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the resource's parent Session sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^KP[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource url: description: The absolute URL of the Participant resource format: uri nullable: true type: string + proxy.v1.service.phone_number: type: object - proxy.v1.service.session.participant.message_interaction: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - data: - description: A JSON string that includes the message body sent to the participant nullable: true - type: string + description: The SID of the Account that created the resource + 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 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: + type: string + format: date-time + nullable: true description: The ISO 8601 date and time in GMT when the resource was last updated - format: date-time + friendly_name: + description: The string that you assigned to describe the resource nullable: true type: string - inbound_participant_sid: - description: Always empty for Message Interactions - maxLength: 34 - minLength: 34 + in_use: + description: The number of open session assigned to the number. nullable: true - pattern: ^KP[0-9a-fA-F]{32}$ - type: string - inbound_resource_sid: - description: Always empty for Message Interactions - maxLength: 34 - minLength: 34 + type: integer + is_reserved: + description: Reserve the phone number for manual assignment to participants + only + nullable: true + type: boolean + iso_country: + description: The ISO Country Code nullable: true - pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ type: string - inbound_resource_status: - description: Always empty for Message Interactions - 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 + phone_number: + description: The phone number in E.164 format + format: phone-number nullable: true type: string - inbound_resource_type: - description: Always empty for Message Interactions + service_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^KS[0-9a-fA-F]{32}$ nullable: true + description: The SID of the PhoneNumber resource's parent Service resource + sid: type: string - inbound_resource_url: - description: Always empty for Message Interactions + minLength: 34 + maxLength: 34 + pattern: ^PN[0-9a-fA-F]{32}$ + nullable: true + description: The unique string that identifies the resource + url: + description: The absolute URL of the PhoneNumber resource format: uri nullable: true type: string - outbound_participant_sid: - description: The SID of the outbound Participant resource - maxLength: 34 + proxy.v1.service: + type: object + properties: + account_sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created the resource + callback_url: + description: The URL we call when the interaction status changes + format: uri nullable: true - pattern: ^KP[0-9a-fA-F]{32}$ type: string - outbound_resource_sid: - description: The SID of the outbound Message resource - maxLength: 34 + chat_instance_sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ nullable: true - pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ + description: The SID of the Chat Service Instance + date_created: type: string - outbound_resource_status: - description: The outbound 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 + format: date-time nullable: true + description: The ISO 8601 date and time in GMT when the resource was created + date_updated: type: string - outbound_resource_type: - description: The outbound resource type + format: date-time nullable: true + description: The ISO 8601 date and time in GMT when the resource was last + updated + default_ttl: + description: Default TTL for a Session, in seconds + nullable: true + type: integer + geo_match_level: type: string - outbound_resource_url: - description: The URL of the Twilio message resource + enum: + - area-code + - overlay + - radius + - country + nullable: true + description: Where a proxy number must be located relative to the participant + identifier + intercept_callback_url: + description: The URL we call on each interaction format: uri nullable: true type: string - participant_sid: - description: The SID of the Participant resource - maxLength: 34 - minLength: 34 + links: + description: The URLs of resources related to the Service + format: uri-map nullable: true - pattern: ^KP[0-9a-fA-F]{32}$ + type: object + number_selection_behavior: type: string - service_sid: - description: The SID of the resource's parent Service - maxLength: 34 - minLength: 34 + enum: + - avoid-sticky + - prefer-sticky nullable: true - pattern: ^KS[0-9a-fA-F]{32}$ - type: string - session_sid: - description: The SID of the resource's parent Session - maxLength: 34 - minLength: 34 + description: The preference for Proxy Number selection for the Service instance + 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 + format: uri nullable: true - pattern: ^KC[0-9a-fA-F]{32}$ type: string sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 + maxLength: 34 + pattern: ^KS[0-9a-fA-F]{32}$ nullable: true - pattern: ^KI[0-9a-fA-F]{32}$ - type: string - type: - description: The Type of Message Interaction - enum: - - message - - voice - - unknown + description: The unique string that identifies the resource + unique_name: + description: An application-defined string that uniquely identifies the + resource nullable: true type: string url: - description: The absolute URL of the MessageInteraction resource + description: The absolute URL of the Service resource format: uri nullable: true type: string + proxy.v1.service.session: type: object - proxy.v1.service.short_code: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 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 + description: The SID of the Account that created the resource + closed_reason: + description: The reason the Session ended + nullable: true + type: string date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true + description: The ISO 8601 date and time in GMT when the resource was created + date_ended: type: string - date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated format: date-time nullable: true + description: The ISO 8601 date when the Session ended + date_expiry: type: string - is_reserved: - description: Whether the short code should be reserved for manual assignment - to participants only - nullable: true - type: boolean - iso_country: - description: The ISO Country Code + format: date-time nullable: true + description: The ISO 8601 date when the Session should expire + date_last_interaction: type: string - service_sid: - description: The SID of the resource's parent Service - maxLength: 34 - minLength: 34 + format: date-time nullable: true - pattern: ^KS[0-9a-fA-F]{32}$ + description: The ISO 8601 date when the Session last had an interaction + date_started: type: string - short_code: - description: The short code's number + format: date-time nullable: true + description: The ISO 8601 date when the Session started + date_updated: + type: string + format: date-time + nullable: true + description: The ISO 8601 date and time in GMT when the resource was last + updated + links: + description: The URLs of resources related to the Session + format: uri-map + nullable: true + type: object + mode: + type: string + enum: + - message-only + - voice-only + - voice-and-message + nullable: true + description: The Mode of the Session + service_sid: type: string - sid: - description: The unique string that identifies the resource - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^KS[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the resource's parent Service + sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^KC[0-9a-fA-F]{32}$ + nullable: true + description: The unique string that identifies the resource + status: + type: string + enum: + - open + - in-progress + - closed + - failed + - unknown + nullable: true + description: The status of the Session + ttl: + description: When the session will expire + nullable: true + type: integer + unique_name: + description: An application-defined string that uniquely identifies the + resource nullable: true - pattern: ^SC[0-9a-fA-F]{32}$ type: string url: - description: The absolute URL of the ShortCode resource + description: The absolute URL of the Session resource format: uri nullable: true type: string + proxy.v1.service.short_code: type: object + properties: + account_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created the resource + 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: + type: string + format: date-time + nullable: true + description: The ISO 8601 date and time in GMT when the resource was created + date_updated: + type: string + format: date-time + nullable: true + description: The ISO 8601 date and time in GMT when the resource was last + updated + is_reserved: + description: Whether the short code should be reserved for manual assignment + to participants only + nullable: true + type: boolean + iso_country: + description: The ISO Country Code + nullable: true + type: string + service_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^KS[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the resource's parent Service + short_code: + description: The short code's number + nullable: true + type: string + sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^SC[0-9a-fA-F]{32}$ + nullable: true + description: The unique string that identifies the resource + url: + description: The absolute URL of the ShortCode resource + format: uri + nullable: true + type: string securitySchemes: accountSid_authToken: scheme: basic @@ -742,13 +742,139 @@ info: version: 1.30.0 openapi: 3.0.1 paths: - /v1/Services: + /v1/Services/{ServiceSid}/Sessions/{SessionSid}/Interactions/{Sid}: + servers: + - url: https://proxy.twilio.com description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - type + - data + pathType: instance + parent: /Services/{ServiceSid}/Sessions get: - description: Retrieve a list of all Services for Twilio Proxy. A maximum of + 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: + type: string + minLength: 34 + maxLength: 34 + pattern: ^KS[0-9a-fA-F]{32}$ + - 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: + type: string + minLength: 34 + maxLength: 34 + pattern: ^KC[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Interaction + resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^KI[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/proxy.v1.service.session.interaction' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - Beta + 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: + type: string + minLength: 34 + maxLength: 34 + pattern: ^KS[0-9a-fA-F]{32}$ + - 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: + type: string + minLength: 34 + maxLength: 34 + pattern: ^KC[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Interaction + resource to delete. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^KI[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - Beta + /v1/Services/{ServiceSid}/Sessions/{SessionSid}/Interactions: + servers: + - url: https://proxy.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - type + - data + pathType: list + parent: /Services/{ServiceSid}/Sessions + get: + description: Retrieve a list of all Interactions for a Session. A maximum of 100 records will be returned per page. - operationId: ListService + 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: + type: string + minLength: 34 + maxLength: 34 + pattern: ^KS[0-9a-fA-F]{32}$ + - 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: + type: string + minLength: 34 + maxLength: 34 + pattern: ^KC[0-9a-fA-F]{32}$ - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -762,14 +888,19 @@ paths: content: application/json: schema: + type: object + title: ListInteractionResponse properties: + interactions: + type: array + items: + $ref: '#/components/schemas/proxy.v1.service.session.interaction' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -783,134 +914,125 @@ paths: url: format: uri type: string - type: object - services: - items: - $ref: '#/components/schemas/proxy.v1.service' - type: array - title: ListServiceResponse - type: object + key: + type: string 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: - 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.' - enum: - - area-code - - overlay - - radius - - country - 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: - 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.' - enum: - - avoid-sticky - - prefer-sticky - 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.** + /v1/Services/{ServiceSid}/Sessions/{SessionSid}/Participants/{ParticipantSid}/MessageInteractions: + servers: + - url: https://proxy.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - type + - data + pathType: list + parent: /Services/{ServiceSid}/Sessions/{SessionSid}/Participants + 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: + type: string + minLength: 34 + maxLength: 34 + pattern: ^KS[0-9a-fA-F]{32}$ + - description: The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) + resource. + in: path + name: SessionSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^KC[0-9a-fA-F]{32}$ + - description: The SID of the [Participant](https://www.twilio.com/docs/proxy/api/participant) + resource. + in: path + name: ParticipantSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^KP[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Body: + description: The message to send to the participant type: string - required: - - UniqueName - title: CreateServiceRequest + MediaUrl: + type: array + items: + format: uri + type: string + description: Reserved. Not currently supported. + title: CreateMessageInteractionRequest type: object responses: '201': content: application/json: schema: - $ref: '#/components/schemas/proxy.v1.service' + $ref: '#/components/schemas/proxy.v1.service.session.participant.message_interaction' 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' + x-twilio: + conditional: + - - body + - media_url 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 + description: '' + operationId: ListMessageInteraction parameters: - description: The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) - of the PhoneNumber resources to read. + to read the resources from. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^KS[0-9a-fA-F]{32}$ + - 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: + type: string + minLength: 34 + maxLength: 34 + pattern: ^KC[0-9a-fA-F]{32}$ + - 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: type: string + minLength: 34 + maxLength: 34 + pattern: ^KP[0-9a-fA-F]{32}$ - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -924,14 +1046,19 @@ paths: content: application/json: schema: + type: object + title: ListMessageInteractionResponse properties: + interactions: + type: array + items: + $ref: '#/components/schemas/proxy.v1.service.session.participant.message_interaction' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -945,222 +1072,216 @@ paths: url: format: uri type: string - type: object - phone_numbers: - items: - $ref: '#/components/schemas/proxy.v1.service.phone_number' - type: array - title: ListPhoneNumberResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - Beta - post: - description: Add a Phone Number to a Service's Proxy Number Pool. - operationId: CreatePhoneNumber + /v1/Services/{ServiceSid}/Sessions/{SessionSid}/Participants/{ParticipantSid}/MessageInteractions/{Sid}: + servers: + - url: https://proxy.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - type + - data + pathType: instance + parent: /Services/{ServiceSid}/Sessions/{SessionSid}/Participants + get: + description: '' + operationId: FetchMessageInteraction parameters: - - description: The SID parent [Service](https://www.twilio.com/docs/proxy/api/service) - resource of the new PhoneNumber resource. + - 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 + type: string minLength: 34 + maxLength: 34 pattern: ^KS[0-9a-fA-F]{32}$ + - 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: 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 + minLength: 34 + maxLength: 34 + pattern: ^KC[0-9a-fA-F]{32}$ + - description: The SID of the [Participant](https://www.twilio.com/docs/proxy/api/participant) + resource. + in: path + name: ParticipantSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^KP[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the MessageInteraction + resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^KI[0-9a-fA-F]{32}$ responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/proxy.v1.service.phone_number' - description: Created + $ref: '#/components/schemas/proxy.v1.service.session.participant.message_interaction' + description: OK security: - accountSid_authToken: [] x-maturity: - Beta + /v1/Services/{ServiceSid}/Sessions/{SessionSid}/Participants/{Sid}: servers: - url: https://proxy.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - friendly_name - - phone_number - parent: /Services - pathType: list - /v1/Services/{ServiceSid}/PhoneNumbers/{Sid}: - delete: - description: Delete a specific Phone Number from a Service. - operationId: DeletePhoneNumber + - identifier + - proxy_identifier + pathType: instance + parent: /Services/{ServiceSid}/Sessions + 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 PhoneNumber resource to delete. + 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 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. + maxLength: 34 + pattern: ^KS[0-9a-fA-F]{32}$ + - description: The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) + of the resource to fetch. in: path - name: ServiceSid + name: SessionSid 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 + minLength: 34 + maxLength: 34 + pattern: ^KC[0-9a-fA-F]{32}$ + - 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: ^PN[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^KP[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/proxy.v1.service.phone_number' + $ref: '#/components/schemas/proxy.v1.service.session.participant' description: OK security: - accountSid_authToken: [] x-maturity: - Beta - post: - description: Update a specific Proxy Number. - operationId: UpdatePhoneNumber + 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 PhoneNumber resource to update. + of the resource to delete. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^KS[0-9a-fA-F]{32}$ + - 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: type: string - - description: The Twilio-provided string that uniquely identifies the PhoneNumber - resource to update. + minLength: 34 + maxLength: 34 + pattern: ^KC[0-9a-fA-F]{32}$ + - 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: ^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 + minLength: 34 + maxLength: 34 + pattern: ^KP[0-9a-fA-F]{32}$ responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/proxy.v1.service.phone_number' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - Beta + /v1/Services/{ServiceSid}/Sessions/{SessionSid}/Participants: servers: - url: https://proxy.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - friendly_name - - phone_number - parent: /Services - pathType: instance - /v1/Services/{ServiceSid}/Sessions: - description: 'TODO: Resource-level docs' + - identifier + - proxy_identifier + pathType: list + parent: /Services/{ServiceSid}/Sessions get: - description: Retrieve a list of all Sessions for the Service. A maximum of 100 - records will be returned per page. - operationId: ListSession + 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 resource to read. + of the resources to read. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^KS[0-9a-fA-F]{32}$ + - 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: type: string + minLength: 34 + maxLength: 34 + pattern: ^KC[0-9a-fA-F]{32}$ - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -1174,14 +1295,19 @@ paths: content: application/json: schema: + type: object + title: ListParticipantResponse properties: + participants: + type: array + items: + $ref: '#/components/schemas/proxy.v1.service.session.participant' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1195,21 +1321,16 @@ paths: url: format: uri type: string - type: object - sessions: - items: - $ref: '#/components/schemas/proxy.v1.service.session' - type: array - title: ListSessionResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - Beta post: - description: Create a new Session - operationId: CreateSession + 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. @@ -1217,119 +1338,152 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^KS[0-9a-fA-F]{32}$ + - description: The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) + resource. + in: path + name: SessionSid + required: true + schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^KC[0-9a-fA-F]{32}$ 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 + Identifier: + description: The phone number of the Participant. + type: string + 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 + 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: type: string + minLength: 34 + maxLength: 34 + pattern: ^PN[0-9a-fA-F]{32}$ + description: The SID of the Proxy Identifier to assign to the Participant. FailOnParticipantConflict: description: '[Experimental] For accounts with the ProxyAllowParticipantConflict account flag, setting to true enables per-request opt-in to allowing - Proxy to reject a Session create (with Participants) request that - could cause the same Identifier/ProxyIdentifier pair to be active - in multiple Sessions. Depending on the context, this could be - a 409 error (Twilio error code 80623) or a 400 error (Twilio error - code 80604). If not provided, requests will be allowed to succeed - and a Debugger notification (80802) will be emitted. Having multiple, - active Participants with the same Identifier/ProxyIdentifier pair - causes calls and messages from affected Participants to be routed - incorrectly. Please note, the default behavior for accounts without - the ProxyAllowParticipantConflict flag is to reject the request - as described. This will eventually be the default for all accounts.' + Proxy to reject a Participant create request that could cause + the same Identifier/ProxyIdentifier pair to be active in multiple + Sessions. Depending on the context, this could be a 409 error + (Twilio error code 80623) or a 400 error (Twilio error code 80604). + If not provided, requests will be allowed to succeed and a Debugger + notification (80802) will be emitted. Having multiple, active + Participants with the same Identifier/ProxyIdentifier pair causes + calls and messages from affected Participants to be routed incorrectly. + Please note, the default behavior for accounts without the ProxyAllowParticipantConflict + flag is to reject the request as described. This will eventually + be the default for all accounts.' type: boolean - 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`.' - enum: - - message-only - - voice-only - - voice-and-message - type: string - Participants: - description: The Participant objects to include in the new session. - items: {} - type: array - Status: - description: 'The initial status of the Session. Can be: `open`, - `in-progress`, `closed`, `failed`, or `unknown`. The default is - `open` on create.' - enum: - - open - - in-progress - - closed - - failed - - unknown - 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.** + 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 + /v1/Services/{ServiceSid}/PhoneNumbers: + servers: + - url: https://proxy.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - phone_number + pathType: list + parent: /Services + 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: + type: string + minLength: 34 + maxLength: 34 + pattern: ^KS[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Sid: type: string - title: CreateSessionRequest + minLength: 34 + maxLength: 34 + pattern: ^PN[0-9a-fA-F]{32}$ + 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. + 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 + 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 + title: CreatePhoneNumberRequest type: object responses: '201': content: application/json: schema: - $ref: '#/components/schemas/proxy.v1.service.session' + $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 - - unique_name - - date_started - - date_ended - parent: /Services - 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 + 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) - to read the resources from. + 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: 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 + maxLength: 34 + pattern: ^KS[0-9a-fA-F]{32}$ - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -1343,18 +1497,19 @@ paths: content: application/json: schema: + type: object + title: ListPhoneNumberResponse properties: - interactions: - items: - $ref: '#/components/schemas/proxy.v1.service.session.interaction' + phone_numbers: type: array + items: + $ref: '#/components/schemas/proxy.v1.service.phone_number' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1368,58 +1523,48 @@ paths: url: format: uri type: string - type: object - title: ListInteractionResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - Beta + /v1/Services/{ServiceSid}/PhoneNumbers/{Sid}: servers: - url: https://proxy.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - - type - - data - parent: /Services/{ServiceSid}/Sessions - pathType: list - /v1/Services/{ServiceSid}/Sessions/{SessionSid}/Interactions/{Sid}: + - friendly_name + - phone_number + pathType: instance + parent: /Services delete: - description: Delete a specific Interaction. - operationId: DeleteInteraction + 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 resource to delete. + 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 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 + maxLength: 34 + pattern: ^KS[0-9a-fA-F]{32}$ + - 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: ^KI[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^PN[0-9a-fA-F]{32}$ responses: '204': description: The resource was deleted successfully. @@ -1427,256 +1572,257 @@ paths: - 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 + 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 resource to fetch. + of the PhoneNumber resource to fetch. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 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. + - description: The Twilio-provided string that uniquely identifies the PhoneNumber + resource to fetch. in: path - name: SessionSid + name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 - pattern: ^KC[0-9a-fA-F]{32}$ + maxLength: 34 + pattern: ^PN[0-9a-fA-F]{32}$ + 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: type: string - - description: The Twilio-provided string that uniquely identifies the Interaction - resource to fetch. + minLength: 34 + maxLength: 34 + pattern: ^KS[0-9a-fA-F]{32}$ + - 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: ^KI[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^PN[0-9a-fA-F]{32}$ + 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.session.interaction' + $ref: '#/components/schemas/proxy.v1.service.phone_number' description: OK security: - accountSid_authToken: [] x-maturity: - Beta + /v1/Services/{Sid}: servers: - url: https://proxy.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - - type - - data - parent: /Services/{ServiceSid}/Sessions + - unique_name + - date_created 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 + description: Fetch a specific Service. + operationId: FetchService 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. + - description: The Twilio-provided string that uniquely identifies the Service + resource to fetch. in: path - name: SessionSid + name: Sid 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 responses: '200': content: application/json: schema: - properties: - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - 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 + $ref: '#/components/schemas/proxy.v1.service' description: OK security: - accountSid_authToken: [] x-maturity: - Beta - post: - description: Add a new Participant to the Session - operationId: CreateParticipant + delete: + description: Delete a specific Service. + operationId: DeleteService parameters: - - description: The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) - resource. + - description: The Twilio-provided string that uniquely identifies the Service + resource to delete. in: path - name: ServiceSid + name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 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. + responses: + '204': + description: The resource was deleted successfully. + 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: SessionSid + name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^KC[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^KS[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - FailOnParticipantConflict: - description: '[Experimental] For accounts with the ProxyAllowParticipantConflict - account flag, setting to true enables per-request opt-in to allowing - Proxy to reject a Participant create request that could cause - the same Identifier/ProxyIdentifier pair to be active in multiple - Sessions. Depending on the context, this could be a 409 error - (Twilio error code 80623) or a 400 error (Twilio error code 80604). - If not provided, requests will be allowed to succeed and a Debugger - notification (80802) will be emitted. Having multiple, active - Participants with the same Identifier/ProxyIdentifier pair causes - calls and messages from affected Participants to be routed incorrectly. - Please note, the default behavior for accounts without the ProxyAllowParticipantConflict - flag is to reject the request as described. This will eventually - be the default for all accounts.' - type: boolean - 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.** + 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 - Identifier: - description: The phone number of the Participant. + 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 + CallbackUrl: + description: The URL we should call when the interaction status + changes. + format: uri type: string - ProxyIdentifier: - description: The proxy phone number to use for the Participant. - If not specified, Proxy will select a number from the pool. + GeoMatchLevel: 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}$ + enum: + - area-code + - overlay + - radius + - country + 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.' + NumberSelectionBehavior: type: string - required: - - Identifier - title: CreateParticipantRequest + enum: + - avoid-sticky + - prefer-sticky + 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.' + 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 + 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 + ChatInstanceSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + 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. + title: UpdateServiceRequest type: object responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/proxy.v1.service.session.participant' - description: Created + $ref: '#/components/schemas/proxy.v1.service' + description: OK security: - accountSid_authToken: [] x-maturity: - Beta + /v1/Services: servers: - url: https://proxy.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - - friendly_name - - identifier - - proxy_identifier - parent: /Services/{ServiceSid}/Sessions + - unique_name + - date_created pathType: list - /v1/Services/{ServiceSid}/Sessions/{SessionSid}/Participants/{ParticipantSid}/MessageInteractions: - description: 'TODO: Resource-level docs' get: - description: '' - operationId: ListMessageInteraction + description: Retrieve a list of all Services for Twilio Proxy. A maximum of + 100 records will be returned per page. + operationId: ListService 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 @@ -1690,18 +1836,19 @@ paths: content: application/json: schema: + type: object + title: ListServiceResponse properties: - interactions: - items: - $ref: '#/components/schemas/proxy.v1.service.session.participant.message_interaction' + services: type: array + items: + $ref: '#/components/schemas/proxy.v1.service' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1715,205 +1862,119 @@ paths: url: format: uri type: string - type: object - title: ListMessageInteractionResponse - type: object + key: + type: string 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 + description: Create a new Service for Twilio Proxy + operationId: CreateService requestBody: content: application/x-www-form-urlencoded: schema: properties: - Body: - description: The message to send to the participant + 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 + 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 + CallbackUrl: + description: The URL we should call when the interaction status + changes. + format: uri type: string - MediaUrl: - description: Reserved. Not currently supported. - items: - format: uri - type: string - type: array - title: CreateMessageInteractionRequest + GeoMatchLevel: + type: string + enum: + - area-code + - overlay + - radius + - country + 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.' + NumberSelectionBehavior: + type: string + enum: + - avoid-sticky + - prefer-sticky + 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.' + 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 + 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 + ChatInstanceSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + 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. + required: + - UniqueName + title: CreateServiceRequest type: object responses: '201': content: application/json: schema: - $ref: '#/components/schemas/proxy.v1.service.session.participant.message_interaction' + $ref: '#/components/schemas/proxy.v1.service' description: Created security: - accountSid_authToken: [] x-maturity: - Beta - x-twilio: - conditional: - - - body - - media_url + /v1/Services/{ServiceSid}/Sessions/{Sid}: servers: - url: https://proxy.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - type - - data - parent: /Services/{ServiceSid}/Sessions/{SessionSid}/Participants - 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 + - unique_name + - date_started + - date_ended 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' + parent: /Services get: - description: Fetch a specific Participant. - operationId: FetchParticipant + 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. @@ -1921,52 +1982,28 @@ paths: 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 + maxLength: 34 + pattern: ^KS[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Session 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' + $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 - - friendly_name - - identifier - - proxy_identifier - parent: /Services/{ServiceSid}/Sessions - pathType: instance - /v1/Services/{ServiceSid}/Sessions/{Sid}: delete: description: Delete a specific Session. operationId: DeleteSession @@ -1977,56 +2014,23 @@ paths: 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. + resource to delete. in: path name: Sid required: true schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^KC[0-9a-fA-F]{32}$ responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/proxy.v1.service.session' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: @@ -2041,31 +2045,46 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 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 + type: string minLength: 34 + maxLength: 34 pattern: ^KC[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: DateExpiry: + type: string + format: date-time 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 + 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 + Status: type: string + enum: + - open + - in-progress + - closed + - failed + - unknown + description: 'The new status of the resource. Can be: `in-progress` + to re-open a session or `closed` to close a session.' FailOnParticipantConflict: description: '[Experimental] For accounts with the ProxyAllowParticipantConflict account flag, setting to true enables per-request opt-in to allowing @@ -2080,21 +2099,6 @@ paths: the ProxyAllowParticipantConflict flag is to reject the request as described. This will eventually be the default for all accounts.' type: boolean - Status: - description: 'The new status of the resource. Can be: `in-progress` - to re-open a session or `closed` to close a session.' - enum: - - open - - in-progress - - closed - - failed - - unknown - 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: @@ -2108,18 +2112,218 @@ paths: - accountSid_authToken: [] x-maturity: - Beta + /v1/Services/{ServiceSid}/Sessions: servers: - url: https://proxy.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - unique_name - date_started - date_ended + pathType: list parent: /Services - pathType: instance + 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: + type: string + minLength: 34 + maxLength: 34 + pattern: ^KS[0-9a-fA-F]{32}$ + - 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListSessionResponse + properties: + sessions: + type: array + items: + $ref: '#/components/schemas/proxy.v1.service.session' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string + 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: + type: string + minLength: 34 + maxLength: 34 + pattern: ^KS[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + 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 + DateExpiry: + type: string + format: date-time + 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. + 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 + Mode: + type: string + enum: + - message-only + - voice-only + - voice-and-message + description: 'The Mode of the Session. Can be: `message-only`, `voice-only`, + or `voice-and-message` and the default value is `voice-and-message`.' + Status: + type: string + enum: + - open + - in-progress + - closed + - failed + - unknown + description: 'The initial status of the Session. Can be: `open`, + `in-progress`, `closed`, `failed`, or `unknown`. The default is + `open` on create.' + Participants: + type: array + items: {} + description: The Participant objects to include in the new session. + FailOnParticipantConflict: + description: '[Experimental] For accounts with the ProxyAllowParticipantConflict + account flag, setting to true enables per-request opt-in to allowing + Proxy to reject a Session create (with Participants) request that + could cause the same Identifier/ProxyIdentifier pair to be active + in multiple Sessions. Depending on the context, this could be + a 409 error (Twilio error code 80623) or a 400 error (Twilio error + code 80604). If not provided, requests will be allowed to succeed + and a Debugger notification (80802) will be emitted. Having multiple, + active Participants with the same Identifier/ProxyIdentifier pair + causes calls and messages from affected Participants to be routed + incorrectly. Please note, the default behavior for accounts without + the ProxyAllowParticipantConflict flag is to reject the request + as described. This will eventually be the default for all accounts.' + type: boolean + 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 /v1/Services/{ServiceSid}/ShortCodes: + servers: + - url: https://proxy.twilio.com description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - short_code + - iso_country + pathType: list + parent: /Services + 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: + type: string + minLength: 34 + maxLength: 34 + pattern: ^KS[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^SC[0-9a-fA-F]{32}$ + 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. + 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 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. @@ -2131,10 +2335,10 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 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 @@ -2148,14 +2352,19 @@ paths: content: application/json: schema: + type: object + title: ListShortCodeResponse properties: + short_codes: + type: array + items: + $ref: '#/components/schemas/proxy.v1.service.short_code' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -2169,70 +2378,24 @@ paths: url: format: uri type: string - type: object - short_codes: - items: - $ref: '#/components/schemas/proxy.v1.service.short_code' - type: array - title: ListShortCodeResponse - type: object + key: + type: string 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 + /v1/Services/{ServiceSid}/ShortCodes/{Sid}: servers: - url: https://proxy.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - short_code - iso_country + pathType: instance parent: /Services - pathType: list - /v1/Services/{ServiceSid}/ShortCodes/{Sid}: delete: description: Delete a specific Short Code from a Service. operationId: DeleteShortCode @@ -2243,20 +2406,20 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 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 + type: string minLength: 34 + maxLength: 34 pattern: ^SC[0-9a-fA-F]{32}$ - type: string responses: '204': description: The resource was deleted successfully. @@ -2264,7 +2427,6 @@ paths: - accountSid_authToken: [] x-maturity: - Beta - description: 'TODO: Resource-level docs' get: description: Fetch a specific Short Code. operationId: FetchShortCode @@ -2275,20 +2437,20 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 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 + type: string minLength: 34 + maxLength: 34 pattern: ^SC[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -2310,20 +2472,20 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 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 + type: string minLength: 34 + maxLength: 34 pattern: ^SC[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: @@ -2348,171 +2510,9 @@ paths: - accountSid_authToken: [] x-maturity: - Beta - servers: - - url: https://proxy.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - short_code - - iso_country - parent: /Services - 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: - 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.' - enum: - - area-code - - overlay - - radius - - country - 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: - 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.' - enum: - - avoid-sticky - - prefer-sticky - 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 servers: - url: https://proxy.twilio.com x-maturity: -- description: PLEASE NOTE that this is a Beta product that is subject to change. +- name: Beta + description: PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution. - name: Beta diff --git a/spec/yaml/twilio_serverless_v1.yaml b/spec/yaml/twilio_serverless_v1.yaml index b3856f03..85e9508b 100644 --- a/spec/yaml/twilio_serverless_v1.yaml +++ b/spec/yaml/twilio_serverless_v1.yaml @@ -1,89 +1,27 @@ components: schemas: - serverless.v1.service: + serverless.v1.service.asset: + type: object properties: account_sid: - description: The SID of the Account that created the Service resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - date_created: - description: The ISO 8601 date and time in GMT when the Service resource - was created - format: date-time nullable: true + description: The SID of the Account that created the Asset resource + date_created: type: string - date_updated: - description: The ISO 8601 date and time in GMT when the Service resource - was last updated format: date-time nullable: true - type: string - domain_base: - description: The base domain name for this Service, which is a combination - of the unique name and a randomly generated string - nullable: true - type: string - friendly_name: - description: The string that you assigned to describe the Service resource - nullable: true - type: string - include_credentials: - description: Whether to inject Account credentials into a function invocation - context - nullable: true - type: boolean - links: - description: The URLs of the Service's nested resources - format: uri-map - nullable: true - type: object - sid: - description: The unique string that identifies the Service resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^ZS[0-9a-fA-F]{32}$ - type: string - ui_editable: - description: Whether the Service resource's properties and subresources - can be edited via the UI - nullable: true - type: boolean - unique_name: - description: A user-defined string that uniquely identifies the Service - resource - nullable: true - type: string - url: - description: The absolute URL of the Service resource - format: uri - nullable: true - type: string - type: object - serverless.v1.service.asset: - properties: - account_sid: - description: The SID of the Account that created the Asset resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - date_created: description: The ISO 8601 date and time in GMT when the Asset resource was created + date_updated: + type: string format: date-time nullable: true - type: string - date_updated: description: The ISO 8601 date and time in GMT when the Asset resource was last updated - format: date-time - nullable: true - type: string friendly_name: description: The string that you assigned to describe the Asset resource nullable: true @@ -94,230 +32,286 @@ components: nullable: true type: object service_sid: - description: The SID of the Service that the Asset resource is associated - with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^ZS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Service that the Asset resource is associated + with sid: - description: The unique string that identifies the Asset resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^ZH[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the Asset resource url: description: The absolute URL of the Asset resource format: uri nullable: true type: string - type: object serverless.v1.service.asset.asset_version: + type: object properties: account_sid: - description: The SID of the Account that created the Asset Version resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the Asset Version resource asset_sid: - description: The SID of the Asset resource that is the parent of the Asset - Version - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^ZH[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Asset resource that is the parent of the Asset + Version date_created: - description: The ISO 8601 date and time in GMT when the Asset Version resource - was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the Asset Version resource + was created path: description: The URL-friendly string by which the Asset Version can be referenced nullable: true type: string service_sid: - description: The SID of the Service that the Asset Version resource is associated - with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^ZS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Service that the Asset Version resource is associated + with sid: - description: The unique string that identifies the Asset Version resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^ZN[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the Asset Version resource url: description: The absolute URL of the Asset Version resource format: uri nullable: true type: string visibility: - description: The access control that determines how the Asset Version can - be accessed + type: string enum: - public - private - protected nullable: true - type: string - type: object + description: The access control that determines how the Asset Version can + be accessed serverless.v1.service.build: + type: object properties: account_sid: - description: The SID of the Account that created the Build resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the Build resource asset_versions: - description: The list of Asset Version resource SIDs that are included in - the Build + type: array items: {} nullable: true - type: array + description: The list of Asset Version resource SIDs that are included in + the Build date_created: + type: string + format: date-time + nullable: true description: The ISO 8601 date and time in GMT when the Build resource was created + date_updated: + type: string format: date-time nullable: true - type: string - date_updated: description: The ISO 8601 date and time in GMT when the Build resource was last updated - format: date-time - nullable: true - type: string dependencies: + type: array + items: {} + nullable: true description: A list of objects that describe the Dependencies included in the Build + function_versions: + type: array items: {} nullable: true - type: array - function_versions: description: The list of Function Version resource SIDs that are included in the Build - items: {} - nullable: true - type: array links: format: uri-map nullable: true type: object runtime: - description: The Runtime version that will be used to run the Build. + type: string enum: - node8 - node10 - node12 - node14 nullable: true - type: string + description: The Runtime version that will be used to run the Build. service_sid: - description: The SID of the Service that the Build resource is associated - with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^ZS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Service that the Build resource is associated + with sid: - description: The unique string that identifies the Build resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^ZB[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the Build resource status: - description: The status of the Build + type: string enum: - building - completed - failed nullable: true - type: string + description: The status of the Build url: description: The absolute URL of the Build resource format: uri nullable: true type: string - type: object serverless.v1.service.build.build_status: + type: object properties: account_sid: - description: The SID of the Account that created the Build resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the Build resource service_sid: - description: The SID of the Service that the Build resource is associated - with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^ZS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Service that the Build resource is associated + with sid: - description: The unique string that identifies the Build resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^ZB[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the Build resource status: - description: The status of the Build + type: string enum: - building - completed - failed nullable: true - type: string + description: The status of the Build url: description: The absolute URL of the Build Status resource format: uri nullable: true type: string + serverless.v1.service.environment.deployment: type: object - serverless.v1.service.environment: properties: account_sid: - description: The SID of the Account that created the Environment resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the Deployment resource build_sid: - description: The SID of the build deployed in the environment - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^ZB[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Build for the deployment date_created: - description: The ISO 8601 date and time in GMT when the Environment resource - was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the Deployment resource + was created date_updated: - description: The ISO 8601 date and time in GMT when the Environment resource + type: string + format: date-time + nullable: true + description: The ISO 8601 date and time in GMT when the Deployment resource was last updated + environment_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^ZE[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Environment for the Deployment + service_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^ZS[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Service that the Deployment resource is associated + with + sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^ZD[0-9a-fA-F]{32}$ + nullable: true + description: The unique string that identifies the Deployment resource + url: + description: The absolute URL of the Deployment resource + format: uri + nullable: true + type: string + serverless.v1.service.environment: + type: object + properties: + account_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created the Environment resource + build_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^ZB[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the build deployed in the environment + date_created: + type: string format: date-time nullable: true + description: The ISO 8601 date and time in GMT when the Environment resource + was created + date_updated: type: string + format: date-time + nullable: true + description: The ISO 8601 date and time in GMT when the Environment resource + was last updated domain_name: description: The domain name for all Functions and Assets deployed in the Environment @@ -333,20 +327,20 @@ components: nullable: true type: object service_sid: - description: The SID of the Service that the Environment resource is associated - with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^ZS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Service that the Environment resource is associated + with sid: - description: The unique string that identifies the Environment resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^ZE[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the Environment resource unique_name: description: A user-defined string that uniquely identifies the Environment resource @@ -357,481 +351,393 @@ components: format: uri nullable: true type: string + serverless.v1.service.function: type: object - serverless.v1.service.environment.deployment: properties: account_sid: - description: The SID of the Account that created the Deployment resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ type: string - build_sid: - description: The SID of the Build for the deployment - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ nullable: true - pattern: ^ZB[0-9a-fA-F]{32}$ - type: string + description: The SID of the Account that created the Function resource date_created: - description: The ISO 8601 date and time in GMT when the Deployment resource - was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the Function resource + was created date_updated: - description: The ISO 8601 date and time in GMT when the Deployment resource - was last updated + type: string format: date-time nullable: true - type: string - environment_sid: - description: The SID of the Environment for the Deployment - maxLength: 34 - minLength: 34 + description: The ISO 8601 date and time in GMT when the Function resource + was last updated + friendly_name: + description: The string that you assigned to describe the Function resource nullable: true - pattern: ^ZE[0-9a-fA-F]{32}$ type: string + links: + description: The URLs of nested resources of the Function resource + format: uri-map + nullable: true + type: object service_sid: - description: The SID of the Service that the Deployment resource is associated - with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^ZS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Service that the Function resource is associated + with sid: - description: The unique string that identifies the Deployment resource - maxLength: 34 + type: string minLength: 34 + maxLength: 34 + pattern: ^ZH[0-9a-fA-F]{32}$ nullable: true - pattern: ^ZD[0-9a-fA-F]{32}$ - type: string + description: The unique string that identifies the Function resource url: - description: The absolute URL of the Deployment resource + description: The absolute URL of the Function resource format: uri nullable: true type: string + serverless.v1.service.function.function_version: type: object - serverless.v1.service.environment.log: properties: account_sid: - description: The SID of the Account that created the Log resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ type: string - build_sid: - description: The SID of the build that corresponds to the log - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ nullable: true - pattern: ^ZB[0-9a-fA-F]{32}$ - type: string + description: The SID of the Account that created the Function Version resource date_created: - description: The ISO 8601 date and time in GMT when the Log resource was - created - format: date-time - nullable: true type: string - deployment_sid: - description: The SID of the deployment that corresponds to the log - maxLength: 34 - minLength: 34 + format: date-time nullable: true - pattern: ^ZD[0-9a-fA-F]{32}$ + description: The ISO 8601 date and time in GMT when the Function Version + resource was created + function_sid: type: string - environment_sid: - description: The SID of the environment in which the log occurred - maxLength: 34 minLength: 34 - nullable: true - pattern: ^ZE[0-9a-fA-F]{32}$ - type: string - function_sid: - description: The SID of the function whose invocation produced the log maxLength: 34 - minLength: 34 - nullable: true pattern: ^ZH[0-9a-fA-F]{32}$ - type: string - level: - description: The log level - enum: - - info - - warn - - error nullable: true - type: string - message: - description: The log message + description: The SID of the Function resource that is the parent of the + Function Version resource + links: + format: uri-map nullable: true - type: string - request_sid: - description: The SID of the request associated with the log - maxLength: 34 - minLength: 34 + type: object + path: + description: The URL-friendly string by which the Function Version resource + can be referenced nullable: true - pattern: ^RQ[0-9a-fA-F]{32}$ type: string service_sid: - description: The SID of the Service that the Log resource is associated - with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^ZS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Service that the Function Version resource is + associated with sid: - description: The unique string that identifies the Log resource - maxLength: 34 + type: string minLength: 34 + maxLength: 34 + pattern: ^ZN[0-9a-fA-F]{32}$ nullable: true - pattern: ^NO[0-9a-fA-F]{32}$ - type: string + description: The unique string that identifies the Function Version resource url: - description: The absolute URL of the Log resource + description: The absolute URL of the Function Version resource format: uri nullable: true type: string + visibility: + type: string + enum: + - public + - private + - protected + nullable: true + description: The access control that determines how the Function Version + resource can be accessed + serverless.v1.service.function.function_version.function_version_content: type: object - serverless.v1.service.environment.variable: properties: account_sid: - description: The SID of the Account that created the Variable resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - date_created: - description: The ISO 8601 date and time in GMT when the Variable resource - was created - format: date-time nullable: true - type: string - date_updated: - description: The ISO 8601 date and time in GMT when the Variable resource - was last updated - format: date-time + description: The SID of the Account that created the Function Version resource + content: + description: The content of the Function Version resource nullable: true type: string - environment_sid: - description: The SID of the Environment in which the Variable exists - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^ZE[0-9a-fA-F]{32}$ + function_sid: type: string - key: - description: A string by which the Variable resource can be referenced + minLength: 34 + maxLength: 34 + pattern: ^ZH[0-9a-fA-F]{32}$ nullable: true - type: string + description: The SID of the Function that is the parent of the Function + Version service_sid: - description: The SID of the Service that the Variable resource is associated - with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^ZS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Service that the Function Version resource is + associated with sid: - description: The unique string that identifies the Variable resource - maxLength: 34 + type: string minLength: 34 + maxLength: 34 + pattern: ^ZN[0-9a-fA-F]{32}$ nullable: true - pattern: ^ZV[0-9a-fA-F]{32}$ - type: string + description: The unique string that identifies the Function Version resource url: - description: The absolute URL of the Variable resource format: uri nullable: true type: string - value: - description: A string that contains the actual value of the Variable - nullable: true - type: string + serverless.v1.service.environment.log: type: object - serverless.v1.service.function: properties: account_sid: - description: The SID of the Account that created the Function resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created the Log resource + build_sid: type: string - date_created: - description: The ISO 8601 date and time in GMT when the Function resource - was created - format: date-time + minLength: 34 + maxLength: 34 + pattern: ^ZB[0-9a-fA-F]{32}$ nullable: true + description: The SID of the build that corresponds to the log + date_created: type: string - date_updated: - description: The ISO 8601 date and time in GMT when the Function resource - was last updated format: date-time nullable: true + description: The ISO 8601 date and time in GMT when the Log resource was + created + deployment_sid: type: string - friendly_name: - description: The string that you assigned to describe the Function resource + minLength: 34 + maxLength: 34 + pattern: ^ZD[0-9a-fA-F]{32}$ nullable: true + description: The SID of the deployment that corresponds to the log + environment_sid: type: string - links: - description: The URLs of nested resources of the Function resource - format: uri-map - nullable: true - type: object - service_sid: - description: The SID of the Service that the Function resource is associated - with + minLength: 34 maxLength: 34 + pattern: ^ZE[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the environment in which the log occurred + function_sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^ZH[0-9a-fA-F]{32}$ nullable: true - pattern: ^ZS[0-9a-fA-F]{32}$ + description: The SID of the function whose invocation produced the log + level: type: string - sid: - description: The unique string that identifies the Function resource + enum: + - info + - warn + - error + nullable: true + description: The log level + message: + description: The log message + nullable: true + type: string + request_sid: + type: string + minLength: 34 maxLength: 34 + pattern: ^RQ[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the request associated with the log + service_sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^ZS[0-9a-fA-F]{32}$ nullable: true - pattern: ^ZH[0-9a-fA-F]{32}$ + description: The SID of the Service that the Log resource is associated + with + sid: type: string + minLength: 34 + maxLength: 34 + pattern: ^NO[0-9a-fA-F]{32}$ + nullable: true + description: The unique string that identifies the Log resource url: - description: The absolute URL of the Function resource + description: The absolute URL of the Log resource format: uri nullable: true type: string + serverless.v1.service: type: object - serverless.v1.service.function.function_version: properties: account_sid: - description: The SID of the Account that created the Function Version resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the Service resource date_created: - description: The ISO 8601 date and time in GMT when the Function Version - resource was created + type: string format: date-time nullable: true + description: The ISO 8601 date and time in GMT when the Service resource + was created + date_updated: type: string - function_sid: - description: The SID of the Function resource that is the parent of the - Function Version resource - maxLength: 34 - minLength: 34 + format: date-time + nullable: true + description: The ISO 8601 date and time in GMT when the Service resource + was last updated + domain_base: + description: The base domain name for this Service, which is a combination + of the unique name and a randomly generated string nullable: true - pattern: ^ZH[0-9a-fA-F]{32}$ type: string + friendly_name: + description: The string that you assigned to describe the Service resource + nullable: true + type: string + include_credentials: + description: Whether to inject Account credentials into a function invocation + context + nullable: true + type: boolean links: + description: The URLs of the Service's nested resources format: uri-map nullable: true type: object - path: - description: The URL-friendly string by which the Function Version resource - can be referenced - nullable: true + sid: type: string - service_sid: - description: The SID of the Service that the Function Version resource is - associated with - maxLength: 34 minLength: 34 - nullable: true - pattern: ^ZS[0-9a-fA-F]{32}$ - type: string - sid: - description: The unique string that identifies the Function Version resource maxLength: 34 - minLength: 34 + pattern: ^ZS[0-9a-fA-F]{32}$ + nullable: true + description: The unique string that identifies the Service resource + ui_editable: + description: Whether the Service resource's properties and subresources + can be edited via the UI + nullable: true + type: boolean + unique_name: + description: A user-defined string that uniquely identifies the Service + resource nullable: true - pattern: ^ZN[0-9a-fA-F]{32}$ type: string url: - description: The absolute URL of the Function Version resource + description: The absolute URL of the Service resource format: uri nullable: true type: string - visibility: - description: The access control that determines how the Function Version - resource can be accessed - enum: - - public - - private - - protected - nullable: true - type: string + serverless.v1.service.environment.variable: type: object - serverless.v1.service.function.function_version.function_version_content: properties: account_sid: - description: The SID of the Account that created the Function Version resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - content: - description: The content of the Function Version resource nullable: true + description: The SID of the Account that created the Variable resource + date_created: type: string - function_sid: - description: The SID of the Function that is the parent of the Function - Version - maxLength: 34 - minLength: 34 + format: date-time nullable: true - pattern: ^ZH[0-9a-fA-F]{32}$ + description: The ISO 8601 date and time in GMT when the Variable resource + was created + date_updated: type: string - service_sid: - description: The SID of the Service that the Function Version resource is - associated with - maxLength: 34 - minLength: 34 + format: date-time nullable: true - pattern: ^ZS[0-9a-fA-F]{32}$ + description: The ISO 8601 date and time in GMT when the Variable resource + was last updated + environment_sid: type: string - sid: - description: The unique string that identifies the Function Version resource - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^ZE[0-9a-fA-F]{32}$ nullable: true - pattern: ^ZN[0-9a-fA-F]{32}$ - type: string - url: - format: uri + description: The SID of the Environment in which the Variable exists + key: + description: A string by which the Variable resource can be referenced nullable: true type: string - type: object - securitySchemes: - accountSid_authToken: - scheme: basic - type: http -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 - Serverless - version: 1.30.0 -openapi: 3.0.1 -paths: - /v1/Services: - description: The top-level resource for a Serverless application, which serves - as a container for the application environments. - get: - description: Retrieve a list of all Services. - 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 - responses: - '200': - content: - application/json: - schema: - properties: - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - services: - items: - $ref: '#/components/schemas/serverless.v1.service' - type: array - title: ListServiceResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - Beta - post: - description: Create a new Service resource. - operationId: CreateService - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - FriendlyName: - description: A descriptive string that you create to describe the - Service resource. It can be a maximum of 255 characters. - type: string - IncludeCredentials: - description: Whether to inject Account credentials into a function - invocation context. The default value is `true`. - type: boolean - UiEditable: - description: Whether the Service's properties and subresources can - be edited via the UI. The default value is `false`. - type: boolean - UniqueName: - description: A user-defined string that uniquely identifies the - Service resource. It can be used as an alternative to the `sid` - in the URL path to address the Service resource. This value must - be 50 characters or less in length and be unique. - type: string - required: - - UniqueName - - FriendlyName - title: CreateServiceRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/serverless.v1.service' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - Beta + service_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^ZS[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Service that the Variable resource is associated + with + sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^ZV[0-9a-fA-F]{32}$ + nullable: true + description: The unique string that identifies the Variable resource + url: + description: The absolute URL of the Variable resource + format: uri + nullable: true + type: string + value: + description: A string that contains the actual value of the Variable + nullable: true + type: string + securitySchemes: + accountSid_authToken: + scheme: basic + type: http +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 - Serverless + version: 1.30.0 +openapi: 3.0.1 +paths: + /v1/Services/{ServiceSid}/Assets: servers: - url: https://serverless.twilio.com + description: A wrapper that represents a static file and groups the different + Versions of the static file. x-twilio: defaultOutputProperties: - sid - - unique_name - friendly_name + - date_created pathType: list - /v1/Services/{ServiceSid}/Assets: - description: A wrapper that represents a static file and groups the different - Versions of the static file. + parent: /Services get: description: Retrieve a list of all Assets. operationId: ListAsset @@ -855,18 +761,19 @@ paths: content: application/json: schema: + type: object + title: ListAssetResponse properties: assets: + type: array items: $ref: '#/components/schemas/serverless.v1.service.asset' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -880,9 +787,8 @@ paths: url: format: uri type: string - type: object - title: ListAssetResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] @@ -922,261 +828,261 @@ paths: - accountSid_authToken: [] x-maturity: - Beta + /v1/Services/{ServiceSid}/Assets/{Sid}: servers: - url: https://serverless.twilio.com + description: A wrapper that represents a static file and groups the different + Versions of the static file. x-twilio: defaultOutputProperties: - sid - friendly_name - date_created + pathType: instance parent: /Services - pathType: list - /v1/Services/{ServiceSid}/Assets/{AssetSid}/Versions: - description: The content of an Asset. get: - description: Retrieve a list of all Asset Versions. - operationId: ListAssetVersion + description: Retrieve a specific Asset resource. + operationId: FetchAsset parameters: - - description: The SID of the Service to read the Asset Version resource from. + - description: The SID of the Service to fetch the Asset resource from. in: path name: ServiceSid required: true schema: type: string - - description: The SID of the Asset resource that is the parent of the Asset - Version resources to read. + - description: The SID that identifies the Asset resource to fetch. in: path - name: AssetSid + name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^ZH[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 responses: '200': content: application/json: schema: - properties: - asset_versions: - items: - $ref: '#/components/schemas/serverless.v1.service.asset.asset_version' - type: array - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - title: ListAssetVersionResponse - type: object + $ref: '#/components/schemas/serverless.v1.service.asset' description: OK security: - accountSid_authToken: [] x-maturity: - Beta - servers: - - url: https://serverless.twilio.com - x-twilio: - className: asset_version - defaultOutputProperties: - - sid - - path - - visibility - - date_created - parent: /Services/{ServiceSid}/Assets - pathType: list - /v1/Services/{ServiceSid}/Assets/{AssetSid}/Versions/{Sid}: - description: The content of an Asset. - get: - description: Retrieve a specific Asset Version. - operationId: FetchAssetVersion + delete: + description: Delete an Asset resource. + operationId: DeleteAsset parameters: - - description: The SID of the Service to fetch the Asset Version resource from. + - description: The SID of the Service to delete the Asset resource from. in: path name: ServiceSid required: true schema: type: string - - description: The SID of the Asset resource that is the parent of the Asset - Version resource to fetch. + - description: The SID that identifies the Asset resource to delete. in: path - name: AssetSid + name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^ZH[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - Beta + post: + description: Update a specific Asset resource. + operationId: UpdateAsset + parameters: + - description: The SID of the Service to update the Asset resource from. + in: path + name: ServiceSid + required: true + schema: type: string - - description: The SID of the Asset Version resource to fetch. + - description: The SID that identifies the Asset resource to update. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^ZN[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^ZH[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: A descriptive string that you create to describe the + Asset resource. It can be a maximum of 255 characters. + type: string + required: + - FriendlyName + title: UpdateAssetRequest + type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/serverless.v1.service.asset.asset_version' + $ref: '#/components/schemas/serverless.v1.service.asset' description: OK security: - accountSid_authToken: [] x-maturity: - Beta + /v1/Services/{ServiceSid}/Assets/{AssetSid}/Versions: servers: - url: https://serverless.twilio.com + description: The content of an Asset. x-twilio: - className: asset_version defaultOutputProperties: - sid - path - visibility - date_created + pathType: list parent: /Services/{ServiceSid}/Assets - pathType: instance - /v1/Services/{ServiceSid}/Assets/{Sid}: - delete: - description: Delete an Asset resource. - operationId: DeleteAsset - parameters: - - description: The SID of the Service to delete the Asset resource from. - in: path - name: ServiceSid - required: true - schema: - type: string - - description: The SID that identifies the Asset resource to delete. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^ZH[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - Beta - description: A wrapper that represents a static file and groups the different - Versions of the static file. + className: asset_version get: - description: Retrieve a specific Asset resource. - operationId: FetchAsset + description: Retrieve a list of all Asset Versions. + operationId: ListAssetVersion parameters: - - description: The SID of the Service to fetch the Asset resource from. + - description: The SID of the Service to read the Asset Version resource from. in: path name: ServiceSid required: true schema: type: string - - description: The SID that identifies the Asset resource to fetch. + - description: The SID of the Asset resource that is the parent of the Asset + Version resources to read. in: path - name: Sid + name: AssetSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^ZH[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 responses: '200': content: application/json: schema: - $ref: '#/components/schemas/serverless.v1.service.asset' + type: object + title: ListAssetVersionResponse + properties: + asset_versions: + type: array + items: + $ref: '#/components/schemas/serverless.v1.service.asset.asset_version' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - Beta - post: - description: Update a specific Asset resource. - operationId: UpdateAsset + /v1/Services/{ServiceSid}/Assets/{AssetSid}/Versions/{Sid}: + servers: + - url: https://serverless.twilio.com + description: The content of an Asset. + x-twilio: + defaultOutputProperties: + - sid + - path + - visibility + - date_created + pathType: instance + parent: /Services/{ServiceSid}/Assets + className: asset_version + get: + description: Retrieve a specific Asset Version. + operationId: FetchAssetVersion parameters: - - description: The SID of the Service to update the Asset resource from. + - description: The SID of the Service to fetch the Asset Version resource from. in: path name: ServiceSid required: true schema: type: string - - description: The SID that identifies the Asset resource to update. + - description: The SID of the Asset resource that is the parent of the Asset + Version resource to fetch. in: path - name: Sid + name: AssetSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^ZH[0-9a-fA-F]{32}$ + - description: The SID of the Asset Version resource to fetch. + in: path + name: Sid + required: true + schema: type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - FriendlyName: - description: A descriptive string that you create to describe the - Asset resource. It can be a maximum of 255 characters. - type: string - required: - - FriendlyName - title: UpdateAssetRequest - type: object + minLength: 34 + maxLength: 34 + pattern: ^ZN[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/serverless.v1.service.asset' + $ref: '#/components/schemas/serverless.v1.service.asset.asset_version' description: OK security: - accountSid_authToken: [] x-maturity: - Beta + /v1/Services/{ServiceSid}/Builds: servers: - url: https://serverless.twilio.com + description: A collection of Function Versions, Asset Versions, Dependencies, + and a Runtime that form a deployable unit. x-twilio: defaultOutputProperties: - sid - - friendly_name + - status - date_created + pathType: list parent: /Services - pathType: instance - /v1/Services/{ServiceSid}/Builds: - description: A collection of Function Versions, Asset Versions, Dependencies, - and a Runtime that form a deployable unit. get: description: Retrieve a list of all Builds. operationId: ListBuild @@ -1200,18 +1106,19 @@ paths: content: application/json: schema: + type: object + title: ListBuildResponse properties: builds: + type: array items: $ref: '#/components/schemas/serverless.v1.service.build' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1225,9 +1132,8 @@ paths: url: format: uri type: string - type: object - title: ListBuildResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] @@ -1250,28 +1156,28 @@ paths: schema: properties: AssetVersions: + type: array + items: + type: string + minLength: 34 + maxLength: 34 + pattern: ^ZN[0-9a-fA-F]{32}$ description: The list of Asset Version resource SIDs to include in the Build. + FunctionVersions: + type: array items: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^ZN[0-9a-fA-F]{32}$ - type: string - type: array + description: The list of the Function Version resource SIDs to include + in the Build. Dependencies: description: A list of objects that describe the Dependencies included in the Build. Each object contains the `name` and `version` of the dependency. type: string - FunctionVersions: - description: The list of the Function Version resource SIDs to include - in the Build. - items: - maxLength: 34 - minLength: 34 - pattern: ^ZN[0-9a-fA-F]{32}$ - type: string - type: array Runtime: description: The Runtime version that will be used to run the Build resource when it is deployed. @@ -1289,44 +1195,18 @@ paths: - accountSid_authToken: [] x-maturity: - Beta + /v1/Services/{ServiceSid}/Builds/{Sid}: servers: - url: https://serverless.twilio.com + description: A collection of Function Versions, Asset Versions, Dependencies, + and a Runtime that form a deployable unit. x-twilio: defaultOutputProperties: - sid - status - date_created + pathType: instance parent: /Services - pathType: list - /v1/Services/{ServiceSid}/Builds/{Sid}: - delete: - description: Delete a Build resource. - operationId: DeleteBuild - parameters: - - description: The SID of the Service to delete the Build resource from. - in: path - name: ServiceSid - required: true - schema: - type: string - - description: The SID of the Build resource to delete. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^ZB[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - Beta - description: A collection of Function Versions, Asset Versions, Dependencies, - and a Runtime that form a deployable unit. get: description: Retrieve a specific Build resource. operationId: FetchBuild @@ -1342,10 +1222,10 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^ZB[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -1357,166 +1237,85 @@ paths: - accountSid_authToken: [] x-maturity: - Beta - servers: - - url: https://serverless.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - status - - date_created - parent: /Services - pathType: instance - /v1/Services/{ServiceSid}/Builds/{Sid}/Status: - description: The status of a Build resource. - get: - description: Retrieve a specific Build resource. - operationId: FetchBuildStatus + delete: + description: Delete a Build resource. + operationId: DeleteBuild parameters: - - description: The SID of the Service to fetch the Build resource from. + - description: The SID of the Service to delete the Build resource from. in: path name: ServiceSid required: true schema: type: string - - description: The SID of the Build resource to fetch. + - description: The SID of the Build resource to delete. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^ZB[0-9a-fA-F]{32}$ - type: string responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/serverless.v1.service.build.build_status' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - Beta + /v1/Services/{ServiceSid}/Builds/{Sid}/Status: servers: - url: https://serverless.twilio.com + description: The status of a Build resource. x-twilio: - className: build_status defaultOutputProperties: - sid - status - parent: /Services/{ServiceSid}/Builds pathType: instance - /v1/Services/{ServiceSid}/Environments: - description: Represents a deployed build of a given set of Functions and/or Assets - at a specific URL. - get: - description: Retrieve a list of all environments. - operationId: ListEnvironment - parameters: - - description: The SID of the Service to read the Environment resources from. - in: path - name: ServiceSid - required: true - schema: - 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 - responses: - '200': - content: - application/json: - schema: - properties: - environments: - items: - $ref: '#/components/schemas/serverless.v1.service.environment' - type: array - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - title: ListEnvironmentResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - Beta - post: - description: Create a new environment. - operationId: CreateEnvironment + parent: /Services/{ServiceSid}/Builds + className: build_status + get: + description: Retrieve a specific Build resource. + operationId: FetchBuildStatus parameters: - - description: The SID of the Service to create the Environment resource under. + - description: The SID of the Service to fetch the Build resource from. in: path name: ServiceSid required: true schema: type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - DomainSuffix: - description: A URL-friendly name that represents the environment - and forms part of the domain name. It can be a maximum of 16 characters. - type: string - UniqueName: - description: A user-defined string that uniquely identifies the - Environment resource. It can be a maximum of 100 characters. - type: string - required: - - UniqueName - title: CreateEnvironmentRequest - type: object + - description: The SID of the Build resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^ZB[0-9a-fA-F]{32}$ responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/serverless.v1.service.environment' - description: Created + $ref: '#/components/schemas/serverless.v1.service.build.build_status' + description: OK security: - accountSid_authToken: [] x-maturity: - Beta + /v1/Services/{ServiceSid}/Environments/{EnvironmentSid}/Deployments: servers: - url: https://serverless.twilio.com + description: An association of a Build with an Environment so that the Build is + published in the Environment. x-twilio: defaultOutputProperties: - sid - - unique_name - - domain_name - build_sid - parent: /Services + - date_created pathType: list - /v1/Services/{ServiceSid}/Environments/{EnvironmentSid}/Deployments: - description: An association of a Build with an Environment so that the Build is - published in the Environment. + parent: /Services/{ServiceSid}/Environments get: description: Retrieve a list of all Deployments. operationId: ListDeployment @@ -1533,10 +1332,10 @@ paths: name: EnvironmentSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^ZE[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 @@ -1550,18 +1349,19 @@ paths: content: application/json: schema: + type: object + title: ListDeploymentResponse properties: deployments: + type: array items: $ref: '#/components/schemas/serverless.v1.service.environment.deployment' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1575,9 +1375,8 @@ paths: url: format: uri type: string - type: object - title: ListDeploymentResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] @@ -1598,21 +1397,21 @@ paths: name: EnvironmentSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^ZE[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: BuildSid: - description: The SID of the Build for the Deployment. - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^ZB[0-9a-fA-F]{32}$ - type: string + description: The SID of the Build for the Deployment. title: CreateDeploymentRequest type: object responses: @@ -1626,18 +1425,18 @@ paths: - accountSid_authToken: [] x-maturity: - Beta + /v1/Services/{ServiceSid}/Environments/{EnvironmentSid}/Deployments/{Sid}: servers: - url: https://serverless.twilio.com + description: An association of a Build with an Environment so that the Build is + published in the Environment. x-twilio: defaultOutputProperties: - sid - build_sid - date_created + pathType: instance parent: /Services/{ServiceSid}/Environments - pathType: list - /v1/Services/{ServiceSid}/Environments/{EnvironmentSid}/Deployments/{Sid}: - description: An association of a Build with an Environment so that the Build is - published in the Environment. get: description: Retrieve a specific Deployment. operationId: FetchDeployment @@ -1653,19 +1452,19 @@ paths: name: EnvironmentSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^ZE[0-9a-fA-F]{32}$ - type: string - description: The SID that identifies the Deployment resource to fetch. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^ZD[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -1677,178 +1476,28 @@ paths: - accountSid_authToken: [] x-maturity: - Beta + /v1/Services/{ServiceSid}/Environments: servers: - url: https://serverless.twilio.com + description: Represents a deployed build of a given set of Functions and/or Assets + at a specific URL. x-twilio: defaultOutputProperties: - sid + - unique_name + - domain_name - build_sid - - date_created - parent: /Services/{ServiceSid}/Environments - pathType: instance - /v1/Services/{ServiceSid}/Environments/{EnvironmentSid}/Logs: - description: A record of an event that occurred related to a function invocation. - get: - description: Retrieve a list of all logs. - operationId: ListLog - parameters: - - description: The SID of the Service to read the Log resource from. - in: path - name: ServiceSid - required: true - schema: - type: string - - description: The SID of the environment with the Log resources to read. - in: path - name: EnvironmentSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^ZE[0-9a-fA-F]{32}$ - type: string - - description: The SID of the function whose invocation produced the Log resources - to read. - in: query - name: FunctionSid - schema: - maxLength: 34 - minLength: 34 - pattern: ^ZH[0-9a-fA-F]{32}$ - type: string - - description: The date/time (in GMT, ISO 8601) after which the Log resources - must have been created. Defaults to 1 day prior to current date/time. - in: query - name: StartDate - schema: - format: date-time - type: string - - description: The date/time (in GMT, ISO 8601) before which the Log resources - must have been created. Defaults to current date/time. - in: query - name: EndDate - schema: - format: date-time - 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 - responses: - '200': - content: - application/json: - schema: - properties: - logs: - items: - $ref: '#/components/schemas/serverless.v1.service.environment.log' - type: array - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - title: ListLogResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - Beta - servers: - - url: https://serverless.twilio.com - x-twilio: - defaultOutputProperties: [] - parent: /Services/{ServiceSid}/Environments pathType: list - /v1/Services/{ServiceSid}/Environments/{EnvironmentSid}/Logs/{Sid}: - description: A record of an event that occurred related to a function invocation. - get: - description: Retrieve a specific log. - operationId: FetchLog - parameters: - - description: The SID of the Service to fetch the Log resource from. - in: path - name: ServiceSid - required: true - schema: - type: string - - description: The SID of the environment with the Log resource to fetch. - in: path - name: EnvironmentSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^ZE[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Log resource to fetch. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^NO[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/serverless.v1.service.environment.log' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - Beta - servers: - - url: https://serverless.twilio.com - x-twilio: - defaultOutputProperties: [] - parent: /Services/{ServiceSid}/Environments - pathType: instance - /v1/Services/{ServiceSid}/Environments/{EnvironmentSid}/Variables: - description: A key and value pair that is specific to an Environment. + parent: /Services get: - description: Retrieve a list of all Variables. - operationId: ListVariable + description: Retrieve a list of all environments. + operationId: ListEnvironment parameters: - - description: The SID of the Service to read the Variable resources from. - in: path - name: ServiceSid - required: true - schema: - type: string - - description: The SID of the Environment with the Variable resources to read. + - description: The SID of the Service to read the Environment resources from. in: path - name: EnvironmentSid + name: ServiceSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^ZE[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. @@ -1863,14 +1512,19 @@ paths: content: application/json: schema: + type: object + title: ListEnvironmentResponse properties: + environments: + type: array + items: + $ref: '#/components/schemas/serverless.v1.service.environment' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1884,104 +1538,113 @@ paths: url: format: uri type: string - type: object - variables: - items: - $ref: '#/components/schemas/serverless.v1.service.environment.variable' - type: array - title: ListVariableResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - Beta post: - description: Create a new Variable. - operationId: CreateVariable + description: Create a new environment. + operationId: CreateEnvironment parameters: - - description: The SID of the Service to create the Variable resource under. + - description: The SID of the Service to create the Environment resource under. in: path name: ServiceSid required: true schema: type: string - - description: The SID of the Environment in which the Variable resource exists. - in: path - name: EnvironmentSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^ZE[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Key: - description: A string by which the Variable resource can be referenced. - It can be a maximum of 128 characters. + UniqueName: + description: A user-defined string that uniquely identifies the + Environment resource. It can be a maximum of 100 characters. type: string - Value: - description: A string that contains the actual value of the Variable. - It can be a maximum of 450 bytes in size. + DomainSuffix: + description: A URL-friendly name that represents the environment + and forms part of the domain name. It can be a maximum of 16 characters. type: string required: - - Key - - Value - title: CreateVariableRequest + - UniqueName + title: CreateEnvironmentRequest type: object responses: '201': content: application/json: schema: - $ref: '#/components/schemas/serverless.v1.service.environment.variable' + $ref: '#/components/schemas/serverless.v1.service.environment' description: Created security: - accountSid_authToken: [] x-maturity: - Beta + /v1/Services/{ServiceSid}/Environments/{Sid}: servers: - url: https://serverless.twilio.com + description: Represents a deployed build of a given set of Functions and/or Assets + at a specific URL. x-twilio: defaultOutputProperties: - sid - - key - - date_created - parent: /Services/{ServiceSid}/Environments - pathType: list - /v1/Services/{ServiceSid}/Environments/{EnvironmentSid}/Variables/{Sid}: - delete: - description: Delete a specific Variable. - operationId: DeleteVariable + - unique_name + - domain_name + - build_sid + pathType: instance + parent: /Services + get: + description: Retrieve a specific environment. + operationId: FetchEnvironment parameters: - - description: The SID of the Service to delete the Variable resource from. + - description: The SID of the Service to fetch the Environment resource from. in: path name: ServiceSid required: true schema: type: string - - description: The SID of the Environment with the Variables to delete. + - description: The SID of the Environment resource to fetch. in: path - name: EnvironmentSid + name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^ZE[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/serverless.v1.service.environment' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - Beta + delete: + description: Delete a specific environment. + operationId: DeleteEnvironment + parameters: + - description: The SID of the Service to delete the Environment resource from. + in: path + name: ServiceSid + required: true + schema: type: string - - description: The SID of the Variable resource to delete. + - description: The SID of the Environment resource to delete. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^ZV[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^ZE[0-9a-fA-F]{32}$ responses: '204': description: The resource was deleted successfully. @@ -1989,129 +1652,169 @@ paths: - accountSid_authToken: [] x-maturity: - Beta - description: A key and value pair that is specific to an Environment. + /v1/Services/{ServiceSid}/Functions: + servers: + - url: https://serverless.twilio.com + description: A wrapper that represents a Serverless JavaScript function and groups + the different and groups the different Versions of this code. + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - date_created + pathType: list + parent: /Services get: - description: Retrieve a specific Variable. - operationId: FetchVariable + description: Retrieve a list of all Functions. + operationId: ListFunction parameters: - - description: The SID of the Service to fetch the Variable resource from. + - description: The SID of the Service to read the Function resources from. in: path name: ServiceSid required: true schema: type: string - - description: The SID of the Environment with the Variable resource to fetch. - in: path - name: EnvironmentSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^ZE[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Variable resource to fetch. - in: path - name: Sid - required: true + - description: How many resources to return in each list page. The default is + 50, and the maximum is 1000. + in: query + name: PageSize schema: - maxLength: 34 - minLength: 34 - pattern: ^ZV[0-9a-fA-F]{32}$ - type: string + maximum: 1000 + minimum: 1 + type: integer responses: '200': content: application/json: schema: - $ref: '#/components/schemas/serverless.v1.service.environment.variable' + type: object + title: ListFunctionResponse + properties: + functions: + type: array + items: + $ref: '#/components/schemas/serverless.v1.service.function' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - Beta post: - description: Update a specific Variable. - operationId: UpdateVariable + description: Create a new Function resource. + operationId: CreateFunction parameters: - - description: The SID of the Service to update the Variable resource under. + - description: The SID of the Service to create the Function resource under. in: path name: ServiceSid required: true schema: type: string - - description: The SID of the Environment with the Variable resource to update. - in: path - name: EnvironmentSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^ZE[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Variable resource to update. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^ZV[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Key: - description: A string by which the Variable resource can be referenced. - It can be a maximum of 128 characters. - type: string - Value: - description: A string that contains the actual value of the Variable. - It can be a maximum of 450 bytes in size. + FriendlyName: + description: A descriptive string that you create to describe the + Function resource. It can be a maximum of 255 characters. type: string - title: UpdateVariableRequest + required: + - FriendlyName + title: CreateFunctionRequest type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/serverless.v1.service.function' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - Beta + /v1/Services/{ServiceSid}/Functions/{Sid}: + servers: + - url: https://serverless.twilio.com + description: A wrapper that represents a Serverless JavaScript function and groups + the different and groups the different Versions of this code. + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - date_created + pathType: instance + parent: /Services + get: + description: Retrieve a specific Function resource. + operationId: FetchFunction + parameters: + - description: The SID of the Service to fetch the Function resource from. + in: path + name: ServiceSid + required: true + schema: + type: string + - description: The SID of the Function resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^ZH[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/serverless.v1.service.environment.variable' + $ref: '#/components/schemas/serverless.v1.service.function' description: OK security: - accountSid_authToken: [] x-maturity: - Beta - servers: - - url: https://serverless.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - key - - date_created - parent: /Services/{ServiceSid}/Environments - pathType: instance - /v1/Services/{ServiceSid}/Environments/{Sid}: delete: - description: Delete a specific environment. - operationId: DeleteEnvironment + description: Delete a Function resource. + operationId: DeleteFunction parameters: - - description: The SID of the Service to delete the Environment resource from. + - description: The SID of the Service to delete the Function resource from. in: path name: ServiceSid required: true schema: type: string - - description: The SID of the Environment resource to delete. + - description: The SID of the Function resource to delete. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^ZE[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^ZH[0-9a-fA-F]{32}$ responses: '204': description: The resource was deleted successfully. @@ -2119,61 +1822,83 @@ paths: - accountSid_authToken: [] x-maturity: - Beta - description: Represents a deployed build of a given set of Functions and/or Assets - at a specific URL. - get: - description: Retrieve a specific environment. - operationId: FetchEnvironment + post: + description: Update a specific Function resource. + operationId: UpdateFunction parameters: - - description: The SID of the Service to fetch the Environment resource from. + - description: The SID of the Service to update the Function resource from. in: path name: ServiceSid required: true schema: type: string - - description: The SID of the Environment resource to fetch. + - description: The SID of the Function resource to update. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^ZE[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^ZH[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: A descriptive string that you create to describe the + Function resource. It can be a maximum of 255 characters. + type: string + required: + - FriendlyName + title: UpdateFunctionRequest + type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/serverless.v1.service.environment' + $ref: '#/components/schemas/serverless.v1.service.function' description: OK security: - accountSid_authToken: [] x-maturity: - Beta + /v1/Services/{ServiceSid}/Functions/{FunctionSid}/Versions: servers: - url: https://serverless.twilio.com + description: The content of a Function. x-twilio: defaultOutputProperties: - sid - - unique_name - - domain_name - - build_sid - parent: /Services - pathType: instance - /v1/Services/{ServiceSid}/Functions: - description: A wrapper that represents a Serverless JavaScript function and groups - the different and groups the different Versions of this code. + - path + - visibility + - date_created + pathType: list + parent: /Services/{ServiceSid}/Functions + className: function_version get: - description: Retrieve a list of all Functions. - operationId: ListFunction + description: Retrieve a list of all Function Version resources. + operationId: ListFunctionVersion parameters: - - description: The SID of the Service to read the Function resources from. + - description: The SID of the Service to read the Function Version resources + from. in: path name: ServiceSid required: true schema: type: string + - description: The SID of the function that is the parent of the Function Version + resources to read. + in: path + name: FunctionSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^ZH[0-9a-fA-F]{32}$ - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -2187,18 +1912,19 @@ paths: content: application/json: schema: + type: object + title: ListFunctionVersionResponse properties: - functions: - items: - $ref: '#/components/schemas/serverless.v1.service.function' + function_versions: type: array + items: + $ref: '#/components/schemas/serverless.v1.service.function.function_version' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -2212,80 +1938,169 @@ paths: url: format: uri type: string - type: object - title: ListFunctionResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - Beta - post: - description: Create a new Function resource. - operationId: CreateFunction + /v1/Services/{ServiceSid}/Functions/{FunctionSid}/Versions/{Sid}: + servers: + - url: https://serverless.twilio.com + description: The content of a Function. + x-twilio: + defaultOutputProperties: + - sid + - path + - visibility + - date_created + pathType: instance + parent: /Services/{ServiceSid}/Functions + className: function_version + get: + description: Retrieve a specific Function Version resource. + operationId: FetchFunctionVersion parameters: - - description: The SID of the Service to create the Function resource under. + - description: The SID of the Service to fetch the Function Version resource + from. in: path name: ServiceSid required: true schema: type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - FriendlyName: - description: A descriptive string that you create to describe the - Function resource. It can be a maximum of 255 characters. - type: string - required: - - FriendlyName - title: CreateFunctionRequest - type: object + - description: The SID of the function that is the parent of the Function Version + resource to fetch. + in: path + name: FunctionSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^ZH[0-9a-fA-F]{32}$ + - description: The SID of the Function Version resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^ZN[0-9a-fA-F]{32}$ responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/serverless.v1.service.function' - description: Created + $ref: '#/components/schemas/serverless.v1.service.function.function_version' + description: OK security: - accountSid_authToken: [] x-maturity: - Beta + /v1/Services/{ServiceSid}/Functions/{FunctionSid}/Versions/{Sid}/Content: servers: - url: https://serverless.twilio.com + description: The code of a Function Version. x-twilio: defaultOutputProperties: - sid - - friendly_name - - date_created - parent: /Services - pathType: list - /v1/Services/{ServiceSid}/Functions/{FunctionSid}/Versions: - description: The content of a Function. + - content + pathType: instance + parent: /Services/{ServiceSid}/Functions/{FunctionSid}/Versions + className: function_version_content get: - description: Retrieve a list of all Function Version resources. - operationId: ListFunctionVersion + description: Retrieve a the content of a specific Function Version resource. + operationId: FetchFunctionVersionContent parameters: - - description: The SID of the Service to read the Function Version resources + - description: The SID of the Service to fetch the Function Version content from. in: path name: ServiceSid required: true schema: type: string - - description: The SID of the function that is the parent of the Function Version - resources to read. + - description: The SID of the Function that is the parent of the Function Version + content to fetch. in: path name: FunctionSid required: true schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^ZH[0-9a-fA-F]{32}$ + - description: The SID of the Function Version content to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^ZN[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/serverless.v1.service.function.function_version.function_version_content' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - Beta + /v1/Services/{ServiceSid}/Environments/{EnvironmentSid}/Logs: + servers: + - url: https://serverless.twilio.com + description: A record of an event that occurred related to a function invocation. + x-twilio: + defaultOutputProperties: [] + pathType: list + parent: /Services/{ServiceSid}/Environments + get: + description: Retrieve a list of all logs. + operationId: ListLog + parameters: + - description: The SID of the Service to read the Log resource from. + in: path + name: ServiceSid + required: true + schema: + type: string + - description: The SID of the environment with the Log resources to read. + in: path + name: EnvironmentSid + required: true + schema: + type: string + minLength: 34 maxLength: 34 + pattern: ^ZE[0-9a-fA-F]{32}$ + - description: The SID of the function whose invocation produced the Log resources + to read. + in: query + name: FunctionSid + schema: + type: string minLength: 34 + maxLength: 34 pattern: ^ZH[0-9a-fA-F]{32}$ + - description: The date/time (in GMT, ISO 8601) after which the Log resources + must have been created. Defaults to 1 day prior to current date/time. + in: query + name: StartDate + schema: + type: string + format: date-time + - description: The date/time (in GMT, ISO 8601) before which the Log resources + must have been created. Defaults to current date/time. + in: query + name: EndDate + schema: type: string + format: date-time - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -2299,18 +2114,19 @@ paths: content: application/json: schema: + type: object + title: ListLogResponse properties: - function_versions: - items: - $ref: '#/components/schemas/serverless.v1.service.function.function_version' + logs: type: array + items: + $ref: '#/components/schemas/serverless.v1.service.environment.log' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -2324,334 +2140,518 @@ paths: url: format: uri type: string - type: object - title: ListFunctionVersionResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - Beta + /v1/Services/{ServiceSid}/Environments/{EnvironmentSid}/Logs/{Sid}: servers: - url: https://serverless.twilio.com + description: A record of an event that occurred related to a function invocation. x-twilio: - className: function_version - defaultOutputProperties: - - sid - - path - - visibility - - date_created - parent: /Services/{ServiceSid}/Functions - pathType: list - /v1/Services/{ServiceSid}/Functions/{FunctionSid}/Versions/{Sid}: - description: The content of a Function. + defaultOutputProperties: [] + pathType: instance + parent: /Services/{ServiceSid}/Environments get: - description: Retrieve a specific Function Version resource. - operationId: FetchFunctionVersion + description: Retrieve a specific log. + operationId: FetchLog parameters: - - description: The SID of the Service to fetch the Function Version resource - from. + - description: The SID of the Service to fetch the Log resource from. in: path name: ServiceSid required: true schema: type: string - - description: The SID of the function that is the parent of the Function Version - resource to fetch. + - description: The SID of the environment with the Log resource to fetch. in: path - name: FunctionSid + name: EnvironmentSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^ZH[0-9a-fA-F]{32}$ type: string - - description: The SID of the Function Version resource to fetch. + minLength: 34 + maxLength: 34 + pattern: ^ZE[0-9a-fA-F]{32}$ + - description: The SID of the Log resource to fetch. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^ZN[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^NO[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/serverless.v1.service.function.function_version' + $ref: '#/components/schemas/serverless.v1.service.environment.log' description: OK security: - accountSid_authToken: [] x-maturity: - Beta + /v1/Services: servers: - url: https://serverless.twilio.com + description: The top-level resource for a Serverless application, which serves + as a container for the application environments. x-twilio: - className: function_version defaultOutputProperties: - sid - - path - - visibility - - date_created - parent: /Services/{ServiceSid}/Functions - pathType: instance - /v1/Services/{ServiceSid}/Functions/{FunctionSid}/Versions/{Sid}/Content: - description: The code of a Function Version. + - unique_name + - friendly_name + pathType: list get: - description: Retrieve a the content of a specific Function Version resource. - operationId: FetchFunctionVersionContent + description: Retrieve a list of all Services. + operationId: ListService parameters: - - description: The SID of the Service to fetch the Function Version content - from. - in: path - name: ServiceSid - required: true - schema: - type: string - - description: The SID of the Function that is the parent of the Function Version - content to fetch. - in: path - name: FunctionSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^ZH[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Function Version content to fetch. - in: path - name: Sid - required: true + - description: How many resources to return in each list page. The default is + 50, and the maximum is 1000. + in: query + name: PageSize schema: - maxLength: 34 - minLength: 34 - pattern: ^ZN[0-9a-fA-F]{32}$ - type: string + maximum: 1000 + minimum: 1 + type: integer responses: '200': content: application/json: schema: - $ref: '#/components/schemas/serverless.v1.service.function.function_version.function_version_content' + type: object + title: ListServiceResponse + properties: + services: + type: array + items: + $ref: '#/components/schemas/serverless.v1.service' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - Beta + post: + description: Create a new Service resource. + operationId: CreateService + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + UniqueName: + description: A user-defined string that uniquely identifies the + Service resource. It can be used as an alternative to the `sid` + in the URL path to address the Service resource. This value must + be 50 characters or less in length and be unique. + type: string + FriendlyName: + description: A descriptive string that you create to describe the + Service resource. It can be a maximum of 255 characters. + type: string + IncludeCredentials: + description: Whether to inject Account credentials into a function + invocation context. The default value is `true`. + type: boolean + UiEditable: + description: Whether the Service's properties and subresources can + be edited via the UI. The default value is `false`. + type: boolean + required: + - UniqueName + - FriendlyName + title: CreateServiceRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/serverless.v1.service' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - Beta + /v1/Services/{Sid}: servers: - url: https://serverless.twilio.com + description: The top-level resource for a Serverless application, which serves + as a container for the application environments. x-twilio: - className: function_version_content defaultOutputProperties: - sid - - content - parent: /Services/{ServiceSid}/Functions/{FunctionSid}/Versions + - unique_name + - friendly_name pathType: instance - /v1/Services/{ServiceSid}/Functions/{Sid}: + get: + description: Retrieve a specific Service resource. + operationId: FetchService + parameters: + - description: The `sid` or `unique_name` of the Service resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/serverless.v1.service' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - Beta delete: - description: Delete a Function resource. - operationId: DeleteFunction + description: Delete a Service resource. + operationId: DeleteService parameters: - - description: The SID of the Service to delete the Function resource from. + - description: The `sid` or `unique_name` of the Service resource to delete. in: path - name: ServiceSid + name: Sid required: true schema: type: string - - description: The SID of the Function resource to delete. + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - Beta + post: + description: Update a specific Service resource. + operationId: UpdateService + parameters: + - description: The `sid` or `unique_name` of the Service resource to update. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^ZH[0-9a-fA-F]{32}$ type: string + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + IncludeCredentials: + description: Whether to inject Account credentials into a function + invocation context. + type: boolean + FriendlyName: + description: A descriptive string that you create to describe the + Service resource. It can be a maximum of 255 characters. + type: string + UiEditable: + description: Whether the Service resource's properties and subresources + can be edited via the UI. The default value is `false`. + type: boolean + title: UpdateServiceRequest + type: object responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/serverless.v1.service' + description: OK security: - accountSid_authToken: [] x-maturity: - Beta - description: A wrapper that represents a Serverless JavaScript function and groups - the different and groups the different Versions of this code. + /v1/Services/{ServiceSid}/Environments/{EnvironmentSid}/Variables: + servers: + - url: https://serverless.twilio.com + description: A key and value pair that is specific to an Environment. + x-twilio: + defaultOutputProperties: + - sid + - key + - date_created + pathType: list + parent: /Services/{ServiceSid}/Environments get: - description: Retrieve a specific Function resource. - operationId: FetchFunction + description: Retrieve a list of all Variables. + operationId: ListVariable parameters: - - description: The SID of the Service to fetch the Function resource from. + - description: The SID of the Service to read the Variable resources from. in: path name: ServiceSid required: true schema: type: string - - description: The SID of the Function resource to fetch. + - description: The SID of the Environment with the Variable resources to read. in: path - name: Sid + name: EnvironmentSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^ZH[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^ZE[0-9a-fA-F]{32}$ + - 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 responses: '200': content: application/json: schema: - $ref: '#/components/schemas/serverless.v1.service.function' + type: object + title: ListVariableResponse + properties: + variables: + type: array + items: + $ref: '#/components/schemas/serverless.v1.service.environment.variable' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - Beta post: - description: Update a specific Function resource. - operationId: UpdateFunction + description: Create a new Variable. + operationId: CreateVariable parameters: - - description: The SID of the Service to update the Function resource from. + - description: The SID of the Service to create the Variable resource under. in: path name: ServiceSid required: true schema: type: string - - description: The SID of the Function resource to update. + - description: The SID of the Environment in which the Variable resource exists. in: path - name: Sid + name: EnvironmentSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^ZH[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^ZE[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - FriendlyName: - description: A descriptive string that you create to describe the - Function resource. It can be a maximum of 255 characters. + Key: + description: A string by which the Variable resource can be referenced. + It can be a maximum of 128 characters. + type: string + Value: + description: A string that contains the actual value of the Variable. + It can be a maximum of 450 bytes in size. type: string required: - - FriendlyName - title: UpdateFunctionRequest + - Key + - Value + title: CreateVariableRequest type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/serverless.v1.service.function' - description: OK + $ref: '#/components/schemas/serverless.v1.service.environment.variable' + description: Created security: - accountSid_authToken: [] x-maturity: - Beta + /v1/Services/{ServiceSid}/Environments/{EnvironmentSid}/Variables/{Sid}: servers: - url: https://serverless.twilio.com + description: A key and value pair that is specific to an Environment. x-twilio: defaultOutputProperties: - sid - - friendly_name + - key - date_created - parent: /Services pathType: instance - /v1/Services/{Sid}: - delete: - description: Delete a Service resource. - operationId: DeleteService + parent: /Services/{ServiceSid}/Environments + get: + description: Retrieve a specific Variable. + operationId: FetchVariable parameters: - - description: The `sid` or `unique_name` of the Service resource to delete. + - description: The SID of the Service to fetch the Variable resource from. in: path - name: Sid + name: ServiceSid required: true schema: type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - Beta - description: The top-level resource for a Serverless application, which serves - as a container for the application environments. - get: - description: Retrieve a specific Service resource. - operationId: FetchService - parameters: - - description: The `sid` or `unique_name` of the Service resource to fetch. + - description: The SID of the Environment with the Variable resource to fetch. + in: path + name: EnvironmentSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^ZE[0-9a-fA-F]{32}$ + - description: The SID of the Variable resource to fetch. in: path name: Sid required: true schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^ZV[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/serverless.v1.service' + $ref: '#/components/schemas/serverless.v1.service.environment.variable' description: OK security: - accountSid_authToken: [] x-maturity: - Beta post: - description: Update a specific Service resource. - operationId: UpdateService + description: Update a specific Variable. + operationId: UpdateVariable parameters: - - description: The `sid` or `unique_name` of the Service resource to update. + - description: The SID of the Service to update the Variable resource under. + in: path + name: ServiceSid + required: true + schema: + type: string + - description: The SID of the Environment with the Variable resource to update. + in: path + name: EnvironmentSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^ZE[0-9a-fA-F]{32}$ + - description: The SID of the Variable resource to update. in: path name: Sid required: true schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^ZV[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - FriendlyName: - description: A descriptive string that you create to describe the - Service resource. It can be a maximum of 255 characters. + Key: + description: A string by which the Variable resource can be referenced. + It can be a maximum of 128 characters. type: string - IncludeCredentials: - description: Whether to inject Account credentials into a function - invocation context. - type: boolean - UiEditable: - description: Whether the Service resource's properties and subresources - can be edited via the UI. The default value is `false`. - type: boolean - title: UpdateServiceRequest + Value: + description: A string that contains the actual value of the Variable. + It can be a maximum of 450 bytes in size. + type: string + title: UpdateVariableRequest type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/serverless.v1.service' + $ref: '#/components/schemas/serverless.v1.service.environment.variable' description: OK security: - accountSid_authToken: [] x-maturity: - Beta - servers: - - url: https://serverless.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - unique_name - - friendly_name - pathType: instance + delete: + description: Delete a specific Variable. + operationId: DeleteVariable + parameters: + - description: The SID of the Service to delete the Variable resource from. + in: path + name: ServiceSid + required: true + schema: + type: string + - description: The SID of the Environment with the Variables to delete. + in: path + name: EnvironmentSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^ZE[0-9a-fA-F]{32}$ + - description: The SID of the Variable resource to delete. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^ZV[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - Beta servers: - url: https://serverless.twilio.com x-maturity: -- description: PLEASE NOTE that this is a Beta product that is subject to change. +- name: Beta + description: PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution. - name: Beta diff --git a/spec/yaml/twilio_studio_v1.yaml b/spec/yaml/twilio_studio_v1.yaml index 56d4ad3d..cb65c8fc 100644 --- a/spec/yaml/twilio_studio_v1.yaml +++ b/spec/yaml/twilio_studio_v1.yaml @@ -1,194 +1,241 @@ components: schemas: - studio.v1.flow: + studio.v1.flow.engagement: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created the resource + contact_channel_address: + description: The phone number, SIP address or Client identifier that triggered + this Engagement + nullable: true + type: string + contact_sid: type: string + minLength: 34 + maxLength: 34 + pattern: ^FC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Contact + context: + nullable: true + description: The current state of the execution flow date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the Engagement was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true + description: The ISO 8601 date and time in GMT when the Engagement was last + updated + flow_sid: type: string - friendly_name: - description: The string that you assigned to describe the Flow + minLength: 34 + maxLength: 34 + pattern: ^FW[0-9a-fA-F]{32}$ nullable: true - type: string + description: The SID of the Flow links: - description: Nested resource URLs + description: The URLs of the Engagement's nested resources format: uri-map nullable: true type: object sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 + maxLength: 34 + pattern: ^FN[0-9a-fA-F]{32}$ nullable: true - pattern: ^FW[0-9a-fA-F]{32}$ - type: string + description: The unique string that identifies the resource status: - description: The status of the Flow + type: string enum: - - draft - - published + - active + - ended nullable: true - type: string + description: The status of the Engagement url: description: The absolute URL of the resource format: uri nullable: true type: string - version: - description: The latest version number of the Flow's definition - nullable: true - type: integer + studio.v1.flow.engagement.engagement_context: type: object - studio.v1.flow.engagement: properties: account_sid: - description: The SID of the Account that created the resource + type: string + minLength: 34 maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: Account SID + context: + nullable: true + description: Flow state + engagement_sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^FN[0-9a-fA-F]{32}$ nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ + description: Engagement SID + flow_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^FW[0-9a-fA-F]{32}$ + nullable: true + description: Flow SID + url: + description: The URL of the resource + format: uri + nullable: true + type: string + studio.v1.flow.execution: + type: object + properties: + account_sid: type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created the resource contact_channel_address: description: The phone number, SIP address or Client identifier that triggered - this Engagement + the Execution nullable: true type: string contact_sid: - description: The SID of the Contact - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^FC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Contact context: - description: The current state of the execution flow nullable: true + description: The current state of the flow date_created: - description: The ISO 8601 date and time in GMT when the Engagement was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the Engagement was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated flow_sid: - description: The SID of the Flow - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^FW[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Flow links: - description: The URLs of the Engagement's nested resources + description: Nested resource URLs format: uri-map nullable: true type: object sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^FN[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource status: - description: The status of the Engagement + type: string enum: - active - ended nullable: true - type: string + description: The status of the Execution url: description: The absolute URL of the resource format: uri nullable: true type: string + studio.v1.flow.execution.execution_context: type: object - studio.v1.flow.engagement.engagement_context: properties: account_sid: - description: Account SID - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource context: - description: Flow state nullable: true - engagement_sid: - description: Engagement SID - maxLength: 34 + description: The current state of the flow + execution_sid: + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^FN[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Execution flow_sid: - description: Flow SID - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^FW[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Flow url: - description: The URL of the resource + description: The absolute URL of the resource format: uri nullable: true type: string + studio.v1.flow.execution.execution_step: type: object - studio.v1.flow.engagement.step: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource context: - description: The current state of the flow nullable: true + description: The current state of the flow date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true + description: The ISO 8601 date and time in GMT when the resource was last + updated + execution_sid: type: string - engagement_sid: - description: The SID of the Engagement - maxLength: 34 minLength: 34 - nullable: true + maxLength: 34 pattern: ^FN[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Execution flow_sid: - description: The SID of the Flow - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^FW[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Flow links: description: The URLs of related resources format: uri-map @@ -199,12 +246,12 @@ components: nullable: true type: string sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^FT[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource transitioned_from: description: The Widget that preceded the Widget for the Step nullable: true @@ -218,87 +265,69 @@ components: format: uri nullable: true type: string + studio.v1.flow.execution.execution_step.execution_step_context: type: object - studio.v1.flow.engagement.step.step_context: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource context: - description: The current state of the flow nullable: true - engagement_sid: - description: The SID of the Engagement - maxLength: 34 + description: The current state of the flow + execution_sid: + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^FN[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Execution flow_sid: - description: The SID of the Flow - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^FW[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Flow step_sid: - description: Step SID - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^FT[0-9a-fA-F]{32}$ - type: string + nullable: true + description: Step SID url: description: The absolute URL of the resource format: uri nullable: true type: string + studio.v1.flow: type: object - studio.v1.flow.execution: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - contact_channel_address: - description: The phone number, SIP address or Client identifier that triggered - the Execution - nullable: true type: string - contact_sid: - description: The SID of the Contact - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ nullable: true - pattern: ^FC[0-9a-fA-F]{32}$ + description: The SID of the Account that created the resource + date_created: type: string - context: - description: The current state of the flow + format: date-time nullable: true - date_created: description: The ISO 8601 date and time in GMT when the resource was created + date_updated: + type: string format: date-time nullable: true - type: string - date_updated: description: The ISO 8601 date and time in GMT when the resource was last updated - format: date-time - nullable: true - type: string - flow_sid: - description: The SID of the Flow - maxLength: 34 - minLength: 34 + friendly_name: + description: The string that you assigned to describe the Flow nullable: true - pattern: ^FW[0-9a-fA-F]{32}$ type: string links: description: Nested resource URLs @@ -306,94 +335,66 @@ components: nullable: true type: object sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 + maxLength: 34 + pattern: ^FW[0-9a-fA-F]{32}$ nullable: true - pattern: ^FN[0-9a-fA-F]{32}$ - type: string + description: The unique string that identifies the resource status: - description: The status of the Execution + type: string enum: - - active - - ended + - draft + - published nullable: true - type: string + description: The status of the Flow url: description: The absolute URL of the resource format: uri nullable: true type: string + version: + description: The latest version number of the Flow's definition + nullable: true + type: integer + studio.v1.flow.engagement.step: type: object - studio.v1.flow.execution.execution_context: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ type: string - context: - description: The current state of the flow - nullable: true - execution_sid: - description: The SID of the Execution - maxLength: 34 minLength: 34 - nullable: true - pattern: ^FN[0-9a-fA-F]{32}$ - type: string - flow_sid: - description: The SID of the Flow maxLength: 34 - minLength: 34 - nullable: true - pattern: ^FW[0-9a-fA-F]{32}$ - type: string - url: - description: The absolute URL of the resource - format: uri + pattern: ^AC[0-9a-fA-F]{32}$ nullable: true - type: string - type: object - studio.v1.flow.execution.execution_step: - properties: - account_sid: description: The SID of the Account that created the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string context: - description: The current state of the flow nullable: true + description: The current state of the flow date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true + description: The ISO 8601 date and time in GMT when the resource was last + updated + engagement_sid: type: string - execution_sid: - description: The SID of the Execution - maxLength: 34 minLength: 34 - nullable: true + maxLength: 34 pattern: ^FN[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Engagement flow_sid: - description: The SID of the Flow - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^FW[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Flow links: description: The URLs of related resources format: uri-map @@ -404,12 +405,12 @@ components: nullable: true type: string sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^FT[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource transitioned_from: description: The Widget that preceded the Widget for the Step nullable: true @@ -423,46 +424,45 @@ components: format: uri nullable: true type: string + studio.v1.flow.engagement.step.step_context: type: object - studio.v1.flow.execution.execution_step.execution_step_context: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource context: - description: The current state of the flow nullable: true - execution_sid: - description: The SID of the Execution - maxLength: 34 + description: The current state of the flow + engagement_sid: + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^FN[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Engagement flow_sid: - description: The SID of the Flow - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^FW[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Flow step_sid: - description: Step SID - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^FT[0-9a-fA-F]{32}$ - type: string + nullable: true + description: Step SID url: description: The absolute URL of the resource format: uri nullable: true type: string - type: object securitySchemes: accountSid_authToken: scheme: basic @@ -481,69 +481,18 @@ info: version: 1.30.0 openapi: 3.0.1 paths: - /v1/Flows: - description: Studio flows - get: - description: Retrieve a list of all Flows. - operationId: ListFlow - 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 - responses: - '200': - content: - application/json: - schema: - properties: - flows: - items: - $ref: '#/components/schemas/studio.v1.flow' - type: array - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - title: ListFlowResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA + /v1/Flows/{FlowSid}/Engagements: servers: - url: https://studio.twilio.com + description: '[DEPRECATED] Excecutions of Studio flows' x-twilio: defaultOutputProperties: - sid - - friendly_name + - contact_sid - status - - version + - date_created pathType: list - /v1/Flows/{FlowSid}/Engagements: - description: '[DEPRECATED] Excecutions of Studio flows' + parent: /Flows get: description: Retrieve a list of all Engagements for the Flow. operationId: ListEngagement @@ -553,10 +502,10 @@ paths: name: FlowSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FW[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 @@ -570,18 +519,19 @@ paths: content: application/json: schema: + type: object + title: ListEngagementResponse properties: engagements: + type: array items: $ref: '#/components/schemas/studio.v1.flow.engagement' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -595,9 +545,8 @@ paths: url: format: uri type: string - type: object - title: ListEngagementResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] @@ -612,16 +561,21 @@ paths: name: FlowSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FW[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - From: + To: + description: The Contact phone number to start a Studio Flow Engagement, + available as variable `{{contact.channel.address}}`. + format: phone-number + type: string + From: description: The Twilio phone number to send messages or initiate calls from during the Flow Engagement. Available as variable `{{flow.channel.address}}` format: phone-number @@ -635,11 +589,6 @@ paths: be passed as a string, not as a hash object. Depending on your particular HTTP library, you may need to add quotes or URL encode your JSON string.' - To: - description: The Contact phone number to start a Studio Flow Engagement, - available as variable `{{contact.channel.address}}`. - format: phone-number - type: string required: - To - From @@ -656,18 +605,90 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Flows/{FlowSid}/Engagements/{Sid}: servers: - url: https://studio.twilio.com + description: '[DEPRECATED] Excecutions of Studio flows' x-twilio: defaultOutputProperties: - sid - contact_sid - status - date_created + pathType: instance parent: /Flows - pathType: list + get: + description: Retrieve an Engagement + operationId: FetchEngagement + parameters: + - description: The SID of the Flow. + in: path + name: FlowSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^FW[0-9a-fA-F]{32}$ + - description: The SID of the Engagement resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^FN[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/studio.v1.flow.engagement' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + delete: + description: Delete this Engagement and all Steps relating to it. + operationId: DeleteEngagement + parameters: + - description: The SID of the Flow to delete Engagements from. + in: path + name: FlowSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^FW[0-9a-fA-F]{32}$ + - description: The SID of the Engagement resource to delete. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^FN[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA /v1/Flows/{FlowSid}/Engagements/{EngagementSid}/Context: + servers: + - url: https://studio.twilio.com description: '[DEPRECATED] JSON context for engagements' + x-twilio: + defaultOutputProperties: + - context + pathType: instance + parent: /Flows/{FlowSid}/Engagements + className: engagement_context get: description: Retrieve the most recent context for an Engagement. operationId: FetchEngagementContext @@ -677,19 +698,19 @@ paths: name: FlowSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FW[0-9a-fA-F]{32}$ - type: string - description: The SID of the Engagement. in: path name: EngagementSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FN[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -701,38 +722,45 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Flows/{FlowSid}/Executions: servers: - url: https://studio.twilio.com + description: Executions of Studio flows x-twilio: - className: engagement_context defaultOutputProperties: - - context - parent: /Flows/{FlowSid}/Engagements - pathType: instance - /v1/Flows/{FlowSid}/Engagements/{EngagementSid}/Steps: - description: Steps within a Studio flow + - sid + - contact_sid + - status + - date_created + pathType: list + parent: /Flows get: - description: Retrieve a list of all Steps for an Engagement. - operationId: ListStep + description: Retrieve a list of all Executions for the Flow. + operationId: ListExecution parameters: - - description: The SID of the Flow with the Step to read. + - description: The SID of the Flow with the Execution resources to read. in: path name: FlowSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FW[0-9a-fA-F]{32}$ + - description: Only show Execution resources starting on or after this [ISO + 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time, given as `YYYY-MM-DDThh:mm:ss-hh:mm`. + in: query + name: DateCreatedFrom + schema: type: string - - description: The SID of the Engagement with the Step to read. - in: path - name: EngagementSid - required: true + format: date-time + - description: Only show Execution resources starting before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) + date-time, given as `YYYY-MM-DDThh:mm:ss-hh:mm`. + in: query + name: DateCreatedTo schema: - maxLength: 34 - minLength: 34 - pattern: ^FN[0-9a-fA-F]{32}$ type: string + format: date-time - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -746,14 +774,19 @@ paths: content: application/json: schema: + type: object + title: ListExecutionResponse properties: + executions: + type: array + items: + $ref: '#/components/schemas/studio.v1.flow.execution' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -767,157 +800,134 @@ paths: url: format: uri type: string - type: object - steps: - items: - $ref: '#/components/schemas/studio.v1.flow.engagement.step' - type: array - title: ListStepResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://studio.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - name - - transitioned_from - - transitioned_to - parent: /Flows/{FlowSid}/Engagements - pathType: list - /v1/Flows/{FlowSid}/Engagements/{EngagementSid}/Steps/{Sid}: - description: Steps within a Studio flow - get: - description: Retrieve a Step. - operationId: FetchStep + post: + description: Triggers a new Execution for the Flow + operationId: CreateExecution parameters: - - description: The SID of the Flow with the Step to fetch. + - description: The SID of the Excecution's Flow. in: path name: FlowSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^FW[0-9a-fA-F]{32}$ type: string - - description: The SID of the Engagement with the Step to fetch. - in: path - name: EngagementSid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^FN[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Step resource to fetch. - in: path - name: Sid - required: true - schema: maxLength: 34 - minLength: 34 - pattern: ^FT[0-9a-fA-F]{32}$ - type: string + pattern: ^FW[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + To: + description: The Contact phone number to start a Studio Flow Execution, + available as variable `{{contact.channel.address}}`. + format: phone-number + type: string + From: + description: The Twilio phone number to send messages or initiate + calls from during the Flow's Execution. Available as variable + `{{flow.channel.address}}`. For SMS, this can also be a Messaging + Service SID. + format: phone-number + type: string + Parameters: + description: 'JSON data that will be added to the Flow''s context + and that can be accessed as variables inside your Flow. For example, + if you pass in `Parameters={"name":"Zeke"}`, a widget in your + Flow can reference the variable `{{flow.data.name}}`, which returns + "Zeke". Note: the JSON value must explicitly be passed as a string, + not as a hash object. Depending on your particular HTTP library, + you may need to add quotes or URL encode the JSON string.' + required: + - To + - From + title: CreateExecutionRequest + type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/studio.v1.flow.engagement.step' - description: OK + $ref: '#/components/schemas/studio.v1.flow.execution' + description: Created security: - accountSid_authToken: [] x-maturity: - GA + /v1/Flows/{FlowSid}/Executions/{Sid}: servers: - url: https://studio.twilio.com + description: Executions of Studio flows x-twilio: defaultOutputProperties: - sid - - name - - transitioned_from - - transitioned_to - parent: /Flows/{FlowSid}/Engagements + - contact_sid + - status + - date_created pathType: instance - /v1/Flows/{FlowSid}/Engagements/{EngagementSid}/Steps/{StepSid}/Context: - description: JSON context for individual steps + parent: /Flows get: - description: Retrieve the context for an Engagement Step. - operationId: FetchStepContext + description: Retrieve an Execution + operationId: FetchExecution parameters: - - description: The SID of the Flow with the Step to fetch. + - description: The SID of the Flow with the Execution resource to fetch in: path name: FlowSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FW[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Engagement with the Step to fetch. + - description: The SID of the Execution resource to fetch. in: path - name: EngagementSid + name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 - pattern: ^FN[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Step to fetch - in: path - name: StepSid - required: true - schema: maxLength: 34 - minLength: 34 - pattern: ^FT[0-9a-fA-F]{32}$ - type: string + pattern: ^FN[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/studio.v1.flow.engagement.step.step_context' + $ref: '#/components/schemas/studio.v1.flow.execution' description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://studio.twilio.com - x-twilio: - className: step_context - defaultOutputProperties: - - context - parent: /Flows/{FlowSid}/Engagements/{EngagementSid}/Steps - pathType: instance - /v1/Flows/{FlowSid}/Engagements/{Sid}: delete: - description: Delete this Engagement and all Steps relating to it. - operationId: DeleteEngagement + description: Delete the Execution and all Steps relating to it. + operationId: DeleteExecution parameters: - - description: The SID of the Flow to delete Engagements from. + - description: The SID of the Flow with the Execution resources to delete. in: path name: FlowSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FW[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Engagement resource to delete. + - description: The SID of the Execution resource to delete. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FN[0-9a-fA-F]{32}$ - type: string responses: '204': description: The resource was deleted successfully. @@ -925,191 +935,64 @@ paths: - accountSid_authToken: [] x-maturity: - GA - description: '[DEPRECATED] Excecutions of Studio flows' - get: - description: Retrieve an Engagement - operationId: FetchEngagement + post: + description: Update the status of an Execution to `ended`. + operationId: UpdateExecution parameters: - - description: The SID of the Flow. + - description: The SID of the Flow with the Execution resources to update. in: path name: FlowSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FW[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Engagement resource to fetch. + - description: The SID of the Execution resource to update. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^FN[0-9a-fA-F]{32}$ type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/studio.v1.flow.engagement' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://studio.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - contact_sid - - status - - date_created - parent: /Flows - pathType: instance - /v1/Flows/{FlowSid}/Executions: - description: Executions of Studio flows - get: - description: Retrieve a list of all Executions for the Flow. - operationId: ListExecution - parameters: - - description: The SID of the Flow with the Execution resources to read. - in: path - name: FlowSid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^FW[0-9a-fA-F]{32}$ - type: string - - description: Only show Execution resources starting on or after this [ISO - 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time, given as `YYYY-MM-DDThh:mm:ss-hh:mm`. - in: query - name: DateCreatedFrom - schema: - format: date-time - type: string - - description: Only show Execution resources starting before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) - date-time, given as `YYYY-MM-DDThh:mm:ss-hh:mm`. - in: query - name: DateCreatedTo - schema: - format: date-time - 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 - responses: - '200': - content: - application/json: - schema: - properties: - executions: - items: - $ref: '#/components/schemas/studio.v1.flow.execution' - type: array - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - title: ListExecutionResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: Triggers a new Execution for the Flow - operationId: CreateExecution - parameters: - - description: The SID of the Excecution's Flow. - in: path - name: FlowSid - required: true - schema: maxLength: 34 - minLength: 34 - pattern: ^FW[0-9a-fA-F]{32}$ - type: string + pattern: ^FN[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - From: - description: The Twilio phone number to send messages or initiate - calls from during the Flow's Execution. Available as variable - `{{flow.channel.address}}`. For SMS, this can also be a Messaging - Service SID. - format: phone-number - type: string - Parameters: - description: 'JSON data that will be added to the Flow''s context - and that can be accessed as variables inside your Flow. For example, - if you pass in `Parameters={"name":"Zeke"}`, a widget in your - Flow can reference the variable `{{flow.data.name}}`, which returns - "Zeke". Note: the JSON value must explicitly be passed as a string, - not as a hash object. Depending on your particular HTTP library, - you may need to add quotes or URL encode the JSON string.' - To: - description: The Contact phone number to start a Studio Flow Execution, - available as variable `{{contact.channel.address}}`. - format: phone-number + Status: type: string + enum: + - active + - ended + description: The status of the Execution. Can only be `ended`. required: - - To - - From - title: CreateExecutionRequest + - Status + title: UpdateExecutionRequest type: object responses: - '201': + '200': content: application/json: schema: $ref: '#/components/schemas/studio.v1.flow.execution' - description: Created + description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Flows/{FlowSid}/Executions/{ExecutionSid}/Context: servers: - url: https://studio.twilio.com + description: JSON context for executions x-twilio: defaultOutputProperties: - - sid - - contact_sid - - status - - date_created - parent: /Flows - pathType: list - /v1/Flows/{FlowSid}/Executions/{ExecutionSid}/Context: - description: JSON context for executions + - context + pathType: instance + parent: /Flows/{FlowSid}/Executions + className: execution_context get: description: Retrieve the most recent context for an Execution. operationId: FetchExecutionContext @@ -1119,19 +1002,19 @@ paths: name: FlowSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FW[0-9a-fA-F]{32}$ - type: string - description: The SID of the Execution context to fetch. in: path name: ExecutionSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FN[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -1143,16 +1026,18 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Flows/{FlowSid}/Executions/{ExecutionSid}/Steps: servers: - url: https://studio.twilio.com + description: Individual steps within an execution x-twilio: - className: execution_context defaultOutputProperties: - - context + - sid + - name + - date_created + pathType: list parent: /Flows/{FlowSid}/Executions - pathType: instance - /v1/Flows/{FlowSid}/Executions/{ExecutionSid}/Steps: - description: Individual steps within an execution + className: execution_step get: description: Retrieve a list of all Steps for an Execution. operationId: ListExecutionStep @@ -1162,19 +1047,19 @@ paths: name: FlowSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FW[0-9a-fA-F]{32}$ - type: string - description: The SID of the Execution with the Steps to read. in: path name: ExecutionSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FN[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 @@ -1188,14 +1073,19 @@ paths: content: application/json: schema: + type: object + title: ListExecutionStepResponse properties: + steps: + type: array + items: + $ref: '#/components/schemas/studio.v1.flow.execution.execution_step' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1209,30 +1099,25 @@ paths: url: format: uri type: string - type: object - steps: - items: - $ref: '#/components/schemas/studio.v1.flow.execution.execution_step' - type: array - title: ListExecutionStepResponse - type: object - description: OK + key: + type: string + description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Flows/{FlowSid}/Executions/{ExecutionSid}/Steps/{Sid}: servers: - url: https://studio.twilio.com + description: Individual steps within an execution x-twilio: - className: execution_step defaultOutputProperties: - sid - name - date_created + pathType: instance parent: /Flows/{FlowSid}/Executions - pathType: list - /v1/Flows/{FlowSid}/Executions/{ExecutionSid}/Steps/{Sid}: - description: Individual steps within an execution + className: execution_step get: description: Retrieve a Step. operationId: FetchExecutionStep @@ -1242,28 +1127,28 @@ paths: name: FlowSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FW[0-9a-fA-F]{32}$ - type: string - description: The SID of the Execution resource with the Step to fetch. in: path name: ExecutionSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FN[0-9a-fA-F]{32}$ - type: string - description: The SID of the ExecutionStep resource to fetch. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FT[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -1275,18 +1160,16 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Flows/{FlowSid}/Executions/{ExecutionSid}/Steps/{StepSid}/Context: servers: - url: https://studio.twilio.com + description: JSON context for an individual step within an execution x-twilio: - className: execution_step defaultOutputProperties: - - sid - - name - - date_created - parent: /Flows/{FlowSid}/Executions + - context pathType: instance - /v1/Flows/{FlowSid}/Executions/{ExecutionSid}/Steps/{StepSid}/Context: - description: JSON context for an individual step within an execution + parent: /Flows/{FlowSid}/Executions/{ExecutionSid}/Steps + className: execution_step_context get: description: Retrieve the context for an Execution Step. operationId: FetchExecutionStepContext @@ -1296,28 +1179,28 @@ paths: name: FlowSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FW[0-9a-fA-F]{32}$ - type: string - description: The SID of the Execution resource with the Step to fetch. in: path name: ExecutionSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FN[0-9a-fA-F]{32}$ - type: string - description: The SID of the Step to fetch. in: path name: StepSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FT[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -1329,37 +1212,115 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Flows: servers: - url: https://studio.twilio.com + description: Studio flows x-twilio: - className: execution_step_context defaultOutputProperties: - - context - parent: /Flows/{FlowSid}/Executions/{ExecutionSid}/Steps + - sid + - friendly_name + - status + - version + pathType: list + get: + description: Retrieve a list of all Flows. + operationId: ListFlow + 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListFlowResponse + properties: + flows: + type: array + items: + $ref: '#/components/schemas/studio.v1.flow' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Flows/{Sid}: + servers: + - url: https://studio.twilio.com + description: Studio flows + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - status + - version pathType: instance - /v1/Flows/{FlowSid}/Executions/{Sid}: - delete: - description: Delete the Execution and all Steps relating to it. - operationId: DeleteExecution + get: + description: Retrieve a specific Flow. + operationId: FetchFlow parameters: - - description: The SID of the Flow with the Execution resources to delete. + - description: The SID of the Flow resource to fetch. in: path - name: FlowSid + name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FW[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Execution resource to delete. + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/studio.v1.flow' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + delete: + description: Delete a specific Flow. + operationId: DeleteFlow + parameters: + - description: The SID of the Flow resource to delete. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^FN[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^FW[0-9a-fA-F]{32}$ responses: '204': description: The resource was deleted successfully. @@ -1367,155 +1328,194 @@ paths: - accountSid_authToken: [] x-maturity: - GA - description: Executions of Studio flows + /v1/Flows/{FlowSid}/Engagements/{EngagementSid}/Steps: + servers: + - url: https://studio.twilio.com + description: Steps within a Studio flow + x-twilio: + defaultOutputProperties: + - sid + - name + - transitioned_from + - transitioned_to + pathType: list + parent: /Flows/{FlowSid}/Engagements get: - description: Retrieve an Execution - operationId: FetchExecution + description: Retrieve a list of all Steps for an Engagement. + operationId: ListStep parameters: - - description: The SID of the Flow with the Execution resource to fetch + - description: The SID of the Flow with the Step to read. in: path name: FlowSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FW[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Execution resource to fetch. + - description: The SID of the Engagement with the Step to read. in: path - name: Sid + name: EngagementSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FN[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 responses: '200': content: application/json: schema: - $ref: '#/components/schemas/studio.v1.flow.execution' + type: object + title: ListStepResponse + properties: + steps: + type: array + items: + $ref: '#/components/schemas/studio.v1.flow.engagement.step' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: Update the status of an Execution to `ended`. - operationId: UpdateExecution + /v1/Flows/{FlowSid}/Engagements/{EngagementSid}/Steps/{Sid}: + servers: + - url: https://studio.twilio.com + description: Steps within a Studio flow + x-twilio: + defaultOutputProperties: + - sid + - name + - transitioned_from + - transitioned_to + pathType: instance + parent: /Flows/{FlowSid}/Engagements + get: + description: Retrieve a Step. + operationId: FetchStep parameters: - - description: The SID of the Flow with the Execution resources to update. + - description: The SID of the Flow with the Step to fetch. in: path name: FlowSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FW[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Execution resource to update. + - description: The SID of the Engagement with the Step to fetch. in: path - name: Sid + name: EngagementSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FN[0-9a-fA-F]{32}$ + - description: The SID of the Step resource to fetch. + in: path + name: Sid + required: true + schema: type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Status: - description: The status of the Execution. Can only be `ended`. - enum: - - active - - ended - type: string - required: - - Status - title: UpdateExecutionRequest - type: object + minLength: 34 + maxLength: 34 + pattern: ^FT[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/studio.v1.flow.execution' + $ref: '#/components/schemas/studio.v1.flow.engagement.step' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Flows/{FlowSid}/Engagements/{EngagementSid}/Steps/{StepSid}/Context: servers: - url: https://studio.twilio.com + description: JSON context for individual steps x-twilio: defaultOutputProperties: - - sid - - contact_sid - - status - - date_created - parent: /Flows + - context pathType: instance - /v1/Flows/{Sid}: - delete: - description: Delete a specific Flow. - operationId: DeleteFlow + parent: /Flows/{FlowSid}/Engagements/{EngagementSid}/Steps + className: step_context + get: + description: Retrieve the context for an Engagement Step. + operationId: FetchStepContext parameters: - - description: The SID of the Flow resource to delete. + - description: The SID of the Flow with the Step to fetch. in: path - name: Sid + name: FlowSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FW[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: Studio flows - get: - description: Retrieve a specific Flow. - operationId: FetchFlow - parameters: - - description: The SID of the Flow resource to fetch. + - description: The SID of the Engagement with the Step to fetch. in: path - name: Sid + name: EngagementSid required: true schema: - maxLength: 34 + type: string minLength: 34 - pattern: ^FW[0-9a-fA-F]{32}$ + maxLength: 34 + pattern: ^FN[0-9a-fA-F]{32}$ + - description: The SID of the Step to fetch + in: path + name: StepSid + required: true + schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^FT[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/studio.v1.flow' + $ref: '#/components/schemas/studio.v1.flow.engagement.step.step_context' description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://studio.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - status - - version - pathType: instance servers: - url: https://studio.twilio.com x-maturity: -- description: This product is Generally Available. - name: GA +- name: GA + description: This product is Generally Available. diff --git a/spec/yaml/twilio_studio_v2.yaml b/spec/yaml/twilio_studio_v2.yaml index ee1fcf8b..75810641 100644 --- a/spec/yaml/twilio_studio_v2.yaml +++ b/spec/yaml/twilio_studio_v2.yaml @@ -1,212 +1,135 @@ components: schemas: - studio.v2.flow: + studio.v2.flow.execution: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - commit_message: - description: Description of change made in the revision - nullable: true - type: string - date_created: - description: The 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 date and time in GMT when the resource was last - updated - format: date-time - nullable: true - type: string - definition: - description: JSON representation of flow definition - nullable: true - errors: - description: List of error in the flow definition - items: {} - nullable: true - type: array - friendly_name: - description: The string that you assigned to describe the Flow - nullable: true type: string - links: - description: Nested resource URLs - format: uri-map - nullable: true - type: object - revision: - description: The latest revision number of the Flow's definition - nullable: true - type: integer - sid: - description: The unique string that identifies the resource - maxLength: 34 minLength: 34 - nullable: true - pattern: ^FW[0-9a-fA-F]{32}$ - type: string - status: - description: The status of the Flow - enum: - - draft - - published - nullable: true - type: string - url: - description: The absolute URL of the resource - format: uri - nullable: true - type: string - valid: - description: Boolean if the flow definition is valid - nullable: true - type: boolean - warnings: - description: List of warnings in the flow definition - items: {} - nullable: true - type: array - webhook_url: - format: uri - nullable: true - type: string - type: object - studio.v2.flow.execution: - properties: - account_sid: - description: The SID of the Account that created the resource maxLength: 34 - minLength: 34 - nullable: true pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource contact_channel_address: description: The phone number, SIP address or Client identifier that triggered the Execution nullable: true type: string context: - description: The current state of the flow nullable: true + description: The current state of the flow date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated flow_sid: - description: The SID of the Flow - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^FW[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Flow links: description: Nested resource URLs format: uri-map nullable: true type: object sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^FN[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource status: - description: The status of the Execution + type: string enum: - active - ended nullable: true - type: string + description: The status of the Execution url: description: The absolute URL of the resource format: uri nullable: true type: string - type: object studio.v2.flow.execution.execution_context: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource context: - description: The current state of the flow nullable: true + description: The current state of the flow execution_sid: - description: The SID of the Execution - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^FN[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Execution flow_sid: - description: The SID of the Flow - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^FW[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Flow url: description: The absolute URL of the resource format: uri nullable: true type: string - type: object studio.v2.flow.execution.execution_step: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource context: - description: The current state of the flow nullable: true + description: The current state of the flow date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated execution_sid: - description: The SID of the Execution - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^FN[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Execution flow_sid: - description: The SID of the Flow - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^FW[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Flow links: description: The URLs of related resources format: uri-map @@ -217,12 +140,12 @@ components: nullable: true type: string sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^FT[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource transitioned_from: description: The Widget that preceded the Widget for the Step nullable: true @@ -236,100 +159,105 @@ components: format: uri nullable: true type: string - type: object studio.v2.flow.execution.execution_step.execution_step_context: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource context: - description: The current state of the flow nullable: true + description: The current state of the flow execution_sid: - description: The SID of the Execution - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^FN[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Execution flow_sid: - description: The SID of the Flow - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^FW[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Flow step_sid: - description: Step SID - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^FT[0-9a-fA-F]{32}$ - type: string + nullable: true + description: Step SID url: description: The absolute URL of the resource format: uri nullable: true type: string + studio.v2.flow: type: object - studio.v2.flow.flow_revision: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource commit_message: description: Description of change made in the revision nullable: true type: string date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated definition: - description: JSON representation of flow definition nullable: true + description: JSON representation of flow definition errors: - description: List of error in the flow definition + type: array items: {} nullable: true - type: array + description: List of error in the flow definition friendly_name: description: The string that you assigned to describe the Flow nullable: true type: string - revision: - description: The latest revision number of the Flow's definition - nullable: true + links: + description: Nested resource URLs + format: uri-map + nullable: true + type: object + revision: + description: The latest revision number of the Flow's definition + nullable: true type: integer sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^FW[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource status: - description: The status of the Flow + type: string enum: - draft - published nullable: true - type: string + description: The status of the Flow url: description: The absolute URL of the resource format: uri @@ -339,36 +267,108 @@ components: description: Boolean if the flow definition is valid nullable: true type: boolean + warnings: + type: array + items: {} + nullable: true + description: List of warnings in the flow definition + webhook_url: + format: uri + nullable: true + type: string + studio.v2.flow.flow_revision: type: object - studio.v2.flow.test_user: properties: - sid: - description: Unique identifier of the flow. - maxLength: 34 + account_sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created the resource + commit_message: + description: Description of change made in the revision nullable: true - pattern: ^FW[0-9a-fA-F]{32}$ type: string - test_users: - description: List of test user identities that can test draft versions of - the flow. - items: - type: string + date_created: + type: string + format: date-time nullable: true + description: The ISO 8601 date and time in GMT when the resource was created + date_updated: + type: string + format: date-time + nullable: true + description: The ISO 8601 date and time in GMT when the resource was last + updated + definition: + nullable: true + description: JSON representation of flow definition + errors: type: array + items: {} + nullable: true + description: List of error in the flow definition + friendly_name: + description: The string that you assigned to describe the Flow + nullable: true + type: string + revision: + description: The latest revision number of the Flow's definition + nullable: true + type: integer + sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^FW[0-9a-fA-F]{32}$ + nullable: true + description: The unique string that identifies the resource + status: + type: string + enum: + - draft + - published + nullable: true + description: The status of the Flow url: - description: The URL of this resource. + description: The absolute URL of the resource format: uri nullable: true type: string - type: object + valid: + description: Boolean if the flow definition is valid + nullable: true + type: boolean studio.v2.flow_validate: + type: object properties: valid: description: Boolean if the flow definition is valid nullable: true type: boolean + studio.v2.flow.test_user: type: object + properties: + sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^FW[0-9a-fA-F]{32}$ + nullable: true + description: Unique identifier of the flow. + test_users: + type: array + items: + type: string + nullable: true + description: List of test user identities that can test draft versions of + the flow. + url: + description: The URL of this resource. + format: uri + nullable: true + type: string securitySchemes: accountSid_authToken: scheme: basic @@ -387,156 +387,17 @@ info: version: 1.30.0 openapi: 3.0.1 paths: - /v2/Flows: - description: Studio flows - get: - description: Retrieve a list of all Flows. - operationId: ListFlow - 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 - responses: - '200': - content: - application/json: - schema: - properties: - flows: - items: - $ref: '#/components/schemas/studio.v2.flow' - type: array - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - title: ListFlowResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: Create a Flow. - operationId: CreateFlow - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - CommitMessage: - description: Description of change made in the revision. - type: string - Definition: - description: JSON representation of flow definition. - FriendlyName: - description: The string that you assigned to describe the Flow. - type: string - Status: - description: 'The status of the Flow. Can be: `draft` or `published`.' - enum: - - draft - - published - type: string - required: - - FriendlyName - - Status - - Definition - title: CreateFlowRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/studio.v2.flow' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA + /v2/Flows/{FlowSid}/Executions: servers: - url: https://studio.twilio.com + description: Executions of Studio flows x-twilio: defaultOutputProperties: - sid - - friendly_name - status - - revision - pathType: list - /v2/Flows/Validate: - description: Flow definition validator - post: - description: Validate flow JSON definition - operationId: UpdateFlowValidate - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - CommitMessage: - description: Description of change made in the revision. - type: string - Definition: - description: JSON representation of flow definition. - FriendlyName: - description: The string that you assigned to describe the Flow. - type: string - Status: - description: 'The status of the Flow. Can be: `draft` or `published`.' - enum: - - draft - - published - type: string - required: - - FriendlyName - - Status - - Definition - title: UpdateFlowValidateRequest - type: object - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/studio.v2.flow_validate' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://studio.twilio.com - x-twilio: - className: flow_validate - defaultOutputProperties: - - valid + - date_created pathType: list - /v2/Flows/{FlowSid}/Executions: - description: Executions of Studio flows + parent: /Flows get: description: Retrieve a list of all Executions for the Flow. operationId: ListExecution @@ -546,24 +407,24 @@ paths: name: FlowSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FW[0-9a-fA-F]{32}$ - type: string - description: Only show Execution resources starting on or after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time, given as `YYYY-MM-DDThh:mm:ss-hh:mm`. in: query name: DateCreatedFrom schema: - format: date-time type: string + format: date-time - description: Only show Execution resources starting before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time, given as `YYYY-MM-DDThh:mm:ss-hh:mm`. in: query name: DateCreatedTo schema: - format: date-time type: string + format: date-time - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -577,18 +438,19 @@ paths: content: application/json: schema: + type: object + title: ListExecutionResponse properties: executions: + type: array items: $ref: '#/components/schemas/studio.v2.flow.execution' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -602,9 +464,8 @@ paths: url: format: uri type: string - type: object - title: ListExecutionResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] @@ -619,15 +480,20 @@ paths: name: FlowSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FW[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: + To: + description: The Contact phone number to start a Studio Flow Execution, + available as variable `{{contact.channel.address}}`. + format: phone-number + type: string From: description: The Twilio phone number to send messages or initiate calls from during the Flow's Execution. Available as variable @@ -643,38 +509,153 @@ paths: "Zeke". Note: the JSON value must explicitly be passed as a string, not as a hash object. Depending on your particular HTTP library, you may need to add quotes or URL encode the JSON string.' - To: - description: The Contact phone number to start a Studio Flow Execution, - available as variable `{{contact.channel.address}}`. - format: phone-number + required: + - To + - From + title: CreateExecutionRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/studio.v2.flow.execution' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v2/Flows/{FlowSid}/Executions/{Sid}: + servers: + - url: https://studio.twilio.com + description: Executions of Studio flows + x-twilio: + defaultOutputProperties: + - sid + - status + - date_created + pathType: instance + parent: /Flows + get: + description: Retrieve an Execution + operationId: FetchExecution + parameters: + - description: The SID of the Flow with the Execution resource to fetch + in: path + name: FlowSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^FW[0-9a-fA-F]{32}$ + - description: The SID of the Execution resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^FN[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/studio.v2.flow.execution' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + delete: + description: Delete the Execution and all Steps relating to it. + operationId: DeleteExecution + parameters: + - description: The SID of the Flow with the Execution resources to delete. + in: path + name: FlowSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^FW[0-9a-fA-F]{32}$ + - description: The SID of the Execution resource to delete. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^FN[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + post: + description: Update the status of an Execution to `ended`. + operationId: UpdateExecution + parameters: + - description: The SID of the Flow with the Execution resources to update. + in: path + name: FlowSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^FW[0-9a-fA-F]{32}$ + - description: The SID of the Execution resource to update. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^FN[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Status: type: string + enum: + - active + - ended + description: The status of the Execution. Can only be `ended`. required: - - To - - From - title: CreateExecutionRequest + - Status + title: UpdateExecutionRequest type: object responses: - '201': + '200': content: application/json: schema: $ref: '#/components/schemas/studio.v2.flow.execution' - description: Created + description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v2/Flows/{FlowSid}/Executions/{ExecutionSid}/Context: servers: - url: https://studio.twilio.com + description: JSON context for executions x-twilio: defaultOutputProperties: - - sid - - status - - date_created - parent: /Flows - pathType: list - /v2/Flows/{FlowSid}/Executions/{ExecutionSid}/Context: - description: JSON context for executions + - context + pathType: instance + parent: /Flows/{FlowSid}/Executions + className: execution_context get: description: Retrieve the most recent context for an Execution. operationId: FetchExecutionContext @@ -684,19 +665,19 @@ paths: name: FlowSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FW[0-9a-fA-F]{32}$ - type: string - description: The SID of the Execution context to fetch. in: path name: ExecutionSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FN[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -708,16 +689,18 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v2/Flows/{FlowSid}/Executions/{ExecutionSid}/Steps: servers: - url: https://studio.twilio.com + description: Individual steps within an execution x-twilio: - className: execution_context defaultOutputProperties: - - context + - sid + - name + - date_created + pathType: list parent: /Flows/{FlowSid}/Executions - pathType: instance - /v2/Flows/{FlowSid}/Executions/{ExecutionSid}/Steps: - description: Individual steps within an execution + className: execution_step get: description: Retrieve a list of all Steps for an Execution. operationId: ListExecutionStep @@ -727,19 +710,19 @@ paths: name: FlowSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FW[0-9a-fA-F]{32}$ - type: string - description: The SID of the Execution with the Steps to read. in: path name: ExecutionSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FN[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 @@ -753,14 +736,19 @@ paths: content: application/json: schema: + type: object + title: ListExecutionStepResponse properties: + steps: + type: array + items: + $ref: '#/components/schemas/studio.v2.flow.execution.execution_step' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -774,30 +762,25 @@ paths: url: format: uri type: string - type: object - steps: - items: - $ref: '#/components/schemas/studio.v2.flow.execution.execution_step' - type: array - title: ListExecutionStepResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v2/Flows/{FlowSid}/Executions/{ExecutionSid}/Steps/{Sid}: servers: - url: https://studio.twilio.com + description: Individual steps within an execution x-twilio: - className: execution_step defaultOutputProperties: - sid - name - date_created + pathType: instance parent: /Flows/{FlowSid}/Executions - pathType: list - /v2/Flows/{FlowSid}/Executions/{ExecutionSid}/Steps/{Sid}: - description: Individual steps within an execution + className: execution_step get: description: Retrieve a Step. operationId: FetchExecutionStep @@ -807,28 +790,28 @@ paths: name: FlowSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FW[0-9a-fA-F]{32}$ - type: string - description: The SID of the Execution resource with the Step to fetch. in: path name: ExecutionSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FN[0-9a-fA-F]{32}$ - type: string - description: The SID of the ExecutionStep resource to fetch. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FT[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -840,18 +823,16 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v2/Flows/{FlowSid}/Executions/{ExecutionSid}/Steps/{StepSid}/Context: servers: - url: https://studio.twilio.com + description: JSON context for an individual step within an execution x-twilio: - className: execution_step defaultOutputProperties: - - sid - - name - - date_created - parent: /Flows/{FlowSid}/Executions + - context pathType: instance - /v2/Flows/{FlowSid}/Executions/{ExecutionSid}/Steps/{StepSid}/Context: - description: JSON context for an individual step within an execution + parent: /Flows/{FlowSid}/Executions/{ExecutionSid}/Steps + className: execution_step_context get: description: Retrieve the context for an Execution Step. operationId: FetchExecutionStepContext @@ -861,28 +842,28 @@ paths: name: FlowSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FW[0-9a-fA-F]{32}$ - type: string - description: The SID of the Execution resource with the Step to fetch. in: path name: ExecutionSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FN[0-9a-fA-F]{32}$ - type: string - description: The SID of the Step to fetch. in: path name: StepSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FT[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -894,157 +875,164 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v2/Flows: servers: - url: https://studio.twilio.com + description: Studio flows x-twilio: - className: execution_step_context defaultOutputProperties: - - context - parent: /Flows/{FlowSid}/Executions/{ExecutionSid}/Steps - pathType: instance - /v2/Flows/{FlowSid}/Executions/{Sid}: - delete: - description: Delete the Execution and all Steps relating to it. - operationId: DeleteExecution - parameters: - - description: The SID of the Flow with the Execution resources to delete. - in: path - name: FlowSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^FW[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Execution resource to delete. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^FN[0-9a-fA-F]{32}$ - type: string + - sid + - friendly_name + - status + - revision + pathType: list + post: + description: Create a Flow. + operationId: CreateFlow + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: The string that you assigned to describe the Flow. + type: string + Status: + type: string + enum: + - draft + - published + description: 'The status of the Flow. Can be: `draft` or `published`.' + Definition: + description: JSON representation of flow definition. + CommitMessage: + description: Description of change made in the revision. + type: string + required: + - FriendlyName + - Status + - Definition + title: CreateFlowRequest + type: object responses: - '204': - description: The resource was deleted successfully. + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/studio.v2.flow' + description: Created security: - accountSid_authToken: [] x-maturity: - GA - description: Executions of Studio flows get: - description: Retrieve an Execution - operationId: FetchExecution + description: Retrieve a list of all Flows. + operationId: ListFlow parameters: - - description: The SID of the Flow with the Execution resource to fetch - in: path - name: FlowSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^FW[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Execution resource to fetch. - in: path - name: Sid - required: true + - description: How many resources to return in each list page. The default is + 50, and the maximum is 1000. + in: query + name: PageSize schema: - maxLength: 34 - minLength: 34 - pattern: ^FN[0-9a-fA-F]{32}$ - type: string + maximum: 1000 + minimum: 1 + type: integer responses: '200': content: application/json: schema: - $ref: '#/components/schemas/studio.v2.flow.execution' + type: object + title: ListFlowResponse + properties: + flows: + type: array + items: + $ref: '#/components/schemas/studio.v2.flow' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v2/Flows/{Sid}: + servers: + - url: https://studio.twilio.com + description: Studio flows + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - status + - revision + pathType: instance post: - description: Update the status of an Execution to `ended`. - operationId: UpdateExecution + description: Update a Flow. + operationId: UpdateFlow parameters: - - description: The SID of the Flow with the Execution resources to update. - in: path - name: FlowSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^FW[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Execution resource to update. + - description: The SID of the Flow resource to fetch. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^FN[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^FW[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: Status: - description: The status of the Execution. Can only be `ended`. + type: string enum: - - active - - ended + - draft + - published + description: 'The status of the Flow. Can be: `draft` or `published`.' + FriendlyName: + description: The string that you assigned to describe the Flow. + type: string + Definition: + description: JSON representation of flow definition. + CommitMessage: + description: Description of change made in the revision. type: string required: - Status - title: UpdateExecutionRequest + title: UpdateFlowRequest type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/studio.v2.flow.execution' + $ref: '#/components/schemas/studio.v2.flow' description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://studio.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - status - - date_created - parent: /Flows - pathType: instance - /v2/Flows/{Sid}: - delete: - description: Delete a specific Flow. - operationId: DeleteFlow - parameters: - - description: The SID of the Flow resource to delete. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^FW[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: Studio flows get: description: Retrieve a specific Flow. operationId: FetchFlow @@ -1054,10 +1042,10 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FW[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -1069,64 +1057,39 @@ paths: - accountSid_authToken: [] x-maturity: - GA - post: - description: Update a Flow. - operationId: UpdateFlow + delete: + description: Delete a specific Flow. + operationId: DeleteFlow parameters: - - description: The SID of the Flow resource to fetch. + - description: The SID of the Flow resource to delete. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FW[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - CommitMessage: - description: Description of change made in the revision. - type: string - Definition: - description: JSON representation of flow definition. - FriendlyName: - description: The string that you assigned to describe the Flow. - type: string - Status: - description: 'The status of the Flow. Can be: `draft` or `published`.' - enum: - - draft - - published - type: string - required: - - Status - title: UpdateFlowRequest - type: object responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/studio.v2.flow' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA + /v2/Flows/{Sid}/Revisions: servers: - url: https://studio.twilio.com + description: Studio flows revisions x-twilio: defaultOutputProperties: - sid - friendly_name - status - revision - pathType: instance - /v2/Flows/{Sid}/Revisions: - description: Studio flows revisions + pathType: list + parent: /Flows + className: flow_revision get: description: Retrieve a list of all Flows revisions. operationId: ListFlowRevision @@ -1136,10 +1099,10 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FW[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 @@ -1153,14 +1116,19 @@ paths: content: application/json: schema: + type: object + title: ListFlowRevisionResponse properties: + revisions: + type: array + items: + $ref: '#/components/schemas/studio.v2.flow.flow_revision' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1174,31 +1142,26 @@ paths: url: format: uri type: string - type: object - revisions: - items: - $ref: '#/components/schemas/studio.v2.flow.flow_revision' - type: array - title: ListFlowRevisionResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v2/Flows/{Sid}/Revisions/{Revision}: servers: - url: https://studio.twilio.com + description: Studio flows revisions x-twilio: - className: flow_revision defaultOutputProperties: - sid - friendly_name - status - revision + pathType: instance parent: /Flows - pathType: list - /v2/Flows/{Sid}/Revisions/{Revision}: - description: Studio flows revisions + className: flow_revision get: description: Retrieve a specific Flow revision. operationId: FetchFlowRevision @@ -1208,10 +1171,10 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FW[0-9a-fA-F]{32}$ - type: string - description: Specific Revision number or can be `LatestPublished` and `LatestRevision`. in: path name: Revision @@ -1229,19 +1192,64 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v2/Flows/Validate: servers: - url: https://studio.twilio.com + description: Flow definition validator x-twilio: - className: flow_revision defaultOutputProperties: - - sid - - friendly_name - - status - - revision - parent: /Flows - pathType: instance + - valid + pathType: list + className: flow_validate + post: + description: Validate flow JSON definition + operationId: UpdateFlowValidate + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: The string that you assigned to describe the Flow. + type: string + Status: + type: string + enum: + - draft + - published + description: 'The status of the Flow. Can be: `draft` or `published`.' + Definition: + description: JSON representation of flow definition. + CommitMessage: + description: Description of change made in the revision. + type: string + required: + - FriendlyName + - Status + - Definition + title: UpdateFlowValidateRequest + type: object + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/studio.v2.flow_validate' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA /v2/Flows/{Sid}/TestUsers: + servers: + - url: https://studio.twilio.com description: Test users of a flow + x-twilio: + defaultOutputProperties: + - test_users + pathType: instance + parent: /Flows + className: flow_test_user get: description: Fetch flow test users operationId: FetchTestUser @@ -1251,10 +1259,10 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FW[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -1275,21 +1283,21 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^FW[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: TestUsers: - description: List of test user identities that can test draft versions - of the flow. + type: array items: type: string - type: array + description: List of test user identities that can test draft versions + of the flow. required: - TestUsers title: UpdateTestUserRequest @@ -1305,16 +1313,8 @@ paths: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://studio.twilio.com - x-twilio: - className: flow_test_user - defaultOutputProperties: - - test_users - parent: /Flows - pathType: instance servers: - url: https://studio.twilio.com x-maturity: -- description: This product is Generally Available. - name: GA +- name: GA + description: This product is Generally Available. diff --git a/spec/yaml/twilio_supersim_v1.yaml b/spec/yaml/twilio_supersim_v1.yaml index ac79e990..e34be215 100644 --- a/spec/yaml/twilio_supersim_v1.yaml +++ b/spec/yaml/twilio_supersim_v1.yaml @@ -1,25 +1,78 @@ components: schemas: - supersim.v1.esim_profile: + supersim.v1.sim.billing_period: + type: object properties: account_sid: - description: The SID of the Account to which the eSIM Profile resource belongs - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account the Super SIM belongs to date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: + type: string + format: date-time + nullable: true description: The ISO 8601 date and time in GMT when the resource was last updated + end_time: + type: string + format: date-time + nullable: true + description: The end time of the Billing Period + period_type: + type: string + enum: + - ready + - active + nullable: true + description: The type of the Billing Period + sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^HB[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Billing Period + sim_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^HS[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Super SIM the Billing Period belongs to + start_time: + type: string + format: date-time + nullable: true + description: The start time of the Billing Period + supersim.v1.esim_profile: + type: object + properties: + account_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account to which the eSIM Profile resource belongs + date_created: + type: string format: date-time nullable: true + description: The ISO 8601 date and time in GMT when the resource was created + date_updated: type: string + format: date-time + nullable: true + description: The ISO 8601 date and time in GMT when the resource was last + updated eid: description: Identifier of the eUICC that can claim the eSIM Profile nullable: true @@ -39,19 +92,19 @@ components: nullable: true type: string sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^HP[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource sim_sid: - description: The SID of the Sim resource that this eSIM Profile controls - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^HS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Sim resource that this eSIM Profile controls smdp_plus_address: description: Address of the SM-DP+ server from which the Profile will be downloaded @@ -59,7 +112,7 @@ components: nullable: true type: string status: - description: The status of the eSIM Profile + type: string enum: - new - reserving @@ -68,22 +121,22 @@ components: - installed - failed nullable: true - type: string + description: The status of the eSIM Profile url: description: The absolute URL of the eSIM Profile resource format: uri nullable: true type: string - type: object supersim.v1.fleet: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource data_enabled: description: Defines whether SIMs in the Fleet are capable of using data connectivity @@ -95,22 +148,22 @@ components: nullable: true type: integer data_metering: - description: The model by which a SIM is metered and billed + type: string enum: - payg nullable: true - type: string + description: The model by which a SIM is metered and billed date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated ip_commands_method: description: A string representing the HTTP method to use when making a request to `ip_commands_url` @@ -131,19 +184,19 @@ components: nullable: true type: string network_access_profile_sid: - description: The SID of the Network Access Profile of the Fleet - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^HA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Network Access Profile of the Fleet sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^HF[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource sms_commands_enabled: description: Defines whether SIMs in the Fleet are capable of sending and receiving machine-to-machine SMS via Commands @@ -178,27 +231,27 @@ components: format: uri nullable: true type: string - type: object supersim.v1.ip_command: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated device_ip: description: The IP address of the device that the IP Command was sent to or received from @@ -210,118 +263,118 @@ components: nullable: true type: integer direction: - description: The direction of the IP Command + type: string enum: - to_sim - from_sim nullable: true - type: string + description: The direction of the IP Command payload: description: The payload of the IP Command sent to or from the Super SIM nullable: true type: string payload_type: - description: The payload type of the IP Command + type: string enum: - text - binary nullable: true - type: string + description: The payload type of the IP Command sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^HG[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource sim_iccid: description: The ICCID of the Super SIM that this IP Command was sent to or from nullable: true type: string sim_sid: - description: The SID of the Super SIM that this IP Command was sent to or - from - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^HS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Super SIM that this IP Command was sent to or + from status: - description: The status of the IP Command + type: string enum: - queued - sent - received - failed nullable: true - type: string + description: The status of the IP Command url: description: The absolute URL of the IP Command resource format: uri nullable: true type: string - type: object supersim.v1.network: + type: object properties: friendly_name: description: A human readable identifier of this resource nullable: true type: string identifiers: - description: The MCC/MNCs included in the Network resource + type: array items: {} nullable: true - type: array + description: The MCC/MNCs included in the Network resource iso_country: description: The ISO country code of the Network resource nullable: true type: string sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^HW[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource url: description: The absolute URL of the Network resource format: uri nullable: true type: string - type: object supersim.v1.network_access_profile: + type: object properties: account_sid: - description: The SID of the Account that the Network Access Profile belongs - to - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that the Network Access Profile belongs + to date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated links: format: uri-map nullable: true type: object sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^HA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource unique_name: description: An application-defined string that uniquely identifies the resource @@ -332,70 +385,70 @@ components: format: uri nullable: true type: string - type: object supersim.v1.network_access_profile.network_access_profile_network: + type: object properties: friendly_name: description: A human readable identifier of this resource nullable: true type: string identifiers: - description: The MCC/MNCs included in the resource + type: array items: {} nullable: true - type: array + description: The MCC/MNCs included in the resource iso_country: description: The ISO country code of the Network resource nullable: true type: string network_access_profile_sid: - description: The unique string that identifies the Network Access Profile - resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^HA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the Network Access Profile + resource sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^HW[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource url: description: The absolute URL of the resource format: uri nullable: true type: string - type: object supersim.v1.sim: + type: object properties: account_sid: - description: The SID of the Account that the Super SIM belongs to - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - date_created: - description: The ISO 8601 date and time in GMT when the resource was created - format: date-time nullable: true + description: The SID of the Account that the Super SIM belongs to + date_created: type: string - date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated format: date-time nullable: true + description: The ISO 8601 date and time in GMT when the resource was created + date_updated: type: string + format: date-time + nullable: true + description: The ISO 8601 date and time in GMT when the resource was last + updated fleet_sid: - description: The unique ID of the Fleet configured for this SIM - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^HF[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique ID of the Fleet configured for this SIM iccid: description: The ICCID associated with the SIM nullable: true @@ -405,14 +458,14 @@ components: nullable: true type: object sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^HS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource status: - description: The status of the Super SIM + type: string enum: - new - ready @@ -420,7 +473,7 @@ components: - inactive - scheduled nullable: true - type: string + description: The status of the Super SIM unique_name: description: An application-defined string that uniquely identifies the resource @@ -431,106 +484,68 @@ components: format: uri nullable: true type: string + supersim.v1.sim.sim_ip_address: type: object - supersim.v1.sim.billing_period: properties: - account_sid: - description: The SID of the Account the Super SIM belongs to - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - date_created: - description: The 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 date and time in GMT when the resource was last - updated - format: date-time + ip_address: + description: IP address assigned to the given Super SIM nullable: true type: string - end_time: - description: The end time of the Billing Period - format: date-time - nullable: true + ip_address_version: type: string - period_type: - description: The type of the Billing Period enum: - - ready - - active + - IPv4 + - IPv6 nullable: true + description: IP address version + supersim.v1.sms_command: + type: object + properties: + account_sid: type: string - sid: - description: The SID of the Billing Period - maxLength: 34 minLength: 34 - nullable: true - pattern: ^HB[0-9a-fA-F]{32}$ - type: string - sim_sid: - description: The SID of the Super SIM the Billing Period belongs to maxLength: 34 - minLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ nullable: true - pattern: ^HS[0-9a-fA-F]{32}$ + description: The SID of the Account that created the resource + date_created: type: string - start_time: - description: The start time of the Billing Period format: date-time nullable: true - type: string - type: object - supersim.v1.sms_command: - properties: - account_sid: - description: The SID of the Account that created the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - date_created: description: The ISO 8601 date and time in GMT when the resource was created + date_updated: + type: string format: date-time nullable: true - type: string - date_updated: description: The ISO 8601 date and time in GMT when the resource was last updated - format: date-time - nullable: true - type: string direction: - description: The direction of the SMS Command + type: string enum: - to_sim - from_sim nullable: true - type: string + description: The direction of the SMS Command payload: description: The message body of the SMS Command sent to or from the SIM nullable: true type: string sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^HC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource sim_sid: - description: The SID of the SIM that this SMS Command was sent to or from - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^HS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the SIM that this SMS Command was sent to or from status: - description: The status of the SMS Command + type: string enum: - queued - sent @@ -538,22 +553,22 @@ components: - received - failed nullable: true - type: string + description: The status of the SMS Command url: description: The absolute URL of the SMS Command resource format: uri nullable: true type: string - type: object supersim.v1.usage_record: + type: object properties: account_sid: - description: The SID of the Account that incurred the usage. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that incurred the usage. billed_unit: description: The currency in which the billed amounts are measured, specified in the 3 letter ISO 4127 format (e.g. `USD`, `EUR`, `JPY`). @@ -578,12 +593,12 @@ components: nullable: true type: integer fleet_sid: - description: SID of the Fleet resource on which the usage occurred. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^HF[0-9a-fA-F]{32}$ - type: string + nullable: true + description: SID of the Fleet resource on which the usage occurred. iso_country: description: Alpha-2 ISO Country Code of the country the usage occurred in. @@ -591,23 +606,22 @@ components: nullable: true type: string network_sid: - description: SID of the Network resource on which the usage occurred. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^HW[0-9a-fA-F]{32}$ - type: string + nullable: true + description: SID of the Network resource on which the usage occurred. period: - description: The time period for which the usage is reported. nullable: true + description: The time period for which the usage is reported. sim_sid: - description: SID of a Sim resource to which the UsageRecord belongs. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^HS[0-9a-fA-F]{32}$ - type: string - type: object + nullable: true + description: SID of a Sim resource to which the UsageRecord belongs. securitySchemes: accountSid_authToken: scheme: basic @@ -626,36 +640,29 @@ info: version: 1.30.0 openapi: 3.0.1 paths: - /v1/ESimProfiles: - description: eSIM Profiles that can be loaded onto consumer eUICC SIMs + /v1/Sims/{SimSid}/BillingPeriods: + servers: + - url: https://supersim.twilio.com + description: Billing Period for an IoT Super SIM + x-twilio: + defaultOutputProperties: + - sid + - sim_sid + - start_time + - end_time + - period_type + pathType: list + parent: /Sims get: - description: Retrieve a list of eSIM Profiles. - operationId: ListEsimProfile + description: Retrieve a list of Billing Periods for a Super SIM. + operationId: ListBillingPeriod parameters: - - description: List the eSIM Profiles that have been associated with an EId. - in: query - name: Eid - schema: - type: string - - description: Find the eSIM Profile resource related to a [Sim](https://www.twilio.com/docs/wireless/api/sim-resource) - resource by providing the SIM SID. Will always return an array with either - 1 or 0 records. - in: query + - description: The SID of the Super SIM to list Billing Periods for. + in: path name: SimSid + required: true schema: type: string - - description: List the eSIM Profiles that are in a given status. - in: query - name: Status - schema: - enum: - - new - - reserving - - available - - downloaded - - installed - - failed - type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -669,18 +676,19 @@ paths: content: application/json: schema: + type: object + title: ListBillingPeriodResponse properties: - esim_profiles: - items: - $ref: '#/components/schemas/supersim.v1.esim_profile' + billing_periods: type: array + items: + $ref: '#/components/schemas/supersim.v1.sim.billing_period' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -694,14 +702,22 @@ paths: url: format: uri type: string - type: object - title: ListEsimProfileResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - - Beta + - GA + /v1/ESimProfiles: + servers: + - url: https://supersim.twilio.com + description: eSIM Profiles that can be loaded onto consumer eUICC SIMs + x-twilio: + defaultOutputProperties: + - sid + - status + pathType: list post: description: Order an eSIM Profile. operationId: CreateEsimProfile @@ -710,6 +726,13 @@ paths: application/x-www-form-urlencoded: schema: properties: + CallbackUrl: + description: The URL we should call using the `callback_method` + when the status of the eSIM Profile changes. At this stage of + the eSIM Profile pilot, the a request to the URL will only be + called when the ESimProfile resource changes from `reserving` + to `available`. + type: string CallbackMethod: description: 'The HTTP method we should use to call `callback_url`. Can be: `GET` or `POST` and the default is POST.' @@ -722,13 +745,6 @@ paths: - DELETE format: http-method type: string - CallbackUrl: - description: The URL we should call using the `callback_method` - when the status of the eSIM Profile changes. At this stage of - the eSIM Profile pilot, the a request to the URL will only be - called when the ESimProfile resource changes from `reserving` - to `available`. - type: string Eid: description: Identifier of the eUICC that will claim the eSIM Profile. type: string @@ -745,56 +761,34 @@ paths: - accountSid_authToken: [] x-maturity: - Beta - servers: - - url: https://supersim.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - status - pathType: list - /v1/ESimProfiles/{Sid}: - description: eSIM Profiles that can be loaded onto consumer eUICC SIMs get: - description: Fetch an eSIM Profile. - operationId: FetchEsimProfile + description: Retrieve a list of eSIM Profiles. + operationId: ListEsimProfile parameters: - - description: The SID of the eSIM Profile resource to fetch. - in: path - name: Sid - required: true + - description: List the eSIM Profiles that have been associated with an EId. + in: query + name: Eid schema: type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/supersim.v1.esim_profile' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - Beta - servers: - - url: https://supersim.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - status - pathType: instance - /v1/Fleets: - description: Configure shared settings inherited by all Super SIMs assigned to - the Fleet - get: - description: Retrieve a list of Fleets from your account. - operationId: ListFleet - parameters: - - description: The SID or unique name of the Network Access Profile that controls - which cellular networks the Fleet's SIMs can connect to. + - description: Find the eSIM Profile resource related to a [Sim](https://www.twilio.com/docs/wireless/api/sim-resource) + resource by providing the SIM SID. Will always return an array with either + 1 or 0 records. in: query - name: NetworkAccessProfile + name: SimSid + schema: + type: string + - description: List the eSIM Profiles that are in a given status. + in: query + name: Status schema: type: string + enum: + - new + - reserving + - available + - downloaded + - installed + - failed - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -808,18 +802,19 @@ paths: content: application/json: schema: + type: object + title: ListEsimProfileResponse properties: - fleets: - items: - $ref: '#/components/schemas/supersim.v1.fleet' + esim_profiles: type: array + items: + $ref: '#/components/schemas/supersim.v1.esim_profile' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -833,14 +828,54 @@ paths: url: format: uri type: string - type: object - title: ListFleetResponse - type: object + key: + type: string + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - Beta + /v1/ESimProfiles/{Sid}: + servers: + - url: https://supersim.twilio.com + description: eSIM Profiles that can be loaded onto consumer eUICC SIMs + x-twilio: + defaultOutputProperties: + - sid + - status + pathType: instance + get: + description: Fetch an eSIM Profile. + operationId: FetchEsimProfile + parameters: + - description: The SID of the eSIM Profile resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/supersim.v1.esim_profile' description: OK security: - accountSid_authToken: [] x-maturity: - Beta + /v1/Fleets: + servers: + - url: https://supersim.twilio.com + description: Configure shared settings inherited by all Super SIMs assigned to + the Fleet + x-twilio: + defaultOutputProperties: + - sid + - unique_name + - data_metering + pathType: list post: description: Create a Fleet operationId: CreateFleet @@ -849,6 +884,16 @@ paths: application/x-www-form-urlencoded: schema: properties: + NetworkAccessProfile: + description: The SID or unique name of the Network Access Profile + that will control which cellular networks the Fleet's SIMs can + connect to. + type: string + UniqueName: + description: An application-defined string that uniquely identifies + the resource. It can be used in place of the resource's `sid` + in the URL to address the resource. + type: string DataEnabled: description: Defines whether SIMs in the Fleet are capable of using 2G/3G/4G/LTE/CAT-M data connectivity. Defaults to `true`. @@ -859,6 +904,13 @@ paths: can consume during a billing period (normally one month). Value must be between 1MB (1) and 2TB (2,000,000). Defaults to 1GB (1,000). type: integer + IpCommandsUrl: + description: The URL that will receive a webhook when a Super SIM + in the Fleet is used to send an IP Command from your device to + a special IP address. Your server should respond with an HTTP + status code in the 200 range; any response body will be ignored. + format: uri + type: string IpCommandsMethod: description: A string representing the HTTP method to use when making a request to `ip_commands_url`. Can be one of `POST` or `GET`. @@ -872,23 +924,18 @@ paths: - DELETE format: http-method type: string - IpCommandsUrl: - description: The URL that will receive a webhook when a Super SIM - in the Fleet is used to send an IP Command from your device to - a special IP address. Your server should respond with an HTTP - status code in the 200 range; any response body will be ignored. - format: uri - type: string - NetworkAccessProfile: - description: The SID or unique name of the Network Access Profile - that will control which cellular networks the Fleet's SIMs can - connect to. - type: string SmsCommandsEnabled: description: Defines whether SIMs in the Fleet are capable of sending and receiving machine-to-machine SMS via Commands. Defaults to `true`. type: boolean + SmsCommandsUrl: + description: The URL that will receive a webhook when a Super SIM + in the Fleet is used to send an SMS from your device to the SMS + Commands number. Your server should respond with an HTTP status + code in the 200 range; any response body will be ignored. + format: uri + type: string SmsCommandsMethod: description: A string representing the HTTP method to use when making a request to `sms_commands_url`. Can be one of `POST` or `GET`. @@ -902,18 +949,6 @@ paths: - DELETE format: http-method type: string - SmsCommandsUrl: - description: The URL that will receive a webhook when a Super SIM - in the Fleet is used to send an SMS from your device to the SMS - Commands number. Your server should respond with an HTTP status - code in the 200 range; any response body will be ignored. - format: uri - type: string - UniqueName: - description: An application-defined string that uniquely identifies - the resource. It can be used in place of the resource's `sid` - in the URL to address the resource. - type: string required: - NetworkAccessProfile title: CreateFleetRequest @@ -929,17 +964,73 @@ paths: - accountSid_authToken: [] x-maturity: - Beta + get: + description: Retrieve a list of Fleets from your account. + operationId: ListFleet + parameters: + - description: The SID or unique name of the Network Access Profile that controls + which cellular networks the Fleet's SIMs can connect to. + in: query + name: NetworkAccessProfile + schema: + 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListFleetResponse + properties: + fleets: + type: array + items: + $ref: '#/components/schemas/supersim.v1.fleet' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - Beta + /v1/Fleets/{Sid}: servers: - url: https://supersim.twilio.com + description: Configure shared settings inherited by all Super SIMs assigned to + the Fleet x-twilio: defaultOutputProperties: - sid - unique_name - data_metering - pathType: list - /v1/Fleets/{Sid}: - description: Configure shared settings inherited by all Super SIMs assigned to - the Fleet + pathType: instance get: description: Fetch a Fleet instance from your account. operationId: FetchFleet @@ -977,6 +1068,23 @@ paths: application/x-www-form-urlencoded: schema: properties: + UniqueName: + description: An application-defined string that uniquely identifies + the resource. It can be used in place of the resource's `sid` + in the URL to address the resource. + type: string + NetworkAccessProfile: + description: The SID or unique name of the Network Access Profile + that will control which cellular networks the Fleet's SIMs can + connect to. + type: string + IpCommandsUrl: + description: The URL that will receive a webhook when a Super SIM + in the Fleet is used to send an IP Command from your device to + a special IP address. Your server should respond with an HTTP + status code in the 200 range; any response body will be ignored. + format: uri + type: string IpCommandsMethod: description: A string representing the HTTP method to use when making a request to `ip_commands_url`. Can be one of `POST` or `GET`. @@ -990,18 +1098,13 @@ paths: - DELETE format: http-method type: string - IpCommandsUrl: + SmsCommandsUrl: description: The URL that will receive a webhook when a Super SIM - in the Fleet is used to send an IP Command from your device to - a special IP address. Your server should respond with an HTTP - status code in the 200 range; any response body will be ignored. + in the Fleet is used to send an SMS from your device to the SMS + Commands number. Your server should respond with an HTTP status + code in the 200 range; any response body will be ignored. format: uri type: string - NetworkAccessProfile: - description: The SID or unique name of the Network Access Profile - that will control which cellular networks the Fleet's SIMs can - connect to. - type: string SmsCommandsMethod: description: A string representing the HTTP method to use when making a request to `sms_commands_url`. Can be one of `POST` or `GET`. @@ -1015,18 +1118,6 @@ paths: - DELETE format: http-method type: string - SmsCommandsUrl: - description: The URL that will receive a webhook when a Super SIM - in the Fleet is used to send an SMS from your device to the SMS - Commands number. Your server should respond with an HTTP status - code in the 200 range; any response body will be ignored. - format: uri - type: string - UniqueName: - description: An application-defined string that uniquely identifies - the resource. It can be used in place of the resource's `sid` - in the URL to address the resource. - type: string title: UpdateFleetRequest type: object responses: @@ -1040,16 +1131,75 @@ paths: - accountSid_authToken: [] x-maturity: - Beta + /v1/IpCommands: servers: - url: https://supersim.twilio.com + description: Machine-to-machine IP Commands sent to/from Super SIMs x-twilio: defaultOutputProperties: - sid - - unique_name - - data_metering - pathType: instance - /v1/IpCommands: - description: Machine-to-machine IP Commands sent to/from Super SIMs + - status + - date_created + pathType: list + post: + description: Send an IP Command to a Super SIM. + operationId: CreateIpCommand + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Sim: + description: The `sid` or `unique_name` of the [Super SIM](https://www.twilio.com/docs/iot/supersim/api/sim-resource) + to send the IP Command to. + type: string + Payload: + description: The payload to be delivered to the device. + type: string + DevicePort: + description: The device port to which the IP Command will be sent. + type: integer + PayloadType: + type: string + enum: + - text + - binary + description: Indicates how the payload is encoded. Either `text` + or `binary`. Defaults to `text`. + CallbackUrl: + description: The URL we should call using the `callback_method` + after we have sent the IP Command. + format: uri + type: string + CallbackMethod: + description: The HTTP method we should use to call `callback_url`. + Can be `GET` or `POST`, and the default is `POST`. + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + type: string + required: + - Sim + - Payload + - DevicePort + title: CreateIpCommandRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/supersim.v1.ip_command' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - Beta get: description: Retrieve a list of IP Commands from your account. operationId: ListIpCommand @@ -1072,22 +1222,22 @@ paths: in: query name: Status schema: + type: string enum: - queued - sent - received - failed - type: string - description: The direction of the IP Command. Can be `to_sim` or `from_sim`. The value of `to_sim` is synonymous with the term `mobile terminated`, and `from_sim` is synonymous with the term `mobile originated`. in: query name: Direction schema: + type: string enum: - to_sim - from_sim - type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -1101,18 +1251,19 @@ paths: content: application/json: schema: + type: object + title: ListIpCommandResponse properties: ip_commands: + type: array items: $ref: '#/components/schemas/supersim.v1.ip_command' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1126,121 +1277,109 @@ paths: url: format: uri type: string - type: object - title: ListIpCommandResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - Beta - post: - description: Send an IP Command to a Super SIM. - operationId: CreateIpCommand - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - CallbackMethod: - description: The HTTP method we should use to call `callback_url`. - Can be `GET` or `POST`, and the default is `POST`. - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - CallbackUrl: - description: The URL we should call using the `callback_method` - after we have sent the IP Command. - format: uri - type: string - DevicePort: - description: The device port to which the IP Command will be sent. - type: integer - Payload: - description: The payload to be delivered to the device. - type: string - PayloadType: - description: Indicates how the payload is encoded. Either `text` - or `binary`. Defaults to `text`. - enum: - - text - - binary - type: string - Sim: - description: The `sid` or `unique_name` of the [Super SIM](https://www.twilio.com/docs/iot/supersim/api/sim-resource) - to send the IP Command to. - type: string - required: - - Sim - - Payload - - DevicePort - title: CreateIpCommandRequest - type: object + /v1/IpCommands/{Sid}: + servers: + - url: https://supersim.twilio.com + description: Machine-to-machine IP Commands sent to/from Super SIMs + x-twilio: + defaultOutputProperties: + - sid + - status + - date_created + pathType: instance + get: + description: Fetch IP Command instance from your account. + operationId: FetchIpCommand + parameters: + - description: The SID of the IP Command resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^HG[0-9a-fA-F]{32}$ responses: - '201': + '200': content: application/json: schema: $ref: '#/components/schemas/supersim.v1.ip_command' - description: Created + description: OK security: - accountSid_authToken: [] x-maturity: - Beta + /v1/Networks/{Sid}: servers: - url: https://supersim.twilio.com + description: Mobile operator networks to which Super SIMs can connect x-twilio: defaultOutputProperties: - sid - - status - - date_created - pathType: list - /v1/IpCommands/{Sid}: - description: Machine-to-machine IP Commands sent to/from Super SIMs + pathType: instance get: - description: Fetch IP Command instance from your account. - operationId: FetchIpCommand + description: Fetch a Network resource. + operationId: FetchNetwork parameters: - - description: The SID of the IP Command resource to fetch. + - description: The SID of the Network resource to fetch. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^HG[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^HW[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/supersim.v1.ip_command' + $ref: '#/components/schemas/supersim.v1.network' description: OK security: - accountSid_authToken: [] x-maturity: - Beta + /v1/Networks: servers: - url: https://supersim.twilio.com + description: Mobile operator networks to which Super SIMs can connect x-twilio: defaultOutputProperties: - sid - - status - - date_created - pathType: instance - /v1/NetworkAccessProfiles: - description: 'TODO: Resource-level docs' + pathType: list get: - description: Retrieve a list of Network Access Profiles from your account. - operationId: ListNetworkAccessProfile + description: Retrieve a list of Network resources. + operationId: ListNetwork parameters: + - description: The [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) + of the Network resources to read. + in: query + name: IsoCountry + schema: + type: string + - description: The 'mobile country code' of a country. Network resources with + this `mcc` in their `identifiers` will be read. + in: query + name: Mcc + schema: + type: string + - description: The 'mobile network code' of a mobile operator network. Network + resources with this `mnc` in their `identifiers` will be read. + in: query + name: Mnc + schema: + type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -1254,14 +1393,19 @@ paths: content: application/json: schema: + type: object + title: ListNetworkResponse properties: + networks: + type: array + items: + $ref: '#/components/schemas/supersim.v1.network' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1275,18 +1419,23 @@ paths: url: format: uri type: string - type: object - network_access_profiles: - items: - $ref: '#/components/schemas/supersim.v1.network_access_profile' - type: array - title: ListNetworkAccessProfileResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - Beta + /v1/NetworkAccessProfiles: + servers: + - url: https://supersim.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - unique_name + - fleets_count + pathType: list post: description: Create a new Network Access Profile operationId: CreateNetworkAccessProfile @@ -1295,17 +1444,17 @@ paths: application/x-www-form-urlencoded: schema: properties: - Networks: - description: List of Network SIDs that this Network Access Profile - will allow connections to. - items: - type: string - type: array UniqueName: description: An application-defined string that uniquely identifies the resource. It can be used in place of the resource's `sid` in the URL to address the resource. type: string + Networks: + type: array + items: + type: string + description: List of Network SIDs that this Network Access Profile + will allow connections to. title: CreateNetworkAccessProfileRequest type: object responses: @@ -1319,28 +1468,10 @@ paths: - accountSid_authToken: [] x-maturity: - Beta - servers: - - url: https://supersim.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - unique_name - - fleets_count - pathType: list - /v1/NetworkAccessProfiles/{NetworkAccessProfileSid}/Networks: - description: Mobile operator networks which Network Access Profiles allow access - to get: - description: Retrieve a list of Network Access Profile resource's Network resource. - operationId: ListNetworkAccessProfileNetwork + description: Retrieve a list of Network Access Profiles from your account. + operationId: ListNetworkAccessProfile parameters: - - description: The unique string that identifies the Network Access Profile - resource. - in: path - name: NetworkAccessProfileSid - required: true - schema: - type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -1354,14 +1485,19 @@ paths: content: application/json: schema: + type: object + title: ListNetworkAccessProfileResponse properties: + network_access_profiles: + type: array + items: + $ref: '#/components/schemas/supersim.v1.network_access_profile' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1375,139 +1511,23 @@ paths: url: format: uri type: string - type: object - networks: - items: - $ref: '#/components/schemas/supersim.v1.network_access_profile.network_access_profile_network' - type: array - title: ListNetworkAccessProfileNetworkResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - Beta - post: - description: Add a Network resource to the Network Access Profile resource. - operationId: CreateNetworkAccessProfileNetwork - parameters: - - description: The unique string that identifies the Network Access Profile - resource. - in: path - name: NetworkAccessProfileSid - required: true - schema: - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Network: - description: The SID of the Network resource to be added to the - Network Access Profile resource. - maxLength: 34 - minLength: 34 - pattern: ^HW[0-9a-fA-F]{32}$ - type: string - required: - - Network - title: CreateNetworkAccessProfileNetworkRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/supersim.v1.network_access_profile.network_access_profile_network' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - Beta - servers: - - url: https://supersim.twilio.com - x-twilio: - className: network_access_profile_network - defaultOutputProperties: - - sid - parent: /NetworkAccessProfiles - pathType: list - /v1/NetworkAccessProfiles/{NetworkAccessProfileSid}/Networks/{Sid}: - delete: - description: Remove a Network resource from the Network Access Profile resource's. - operationId: DeleteNetworkAccessProfileNetwork - parameters: - - description: The unique string that identifies the Network Access Profile - resource. - in: path - name: NetworkAccessProfileSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^HA[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Network resource to be removed from the Network - Access Profile resource. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^HW[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - Beta - description: Mobile operator networks which Network Access Profiles allow access - to - get: - description: Fetch a Network Access Profile resource's Network resource. - operationId: FetchNetworkAccessProfileNetwork - parameters: - - description: The unique string that identifies the Network Access Profile - resource. - in: path - name: NetworkAccessProfileSid - required: true - schema: - type: string - - description: The SID of the Network resource to fetch. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^HW[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/supersim.v1.network_access_profile.network_access_profile_network' + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - Beta + /v1/NetworkAccessProfiles/{Sid}: servers: - url: https://supersim.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - className: network_access_profile_network defaultOutputProperties: - sid - parent: /NetworkAccessProfiles + - unique_name + - fleets_count pathType: instance - /v1/NetworkAccessProfiles/{Sid}: - description: 'TODO: Resource-level docs' get: description: Fetch a Network Access Profile instance from your account. operationId: FetchNetworkAccessProfile @@ -1561,36 +1581,26 @@ paths: - accountSid_authToken: [] x-maturity: - Beta + /v1/NetworkAccessProfiles/{NetworkAccessProfileSid}/Networks: servers: - url: https://supersim.twilio.com + description: Mobile operator networks which Network Access Profiles allow access + to x-twilio: defaultOutputProperties: - sid - - unique_name - - fleets_count - pathType: instance - /v1/Networks: - description: Mobile operator networks to which Super SIMs can connect + pathType: list + parent: /NetworkAccessProfiles + className: network_access_profile_network get: - description: Retrieve a list of Network resources. - operationId: ListNetwork + description: Retrieve a list of Network Access Profile resource's Network resource. + operationId: ListNetworkAccessProfileNetwork parameters: - - description: The [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) - of the Network resources to read. - in: query - name: IsoCountry - schema: - type: string - - description: The 'mobile country code' of a country. Network resources with - this `mcc` in their `identifiers` will be read. - in: query - name: Mcc - schema: - type: string - - description: The 'mobile network code' of a mobile operator network. Network - resources with this `mnc` in their `identifiers` will be read. - in: query - name: Mnc + - description: The unique string that identifies the Network Access Profile + resource. + in: path + name: NetworkAccessProfileSid + required: true schema: type: string - description: How many resources to return in each list page. The default is @@ -1606,14 +1616,19 @@ paths: content: application/json: schema: + type: object + title: ListNetworkAccessProfileNetworkResponse properties: + networks: + type: array + items: + $ref: '#/components/schemas/supersim.v1.network_access_profile.network_access_profile_network' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1627,58 +1642,166 @@ paths: url: format: uri type: string - type: object - networks: - items: - $ref: '#/components/schemas/supersim.v1.network' - type: array - title: ListNetworkResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - Beta + post: + description: Add a Network resource to the Network Access Profile resource. + operationId: CreateNetworkAccessProfileNetwork + parameters: + - description: The unique string that identifies the Network Access Profile + resource. + in: path + name: NetworkAccessProfileSid + required: true + schema: + type: string + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Network: + type: string + minLength: 34 + maxLength: 34 + pattern: ^HW[0-9a-fA-F]{32}$ + description: The SID of the Network resource to be added to the + Network Access Profile resource. + required: + - Network + title: CreateNetworkAccessProfileNetworkRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/supersim.v1.network_access_profile.network_access_profile_network' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - Beta + /v1/NetworkAccessProfiles/{NetworkAccessProfileSid}/Networks/{Sid}: servers: - url: https://supersim.twilio.com + description: Mobile operator networks which Network Access Profiles allow access + to x-twilio: defaultOutputProperties: - sid - pathType: list - /v1/Networks/{Sid}: - description: Mobile operator networks to which Super SIMs can connect + pathType: instance + parent: /NetworkAccessProfiles + className: network_access_profile_network + delete: + description: Remove a Network resource from the Network Access Profile resource's. + operationId: DeleteNetworkAccessProfileNetwork + parameters: + - description: The unique string that identifies the Network Access Profile + resource. + in: path + name: NetworkAccessProfileSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^HA[0-9a-fA-F]{32}$ + - description: The SID of the Network resource to be removed from the Network + Access Profile resource. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^HW[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - Beta get: - description: Fetch a Network resource. - operationId: FetchNetwork + description: Fetch a Network Access Profile resource's Network resource. + operationId: FetchNetworkAccessProfileNetwork parameters: + - description: The unique string that identifies the Network Access Profile + resource. + in: path + name: NetworkAccessProfileSid + required: true + schema: + type: string - description: The SID of the Network resource to fetch. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^HW[0-9a-fA-F]{32}$ - type: string responses: '200': content: application/json: schema: - $ref: '#/components/schemas/supersim.v1.network' + $ref: '#/components/schemas/supersim.v1.network_access_profile.network_access_profile_network' description: OK security: - accountSid_authToken: [] x-maturity: - Beta + /v1/Sims: servers: - url: https://supersim.twilio.com + description: Individual IoT Super SIMs x-twilio: defaultOutputProperties: - sid - pathType: instance - /v1/Sims: - description: Individual IoT Super SIMs + - unique_name + - status + pathType: list + post: + description: Register a Super SIM to your Account + operationId: CreateSim + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Iccid: + description: The [ICCID](https://en.wikipedia.org/wiki/Subscriber_identity_module#ICCID) + of the Super SIM to be added to your Account. + type: string + RegistrationCode: + description: The 10-digit code required to claim the Super SIM for + your Account. + type: string + required: + - Iccid + - RegistrationCode + title: CreateSimRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/supersim.v1.sim' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - Beta get: description: Retrieve a list of Super SIMs from your account. operationId: ListSim @@ -1688,13 +1811,13 @@ paths: in: query name: Status schema: + type: string enum: - new - ready - active - inactive - scheduled - type: string - description: The SID or unique name of the Fleet to which a list of Sims are assigned. in: query @@ -1721,14 +1844,19 @@ paths: content: application/json: schema: + type: object + title: ListSimResponse properties: + sims: + type: array + items: + $ref: '#/components/schemas/supersim.v1.sim' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1742,60 +1870,23 @@ paths: url: format: uri type: string - type: object - sims: - items: - $ref: '#/components/schemas/supersim.v1.sim' - type: array - title: ListSimResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - Beta - post: - description: Register a Super SIM to your Account - operationId: CreateSim - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Iccid: - description: The [ICCID](https://en.wikipedia.org/wiki/Subscriber_identity_module#ICCID) - of the Super SIM to be added to your Account. - type: string - RegistrationCode: - description: The 10-digit code required to claim the Super SIM for - your Account. - type: string - required: - - Iccid - - RegistrationCode - title: CreateSimRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/supersim.v1.sim' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - Beta + /v1/Sims/{Sid}: servers: - url: https://supersim.twilio.com + description: Individual IoT Super SIMs x-twilio: defaultOutputProperties: - sid - unique_name - status - pathType: list - /v1/Sims/{Sid}: - description: Individual IoT Super SIMs + pathType: instance get: description: Fetch a Super SIM instance from your account. operationId: FetchSim @@ -1833,11 +1924,28 @@ paths: application/x-www-form-urlencoded: schema: properties: - AccountSid: - description: The SID of the Account to which the Sim resource should - belong. The Account SID can only be that of the requesting Account - or that of a Subaccount of the requesting Account. Only valid - when the Sim resource's status is new. + UniqueName: + description: An application-defined string that uniquely identifies + the resource. It can be used in place of the resource's `sid` + in the URL to address the resource. + type: string + Status: + type: string + enum: + - ready + - active + - inactive + description: 'The new status of the resource. Can be: `ready`, `active`, + or `inactive`. See the [Super SIM Status Values](https://www.twilio.com/docs/iot/supersim/api/sim-resource#status-values) + for more info.' + Fleet: + description: The SID or unique name of the Fleet to which the SIM + resource should be assigned. + type: string + CallbackUrl: + description: The URL we should call using the `callback_method` + after an asynchronous update has finished. + format: uri type: string CallbackMethod: description: 'The HTTP method we should use to call `callback_url`. @@ -1851,28 +1959,11 @@ paths: - DELETE format: http-method type: string - CallbackUrl: - description: The URL we should call using the `callback_method` - after an asynchronous update has finished. - format: uri - type: string - Fleet: - description: The SID or unique name of the Fleet to which the SIM - resource should be assigned. - type: string - Status: - description: 'The new status of the resource. Can be: `ready`, `active`, - or `inactive`. See the [Super SIM Status Values](https://www.twilio.com/docs/iot/supersim/api/sim-resource#status-values) - for more info.' - enum: - - ready - - active - - inactive - type: string - UniqueName: - description: An application-defined string that uniquely identifies - the resource. It can be used in place of the resource's `sid` - in the URL to address the resource. + AccountSid: + description: The SID of the Account to which the Sim resource should + belong. The Account SID can only be that of the requesting Account + or that of a Subaccount of the requesting Account. Only valid + when the Sim resource's status is new. type: string title: UpdateSimRequest type: object @@ -1893,21 +1984,22 @@ paths: - accountSid_authToken: [] x-maturity: - Beta + /v1/Sims/{SimSid}/IpAddresses: servers: - url: https://supersim.twilio.com + description: IP Addresses for a Super SIM configured to use a VPN connection x-twilio: defaultOutputProperties: - - sid - - unique_name - - status - pathType: instance - /v1/Sims/{SimSid}/BillingPeriods: - description: Billing Period for an IoT Super SIM + - ip_address + - ip_address_version + pathType: list + parent: /Sims + className: sim_ip_address get: - description: Retrieve a list of Billing Periods for a Super SIM. - operationId: ListBillingPeriod + description: Retrieve a list of IP Addresses for the given Super SIM. + operationId: ListSimIpAddress parameters: - - description: The SID of the Super SIM to list Billing Periods for. + - description: The SID of the Super SIM to list IP Addresses for. in: path name: SimSid required: true @@ -1926,18 +2018,19 @@ paths: content: application/json: schema: + type: object + title: ListSimIpAddressResponse properties: - billing_periods: - items: - $ref: '#/components/schemas/supersim.v1.sim.billing_period' + ip_addresses: type: array + items: + $ref: '#/components/schemas/supersim.v1.sim.sim_ip_address' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1951,27 +2044,71 @@ paths: url: format: uri type: string - type: object - title: ListBillingPeriodResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - - GA + - Beta + /v1/SmsCommands: servers: - url: https://supersim.twilio.com + description: Machine-to-machine SMS Commands sent to/from SIMs x-twilio: defaultOutputProperties: - sid - - sim_sid - - start_time - - end_time - - period_type - parent: /Sims + - status + - date_created pathType: list - /v1/SmsCommands: - description: Machine-to-machine SMS Commands sent to/from SIMs + post: + description: Send SMS Command to a Sim. + operationId: CreateSmsCommand + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Sim: + description: The `sid` or `unique_name` of the [SIM](https://www.twilio.com/docs/iot/supersim/api/sim-resource) + to send the SMS Command to. + type: string + Payload: + description: The message body of the SMS Command. + type: string + CallbackMethod: + description: 'The HTTP method we should use to call `callback_url`. + Can be: `GET` or `POST` and the default is POST.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + type: string + CallbackUrl: + description: The URL we should call using the `callback_method` + after we have sent the command. + format: uri + type: string + required: + - Sim + - Payload + title: CreateSmsCommandRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/supersim.v1.sms_command' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - Beta get: description: Retrieve a list of SMS Commands from your account. operationId: ListSmsCommand @@ -1988,23 +2125,23 @@ paths: in: query name: Status schema: + type: string enum: - queued - sent - delivered - received - failed - type: string - description: The direction of the SMS Command. Can be `to_sim` or `from_sim`. The value of `to_sim` is synonymous with the term `mobile terminated`, and `from_sim` is synonymous with the term `mobile originated`. in: query name: Direction schema: + type: string enum: - to_sim - from_sim - type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -2018,14 +2155,19 @@ paths: content: application/json: schema: + type: object + title: ListSmsCommandResponse properties: + sms_commands: + type: array + items: + $ref: '#/components/schemas/supersim.v1.sms_command' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -2039,76 +2181,23 @@ paths: url: format: uri type: string - type: object - sms_commands: - items: - $ref: '#/components/schemas/supersim.v1.sms_command' - type: array - title: ListSmsCommandResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - Beta - post: - description: Send SMS Command to a Sim. - operationId: CreateSmsCommand - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - CallbackMethod: - description: 'The HTTP method we should use to call `callback_url`. - Can be: `GET` or `POST` and the default is POST.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - CallbackUrl: - description: The URL we should call using the `callback_method` - after we have sent the command. - format: uri - type: string - Payload: - description: The message body of the SMS Command. - type: string - Sim: - description: The `sid` or `unique_name` of the [SIM](https://www.twilio.com/docs/iot/supersim/api/sim-resource) - to send the SMS Command to. - type: string - required: - - Sim - - Payload - title: CreateSmsCommandRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/supersim.v1.sms_command' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - Beta + /v1/SmsCommands/{Sid}: servers: - url: https://supersim.twilio.com + description: Machine-to-machine SMS Commands sent to/from SIMs x-twilio: defaultOutputProperties: - sid - status - date_created - pathType: list - /v1/SmsCommands/{Sid}: - description: Machine-to-machine SMS Commands sent to/from SIMs + pathType: instance get: description: Fetch SMS Command instance from your account. operationId: FetchSmsCommand @@ -2118,10 +2207,10 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^HC[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -2133,16 +2222,15 @@ paths: - accountSid_authToken: [] x-maturity: - Beta + /v1/UsageRecords: servers: - url: https://supersim.twilio.com + description: Usage information for Sim resources x-twilio: defaultOutputProperties: - - sid - - status - - date_created - pathType: instance - /v1/UsageRecords: - description: Usage information for Sim resources + - account_sid + - period + pathType: list get: description: List UsageRecords operationId: ListUsageRecord @@ -2165,10 +2253,10 @@ paths: in: query name: Network schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^HW[0-9a-fA-F]{32}$ - type: string - description: Alpha-2 ISO Country Code. Only show UsageRecords representing usage in this country. in: query @@ -2183,39 +2271,39 @@ paths: in: query name: Group schema: + type: string enum: - sim - fleet - network - isoCountry - type: string - description: 'Time-based grouping that UsageRecords should be aggregated by. Can be: `hour`, `day`, or `all`. Default is `all`. `all` returns one UsageRecord that describes the usage for the entire period.' in: query name: Granularity schema: + type: string enum: - hour - day - all - type: string - description: Only include usage that occurred at or after this time, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. Default is one month before the `end_time`. in: query name: StartTime schema: - format: date-time type: string + format: date-time - description: Only include usage that occurred before this time (exclusive), specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. Default is the current time. in: query name: EndTime schema: - format: date-time type: string + format: date-time - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -2229,14 +2317,19 @@ paths: content: application/json: schema: + type: object + title: ListUsageRecordResponse properties: + usage_records: + type: array + items: + $ref: '#/components/schemas/supersim.v1.usage_record' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -2250,30 +2343,18 @@ paths: url: format: uri type: string - type: object - usage_records: - items: - $ref: '#/components/schemas/supersim.v1.usage_record' - type: array - title: ListUsageRecordResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - Beta - servers: - - url: https://supersim.twilio.com - x-twilio: - defaultOutputProperties: - - account_sid - - period - pathType: list servers: - url: https://supersim.twilio.com x-maturity: -- description: This product is Generally Available. - name: GA -- description: PLEASE NOTE that this is a Beta product that is subject to change. +- name: GA + description: This product is Generally Available. +- name: Beta + description: PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution. - name: Beta diff --git a/spec/yaml/twilio_sync_v1.yaml b/spec/yaml/twilio_sync_v1.yaml index dd965b2d..8f5aeea3 100644 --- a/spec/yaml/twilio_sync_v1.yaml +++ b/spec/yaml/twilio_sync_v1.yaml @@ -1,113 +1,38 @@ components: schemas: - sync.v1.service: + sync.v1.service.document: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - acl_enabled: - description: Whether token identities in the Service must be granted access - to Sync objects by using the Permissions resource - nullable: true - type: boolean - date_created: - description: The 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 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 - links: - description: The URLs of related resources - format: uri-map - nullable: true - type: object - reachability_debouncing_enabled: - description: Whether every endpoint_disconnected event occurs after a configurable - delay - nullable: true - type: boolean - reachability_debouncing_window: - description: The reachability event delay in milliseconds - nullable: true - type: integer - reachability_webhooks_enabled: - description: Whether the service instance calls webhook_url when client - endpoints connect to Sync - nullable: true - type: boolean - sid: - description: The unique string that identifies the resource - maxLength: 34 minLength: 34 - nullable: true - pattern: ^IS[0-9a-fA-F]{32}$ - type: string - unique_name: - description: An application-defined string that uniquely identifies the - resource - nullable: true - type: string - url: - description: The absolute URL of the Service resource - format: uri - nullable: true - type: string - webhook_url: - description: The URL we call when Sync objects are manipulated - format: uri - nullable: true - type: string - webhooks_from_rest_enabled: - description: Whether the Service instance should call webhook_url when the - REST API is used to update Sync objects - nullable: true - type: boolean - type: object - sync.v1.service.document: - properties: - account_sid: - description: The SID of the Account that created the resource maxLength: 34 - minLength: 34 - nullable: true pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource created_by: description: The identity of the Sync Document's creator nullable: true type: string data: - description: An arbitrary, schema-less object that the Sync Document stores nullable: true + description: An arbitrary, schema-less object that the Sync Document stores date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_expires: - description: The ISO 8601 date and time in GMT when the Sync Document expires + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the Sync Document expires date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated links: description: The URLs of resources related to the Sync Document format: uri-map @@ -119,20 +44,20 @@ components: nullable: true type: string service_sid: - description: The SID of the Sync Service that the resource is associated - with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Sync Service that the resource is associated + with sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^ET[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource unique_name: description: An application-defined string that uniquely identifies the resource @@ -143,23 +68,23 @@ components: format: uri nullable: true type: string - type: object sync.v1.service.document.document_permission: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource document_sid: - description: The Sync Document SID - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^ET[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The Sync Document SID identity: description: The identity of the user to whom the Sync Document Permission applies @@ -174,13 +99,13 @@ components: nullable: true type: boolean service_sid: - description: The SID of the Sync Service that the resource is associated - with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Sync Service that the resource is associated + with url: description: The absolute URL of the Sync Document Permission resource format: uri @@ -190,152 +115,241 @@ components: description: Write access nullable: true type: boolean + sync.v1.service: type: object - sync.v1.service.sync_list: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - created_by: - description: The identity of the Sync List's creator nullable: true - type: string + description: The SID of the Account that created the resource + acl_enabled: + description: Whether token identities in the Service must be granted access + to Sync objects by using the Permissions resource + nullable: true + type: boolean date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true + description: The ISO 8601 date and time in GMT when the resource was created + date_updated: type: string - date_expires: - description: The ISO 8601 date and time in GMT when the Sync List expires format: date-time nullable: true - type: string - date_updated: description: The ISO 8601 date and time in GMT when the resource was last updated - format: date-time + friendly_name: + description: The string that you assigned to describe the resource nullable: true type: string links: - description: The URLs of the Sync List's nested resources + description: The URLs of related resources format: uri-map nullable: true type: object - revision: - description: The current revision of the Sync List, represented as a string + reachability_debouncing_enabled: + description: Whether every endpoint_disconnected event occurs after a configurable + delay nullable: true - type: string - service_sid: - description: The SID of the Sync Service that the resource is associated - with - maxLength: 34 - minLength: 34 + type: boolean + reachability_debouncing_window: + description: The reachability event delay in milliseconds nullable: true - pattern: ^IS[0-9a-fA-F]{32}$ - type: string + type: integer + reachability_webhooks_enabled: + description: Whether the service instance calls webhook_url when client + endpoints connect to Sync + nullable: true + type: boolean sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ nullable: true - pattern: ^ES[0-9a-fA-F]{32}$ - type: string + description: The unique string that identifies the resource unique_name: description: An application-defined string that uniquely identifies the resource nullable: true type: string url: - description: The absolute URL of the Sync List resource + description: The absolute URL of the Service resource + format: uri + nullable: true + type: string + webhook_url: + description: The URL we call when Sync objects are manipulated format: uri nullable: true type: string + webhooks_from_rest_enabled: + description: Whether the Service instance should call webhook_url when the + REST API is used to update Sync objects + nullable: true + type: boolean + sync.v1.service.sync_stream.stream_message: type: object - sync.v1.service.sync_list.sync_list_item: properties: - account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + data: + nullable: true + description: Stream Message body + sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^TZ[0-9a-fA-F]{32}$ nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ + description: The unique string that identifies the resource + sync.v1.service.sync_list: + type: object + properties: + account_sid: type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created the resource created_by: - description: The identity of the List Item's creator + description: The identity of the Sync List's creator nullable: true type: string - data: - description: An arbitrary, schema-less object that the List Item stores - nullable: true date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_expires: - description: The ISO 8601 date and time in GMT when the List Item expires + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the Sync List expires date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true + description: The ISO 8601 date and time in GMT when the resource was last + updated + links: + description: The URLs of the Sync List's nested resources + format: uri-map + nullable: true + type: object + revision: + description: The current revision of the Sync List, represented as a string + nullable: true + type: string + service_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Sync Service that the resource is associated + with + sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^ES[0-9a-fA-F]{32}$ + nullable: true + description: The unique string that identifies the resource + unique_name: + description: An application-defined string that uniquely identifies the + resource + nullable: true + type: string + url: + description: The absolute URL of the Sync List resource + format: uri + nullable: true + type: string + sync.v1.service.sync_list.sync_list_item: + type: object + properties: + account_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created the resource + created_by: + description: The identity of the List Item's creator + nullable: true + type: string + data: + nullable: true + description: An arbitrary, schema-less object that the List Item stores + date_created: + type: string + format: date-time + nullable: true + description: The ISO 8601 date and time in GMT when the resource was created + date_expires: + type: string + format: date-time + nullable: true + description: The ISO 8601 date and time in GMT when the List Item expires + date_updated: type: string + format: date-time + nullable: true + description: The ISO 8601 date and time in GMT when the resource was last + updated index: description: The automatically generated index of the List Item nullable: true type: integer list_sid: - description: The SID of the Sync List that contains the List Item - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^ES[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Sync List that contains the List Item revision: description: The current revision of the item, represented as a string nullable: true type: string service_sid: - description: The SID of the Sync Service that the resource is associated - with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Sync Service that the resource is associated + with url: description: The absolute URL of the List Item resource format: uri nullable: true type: string - type: object sync.v1.service.sync_list.sync_list_permission: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource identity: description: The identity of the user to whom the Sync List Permission applies nullable: true type: string list_sid: - description: The SID of the Sync List to which the Permission applies - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^ES[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Sync List to which the Permission applies manage: description: Manage access nullable: true @@ -345,13 +359,13 @@ components: nullable: true type: boolean service_sid: - description: The SID of the Sync Service that the resource is associated - with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Sync Service that the resource is associated + with url: description: The absolute URL of the Sync List Permission resource format: uri @@ -361,36 +375,36 @@ components: description: Write access nullable: true type: boolean - type: object sync.v1.service.sync_map: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource created_by: description: The identity of the Sync Map's creator nullable: true type: string date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_expires: - description: The ISO 8601 date and time in GMT when the Sync Map expires + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the Sync Map expires date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated links: description: The URLs of the Sync Map's nested resources format: uri-map @@ -401,20 +415,20 @@ components: nullable: true type: string service_sid: - description: The SID of the Sync Service that the resource is associated - with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Sync Service that the resource is associated + with sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^MP[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource unique_name: description: An application-defined string that uniquely identifies the resource @@ -425,77 +439,77 @@ components: format: uri nullable: true type: string - type: object sync.v1.service.sync_map.sync_map_item: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource created_by: description: The identity of the Map Item's creator nullable: true type: string data: - description: An arbitrary, schema-less object that the Map Item stores nullable: true + description: An arbitrary, schema-less object that the Map Item stores date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_expires: - description: The ISO 8601 date and time in GMT when the Map Item expires + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the Map Item expires date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated key: description: The unique, user-defined key for the Map Item nullable: true type: string map_sid: - description: The SID of the Sync Map that contains the Map Item - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^MP[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Sync Map that contains the Map Item revision: description: The current revision of the Map Item, represented as a string nullable: true type: string service_sid: - description: The SID of the Sync Service that the resource is associated - with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Sync Service that the resource is associated + with url: description: The absolute URL of the Map Item resource format: uri nullable: true type: string - type: object sync.v1.service.sync_map.sync_map_permission: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource identity: description: The identity of the user to whom the Sync Document Permission applies @@ -506,24 +520,24 @@ components: nullable: true type: boolean map_sid: - description: Sync Map SID - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^MP[0-9a-fA-F]{32}$ - type: string + nullable: true + description: Sync Map SID read: description: Read access nullable: true type: boolean service_sid: - description: The SID of the Sync Service that the resource is associated - with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Sync Service that the resource is associated + with url: description: The absolute URL of the Sync Map Permission resource format: uri @@ -533,56 +547,56 @@ components: description: Write access nullable: true type: boolean - type: object sync.v1.service.sync_stream: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource created_by: description: The Identity of the Stream's creator nullable: true type: string date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_expires: - description: The ISO 8601 date and time in GMT when the Message Stream expires + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the Message Stream expires date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated links: description: The URLs of the Stream's nested resources format: uri-map nullable: true type: object service_sid: - description: The SID of the Sync Service that the resource is associated - with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Sync Service that the resource is associated + with sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^TO[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource unique_name: description: An application-defined string that uniquely identifies the resource @@ -593,20 +607,6 @@ components: format: uri nullable: true type: string - type: object - sync.v1.service.sync_stream.stream_message: - properties: - data: - description: Stream Message body - nullable: true - sid: - description: The unique string that identifies the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^TZ[0-9a-fA-F]{32}$ - type: string - type: object securitySchemes: accountSid_authToken: scheme: basic @@ -625,126 +625,171 @@ info: version: 1.30.0 openapi: 3.0.1 paths: - /v1/Services: - description: Containers for sync objects + /v1/Services/{ServiceSid}/Documents/{Sid}: + servers: + - url: https://sync.twilio.com + description: Sync Document objects + x-twilio: + defaultOutputProperties: + - sid + - unique_name + - revision + pathType: instance + parent: /Services get: description: '' - operationId: ListService + operationId: FetchDocument parameters: - - description: How many resources to return in each list page. The default is - 50, and the maximum is 1000. - in: query - name: PageSize + - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) + with the Document resource to fetch. + in: path + name: ServiceSid + required: true schema: - maximum: 1000 - minimum: 1 - type: integer + type: string + - description: The SID of the Document resource to fetch. Can be the Document + resource's `sid` or its `unique_name`. + in: path + name: Sid + required: true + 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 - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - services: - items: - $ref: '#/components/schemas/sync.v1.service' - type: array - title: ListServiceResponse - type: object + $ref: '#/components/schemas/sync.v1.service.document' description: OK security: - accountSid_authToken: [] x-maturity: - GA + delete: + description: '' + operationId: DeleteDocument + parameters: + - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) + with the Document resource to delete. + in: path + name: ServiceSid + required: true + schema: + type: string + - description: The SID of the Document resource to delete. Can be the Document + resource's `sid` or its `unique_name`. + in: path + name: Sid + required: true + schema: + type: string + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA post: description: '' - operationId: CreateService + operationId: UpdateDocument + parameters: + - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) + with the Document resource to update. + in: path + name: ServiceSid + required: true + schema: + type: string + - description: The SID of the Document resource to update. Can be the Document + resource's `sid` or its `unique_name`. + in: path + name: Sid + required: true + schema: + type: string + - description: The If-Match HTTP request header + in: header + name: If-Match + schema: + type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - AclEnabled: - description: Whether token identities in the Service must be granted - access to Sync objects by using the [Permissions](https://www.twilio.com/docs/sync/api/sync-permissions) - resource. - type: boolean - FriendlyName: - description: A string that you assign to describe the resource. - type: string - ReachabilityDebouncingEnabled: - description: Whether every `endpoint_disconnected` event should - occur after a configurable delay. The default is `false`, where - the `endpoint_disconnected` event occurs immediately after disconnection. - When `true`, intervening reconnections can prevent the `endpoint_disconnected` - event. - type: boolean - ReachabilityDebouncingWindow: - description: The reachability event delay in milliseconds if `reachability_debouncing_enabled` - = `true`. Must be between 1,000 and 30,000 and defaults to 5,000. - This is the number of milliseconds after the last running client - disconnects, and a Sync identity is declared offline, before the - `webhook_url` is called if all endpoints remain offline. A reconnection - from the same identity by any endpoint during this interval prevents - the call to `webhook_url`. + Data: + description: A JSON string that represents an arbitrary, schema-less + object that the Sync Document stores. Can be up to 16 KiB in length. + Ttl: + description: How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), + before the Sync Document expires and is deleted (time-to-live). type: integer - ReachabilityWebhooksEnabled: - description: Whether the service instance should call `webhook_url` - when client endpoints connect to Sync. The default is `false`. - type: boolean - WebhookUrl: - description: The URL we should call when Sync objects are manipulated. - format: uri - type: string - WebhooksFromRestEnabled: - description: Whether the Service instance should call `webhook_url` - when the REST API is used to update Sync objects. The default - is `false`. - type: boolean - title: CreateServiceRequest + title: UpdateDocumentRequest type: object responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/sync.v1.service' - description: Created + $ref: '#/components/schemas/sync.v1.service.document' + description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ServiceSid}/Documents: servers: - url: https://sync.twilio.com + description: Sync Document objects x-twilio: defaultOutputProperties: - sid - unique_name - - friendly_name + - revision pathType: list - /v1/Services/{ServiceSid}/Documents: - description: Sync Document objects + parent: /Services + post: + description: '' + operationId: CreateDocument + parameters: + - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) + to create the new Document resource in. + in: path + name: ServiceSid + required: true + schema: + type: string + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + UniqueName: + description: An application-defined string that uniquely identifies + the Sync Document + type: string + Data: + description: A JSON string that represents an arbitrary, schema-less + object that the Sync Document stores. Can be up to 16 KiB in length. + Ttl: + description: How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), + before the Sync Document expires and is deleted (the Sync Document's + time-to-live). + type: integer + title: CreateDocumentRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/sync.v1.service.document' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA get: description: '' operationId: ListDocument @@ -769,18 +814,19 @@ paths: content: application/json: schema: + type: object + title: ListDocumentResponse properties: documents: + type: array items: $ref: '#/components/schemas/sync.v1.service.document' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -794,142 +840,62 @@ paths: url: format: uri type: string - type: object - title: ListDocumentResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: '' - operationId: CreateDocument - parameters: - - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) - to create the new Document resource in. - in: path - name: ServiceSid - required: true - schema: - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Data: - description: A JSON string that represents an arbitrary, schema-less - object that the Sync Document stores. Can be up to 16 KiB in length. - Ttl: - description: How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), - before the Sync Document expires and is deleted (the Sync Document's - time-to-live). - type: integer - UniqueName: - description: An application-defined string that uniquely identifies - the Sync Document - type: string - title: CreateDocumentRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/sync.v1.service.document' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA + /v1/Services/{ServiceSid}/Documents/{DocumentSid}/Permissions/{Identity}: servers: - url: https://sync.twilio.com + description: Sync document permissions x-twilio: defaultOutputProperties: - - sid - - unique_name - - revision - parent: /Services - pathType: list - /v1/Services/{ServiceSid}/Documents/{DocumentSid}/Permissions: - description: Sync document permissions + - identity + - read + - write + - manage + pathType: instance + parent: /Services/{ServiceSid}/Documents + className: document_permission get: - description: Retrieve a list of all Permissions applying to a Sync Document. - operationId: ListDocumentPermission + description: Fetch a specific Sync Document Permission. + operationId: FetchDocumentPermission parameters: - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) - with the Document Permission resources to read. + with the Document Permission resource to fetch. in: path name: ServiceSid required: true schema: type: string - - description: The SID of the Sync Document with the Document Permission resources - to read. Can be the Document resource's `sid` or its `unique_name`. + - description: The SID of the Sync Document with the Document Permission resource + to fetch. Can be the Document resource's `sid` or its `unique_name`. in: path name: DocumentSid required: true schema: 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 + - description: The application-defined string that uniquely identifies the User's + Document Permission resource to fetch. + in: path + name: Identity + required: true schema: - maximum: 1000 - minimum: 1 - type: integer + 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 - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - permissions: - items: - $ref: '#/components/schemas/sync.v1.service.document.document_permission' - type: array - title: ListDocumentPermissionResponse - type: object + $ref: '#/components/schemas/sync.v1.service.document.document_permission' description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://sync.twilio.com - x-twilio: - className: document_permission - defaultOutputProperties: - - identity - - read - - write - - manage - parent: /Services/{ServiceSid}/Documents - pathType: list - /v1/Services/{ServiceSid}/Documents/{DocumentSid}/Permissions/{Identity}: delete: description: Delete a specific Sync Document Permission. operationId: DeleteDocumentPermission @@ -962,43 +928,6 @@ paths: - accountSid_authToken: [] x-maturity: - GA - description: Sync document permissions - get: - description: Fetch a specific Sync Document Permission. - operationId: FetchDocumentPermission - parameters: - - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) - with the Document Permission resource to fetch. - in: path - name: ServiceSid - required: true - schema: - type: string - - description: The SID of the Sync Document with the Document Permission resource - to fetch. Can be the Document resource's `sid` or its `unique_name`. - in: path - name: DocumentSid - required: true - schema: - type: string - - description: The application-defined string that uniquely identifies the User's - Document Permission resource to fetch. - in: path - name: Identity - required: true - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/sync.v1.service.document.document_permission' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA post: description: Update an identity's access to a specific Sync Document. operationId: UpdateDocumentPermission @@ -1029,10 +958,6 @@ paths: application/x-www-form-urlencoded: schema: properties: - Manage: - description: Whether the identity can delete the Sync Document. - Default value is `false`. - type: boolean Read: description: Whether the identity can read the Sync Document. Default value is `false`. @@ -1041,6 +966,10 @@ paths: description: Whether the identity can update the Sync Document. Default value is `false`. type: boolean + Manage: + description: Whether the identity can delete the Sync Document. + Default value is `false`. + type: boolean required: - Read - Write @@ -1058,57 +987,98 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ServiceSid}/Documents/{DocumentSid}/Permissions: servers: - url: https://sync.twilio.com + description: Sync document permissions x-twilio: - className: document_permission defaultOutputProperties: - identity - read - write - manage + pathType: list parent: /Services/{ServiceSid}/Documents - pathType: instance - /v1/Services/{ServiceSid}/Documents/{Sid}: - delete: - description: '' - operationId: DeleteDocument + className: document_permission + get: + description: Retrieve a list of all Permissions applying to a Sync Document. + operationId: ListDocumentPermission parameters: - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) - with the Document resource to delete. + with the Document Permission resources to read. in: path name: ServiceSid required: true schema: type: string - - description: The SID of the Document resource to delete. Can be the Document - resource's `sid` or its `unique_name`. + - description: The SID of the Sync Document with the Document Permission resources + to read. Can be the Document resource's `sid` or its `unique_name`. in: path - name: Sid + name: DocumentSid required: true schema: 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 responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + type: object + title: ListDocumentPermissionResponse + properties: + permissions: + type: array + items: + $ref: '#/components/schemas/sync.v1.service.document.document_permission' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string + description: OK security: - accountSid_authToken: [] x-maturity: - GA - description: Sync Document objects + /v1/Services/{Sid}: + servers: + - url: https://sync.twilio.com + description: Containers for sync objects + x-twilio: + defaultOutputProperties: + - sid + - unique_name + - friendly_name + pathType: instance get: description: '' - operationId: FetchDocument + operationId: FetchService parameters: - - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) - with the Document resource to fetch. - in: path - name: ServiceSid - required: true - schema: - type: string - - description: The SID of the Document resource to fetch. Can be the Document - resource's `sid` or its `unique_name`. + - description: The SID of the Service resource to fetch. in: path name: Sid required: true @@ -1119,128 +1089,386 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/sync.v1.service.document' + $ref: '#/components/schemas/sync.v1.service' description: OK security: - accountSid_authToken: [] x-maturity: - GA + delete: + description: '' + operationId: DeleteService + parameters: + - description: The SID of the Service resource to delete. + in: path + name: Sid + required: true + schema: + type: string + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + post: + description: '' + operationId: UpdateService + parameters: + - description: The SID of the Service resource to update. + in: path + name: Sid + required: true + schema: + type: string + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + WebhookUrl: + description: The URL we should call when Sync objects are manipulated. + format: uri + type: string + FriendlyName: + description: A string that you assign to describe the resource. + type: string + ReachabilityWebhooksEnabled: + description: Whether the service instance should call `webhook_url` + when client endpoints connect to Sync. The default is `false`. + type: boolean + AclEnabled: + description: Whether token identities in the Service must be granted + access to Sync objects by using the [Permissions](https://www.twilio.com/docs/sync/api/sync-permissions) + resource. + type: boolean + ReachabilityDebouncingEnabled: + description: Whether every `endpoint_disconnected` event should + occur after a configurable delay. The default is `false`, where + the `endpoint_disconnected` event occurs immediately after disconnection. + When `true`, intervening reconnections can prevent the `endpoint_disconnected` + event. + type: boolean + ReachabilityDebouncingWindow: + description: The reachability event delay in milliseconds if `reachability_debouncing_enabled` + = `true`. Must be between 1,000 and 30,000 and defaults to 5,000. + This is the number of milliseconds after the last running client + disconnects, and a Sync identity is declared offline, before the + webhook is called if all endpoints remain offline. A reconnection + from the same identity by any endpoint during this interval prevents + the webhook from being called. + type: integer + WebhooksFromRestEnabled: + description: Whether the Service instance should call `webhook_url` + when the REST API is used to update Sync objects. The default + is `false`. + type: boolean + title: UpdateServiceRequest + type: object + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/sync.v1.service' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Services: + servers: + - url: https://sync.twilio.com + description: Containers for sync objects + x-twilio: + defaultOutputProperties: + - sid + - unique_name + - friendly_name + pathType: list + post: + description: '' + operationId: CreateService + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: A string that you assign to describe the resource. + type: string + WebhookUrl: + description: The URL we should call when Sync objects are manipulated. + format: uri + type: string + ReachabilityWebhooksEnabled: + description: Whether the service instance should call `webhook_url` + when client endpoints connect to Sync. The default is `false`. + type: boolean + AclEnabled: + description: Whether token identities in the Service must be granted + access to Sync objects by using the [Permissions](https://www.twilio.com/docs/sync/api/sync-permissions) + resource. + type: boolean + ReachabilityDebouncingEnabled: + description: Whether every `endpoint_disconnected` event should + occur after a configurable delay. The default is `false`, where + the `endpoint_disconnected` event occurs immediately after disconnection. + When `true`, intervening reconnections can prevent the `endpoint_disconnected` + event. + type: boolean + ReachabilityDebouncingWindow: + description: The reachability event delay in milliseconds if `reachability_debouncing_enabled` + = `true`. Must be between 1,000 and 30,000 and defaults to 5,000. + This is the number of milliseconds after the last running client + disconnects, and a Sync identity is declared offline, before the + `webhook_url` is called if all endpoints remain offline. A reconnection + from the same identity by any endpoint during this interval prevents + the call to `webhook_url`. + type: integer + WebhooksFromRestEnabled: + description: Whether the Service instance should call `webhook_url` + when the REST API is used to update Sync objects. The default + is `false`. + type: boolean + title: CreateServiceRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/sync.v1.service' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + get: + description: '' + 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListServiceResponse + properties: + services: + type: array + items: + $ref: '#/components/schemas/sync.v1.service' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Services/{ServiceSid}/Streams/{StreamSid}/Messages: + servers: + - url: https://sync.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + pathType: list + parent: /Services/{ServiceSid}/Streams + className: stream_message + post: + description: Create a new Stream Message. + operationId: CreateStreamMessage + parameters: + - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) + to create the new Stream Message in. + in: path + name: ServiceSid + required: true + schema: + type: string + - description: The SID of the Sync Stream to create the new Stream Message resource + for. + in: path + name: StreamSid + required: true + schema: + type: string + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Data: + description: A JSON string that represents an arbitrary, schema-less + object that makes up the Stream Message body. Can be up to 4 KiB + in length. + required: + - Data + title: CreateStreamMessageRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/sync.v1.service.sync_stream.stream_message' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Services/{ServiceSid}/Lists/{Sid}: + servers: + - url: https://sync.twilio.com + description: Sync list objects + x-twilio: + defaultOutputProperties: + - sid + - unique_name + - revision + pathType: instance + parent: /Services + className: sync_list + get: + description: '' + operationId: FetchSyncList + parameters: + - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) + with the Sync List resource to fetch. + in: path + name: ServiceSid + required: true + schema: + type: string + - description: The SID of the Sync List resource to fetch. Can be the Sync List + resource's `sid` or its `unique_name`. + in: path + name: Sid + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/sync.v1.service.sync_list' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + delete: + description: '' + operationId: DeleteSyncList + parameters: + - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) + with the Sync List resource to delete. + in: path + name: ServiceSid + required: true + schema: + type: string + - description: The SID of the Sync List resource to delete. Can be the Sync + List resource's `sid` or its `unique_name`. + in: path + name: Sid + required: true + schema: + type: string + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA post: description: '' - operationId: UpdateDocument + operationId: UpdateSyncList parameters: - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) - with the Document resource to update. + with the Sync List resource to update. in: path name: ServiceSid required: true schema: type: string - - description: The SID of the Document resource to update. Can be the Document - resource's `sid` or its `unique_name`. + - description: The SID of the Sync List resource to update. Can be the Sync + List resource's `sid` or its `unique_name`. in: path name: Sid required: true schema: type: string - - description: The If-Match HTTP request header - in: header - name: If-Match - schema: - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Data: - description: A JSON string that represents an arbitrary, schema-less - object that the Sync Document stores. Can be up to 16 KiB in length. Ttl: + description: An alias for `collection_ttl`. If both are provided, + this value is ignored. + type: integer + CollectionTtl: description: How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), - before the Sync Document expires and is deleted (time-to-live). + before the Sync List expires (time-to-live) and is deleted. type: integer - title: UpdateDocumentRequest + title: UpdateSyncListRequest type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/sync.v1.service.document' + $ref: '#/components/schemas/sync.v1.service.sync_list' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ServiceSid}/Lists: servers: - url: https://sync.twilio.com + description: Sync list objects x-twilio: defaultOutputProperties: - sid - unique_name - revision + pathType: list parent: /Services - pathType: instance - /v1/Services/{ServiceSid}/Lists: - description: Sync list objects - get: - description: '' - operationId: ListSyncList - parameters: - - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) - with the Sync List resources to read. - in: path - name: ServiceSid - required: true - schema: - 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 - responses: - '200': - content: - application/json: - schema: - properties: - lists: - items: - $ref: '#/components/schemas/sync.v1.service.sync_list' - type: array - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - title: ListSyncListResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA + className: sync_list post: description: '' operationId: CreateSyncList @@ -1257,14 +1485,6 @@ paths: application/x-www-form-urlencoded: schema: properties: - CollectionTtl: - description: How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), - before the Sync List expires (time-to-live) and is deleted. - type: integer - Ttl: - description: Alias for collection_ttl. If both are provided, this - value is ignored. - type: integer UniqueName: description: An application-defined string that uniquely identifies the resource. This value must be unique within its Service and @@ -1272,6 +1492,14 @@ paths: be used as an alternative to the `sid` in the URL path to address the resource. type: string + Ttl: + description: Alias for collection_ttl. If both are provided, this + value is ignored. + type: integer + CollectionTtl: + description: How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), + before the Sync List expires (time-to-live) and is deleted. + type: integer title: CreateSyncListRequest type: object responses: @@ -1285,61 +1513,17 @@ paths: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://sync.twilio.com - x-twilio: - className: sync_list - defaultOutputProperties: - - sid - - unique_name - - revision - parent: /Services - pathType: list - /v1/Services/{ServiceSid}/Lists/{ListSid}/Items: - description: Items in a sync list get: description: '' - operationId: ListSyncListItem + operationId: ListSyncList parameters: - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) - with the List Item resources to read. + with the Sync List resources to read. in: path name: ServiceSid required: true schema: type: string - - description: The SID of the Sync List with the List Items to read. Can be - the Sync List resource's `sid` or its `unique_name`. - in: path - name: ListSid - required: true - schema: - type: string - - description: 'How to order the List Items returned by their `index` value. - Can be: `asc` (ascending) or `desc` (descending) and the default is ascending.' - in: query - name: Order - schema: - enum: - - asc - - desc - type: string - - description: The `index` of the first Sync List Item resource to read. See - also `bounds`. - in: query - name: From - schema: - type: string - - description: 'Whether to include the List Item referenced by the `from` parameter. - Can be: `inclusive` to include the List Item referenced by the `from` parameter - or `exclusive` to start with the next List Item. The default value is `inclusive`.' - in: query - name: Bounds - schema: - enum: - - inclusive - - exclusive - type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -1353,18 +1537,19 @@ paths: content: application/json: schema: + type: object + title: ListSyncListResponse properties: - items: - items: - $ref: '#/components/schemas/sync.v1.service.sync_list.sync_list_item' + lists: type: array + items: + $ref: '#/components/schemas/sync.v1.service.sync_list' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1378,150 +1563,95 @@ paths: url: format: uri type: string - type: object - title: ListSyncListItemResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: '' - operationId: CreateSyncListItem - parameters: - - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) - to create the new List Item in. - in: path - name: ServiceSid - required: true - schema: - type: string - - description: The SID of the Sync List to add the new List Item to. Can be - the Sync List resource's `sid` or its `unique_name`. - in: path - name: ListSid - required: true - schema: - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - CollectionTtl: - description: How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), - before the List Item's parent Sync List expires (time-to-live) - and is deleted. - type: integer - Data: - description: A JSON string that represents an arbitrary, schema-less - object that the List Item stores. Can be up to 16 KiB in length. - ItemTtl: - description: How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), - before the List Item expires (time-to-live) and is deleted. - type: integer - Ttl: - description: An alias for `item_ttl`. If both parameters are provided, - this value is ignored. - type: integer - required: - - Data - title: CreateSyncListItemRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/sync.v1.service.sync_list.sync_list_item' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA + /v1/Services/{ServiceSid}/Lists/{ListSid}/Items/{Index}: servers: - url: https://sync.twilio.com + description: Items in a sync list x-twilio: - className: sync_list_item defaultOutputProperties: - index - revision - created_by + pathType: instance parent: /Services/{ServiceSid}/Lists - pathType: list - /v1/Services/{ServiceSid}/Lists/{ListSid}/Items/{Index}: - delete: + className: sync_list_item + get: description: '' - operationId: DeleteSyncListItem + operationId: FetchSyncListItem parameters: - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) - with the Sync List Item resource to delete. + with the Sync List Item resource to fetch. in: path name: ServiceSid required: true schema: type: string - description: The SID of the Sync List with the Sync List Item resource to - delete. Can be the Sync List resource's `sid` or its `unique_name`. + fetch. Can be the Sync List resource's `sid` or its `unique_name`. in: path name: ListSid required: true schema: type: string - - description: The index of the Sync List Item resource to delete. + - description: The index of the Sync List Item resource to fetch. in: path name: Index required: true schema: type: integer - - description: "If provided, applies this mutation if (and only if) the \u201C\ - revision\u201D field of this [map item] matches the provided value. This\ - \ matches the semantics of (and is implemented with) the HTTP [If-Match\ - \ header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Match)." - in: header - name: If-Match - schema: - type: string responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/sync.v1.service.sync_list.sync_list_item' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - description: Items in a sync list - get: + delete: description: '' - operationId: FetchSyncListItem + operationId: DeleteSyncListItem parameters: - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) - with the Sync List Item resource to fetch. + with the Sync List Item resource to delete. in: path name: ServiceSid required: true schema: type: string - description: The SID of the Sync List with the Sync List Item resource to - fetch. Can be the Sync List resource's `sid` or its `unique_name`. + delete. Can be the Sync List resource's `sid` or its `unique_name`. in: path name: ListSid required: true schema: type: string - - description: The index of the Sync List Item resource to fetch. + - description: The index of the Sync List Item resource to delete. in: path name: Index required: true schema: type: integer + - description: "If provided, applies this mutation if (and only if) the \u201C\ + revision\u201D field of this [map item] matches the provided value. This\ + \ matches the semantics of (and is implemented with) the HTTP [If-Match\ + \ header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Match)." + in: header + name: If-Match + schema: + type: string responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/sync.v1.service.sync_list.sync_list_item' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: @@ -1563,22 +1693,22 @@ paths: application/x-www-form-urlencoded: schema: properties: - CollectionTtl: - description: How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), - before the List Item's parent Sync List expires (time-to-live) - and is deleted. This parameter can only be used when the List - Item's `data` or `ttl` is updated in the same request. - type: integer Data: description: A JSON string that represents an arbitrary, schema-less object that the List Item stores. Can be up to 16 KiB in length. + Ttl: + description: An alias for `item_ttl`. If both parameters are provided, + this value is ignored. + type: integer ItemTtl: description: How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), before the List Item expires (time-to-live) and is deleted. type: integer - Ttl: - description: An alias for `item_ttl`. If both parameters are provided, - this value is ignored. + CollectionTtl: + description: How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), + before the List Item's parent Sync List expires (time-to-live) + and is deleted. This parameter can only be used when the List + Item's `data` or `ttl` is updated in the same request. type: integer title: UpdateSyncListItemRequest type: object @@ -1593,36 +1723,115 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ServiceSid}/Lists/{ListSid}/Items: servers: - url: https://sync.twilio.com + description: Items in a sync list x-twilio: - className: sync_list_item defaultOutputProperties: - index - revision - created_by + pathType: list parent: /Services/{ServiceSid}/Lists - pathType: instance - /v1/Services/{ServiceSid}/Lists/{ListSid}/Permissions: - description: Permissions for Sync list items + className: sync_list_item + post: + description: '' + operationId: CreateSyncListItem + parameters: + - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) + to create the new List Item in. + in: path + name: ServiceSid + required: true + schema: + type: string + - description: The SID of the Sync List to add the new List Item to. Can be + the Sync List resource's `sid` or its `unique_name`. + in: path + name: ListSid + required: true + schema: + type: string + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Data: + description: A JSON string that represents an arbitrary, schema-less + object that the List Item stores. Can be up to 16 KiB in length. + Ttl: + description: An alias for `item_ttl`. If both parameters are provided, + this value is ignored. + type: integer + ItemTtl: + description: How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), + before the List Item expires (time-to-live) and is deleted. + type: integer + CollectionTtl: + description: How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), + before the List Item's parent Sync List expires (time-to-live) + and is deleted. + type: integer + required: + - Data + title: CreateSyncListItemRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/sync.v1.service.sync_list.sync_list_item' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA get: - description: Retrieve a list of all Permissions applying to a Sync List. - operationId: ListSyncListPermission + description: '' + operationId: ListSyncListItem parameters: - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) - with the Sync List Permission resources to read. + with the List Item resources to read. in: path name: ServiceSid required: true schema: type: string - - description: The SID of the Sync List with the Sync List Permission resources - to read. Can be the Sync List resource's `sid` or its `unique_name`. + - description: The SID of the Sync List with the List Items to read. Can be + the Sync List resource's `sid` or its `unique_name`. in: path name: ListSid required: true schema: type: string + - description: 'How to order the List Items returned by their `index` value. + Can be: `asc` (ascending) or `desc` (descending) and the default is ascending.' + in: query + name: Order + schema: + type: string + enum: + - asc + - desc + - description: The `index` of the first Sync List Item resource to read. See + also `bounds`. + in: query + name: From + schema: + type: string + - description: 'Whether to include the List Item referenced by the `from` parameter. + Can be: `inclusive` to include the List Item referenced by the `from` parameter + or `exclusive` to start with the next List Item. The default value is `inclusive`.' + in: query + name: Bounds + schema: + type: string + enum: + - inclusive + - exclusive - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -1636,14 +1845,19 @@ paths: content: application/json: schema: + type: object + title: ListSyncListItemResponse properties: + items: + type: array + items: + $ref: '#/components/schemas/sync.v1.service.sync_list.sync_list_item' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1657,95 +1871,90 @@ paths: url: format: uri type: string - type: object - permissions: - items: - $ref: '#/components/schemas/sync.v1.service.sync_list.sync_list_permission' - type: array - title: ListSyncListPermissionResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ServiceSid}/Lists/{ListSid}/Permissions/{Identity}: servers: - url: https://sync.twilio.com + description: Permissions for Sync list items x-twilio: - className: sync_list_permission defaultOutputProperties: - identity - read - write - manage + pathType: instance parent: /Services/{ServiceSid}/Lists - pathType: list - /v1/Services/{ServiceSid}/Lists/{ListSid}/Permissions/{Identity}: - delete: - description: Delete a specific Sync List Permission. - operationId: DeleteSyncListPermission + className: sync_list_permission + get: + description: Fetch a specific Sync List Permission. + operationId: FetchSyncListPermission parameters: - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) - with the Sync List Permission resource to delete. + with the Sync List Permission resource to fetch. in: path name: ServiceSid required: true schema: type: string - description: The SID of the Sync List with the Sync List Permission resource - to delete. Can be the Sync List resource's `sid` or its `unique_name`. + to fetch. Can be the Sync List resource's `sid` or its `unique_name`. in: path name: ListSid required: true schema: type: string - description: The application-defined string that uniquely identifies the User's - Sync List Permission resource to delete. + Sync List Permission resource to fetch. in: path name: Identity required: true schema: type: string responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/sync.v1.service.sync_list.sync_list_permission' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - description: Permissions for Sync list items - get: - description: Fetch a specific Sync List Permission. - operationId: FetchSyncListPermission + delete: + description: Delete a specific Sync List Permission. + operationId: DeleteSyncListPermission parameters: - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) - with the Sync List Permission resource to fetch. + with the Sync List Permission resource to delete. in: path name: ServiceSid required: true schema: type: string - description: The SID of the Sync List with the Sync List Permission resource - to fetch. Can be the Sync List resource's `sid` or its `unique_name`. + to delete. Can be the Sync List resource's `sid` or its `unique_name`. in: path name: ListSid required: true schema: type: string - description: The application-defined string that uniquely identifies the User's - Sync List Permission resource to fetch. + Sync List Permission resource to delete. in: path name: Identity required: true schema: type: string responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/sync.v1.service.sync_list.sync_list_permission' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: @@ -1780,10 +1989,6 @@ paths: application/x-www-form-urlencoded: schema: properties: - Manage: - description: Whether the identity can delete the Sync List. Default - value is `false`. - type: boolean Read: description: Whether the identity can read the Sync List and its Items. Default value is `false`. @@ -1792,6 +1997,10 @@ paths: description: Whether the identity can create, update, and delete Items in the Sync List. Default value is `false`. type: boolean + Manage: + description: Whether the identity can delete the Sync List. Default + value is `false`. + type: boolean required: - Read - Write @@ -1803,92 +2012,168 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/sync.v1.service.sync_list.sync_list_permission' + $ref: '#/components/schemas/sync.v1.service.sync_list.sync_list_permission' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Services/{ServiceSid}/Lists/{ListSid}/Permissions: + servers: + - url: https://sync.twilio.com + description: Permissions for Sync list items + x-twilio: + defaultOutputProperties: + - identity + - read + - write + - manage + pathType: list + parent: /Services/{ServiceSid}/Lists + className: sync_list_permission + get: + description: Retrieve a list of all Permissions applying to a Sync List. + operationId: ListSyncListPermission + parameters: + - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) + with the Sync List Permission resources to read. + in: path + name: ServiceSid + required: true + schema: + type: string + - description: The SID of the Sync List with the Sync List Permission resources + to read. Can be the Sync List resource's `sid` or its `unique_name`. + in: path + name: ListSid + required: true + schema: + 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListSyncListPermissionResponse + properties: + permissions: + type: array + items: + $ref: '#/components/schemas/sync.v1.service.sync_list.sync_list_permission' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ServiceSid}/Maps/{Sid}: servers: - url: https://sync.twilio.com + description: Sync map objects x-twilio: - className: sync_list_permission defaultOutputProperties: - - identity - - read - - write - - manage - parent: /Services/{ServiceSid}/Lists + - sid + - unique_name + - revision pathType: instance - /v1/Services/{ServiceSid}/Lists/{Sid}: - delete: + parent: /Services + className: sync_map + get: description: '' - operationId: DeleteSyncList + operationId: FetchSyncMap parameters: - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) - with the Sync List resource to delete. + with the Sync Map resource to fetch. in: path name: ServiceSid required: true schema: type: string - - description: The SID of the Sync List resource to delete. Can be the Sync - List resource's `sid` or its `unique_name`. + - description: The SID of the Sync Map resource to fetch. Can be the Sync Map's + `sid` or its `unique_name`. in: path name: Sid required: true schema: type: string responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/sync.v1.service.sync_map' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - description: Sync list objects - get: + delete: description: '' - operationId: FetchSyncList + operationId: DeleteSyncMap parameters: - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) - with the Sync List resource to fetch. + with the Sync Map resource to delete. in: path name: ServiceSid required: true schema: type: string - - description: The SID of the Sync List resource to fetch. Can be the Sync List - resource's `sid` or its `unique_name`. + - description: The SID of the Sync Map resource to delete. Can be the Sync Map's + `sid` or its `unique_name`. in: path name: Sid required: true schema: type: string responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/sync.v1.service.sync_list' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA post: description: '' - operationId: UpdateSyncList + operationId: UpdateSyncMap parameters: - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) - with the Sync List resource to update. + with the Sync Map resource to update. in: path name: ServiceSid required: true schema: type: string - - description: The SID of the Sync List resource to update. Can be the Sync - List resource's `sid` or its `unique_name`. + - description: The SID of the Sync Map resource to update. Can be the Sync Map's + `sid` or its `unique_name`. in: path name: Sid required: true @@ -1899,96 +2184,39 @@ paths: application/x-www-form-urlencoded: schema: properties: + Ttl: + description: An alias for `collection_ttl`. If both parameters are + provided, this value is ignored. + type: integer CollectionTtl: description: How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), - before the Sync List expires (time-to-live) and is deleted. - type: integer - Ttl: - description: An alias for `collection_ttl`. If both are provided, - this value is ignored. + before the Sync Map expires (time-to-live) and is deleted. type: integer - title: UpdateSyncListRequest + title: UpdateSyncMapRequest type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/sync.v1.service.sync_list' + $ref: '#/components/schemas/sync.v1.service.sync_map' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ServiceSid}/Maps: servers: - url: https://sync.twilio.com + description: Sync map objects x-twilio: - className: sync_list defaultOutputProperties: - sid - unique_name - revision + pathType: list parent: /Services - pathType: instance - /v1/Services/{ServiceSid}/Maps: - description: Sync map objects - get: - description: '' - operationId: ListSyncMap - parameters: - - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) - with the Sync Map resources to read. - in: path - name: ServiceSid - required: true - schema: - 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 - responses: - '200': - content: - application/json: - schema: - properties: - maps: - items: - $ref: '#/components/schemas/sync.v1.service.sync_map' - type: array - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - title: ListSyncMapResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA + className: sync_map post: description: '' operationId: CreateSyncMap @@ -2005,19 +2233,19 @@ paths: application/x-www-form-urlencoded: schema: properties: - CollectionTtl: - description: How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), - before the Sync Map expires (time-to-live) and is deleted. - type: integer - Ttl: - description: An alias for `collection_ttl`. If both parameters are - provided, this value is ignored. - type: integer UniqueName: description: An application-defined string that uniquely identifies the resource. It can be used as an alternative to the `sid` in the URL path to address the resource. type: string + Ttl: + description: An alias for `collection_ttl`. If both parameters are + provided, this value is ignored. + type: integer + CollectionTtl: + description: How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), + before the Sync Map expires (time-to-live) and is deleted. + type: integer title: CreateSyncMapRequest type: object responses: @@ -2031,63 +2259,17 @@ paths: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://sync.twilio.com - x-twilio: - className: sync_map - defaultOutputProperties: - - sid - - unique_name - - revision - parent: /Services - pathType: list - /v1/Services/{ServiceSid}/Maps/{MapSid}/Items: - description: Keys in a sync map get: description: '' - operationId: ListSyncMapItem + operationId: ListSyncMap parameters: - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) - with the Map Item resources to read. + with the Sync Map resources to read. in: path name: ServiceSid required: true schema: type: string - - description: The SID of the Sync Map with the Sync Map Item resource to fetch. - Can be the Sync Map resource's `sid` or its `unique_name`. - in: path - name: MapSid - required: true - schema: - type: string - - description: 'How to order the Map Items returned by their `key` value. Can - be: `asc` (ascending) or `desc` (descending) and the default is ascending. - Map Items are [ordered lexicographically](https://en.wikipedia.org/wiki/Lexicographical_order) - by Item key.' - in: query - name: Order - schema: - enum: - - asc - - desc - type: string - - description: The `key` of the first Sync Map Item resource to read. See also - `bounds`. - in: query - name: From - schema: - type: string - - description: 'Whether to include the Map Item referenced by the `from` parameter. - Can be: `inclusive` to include the Map Item referenced by the `from` parameter - or `exclusive` to start with the next Map Item. The default value is `inclusive`.' - in: query - name: Bounds - schema: - enum: - - inclusive - - exclusive - type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -2101,18 +2283,19 @@ paths: content: application/json: schema: + type: object + title: ListSyncMapResponse properties: - items: - items: - $ref: '#/components/schemas/sync.v1.service.sync_map.sync_map_item' + maps: type: array + items: + $ref: '#/components/schemas/sync.v1.service.sync_map' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -2126,84 +2309,60 @@ paths: url: format: uri type: string - type: object - title: ListSyncMapItemResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: + /v1/Services/{ServiceSid}/Maps/{MapSid}/Items/{Key}: + servers: + - url: https://sync.twilio.com + description: Keys in a sync map + x-twilio: + defaultOutputProperties: + - key + - revision + - created_by + pathType: instance + parent: /Services/{ServiceSid}/Maps + className: sync_map_item + get: description: '' - operationId: CreateSyncMapItem + operationId: FetchSyncMapItem parameters: - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) - to create the Map Item in. + with the Sync Map Item resource to fetch. in: path name: ServiceSid required: true schema: type: string - - description: The SID of the Sync Map to add the new Map Item to. Can be the - Sync Map resource's `sid` or its `unique_name`. + - description: The SID of the Sync Map with the Sync Map Item resource to fetch. + Can be the Sync Map resource's `sid` or its `unique_name`. in: path name: MapSid required: true schema: type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - CollectionTtl: - description: How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), - before the Map Item's parent Sync Map expires (time-to-live) and - is deleted. - type: integer - Data: - description: A JSON string that represents an arbitrary, schema-less - object that the Map Item stores. Can be up to 16 KiB in length. - ItemTtl: - description: How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), - before the Map Item expires (time-to-live) and is deleted. - type: integer - Key: - description: The unique, user-defined key for the Map Item. Can - be up to 320 characters long. - type: string - Ttl: - description: An alias for `item_ttl`. If both parameters are provided, - this value is ignored. - type: integer - required: - - Key - - Data - title: CreateSyncMapItemRequest - type: object + - description: The `key` value of the Sync Map Item resource to fetch. + in: path + name: Key + required: true + schema: + type: string responses: - '201': + '200': content: application/json: schema: $ref: '#/components/schemas/sync.v1.service.sync_map.sync_map_item' - description: Created + description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://sync.twilio.com - x-twilio: - className: sync_map_item - defaultOutputProperties: - - key - - revision - - created_by - parent: /Services/{ServiceSid}/Maps - pathType: list - /v1/Services/{ServiceSid}/Maps/{MapSid}/Items/{Key}: delete: description: '' operationId: DeleteSyncMapItem @@ -2243,31 +2402,62 @@ paths: - accountSid_authToken: [] x-maturity: - GA - description: Keys in a sync map - get: + post: description: '' - operationId: FetchSyncMapItem + operationId: UpdateSyncMapItem parameters: - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) - with the Sync Map Item resource to fetch. + with the Sync Map Item resource to update. in: path name: ServiceSid required: true schema: type: string - - description: The SID of the Sync Map with the Sync Map Item resource to fetch. + - description: The SID of the Sync Map with the Sync Map Item resource to update. Can be the Sync Map resource's `sid` or its `unique_name`. in: path name: MapSid required: true schema: type: string - - description: The `key` value of the Sync Map Item resource to fetch. + - description: 'The `key` value of the Sync Map Item resource to update. ' in: path name: Key required: true schema: type: string + - description: "If provided, applies this mutation if (and only if) the \u201C\ + revision\u201D field of this [map item] matches the provided value. This\ + \ matches the semantics of (and is implemented with) the HTTP [If-Match\ + \ header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Match)." + in: header + name: If-Match + schema: + type: string + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Data: + description: A JSON string that represents an arbitrary, schema-less + object that the Map Item stores. Can be up to 16 KiB in length. + Ttl: + description: An alias for `item_ttl`. If both parameters are provided, + this value is ignored. + type: integer + ItemTtl: + description: How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), + before the Map Item expires (time-to-live) and is deleted. + type: integer + CollectionTtl: + description: How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), + before the Map Item's parent Sync Map expires (time-to-live) and + is deleted. This parameter can only be used when the Map Item's + `data` or `ttl` is updated in the same request. + type: integer + title: UpdateSyncMapItemRequest + type: object responses: '200': content: @@ -2279,104 +2469,122 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ServiceSid}/Maps/{MapSid}/Items: + servers: + - url: https://sync.twilio.com + description: Keys in a sync map + x-twilio: + defaultOutputProperties: + - key + - revision + - created_by + pathType: list + parent: /Services/{ServiceSid}/Maps + className: sync_map_item post: description: '' - operationId: UpdateSyncMapItem + operationId: CreateSyncMapItem parameters: - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) - with the Sync Map Item resource to update. + to create the Map Item in. in: path name: ServiceSid required: true schema: type: string - - description: The SID of the Sync Map with the Sync Map Item resource to update. - Can be the Sync Map resource's `sid` or its `unique_name`. + - description: The SID of the Sync Map to add the new Map Item to. Can be the + Sync Map resource's `sid` or its `unique_name`. in: path name: MapSid required: true schema: type: string - - description: 'The `key` value of the Sync Map Item resource to update. ' - in: path - name: Key - required: true - schema: - type: string - - description: "If provided, applies this mutation if (and only if) the \u201C\ - revision\u201D field of this [map item] matches the provided value. This\ - \ matches the semantics of (and is implemented with) the HTTP [If-Match\ - \ header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Match)." - in: header - name: If-Match - schema: - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - CollectionTtl: - description: How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), - before the Map Item's parent Sync Map expires (time-to-live) and - is deleted. This parameter can only be used when the Map Item's - `data` or `ttl` is updated in the same request. - type: integer + Key: + description: The unique, user-defined key for the Map Item. Can + be up to 320 characters long. + type: string Data: description: A JSON string that represents an arbitrary, schema-less object that the Map Item stores. Can be up to 16 KiB in length. + Ttl: + description: An alias for `item_ttl`. If both parameters are provided, + this value is ignored. + type: integer ItemTtl: description: How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), before the Map Item expires (time-to-live) and is deleted. type: integer - Ttl: - description: An alias for `item_ttl`. If both parameters are provided, - this value is ignored. + CollectionTtl: + description: How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), + before the Map Item's parent Sync Map expires (time-to-live) and + is deleted. type: integer - title: UpdateSyncMapItemRequest + required: + - Key + - Data + title: CreateSyncMapItemRequest type: object responses: - '200': + '201': content: application/json: schema: $ref: '#/components/schemas/sync.v1.service.sync_map.sync_map_item' - description: OK + description: Created security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://sync.twilio.com - x-twilio: - className: sync_map_item - defaultOutputProperties: - - key - - revision - - created_by - parent: /Services/{ServiceSid}/Maps - pathType: instance - /v1/Services/{ServiceSid}/Maps/{MapSid}/Permissions: - description: 'TODO: Resource-level docs' get: - description: Retrieve a list of all Permissions applying to a Sync Map. - operationId: ListSyncMapPermission + description: '' + operationId: ListSyncMapItem parameters: - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) - with the Sync Map Permission resources to read. Can be the Service's `sid` - value or `default`. + with the Map Item resources to read. in: path name: ServiceSid required: true schema: type: string - - description: The SID of the Sync Map with the Permission resources to read. + - description: The SID of the Sync Map with the Sync Map Item resource to fetch. Can be the Sync Map resource's `sid` or its `unique_name`. in: path name: MapSid required: true schema: type: string + - description: 'How to order the Map Items returned by their `key` value. Can + be: `asc` (ascending) or `desc` (descending) and the default is ascending. + Map Items are [ordered lexicographically](https://en.wikipedia.org/wiki/Lexicographical_order) + by Item key.' + in: query + name: Order + schema: + type: string + enum: + - asc + - desc + - description: The `key` of the first Sync Map Item resource to read. See also + `bounds`. + in: query + name: From + schema: + type: string + - description: 'Whether to include the Map Item referenced by the `from` parameter. + Can be: `inclusive` to include the Map Item referenced by the `from` parameter + or `exclusive` to start with the next Map Item. The default value is `inclusive`.' + in: query + name: Bounds + schema: + type: string + enum: + - inclusive + - exclusive - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -2390,14 +2598,19 @@ paths: content: application/json: schema: + type: object + title: ListSyncMapItemResponse properties: + items: + type: array + items: + $ref: '#/components/schemas/sync.v1.service.sync_map.sync_map_item' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -2407,40 +2620,36 @@ paths: type: integer previous_page_url: format: uri - type: string - url: - format: uri - type: string - type: object - permissions: - items: - $ref: '#/components/schemas/sync.v1.service.sync_map.sync_map_permission' - type: array - title: ListSyncMapPermissionResponse - type: object + type: string + url: + format: uri + type: string + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ServiceSid}/Maps/{MapSid}/Permissions/{Identity}: servers: - url: https://sync.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - className: sync_map_permission defaultOutputProperties: - identity - read - write - manage + pathType: instance parent: /Services/{ServiceSid}/Maps - pathType: list - /v1/Services/{ServiceSid}/Maps/{MapSid}/Permissions/{Identity}: - delete: - description: Delete a specific Sync Map Permission. - operationId: DeleteSyncMapPermission + className: sync_map_permission + get: + description: Fetch a specific Sync Map Permission. + operationId: FetchSyncMapPermission parameters: - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) - with the Sync Map Permission resource to delete. Can be the Service's `sid` + with the Sync Map Permission resource to fetch. Can be the Service's `sid` value or `default`. in: path name: ServiceSid @@ -2448,33 +2657,36 @@ paths: schema: type: string - description: The SID of the Sync Map with the Sync Map Permission resource - to delete. Can be the Sync Map resource's `sid` or its `unique_name`. + to fetch. Can be the Sync Map resource's `sid` or its `unique_name`. in: path name: MapSid required: true schema: type: string - description: The application-defined string that uniquely identifies the User's - Sync Map Permission resource to delete. + Sync Map Permission resource to fetch. in: path name: Identity required: true schema: type: string responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/sync.v1.service.sync_map.sync_map_permission' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - description: 'TODO: Resource-level docs' - get: - description: Fetch a specific Sync Map Permission. - operationId: FetchSyncMapPermission + delete: + description: Delete a specific Sync Map Permission. + operationId: DeleteSyncMapPermission parameters: - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) - with the Sync Map Permission resource to fetch. Can be the Service's `sid` + with the Sync Map Permission resource to delete. Can be the Service's `sid` value or `default`. in: path name: ServiceSid @@ -2482,26 +2694,22 @@ paths: schema: type: string - description: The SID of the Sync Map with the Sync Map Permission resource - to fetch. Can be the Sync Map resource's `sid` or its `unique_name`. + to delete. Can be the Sync Map resource's `sid` or its `unique_name`. in: path name: MapSid required: true schema: type: string - description: The application-defined string that uniquely identifies the User's - Sync Map Permission resource to fetch. + Sync Map Permission resource to delete. in: path name: Identity required: true schema: type: string responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/sync.v1.service.sync_map.sync_map_permission' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: @@ -2537,10 +2745,6 @@ paths: application/x-www-form-urlencoded: schema: properties: - Manage: - description: Whether the identity can delete the Sync Map. Default - value is `false`. - type: boolean Read: description: Whether the identity can read the Sync Map and its Items. Default value is `false`. @@ -2549,6 +2753,10 @@ paths: description: Whether the identity can create, update, and delete Items in the Sync Map. Default value is `false`. type: boolean + Manage: + description: Whether the identity can delete the Sync Map. Default + value is `false`. + type: boolean required: - Read - Write @@ -2566,137 +2774,35 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ServiceSid}/Maps/{MapSid}/Permissions: servers: - url: https://sync.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - className: sync_map_permission defaultOutputProperties: - identity - read - write - manage + pathType: list parent: /Services/{ServiceSid}/Maps - pathType: instance - /v1/Services/{ServiceSid}/Maps/{Sid}: - delete: - description: '' - operationId: DeleteSyncMap - parameters: - - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) - with the Sync Map resource to delete. - in: path - name: ServiceSid - required: true - schema: - type: string - - description: The SID of the Sync Map resource to delete. Can be the Sync Map's - `sid` or its `unique_name`. - in: path - name: Sid - required: true - schema: - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: Sync map objects + className: sync_map_permission get: - description: '' - operationId: FetchSyncMap - parameters: - - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) - with the Sync Map resource to fetch. - in: path - name: ServiceSid - required: true - schema: - type: string - - description: The SID of the Sync Map resource to fetch. Can be the Sync Map's - `sid` or its `unique_name`. - in: path - name: Sid - required: true - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/sync.v1.service.sync_map' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: '' - operationId: UpdateSyncMap + description: Retrieve a list of all Permissions applying to a Sync Map. + operationId: ListSyncMapPermission parameters: - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) - with the Sync Map resource to update. + with the Sync Map Permission resources to read. Can be the Service's `sid` + value or `default`. in: path name: ServiceSid required: true schema: type: string - - description: The SID of the Sync Map resource to update. Can be the Sync Map's - `sid` or its `unique_name`. - in: path - name: Sid - required: true - schema: - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - CollectionTtl: - description: How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), - before the Sync Map expires (time-to-live) and is deleted. - type: integer - Ttl: - description: An alias for `collection_ttl`. If both parameters are - provided, this value is ignored. - type: integer - title: UpdateSyncMapRequest - type: object - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/sync.v1.service.sync_map' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://sync.twilio.com - x-twilio: - className: sync_map - defaultOutputProperties: - - sid - - unique_name - - revision - parent: /Services - pathType: instance - /v1/Services/{ServiceSid}/Streams: - description: 'TODO: Resource-level docs' - get: - description: Retrieve a list of all Streams in a Service Instance. - operationId: ListSyncStream - parameters: - - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) - with the Stream resources to read. + - description: The SID of the Sync Map with the Permission resources to read. + Can be the Sync Map resource's `sid` or its `unique_name`. in: path - name: ServiceSid + name: MapSid required: true schema: type: string @@ -2713,139 +2819,99 @@ paths: content: application/json: schema: - properties: - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - streams: - items: - $ref: '#/components/schemas/sync.v1.service.sync_stream' - type: array - title: ListSyncStreamResponse type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: Create a new Stream. - operationId: CreateSyncStream - parameters: - - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) - to create the new Stream in. - in: path - name: ServiceSid - required: true - schema: - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Ttl: - description: How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), - before the Stream expires and is deleted (time-to-live). - type: integer - UniqueName: - description: An application-defined string that uniquely identifies - the resource. This value must be unique within its Service and - it can be up to 320 characters long. The `unique_name` value can - be used as an alternative to the `sid` in the URL path to address - the resource. - type: string - title: CreateSyncStreamRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/sync.v1.service.sync_stream' - description: Created + title: ListSyncMapPermissionResponse + properties: + permissions: + type: array + items: + $ref: '#/components/schemas/sync.v1.service.sync_map.sync_map_permission' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string + description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ServiceSid}/Streams/{Sid}: servers: - url: https://sync.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - className: sync_stream defaultOutputProperties: - sid - unique_name - created_by + pathType: instance parent: /Services - pathType: list - /v1/Services/{ServiceSid}/Streams/{Sid}: - delete: - description: Delete a specific Stream. - operationId: DeleteSyncStream + className: sync_stream + get: + description: Fetch a specific Stream. + operationId: FetchSyncStream parameters: - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) - with the Sync Stream resource to delete. + with the Sync Stream resource to fetch. in: path name: ServiceSid required: true schema: type: string - - description: The SID of the Stream resource to delete. + - description: The SID of the Stream resource to fetch. in: path name: Sid required: true schema: type: string responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/sync.v1.service.sync_stream' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - description: 'TODO: Resource-level docs' - get: - description: Fetch a specific Stream. - operationId: FetchSyncStream + delete: + description: Delete a specific Stream. + operationId: DeleteSyncStream parameters: - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) - with the Sync Stream resource to fetch. + with the Sync Stream resource to delete. in: path name: ServiceSid required: true schema: type: string - - description: The SID of the Stream resource to fetch. + - description: The SID of the Stream resource to delete. in: path name: Sid required: true schema: type: string responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/sync.v1.service.sync_stream' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: @@ -2889,183 +2955,117 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Services/{ServiceSid}/Streams: servers: - url: https://sync.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - className: sync_stream defaultOutputProperties: - sid - unique_name - created_by + pathType: list parent: /Services - pathType: instance - /v1/Services/{ServiceSid}/Streams/{StreamSid}/Messages: - description: 'TODO: Resource-level docs' + className: sync_stream post: - description: Create a new Stream Message. - operationId: CreateStreamMessage + description: Create a new Stream. + operationId: CreateSyncStream parameters: - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) - to create the new Stream Message in. + to create the new Stream in. in: path name: ServiceSid required: true schema: type: string - - description: The SID of the Sync Stream to create the new Stream Message resource - for. - in: path - name: StreamSid - required: true - schema: - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Data: - description: A JSON string that represents an arbitrary, schema-less - object that makes up the Stream Message body. Can be up to 4 KiB - in length. - required: - - Data - title: CreateStreamMessageRequest + UniqueName: + description: An application-defined string that uniquely identifies + the resource. This value must be unique within its Service and + it can be up to 320 characters long. The `unique_name` value can + be used as an alternative to the `sid` in the URL path to address + the resource. + type: string + Ttl: + description: How long, [in seconds](https://www.twilio.com/docs/sync/limits#sync-payload-limits), + before the Stream expires and is deleted (time-to-live). + type: integer + title: CreateSyncStreamRequest type: object responses: '201': content: application/json: schema: - $ref: '#/components/schemas/sync.v1.service.sync_stream.stream_message' + $ref: '#/components/schemas/sync.v1.service.sync_stream' description: Created security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://sync.twilio.com - x-twilio: - className: stream_message - defaultOutputProperties: - - sid - parent: /Services/{ServiceSid}/Streams - pathType: list - /v1/Services/{Sid}: - delete: - description: '' - operationId: DeleteService - parameters: - - description: The SID of the Service resource to delete. - in: path - name: Sid - required: true - schema: - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: Containers for sync objects get: - description: '' - operationId: FetchService + description: Retrieve a list of all Streams in a Service Instance. + operationId: ListSyncStream parameters: - - description: The SID of the Service resource to fetch. + - description: The SID of the [Sync Service](https://www.twilio.com/docs/sync/api/service) + with the Stream resources to read. in: path - name: Sid + name: ServiceSid required: true schema: type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/sync.v1.service' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: '' - operationId: UpdateService - parameters: - - description: The SID of the Service resource to update. - in: path - name: Sid - required: true + - description: How many resources to return in each list page. The default is + 50, and the maximum is 1000. + in: query + name: PageSize schema: - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - AclEnabled: - description: Whether token identities in the Service must be granted - access to Sync objects by using the [Permissions](https://www.twilio.com/docs/sync/api/sync-permissions) - resource. - type: boolean - FriendlyName: - description: A string that you assign to describe the resource. - type: string - ReachabilityDebouncingEnabled: - description: Whether every `endpoint_disconnected` event should - occur after a configurable delay. The default is `false`, where - the `endpoint_disconnected` event occurs immediately after disconnection. - When `true`, intervening reconnections can prevent the `endpoint_disconnected` - event. - type: boolean - ReachabilityDebouncingWindow: - description: The reachability event delay in milliseconds if `reachability_debouncing_enabled` - = `true`. Must be between 1,000 and 30,000 and defaults to 5,000. - This is the number of milliseconds after the last running client - disconnects, and a Sync identity is declared offline, before the - webhook is called if all endpoints remain offline. A reconnection - from the same identity by any endpoint during this interval prevents - the webhook from being called. - type: integer - ReachabilityWebhooksEnabled: - description: Whether the service instance should call `webhook_url` - when client endpoints connect to Sync. The default is `false`. - type: boolean - WebhookUrl: - description: The URL we should call when Sync objects are manipulated. - format: uri - type: string - WebhooksFromRestEnabled: - description: Whether the Service instance should call `webhook_url` - when the REST API is used to update Sync objects. The default - is `false`. - type: boolean - title: UpdateServiceRequest - type: object + maximum: 1000 + minimum: 1 + type: integer responses: '200': content: application/json: schema: - $ref: '#/components/schemas/sync.v1.service' + type: object + title: ListSyncStreamResponse + properties: + streams: + type: array + items: + $ref: '#/components/schemas/sync.v1.service.sync_stream' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://sync.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - unique_name - - friendly_name - pathType: instance servers: - url: https://sync.twilio.com x-maturity: -- description: This product is Generally Available. - name: GA +- name: GA + description: This product is Generally Available. diff --git a/spec/yaml/twilio_taskrouter_v1.yaml b/spec/yaml/twilio_taskrouter_v1.yaml index 4602de9a..c472737a 100644 --- a/spec/yaml/twilio_taskrouter_v1.yaml +++ b/spec/yaml/twilio_taskrouter_v1.yaml @@ -1,117 +1,31 @@ components: schemas: - taskrouter.v1.workspace: + taskrouter.v1.workspace.activity: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - date_created: - description: The 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 date and time in GMT when the resource was last - updated - format: date-time - nullable: true - type: string - default_activity_name: - description: The name of the default activity - nullable: true - type: string - default_activity_sid: - description: The SID of the Activity that will be used when new Workers - are created in the Workspace - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^WA[0-9a-fA-F]{32}$ - type: string - event_callback_url: - description: The URL we call when an event occurs - format: uri - nullable: true - type: string - events_filter: - description: The list of Workspace events for which to call event_callback_url - nullable: true - type: string - friendly_name: - description: The string that you assigned to describe the Workspace resource - nullable: true - type: string - links: - description: The URLs of related resources - format: uri-map - nullable: true - type: object - multi_task_enabled: - description: Whether multi-tasking is enabled - nullable: true - type: boolean - prioritize_queue_order: - description: The type of TaskQueue to prioritize when Workers are receiving - Tasks from both types of TaskQueues - enum: - - FIFO - - LIFO - nullable: true type: string - sid: - description: The unique string that identifies the resource - maxLength: 34 minLength: 34 - nullable: true - pattern: ^WS[0-9a-fA-F]{32}$ - type: string - timeout_activity_name: - description: The name of the timeout activity - nullable: true - type: string - timeout_activity_sid: - description: The SID of the Activity that will be assigned to a Worker when - a Task reservation times out without a response maxLength: 34 - minLength: 34 - nullable: true - pattern: ^WA[0-9a-fA-F]{32}$ - type: string - url: - description: The absolute URL of the Workspace resource - format: uri + pattern: ^AC[0-9a-fA-F]{32}$ nullable: true - type: string - type: object - taskrouter.v1.workspace.activity: - properties: - account_sid: description: The SID of the Account that created the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string available: description: Whether the Worker should be eligible to receive a Task when it occupies the Activity nullable: true type: boolean date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated friendly_name: description: The string that you assigned to describe the Activity resource nullable: true @@ -121,41 +35,41 @@ components: nullable: true type: object sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource url: description: The absolute URL of the Activity resource format: uri nullable: true type: string workspace_sid: - description: The SID of the Workspace that contains the Activity - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - type: object + nullable: true + description: The SID of the Workspace that contains the Activity taskrouter.v1.workspace.event: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource actor_sid: - description: The SID of the resource that triggered the event - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the resource that triggered the event actor_type: description: The type of resource that triggered the event nullable: true @@ -170,13 +84,13 @@ components: nullable: true type: string event_data: - description: Data about the event nullable: true + description: Data about the event event_date: - description: The time the event was sent + type: string format: date-time nullable: true - type: string + description: The time the event was sent event_date_ms: description: The time the event was sent in milliseconds nullable: true @@ -186,12 +100,12 @@ components: nullable: true type: string resource_sid: - description: The SID of the object the event is most relevant to - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the object the event is most relevant to resource_type: description: The type of object the event is most relevant to nullable: true @@ -202,12 +116,12 @@ components: nullable: true type: string sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^EV[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource source: description: Where the Event originated nullable: true @@ -222,22 +136,22 @@ components: nullable: true type: string workspace_sid: - description: The SID of the Workspace that contains the Event - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - type: object + nullable: true + description: The SID of the Workspace that contains the Event taskrouter.v1.workspace.task: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource addons: description: An object that contains the addon data for all installed addons nullable: true @@ -247,7 +161,7 @@ components: nullable: true type: integer assignment_status: - description: The current status of the Task's assignment + type: string enum: - pending - reserved @@ -256,22 +170,22 @@ components: - completed - wrapping nullable: true - type: string + description: The current status of the Task's assignment attributes: description: The JSON string with custom attributes of the work nullable: true type: string date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated links: description: The URLs of related resources format: uri-map @@ -287,40 +201,40 @@ components: nullable: true type: string sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WT[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource task_channel_sid: - description: The SID of the TaskChannel - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^TC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the TaskChannel task_channel_unique_name: description: The unique name of the TaskChannel nullable: true type: string task_queue_entered_date: - description: The ISO 8601 date and time in GMT when the Task entered the - TaskQueue. + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the Task entered the + TaskQueue. task_queue_friendly_name: description: The friendly name of the TaskQueue nullable: true type: string task_queue_sid: - description: The SID of the TaskQueue - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WQ[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the TaskQueue timeout: description: The amount of time in seconds that the Task can live before being assigned @@ -336,121 +250,45 @@ components: nullable: true type: string workflow_sid: - description: The SID of the Workflow that is controlling the Task - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WW[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Workflow that is controlling the Task workspace_sid: - description: The SID of the Workspace that contains the Task - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Workspace that contains the Task + taskrouter.v1.workspace.task_channel: type: object - taskrouter.v1.workspace.task.task_reservation: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource + channel_optimized_routing: + description: Whether the Task Channel will prioritize Workers that have + been idle + nullable: true + type: boolean date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The 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 related resources - format: uri-map - nullable: true - type: object - reservation_status: - description: The current status of the reservation - enum: - - pending - - accepted - - rejected - - timeout - - canceled - - rescinded - - wrapping - - completed - nullable: true - type: string - sid: - description: The unique string that identifies the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^WR[0-9a-fA-F]{32}$ - type: string - task_sid: - description: The SID of the reserved Task resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^WT[0-9a-fA-F]{32}$ - type: string - url: - description: The absolute URL of the TaskReservation reservation - format: uri - nullable: true - type: string - worker_name: - description: The friendly_name of the Worker that is reserved - nullable: true - type: string - worker_sid: - description: The SID of the reserved Worker resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^WK[0-9a-fA-F]{32}$ - type: string - workspace_sid: - description: The SID of the Workspace that this task is contained within. - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^WS[0-9a-fA-F]{32}$ - type: string - type: object - taskrouter.v1.workspace.task_channel: - properties: - account_sid: - description: The SID of the Account that created the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ type: string - channel_optimized_routing: - description: Whether the Task Channel will prioritize Workers that have - been idle - nullable: true - type: boolean - date_created: - description: The 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 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 @@ -461,12 +299,12 @@ components: nullable: true type: object sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^TC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource unique_name: description: An application-defined string that uniquely identifies the Task Channel @@ -478,46 +316,46 @@ components: nullable: true type: string workspace_sid: - description: The SID of the Workspace that contains the Task Channel - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - type: object + nullable: true + description: The SID of the Workspace that contains the Task Channel taskrouter.v1.workspace.task_queue: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource assignment_activity_name: description: The name of the Activity to assign Workers when a task is assigned for them nullable: true type: string assignment_activity_sid: - description: The SID of the Activity to assign Workers when a task is assigned - for them - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Activity to assign Workers when a task is assigned + for them date_created: - description: The RFC 2822 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was created date_updated: - description: The RFC 2822 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was last + updated friendly_name: description: The string that you assigned to describe the resource nullable: true @@ -537,64 +375,64 @@ components: nullable: true type: string reservation_activity_sid: - description: The SID of the Activity to assign Workers once a task is reserved - for them - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Activity to assign Workers once a task is reserved + for them sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WQ[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource target_workers: description: A string describing the Worker selection criteria for any Tasks that enter the TaskQueue nullable: true type: string task_order: - description: How Tasks will be assigned to Workers + type: string enum: - FIFO - LIFO nullable: true - type: string + description: How Tasks will be assigned to Workers url: description: The absolute URL of the TaskQueue resource format: uri nullable: true type: string workspace_sid: - description: The SID of the Workspace that contains the TaskQueue - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - type: object + nullable: true + description: The SID of the Workspace that contains the TaskQueue taskrouter.v1.workspace.task_queue.task_queue_cumulative_statistics: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource avg_task_acceptance_time: description: The average time in seconds between Task creation and acceptance nullable: true type: integer end_time: - description: The end of the interval during which these statistics were - calculated + type: string format: date-time nullable: true - type: string + description: The end of the interval during which these statistics were + calculated reservations_accepted: description: The total number of Reservations accepted for Tasks in the TaskQueue @@ -624,22 +462,22 @@ components: nullable: true type: integer split_by_wait_time: + nullable: true description: A list of objects that describe the Tasks canceled and reservations accepted above and below the specified thresholds - nullable: true start_time: - description: The beginning of the interval during which these statistics - were calculated + type: string format: date-time nullable: true - type: string + description: The beginning of the interval during which these statistics + were calculated task_queue_sid: - description: The SID of the TaskQueue from which these statistics were calculated - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WQ[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the TaskQueue from which these statistics were calculated tasks_canceled: description: The total number of Tasks canceled in the TaskQueue nullable: true @@ -667,74 +505,74 @@ components: nullable: true type: string wait_duration_in_queue_until_accepted: + nullable: true description: The relative wait duration statistics for Tasks accepted while in the TaskQueue - nullable: true wait_duration_until_accepted: + nullable: true description: The wait duration statistics for Tasks accepted while in the TaskQueue - nullable: true wait_duration_until_canceled: + nullable: true description: The wait duration statistics for Tasks canceled while in the TaskQueue - nullable: true workspace_sid: - description: The SID of the Workspace that contains the TaskQueue - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - type: object + nullable: true + description: The SID of the Workspace that contains the TaskQueue taskrouter.v1.workspace.task_queue.task_queue_real_time_statistics: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource activity_statistics: - description: The number of current Workers by Activity + type: array items: {} nullable: true - type: array + description: The number of current Workers by Activity longest_relative_task_age_in_queue: description: The relative age in the TaskQueue for the longest waiting Task. nullable: true type: integer longest_relative_task_sid_in_queue: - description: The SID of the Task waiting in the TaskQueue the longest. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WT[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Task waiting in the TaskQueue the longest. longest_task_waiting_age: description: The age of the longest waiting Task nullable: true type: integer longest_task_waiting_sid: - description: The SID of the longest waiting Task - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WT[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the longest waiting Task task_queue_sid: - description: The SID of the TaskQueue from which these statistics were calculated - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WQ[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the TaskQueue from which these statistics were calculated tasks_by_priority: - description: The number of Tasks by priority nullable: true + description: The number of Tasks by priority tasks_by_status: - description: The number of Tasks by their current status nullable: true + description: The number of Tasks by their current status total_available_workers: description: The total number of Workers available for Tasks in the TaskQueue nullable: true @@ -754,98 +592,174 @@ components: nullable: true type: string workspace_sid: - description: The SID of the Workspace that contains the TaskQueue - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - type: object + nullable: true + description: The SID of the Workspace that contains the TaskQueue taskrouter.v1.workspace.task_queue.task_queue_statistics: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource cumulative: - description: An object that contains the cumulative statistics for the TaskQueue nullable: true + description: An object that contains the cumulative statistics for the TaskQueue realtime: - description: An object that contains the real-time statistics for the TaskQueue nullable: true + description: An object that contains the real-time statistics for the TaskQueue task_queue_sid: - description: The SID of the TaskQueue from which these statistics were calculated - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WQ[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the TaskQueue from which these statistics were calculated url: description: The absolute URL of the TaskQueue statistics resource format: uri nullable: true type: string workspace_sid: - description: The SID of the Workspace that contains the TaskQueue - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - type: object + nullable: true + description: The SID of the Workspace that contains the TaskQueue taskrouter.v1.workspace.task_queue.task_queues_statistics: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource cumulative: - description: An object that contains the cumulative statistics for the TaskQueues nullable: true + description: An object that contains the cumulative statistics for the TaskQueues realtime: - description: An object that contains the real-time statistics for the TaskQueues nullable: true + description: An object that contains the real-time statistics for the TaskQueues task_queue_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WQ[0-9a-fA-F]{32}$ + nullable: true description: The SID of the TaskQueue from which these statistics were calculated + workspace_sid: + type: string + minLength: 34 maxLength: 34 + pattern: ^WS[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Workspace that contains the TaskQueues + taskrouter.v1.workspace.task.task_reservation: + type: object + properties: + account_sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ nullable: true - pattern: ^WQ[0-9a-fA-F]{32}$ + description: The SID of the Account that created the resource + date_created: type: string - workspace_sid: - description: The SID of the Workspace that contains the TaskQueues + format: date-time + nullable: true + description: The ISO 8601 date and time in GMT when the resource was created + date_updated: + type: string + format: date-time + nullable: true + description: The ISO 8601 date and time in GMT when the resource was last + updated + links: + description: The URLs of related resources + format: uri-map + nullable: true + type: object + reservation_status: + type: string + enum: + - pending + - accepted + - rejected + - timeout + - canceled + - rescinded + - wrapping + - completed + nullable: true + description: The current status of the reservation + sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WR[0-9a-fA-F]{32}$ + nullable: true + description: The unique string that identifies the resource + task_sid: + type: string + minLength: 34 maxLength: 34 + pattern: ^WT[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the reserved Task resource + url: + description: The absolute URL of the TaskReservation reservation + format: uri + nullable: true + type: string + worker_name: + description: The friendly_name of the Worker that is reserved + nullable: true + type: string + worker_sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^WK[0-9a-fA-F]{32}$ nullable: true - pattern: ^WS[0-9a-fA-F]{32}$ + description: The SID of the reserved Worker resource + workspace_sid: type: string - type: object + minLength: 34 + maxLength: 34 + pattern: ^WS[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Workspace that this task is contained within. taskrouter.v1.workspace.worker: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource activity_name: description: The friendly_name of the Worker's current Activity nullable: true type: string activity_sid: - description: The SID of the Worker's current Activity - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Worker's current Activity attributes: description: The JSON string that describes the Worker nullable: true @@ -855,22 +769,22 @@ components: nullable: true type: boolean date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_status_changed: + type: string + format: date-time + nullable: true description: The date and time in GMT of the last change to the Worker's activity + date_updated: + type: string format: date-time nullable: true - type: string - date_updated: description: The 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 @@ -881,34 +795,34 @@ components: nullable: true type: object sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WK[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource url: description: The absolute URL of the Worker resource format: uri nullable: true type: string workspace_sid: - description: The SID of the Workspace that contains the Worker - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - type: object + nullable: true + description: The SID of the Workspace that contains the Worker taskrouter.v1.workspace.worker.worker_channel: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource assigned_tasks: description: The total number of Tasks assigned to Worker for the TaskChannel type @@ -928,30 +842,30 @@ components: nullable: true type: integer date_created: - description: The RFC 2822 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was created date_updated: - description: The RFC 2822 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was last + updated sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource task_channel_sid: - description: The SID of the TaskChannel - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^TC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the TaskChannel task_channel_unique_name: description: The unique name of the TaskChannel, such as 'voice' or 'sms' nullable: true @@ -962,79 +876,79 @@ components: nullable: true type: string worker_sid: - description: The SID of the Worker that contains the WorkerChannel - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WK[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Worker that contains the WorkerChannel workspace_sid: - description: The SID of the Workspace that contains the WorkerChannel - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - type: object + nullable: true + description: The SID of the Workspace that contains the WorkerChannel taskrouter.v1.workspace.worker.worker_instance_statistics: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource cumulative: - description: An object that contains the cumulative statistics for the Worker nullable: true + description: An object that contains the cumulative statistics for the Worker url: description: The absolute URL of the WorkerChannel statistics resource format: uri nullable: true type: string worker_sid: - description: The SID of the Worker that contains the WorkerChannel - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WK[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Worker that contains the WorkerChannel workspace_sid: - description: The SID of the Workspace that contains the WorkerChannel - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - type: object + nullable: true + description: The SID of the Workspace that contains the WorkerChannel taskrouter.v1.workspace.worker.worker_reservation: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated links: description: The URLs of related resources format: uri-map nullable: true type: object reservation_status: - description: The current status of the reservation + type: string enum: - pending - accepted @@ -1045,21 +959,21 @@ components: - wrapping - completed nullable: true - type: string + description: The current status of the reservation sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WR[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource task_sid: - description: The SID of the reserved Task resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WT[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the reserved Task resource url: description: The absolute URL of the WorkerReservation resource format: uri @@ -1070,69 +984,69 @@ components: nullable: true type: string worker_sid: - description: The SID of the reserved Worker resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WK[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the reserved Worker resource workspace_sid: - description: The SID of the Workspace that this worker is contained within. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - type: object + nullable: true + description: The SID of the Workspace that this worker is contained within. taskrouter.v1.workspace.worker.worker_statistics: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource cumulative: - description: An object that contains the cumulative statistics for the Worker nullable: true + description: An object that contains the cumulative statistics for the Worker realtime: - description: An object that contains the real-time statistics for the Worker nullable: true + description: An object that contains the real-time statistics for the Worker url: description: The absolute URL of the Worker statistics resource format: uri nullable: true type: string workspace_sid: - description: The SID of the Workspace that contains the Worker - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - type: object + nullable: true + description: The SID of the Workspace that contains the Worker taskrouter.v1.workspace.worker.workers_cumulative_statistics: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource activity_durations: - description: The minimum, average, maximum, and total time that Workers - spent in each Activity + type: array items: {} nullable: true - type: array + description: The minimum, average, maximum, and total time that Workers + spent in each Activity end_time: - description: The end of the interval during which these statistics were - calculated + type: string format: date-time nullable: true - type: string + description: The end of the interval during which these statistics were + calculated reservations_accepted: description: The total number of Reservations that were accepted nullable: true @@ -1158,38 +1072,38 @@ components: nullable: true type: integer start_time: - description: The beginning of the interval during which these statistics - were calculated + type: string format: date-time nullable: true - type: string + description: The beginning of the interval during which these statistics + were calculated url: description: The absolute URL of the Workers statistics resource format: uri nullable: true type: string workspace_sid: - description: The SID of the Workspace that contains the Workers - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - type: object + nullable: true + description: The SID of the Workspace that contains the Workers taskrouter.v1.workspace.worker.workers_real_time_statistics: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource activity_statistics: - description: The number of current Workers by Activity + type: array items: {} nullable: true - type: array + description: The number of current Workers by Activity total_workers: description: The total number of Workers nullable: true @@ -1200,22 +1114,22 @@ components: nullable: true type: string workspace_sid: - description: The SID of the Workspace that contains the Workers - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - type: object + nullable: true + description: The SID of the Workspace that contains the Workers taskrouter.v1.workspace.workflow: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource assignment_callback_url: description: The URL that we call when a task managed by the Workflow is assigned to a Worker @@ -1227,16 +1141,16 @@ components: nullable: true type: string date_created: - description: The RFC 2822 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was created date_updated: - description: The RFC 2822 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was last + updated document_content_type: description: The MIME type of the document nullable: true @@ -1257,12 +1171,12 @@ components: nullable: true type: object sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WW[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource task_reservation_timeout: description: How long TaskRouter will wait for a confirmation response from your application after it assigns a Task to a Worker @@ -1274,32 +1188,32 @@ components: nullable: true type: string workspace_sid: - description: The SID of the Workspace that contains the Workflow - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - type: object + nullable: true + description: The SID of the Workspace that contains the Workflow taskrouter.v1.workspace.workflow.workflow_cumulative_statistics: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource avg_task_acceptance_time: description: The average time in seconds between Task creation and acceptance nullable: true type: integer end_time: - description: The end of the interval during which these statistics were - calculated + type: string format: date-time nullable: true - type: string + description: The end of the interval during which these statistics were + calculated reservations_accepted: description: The total number of Reservations accepted by Workers nullable: true @@ -1325,15 +1239,15 @@ components: nullable: true type: integer split_by_wait_time: + nullable: true description: A list of objects that describe the Tasks canceled and reservations accepted above and below the specified thresholds - nullable: true start_time: - description: The beginning of the interval during which these statistics - were calculated + type: string format: date-time nullable: true - type: string + description: The beginning of the interval during which these statistics + were calculated tasks_canceled: description: The total number of Tasks that were canceled nullable: true @@ -1365,53 +1279,53 @@ components: nullable: true type: string wait_duration_until_accepted: - description: The wait duration statistics for Tasks that were accepted nullable: true + description: The wait duration statistics for Tasks that were accepted wait_duration_until_canceled: - description: The wait duration statistics for Tasks that were canceled nullable: true + description: The wait duration statistics for Tasks that were canceled workflow_sid: - description: Returns the list of Tasks that are being controlled by the - Workflow with the specified Sid value - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WW[0-9a-fA-F]{32}$ - type: string + nullable: true + description: Returns the list of Tasks that are being controlled by the + Workflow with the specified Sid value workspace_sid: - description: The SID of the Workspace that contains the Workflow. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - type: object + nullable: true + description: The SID of the Workspace that contains the Workflow. taskrouter.v1.workspace.workflow.workflow_real_time_statistics: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource longest_task_waiting_age: description: The age of the longest waiting Task nullable: true type: integer longest_task_waiting_sid: - description: The SID of the longest waiting Task - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WT[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the longest waiting Task tasks_by_priority: - description: The number of Tasks by priority nullable: true + description: The number of Tasks by priority tasks_by_status: - description: The number of Tasks by their current status nullable: true + description: The number of Tasks by their current status total_tasks: description: The total number of Tasks nullable: true @@ -1422,76 +1336,163 @@ components: nullable: true type: string workflow_sid: - description: Returns the list of Tasks that are being controlled by the - Workflow with the specified SID value - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WW[0-9a-fA-F]{32}$ - type: string + nullable: true + description: Returns the list of Tasks that are being controlled by the + Workflow with the specified SID value workspace_sid: - description: The SID of the Workspace that contains the Workflow. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - type: object + nullable: true + description: The SID of the Workspace that contains the Workflow. taskrouter.v1.workspace.workflow.workflow_statistics: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource cumulative: - description: An object that contains the cumulative statistics for the Workflow nullable: true + description: An object that contains the cumulative statistics for the Workflow realtime: - description: An object that contains the real-time statistics for the Workflow nullable: true + description: An object that contains the real-time statistics for the Workflow url: description: The absolute URL of the Workflow statistics resource format: uri nullable: true type: string workflow_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WW[0-9a-fA-F]{32}$ + nullable: true description: Returns the list of Tasks that are being controlled by the Workflow with the specified SID value - maxLength: 34 + workspace_sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^WS[0-9a-fA-F]{32}$ nullable: true - pattern: ^WW[0-9a-fA-F]{32}$ - type: string - workspace_sid: description: The SID of the Workspace that contains the Workflow + taskrouter.v1.workspace: + type: object + properties: + account_sid: + type: string + minLength: 34 maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created the resource + date_created: + type: string + format: date-time + nullable: true + description: The ISO 8601 date and time in GMT when the resource was created + date_updated: + type: string + format: date-time + nullable: true + description: The ISO 8601 date and time in GMT when the resource was last + updated + default_activity_name: + description: The name of the default activity + nullable: true + type: string + default_activity_sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^WA[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Activity that will be used when new Workers + are created in the Workspace + event_callback_url: + description: The URL we call when an event occurs + format: uri + nullable: true + type: string + events_filter: + description: The list of Workspace events for which to call event_callback_url + nullable: true + type: string + friendly_name: + description: The string that you assigned to describe the Workspace resource + nullable: true + type: string + links: + description: The URLs of related resources + format: uri-map + nullable: true + type: object + multi_task_enabled: + description: Whether multi-tasking is enabled + nullable: true + type: boolean + prioritize_queue_order: + type: string + enum: + - FIFO + - LIFO nullable: true + description: The type of TaskQueue to prioritize when Workers are receiving + Tasks from both types of TaskQueues + sid: + type: string + minLength: 34 + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ + nullable: true + description: The unique string that identifies the resource + timeout_activity_name: + description: The name of the timeout activity + nullable: true + type: string + timeout_activity_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WA[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Activity that will be assigned to a Worker when + a Task reservation times out without a response + url: + description: The absolute URL of the Workspace resource + format: uri + nullable: true type: string - type: object taskrouter.v1.workspace.workspace_cumulative_statistics: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource avg_task_acceptance_time: description: The average time in seconds between Task creation and acceptance nullable: true type: integer end_time: - description: The end of the interval during which these statistics were - calculated + type: string format: date-time nullable: true - type: string + description: The end of the interval during which these statistics were + calculated reservations_accepted: description: The total number of Reservations accepted by Workers nullable: true @@ -1517,15 +1518,15 @@ components: nullable: true type: integer split_by_wait_time: + nullable: true description: A list of objects that describe the Tasks canceled and reservations accepted above and below the specified thresholds - nullable: true start_time: - description: The beginning of the interval during which these statistics - were calculated + type: string format: date-time nullable: true - type: string + description: The beginning of the interval during which these statistics + were calculated tasks_canceled: description: The total number of Tasks that were canceled nullable: true @@ -1557,50 +1558,50 @@ components: nullable: true type: string wait_duration_until_accepted: - description: The wait duration statistics for Tasks that were accepted nullable: true + description: The wait duration statistics for Tasks that were accepted wait_duration_until_canceled: - description: The wait duration statistics for Tasks that were canceled nullable: true + description: The wait duration statistics for Tasks that were canceled workspace_sid: - description: The SID of the Workspace - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - type: object + nullable: true + description: The SID of the Workspace taskrouter.v1.workspace.workspace_real_time_statistics: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource activity_statistics: - description: The number of current Workers by Activity + type: array items: {} nullable: true - type: array + description: The number of current Workers by Activity longest_task_waiting_age: description: The age of the longest waiting Task nullable: true type: integer longest_task_waiting_sid: - description: The SID of the longest waiting Task - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WT[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the longest waiting Task tasks_by_priority: - description: The number of Tasks by priority nullable: true + description: The number of Tasks by priority tasks_by_status: - description: The number of Tasks by their current status nullable: true + description: The number of Tasks by their current status total_tasks: description: The total number of Tasks nullable: true @@ -1615,41 +1616,40 @@ components: nullable: true type: string workspace_sid: - description: The SID of the Workspace - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - type: object + nullable: true + description: The SID of the Workspace taskrouter.v1.workspace.workspace_statistics: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource cumulative: - description: An object that contains the cumulative statistics for the Workspace nullable: true + description: An object that contains the cumulative statistics for the Workspace realtime: - description: n object that contains the real-time statistics for the Workspace nullable: true + description: n object that contains the real-time statistics for the Workspace url: description: The absolute URL of the Workspace statistics resource format: uri nullable: true type: string workspace_sid: - description: The SID of the Workspace - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - type: object + nullable: true + description: The SID of the Workspace securitySchemes: accountSid_authToken: scheme: basic @@ -1668,59 +1668,45 @@ info: version: 1.30.0 openapi: 3.0.1 paths: - /v1/Workspaces: + /v1/Workspaces/{WorkspaceSid}/Activities/{Sid}: + servers: + - url: https://taskrouter.twilio.com description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - date_created + pathType: instance + parent: /Workspaces get: description: '' - operationId: ListWorkspace + operationId: FetchActivity parameters: - - description: The `friendly_name` of the Workspace resources to read. For example - `Customer Support` or `2014 Election Campaign`. - in: query - name: FriendlyName + - description: The SID of the Workspace with the Activity resources to fetch. + in: path + name: WorkspaceSid + required: true schema: 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 + minLength: 34 + maxLength: 34 + pattern: ^WS[0-9a-fA-F]{32}$ + - description: The SID of the Activity resource to fetch. + in: path + name: Sid + required: true schema: - maximum: 1000 - minimum: 1 - type: integer + type: string + minLength: 34 + maxLength: 34 + pattern: ^WA[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - properties: - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - workspaces: - items: - $ref: '#/components/schemas/taskrouter.v1.workspace' - type: array - title: ListWorkspaceResponse - type: object + $ref: '#/components/schemas/taskrouter.v1.workspace.activity' description: OK security: - accountSid_authToken: [] @@ -1728,222 +1714,91 @@ paths: - GA post: description: '' - operationId: CreateWorkspace + operationId: UpdateActivity + parameters: + - description: The SID of the Workspace with the Activity resources to update. + in: path + name: WorkspaceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WS[0-9a-fA-F]{32}$ + - description: The SID of the Activity resource to update. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WA[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - EventCallbackUrl: - description: The URL we should call when an event occurs. If provided, - the Workspace will publish events to this URL, for example, to - collect data for reporting. See [Workspace Events](https://www.twilio.com/docs/taskrouter/api/event) - for more information. This parameter supports Twilio's [Webhooks - (HTTP callbacks) Connection Overrides](https://www.twilio.com/docs/usage/webhooks/webhooks-connection-overrides). - format: uri - type: string - EventsFilter: - description: The list of Workspace events for which to call event_callback_url. - For example, if `EventsFilter=task.created, task.canceled, worker.activity.update`, - then TaskRouter will call event_callback_url only when a task - is created, canceled, or a Worker activity is updated. - type: string FriendlyName: description: 'A descriptive string that you create to describe the - Workspace resource. It can be up to 64 characters long. For example: - `Customer Support` or `2014 Election Campaign`.' - type: string - MultiTaskEnabled: - description: 'Whether to enable multi-tasking. Can be: `true` to - enable multi-tasking, or `false` to disable it. However, all workspaces - should be created as multi-tasking. The default is `true`. Multi-tasking - allows Workers to handle multiple Tasks simultaneously. When enabled - (`true`), each Worker can receive parallel reservations up to - the per-channel maximums defined in the Workers section. In single-tasking - mode (legacy mode), each Worker will only receive a new reservation - when the previous task is completed. Learn more at [Multitasking](https://www.twilio.com/docs/taskrouter/multitasking).' - type: boolean - PrioritizeQueueOrder: - description: 'The type of TaskQueue to prioritize when Workers are - receiving Tasks from both types of TaskQueues. Can be: `LIFO` - or `FIFO` and the default is `FIFO`. For more information, see - [Queue Ordering](https://www.twilio.com/docs/taskrouter/queue-ordering-last-first-out-lifo).' - enum: - - FIFO - - LIFO - type: string - Template: - description: 'An available template name. Can be: `NONE` or `FIFO` - and the default is `NONE`. Pre-configures the Workspace with the - Workflow and Activities specified in the template. `NONE` will - create a Workspace with only a set of default activities. `FIFO` - will configure TaskRouter with a set of default activities and - a single TaskQueue for first-in, first-out distribution, which - can be useful when you are getting started with TaskRouter.' + Activity resource. It can be up to 64 characters long. These names + are used to calculate and expose statistics about Workers, and + provide visibility into the state of each Worker. Examples of + friendly names include: `on-call`, `break`, and `email`.' type: string - required: - - FriendlyName - title: CreateWorkspaceRequest + title: UpdateActivityRequest type: object responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/taskrouter.v1.workspace' - description: Created + $ref: '#/components/schemas/taskrouter.v1.workspace.activity' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://taskrouter.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - prioritize_queue_order - pathType: list - /v1/Workspaces/{Sid}: delete: description: '' - operationId: DeleteWorkspace + operationId: DeleteActivity parameters: - - description: The SID of the Workspace resource to delete. + - description: The SID of the Workspace with the Activity resources to delete. in: path - name: Sid + name: WorkspaceSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^WS[0-9a-fA-F]{32}$ type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: 'TODO: Resource-level docs' - get: - description: '' - operationId: FetchWorkspace - parameters: - - description: The SID of the Workspace resource to fetch. - in: path - name: Sid - required: true - schema: - maxLength: 34 minLength: 34 + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/taskrouter.v1.workspace' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: '' - operationId: UpdateWorkspace - parameters: - - description: The SID of the Workspace resource to update. + - description: The SID of the Activity resource to delete. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^WS[0-9a-fA-F]{32}$ type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - DefaultActivitySid: - description: The SID of the Activity that will be used when new - Workers are created in the Workspace. - maxLength: 34 - minLength: 34 - pattern: ^WA[0-9a-fA-F]{32}$ - type: string - EventCallbackUrl: - description: The URL we should call when an event occurs. See [Workspace - Events](https://www.twilio.com/docs/taskrouter/api/event) for - more information. This parameter supports Twilio's [Webhooks (HTTP - callbacks) Connection Overrides](https://www.twilio.com/docs/usage/webhooks/webhooks-connection-overrides). - format: uri - type: string - EventsFilter: - description: The list of Workspace events for which to call event_callback_url. - For example if `EventsFilter=task.created,task.canceled,worker.activity.update`, - then TaskRouter will call event_callback_url only when a task - is created, canceled, or a Worker activity is updated. - type: string - FriendlyName: - description: 'A descriptive string that you create to describe the - Workspace resource. For example: `Sales Call Center` or `Customer - Support Team`.' - type: string - MultiTaskEnabled: - description: 'Whether to enable multi-tasking. Can be: `true` to - enable multi-tasking, or `false` to disable it. However, all workspaces - should be maintained as multi-tasking. There is no default when - omitting this parameter. A multi-tasking Workspace can''t be updated - to single-tasking unless it is not a Flex Project and another - (legacy) single-tasking Workspace exists. Multi-tasking allows - Workers to handle multiple Tasks simultaneously. In multi-tasking - mode, each Worker can receive parallel reservations up to the - per-channel maximums defined in the Workers section. In single-tasking - mode (legacy mode), each Worker will only receive a new reservation - when the previous task is completed. Learn more at [Multitasking](https://www.twilio.com/docs/taskrouter/multitasking).' - type: boolean - PrioritizeQueueOrder: - description: 'The type of TaskQueue to prioritize when Workers are - receiving Tasks from both types of TaskQueues. Can be: `LIFO` - or `FIFO`. For more information, see [Queue Ordering](https://www.twilio.com/docs/taskrouter/queue-ordering-last-first-out-lifo).' - enum: - - FIFO - - LIFO - type: string - TimeoutActivitySid: - description: The SID of the Activity that will be assigned to a - Worker when a Task reservation times out without a response. - maxLength: 34 - minLength: 34 - pattern: ^WA[0-9a-fA-F]{32}$ - type: string - title: UpdateWorkspaceRequest - type: object + minLength: 34 + maxLength: 34 + pattern: ^WA[0-9a-fA-F]{32}$ responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/taskrouter.v1.workspace' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA + /v1/Workspaces/{WorkspaceSid}/Activities: servers: - url: https://taskrouter.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - friendly_name - - prioritize_queue_order - pathType: instance - /v1/Workspaces/{WorkspaceSid}/Activities: - description: 'TODO: Resource-level docs' + - date_created + pathType: list + parent: /Workspaces get: description: '' operationId: ListActivity @@ -1953,10 +1808,10 @@ paths: name: WorkspaceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - description: The `friendly_name` of the Activity resources to read. in: query name: FriendlyName @@ -1983,18 +1838,19 @@ paths: content: application/json: schema: + type: object + title: ListActivityResponse properties: activities: + type: array items: $ref: '#/components/schemas/taskrouter.v1.workspace.activity' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -2008,9 +1864,8 @@ paths: url: format: uri type: string - type: object - title: ListActivityResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] @@ -2025,22 +1880,15 @@ paths: name: WorkspaceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Available: - description: Whether the Worker should be eligible to receive a - Task when it occupies the Activity. A value of `true`, `1`, or - `yes` specifies the Activity is available. All other values specify - that it is not. The value cannot be changed after the Activity - is created. - type: boolean FriendlyName: description: 'A descriptive string that you create to describe the Activity resource. It can be up to 64 characters long. These names @@ -2048,6 +1896,13 @@ paths: provide visibility into the state of each Worker. Examples of friendly names include: `on-call`, `break`, and `email`.' type: string + Available: + description: Whether the Worker should be eligible to receive a + Task when it occupies the Activity. A value of `true`, `1`, or + `yes` specifies the Activity is available. All other values specify + that it is not. The value cannot be changed after the Activity + is created. + type: boolean required: - FriendlyName title: CreateActivityRequest @@ -2063,215 +1918,61 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Workspaces/{WorkspaceSid}/Events/{Sid}: servers: - url: https://taskrouter.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - - friendly_name - - date_created + - description + - event_date + pathType: instance parent: /Workspaces - pathType: list - /v1/Workspaces/{WorkspaceSid}/Activities/{Sid}: - delete: + get: description: '' - operationId: DeleteActivity + operationId: FetchEvent parameters: - - description: The SID of the Workspace with the Activity resources to delete. + - description: The SID of the Workspace with the Event to fetch. in: path name: WorkspaceSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^WS[0-9a-fA-F]{32}$ type: string - - description: The SID of the Activity resource to delete. - in: path - name: Sid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^WA[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: 'TODO: Resource-level docs' - get: - description: '' - operationId: FetchActivity - parameters: - - description: The SID of the Workspace with the Activity resources to fetch. - in: path - name: WorkspaceSid - required: true - schema: maxLength: 34 - minLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Activity resource to fetch. + - description: The SID of the Event resource to fetch. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^WA[0-9a-fA-F]{32}$ type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/taskrouter.v1.workspace.activity' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: '' - operationId: UpdateActivity - parameters: - - description: The SID of the Workspace with the Activity resources to update. - in: path - name: WorkspaceSid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^WS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Activity resource to update. - in: path - name: Sid - required: true - schema: maxLength: 34 - minLength: 34 - pattern: ^WA[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - FriendlyName: - description: 'A descriptive string that you create to describe the - Activity resource. It can be up to 64 characters long. These names - are used to calculate and expose statistics about Workers, and - provide visibility into the state of each Worker. Examples of - friendly names include: `on-call`, `break`, and `email`.' - type: string - title: UpdateActivityRequest - type: object + pattern: ^EV[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/taskrouter.v1.workspace.activity' + $ref: '#/components/schemas/taskrouter.v1.workspace.event' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Workspaces/{WorkspaceSid}/Events: servers: - url: https://taskrouter.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - date_created - parent: /Workspaces - pathType: instance - /v1/Workspaces/{WorkspaceSid}/CumulativeStatistics: description: 'TODO: Resource-level docs' - get: - description: '' - operationId: FetchWorkspaceCumulativeStatistics - parameters: - - description: The SID of the Workspace to fetch. - in: path - name: WorkspaceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^WS[0-9a-fA-F]{32}$ - type: string - - description: Only include usage that occurred on or before this date, specified - in GMT as an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time. - in: query - name: EndDate - schema: - format: date-time - type: string - - description: Only calculate statistics since this many minutes in the past. - The default 15 minutes. This is helpful for displaying statistics for the - last 15 minutes, 240 minutes (4 hours), and 480 minutes (8 hours) to see - trends. - in: query - name: Minutes - schema: - type: integer - - description: Only calculate statistics from this date and time and later, - specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. - in: query - name: StartDate - schema: - format: date-time - type: string - - description: Only calculate cumulative statistics on this TaskChannel. Can - be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or - `default`. - in: query - name: TaskChannel - schema: - type: string - - description: A comma separated list of values that describes the thresholds, - in seconds, to calculate statistics on. For each threshold specified, the - number of Tasks canceled and reservations accepted above and below the specified - thresholds in seconds are computed. For example, `5,30` would show splits - of Tasks that were canceled or accepted before and after 5 seconds and before - and after 30 seconds. This can be used to show short abandoned Tasks or - Tasks that failed to meet an SLA. TaskRouter will calculate statistics on - up to 10,000 Tasks for any given threshold. - in: query - name: SplitByWaitTime - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/taskrouter.v1.workspace.workspace_cumulative_statistics' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://taskrouter.twilio.com x-twilio: - className: workspace_cumulative_statistics defaultOutputProperties: - - start_time - - end_time - - avg_task_acceptance_time - - tasks_completed + - sid + - description + - event_date + pathType: list parent: /Workspaces - pathType: instance - /v1/Workspaces/{WorkspaceSid}/Events: - description: 'TODO: Resource-level docs' get: description: '' operationId: ListEvent @@ -2282,17 +1983,17 @@ paths: name: WorkspaceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - description: Only include Events that occurred on or before this date, specified in GMT as an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time. in: query name: EndDate schema: - format: date-time type: string + format: date-time - description: The type of Events to read. Returns only Events of the type specified. in: query name: EventType @@ -2310,54 +2011,54 @@ paths: in: query name: ReservationSid schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WR[0-9a-fA-F]{32}$ - type: string - description: Only include Events from on or after this date and time, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. Task Attributes for Events older than 30 days will be redacted. in: query name: StartDate schema: - format: date-time type: string + format: date-time - description: The SID of the TaskQueue with the Events to read. Returns only the Events that pertain to the specified TaskQueue. in: query name: TaskQueueSid schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WQ[0-9a-fA-F]{32}$ - type: string - description: The SID of the Task with the Events to read. Returns only the Events that pertain to the specified Task. in: query name: TaskSid schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WT[0-9a-fA-F]{32}$ - type: string - description: The SID of the Worker with the Events to read. Returns only the Events that pertain to the specified Worker. in: query name: WorkerSid schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WK[0-9a-fA-F]{32}$ - type: string - description: The SID of the Workflow with the Events to read. Returns only the Events that pertain to the specified Workflow. in: query name: WorkflowSid schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WW[0-9a-fA-F]{32}$ - type: string - description: The TaskChannel with the Events to read. Returns only the Events that pertain to the specified TaskChannel. in: query @@ -2368,10 +2069,10 @@ paths: in: query name: Sid schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^EV[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 @@ -2385,18 +2086,19 @@ paths: content: application/json: schema: + type: object + title: ListEventResponse properties: events: + type: array items: $ref: '#/components/schemas/taskrouter.v1.workspace.event' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -2410,199 +2112,269 @@ paths: url: format: uri type: string - type: object - title: ListEventResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Workspaces/{WorkspaceSid}/Tasks/{Sid}: servers: - url: https://taskrouter.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - - description - - event_date + - age + - assignment_status + - priority + - reason + pathType: instance parent: /Workspaces - pathType: list - /v1/Workspaces/{WorkspaceSid}/Events/{Sid}: - description: 'TODO: Resource-level docs' get: description: '' - operationId: FetchEvent + operationId: FetchTask parameters: - - description: The SID of the Workspace with the Event to fetch. + - description: The SID of the Workspace with the Task to fetch. in: path name: WorkspaceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Event resource to fetch. + - description: The SID of the Task resource to fetch. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^EV[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^WT[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/taskrouter.v1.workspace.event' + $ref: '#/components/schemas/taskrouter.v1.workspace.task' description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://taskrouter.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - description - - event_date - parent: /Workspaces - pathType: instance - /v1/Workspaces/{WorkspaceSid}/RealTimeStatistics: - description: 'TODO: Resource-level docs' - get: + post: description: '' - operationId: FetchWorkspaceRealTimeStatistics + operationId: UpdateTask parameters: - - description: The SID of the Workspace to fetch. + - description: The SID of the Workspace with the Task to update. in: path name: WorkspaceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ + - description: The SID of the Task resource to update. + in: path + name: Sid + required: true + schema: type: string - - description: Only calculate real-time statistics on this TaskChannel. Can - be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or - `default`. - in: query - name: TaskChannel + minLength: 34 + maxLength: 34 + pattern: ^WT[0-9a-fA-F]{32}$ + - description: If provided, applies this mutation if (and only if) the [ETag](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag) + header of the Task matches the provided value. This matches the semantics + of (and is implemented with) the HTTP [If-Match header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Match). + in: header + name: If-Match schema: type: string + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Attributes: + description: The JSON string that describes the custom attributes + of the task. + type: string + AssignmentStatus: + type: string + enum: + - pending + - reserved + - assigned + - canceled + - completed + - wrapping + description: 'The new status of the task. Can be: `canceled`, to + cancel a Task that is currently `pending` or `reserved`; `wrapping`, + to move the Task to wrapup state; or `completed`, to move a Task + to the completed state.' + Reason: + description: The reason that the Task was canceled or completed. + This parameter is required only if the Task is canceled or completed. + Setting this value queues the task for deletion and logs the reason. + type: string + Priority: + description: The Task's new priority value. When supplied, the Task + takes on the specified priority unless it matches a Workflow Target + with a Priority set. Value can be 0 to 2^31^ (2,147,483,647). + type: integer + TaskChannel: + description: When MultiTasking is enabled, specify the TaskChannel + with the task to update. Can be the TaskChannel's SID or its `unique_name`, + such as `voice`, `sms`, or `default`. + type: string + title: UpdateTaskRequest + type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/taskrouter.v1.workspace.workspace_real_time_statistics' + $ref: '#/components/schemas/taskrouter.v1.workspace.task' description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://taskrouter.twilio.com - x-twilio: - className: workspace_real_time_statistics - defaultOutputProperties: - - longest_task_waiting_age - - longest_task_waiting_sid - - total_tasks - parent: /Workspaces - pathType: instance - /v1/Workspaces/{WorkspaceSid}/Statistics: - description: 'TODO: Resource-level docs' - get: + delete: description: '' - operationId: FetchWorkspaceStatistics + operationId: DeleteTask parameters: - - description: The SID of the Workspace to fetch. + - description: The SID of the Workspace with the Task to delete. in: path name: WorkspaceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - - description: Only calculate statistics since this many minutes in the past. - The default 15 minutes. This is helpful for displaying statistics for the - last 15 minutes, 240 minutes (4 hours), and 480 minutes (8 hours) to see - trends. - in: query - name: Minutes - schema: - type: integer - - description: Only calculate statistics from this date and time and later, - specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. - in: query - name: StartDate - schema: - format: date-time - type: string - - description: Only calculate statistics from this date and time and earlier, - specified in GMT as an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) - date-time. - in: query - name: EndDate - schema: - format: date-time - type: string - - description: Only calculate statistics on this TaskChannel. Can be the TaskChannel's - SID or its `unique_name`, such as `voice`, `sms`, or `default`. - in: query - name: TaskChannel + - description: The SID of the Task resource to delete. + in: path + name: Sid + required: true schema: type: string - - description: A comma separated list of values that describes the thresholds, - in seconds, to calculate statistics on. For each threshold specified, the - number of Tasks canceled and reservations accepted above and below the specified - thresholds in seconds are computed. For example, `5,30` would show splits - of Tasks that were canceled or accepted before and after 5 seconds and before - and after 30 seconds. This can be used to show short abandoned Tasks or - Tasks that failed to meet an SLA. - in: query - name: SplitByWaitTime + minLength: 34 + maxLength: 34 + pattern: ^WT[0-9a-fA-F]{32}$ + - description: If provided, deletes this Task if (and only if) the [ETag](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag) + header of the Task matches the provided value. This matches the semantics + of (and is implemented with) the HTTP [If-Match header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Match). + in: header + name: If-Match schema: type: string responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/taskrouter.v1.workspace.workspace_statistics' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA + /v1/Workspaces/{WorkspaceSid}/Tasks: servers: - url: https://taskrouter.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - className: workspace_statistics defaultOutputProperties: - - cumulative + - sid + - age + - assignment_status + - priority + - reason + pathType: list parent: /Workspaces - pathType: instance - /v1/Workspaces/{WorkspaceSid}/TaskChannels: - description: Types of tasks get: description: '' - operationId: ListTaskChannel + operationId: ListTask parameters: - - description: The SID of the Workspace with the Task Channel to read. + - description: The SID of the Workspace with the Tasks to read. in: path name: WorkspaceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ + - description: The priority value of the Tasks to read. Returns the list of + all Tasks in the Workspace with the specified priority. + in: query + name: Priority + schema: + type: integer + - description: 'The `assignment_status` of the Tasks you want to read. Can be: + `pending`, `reserved`, `assigned`, `canceled`, `wrapping`, or `completed`. + Returns all Tasks in the Workspace with the specified `assignment_status`.' + in: query + name: AssignmentStatus + schema: + type: array + items: + type: string + - description: The SID of the Workflow with the Tasks to read. Returns the Tasks + controlled by the Workflow identified by this SID. + in: query + name: WorkflowSid + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WW[0-9a-fA-F]{32}$ + - description: The friendly name of the Workflow with the Tasks to read. Returns + the Tasks controlled by the Workflow identified by this friendly name. + in: query + name: WorkflowName + schema: + type: string + - description: The SID of the TaskQueue with the Tasks to read. Returns the + Tasks waiting in the TaskQueue identified by this SID. + in: query + name: TaskQueueSid + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WQ[0-9a-fA-F]{32}$ + - description: The `friendly_name` of the TaskQueue with the Tasks to read. + Returns the Tasks waiting in the TaskQueue identified by this friendly name. + in: query + name: TaskQueueName + schema: + type: string + - description: The attributes of the Tasks to read. Returns the Tasks that match + the attributes specified in this parameter. + in: query + name: EvaluateTaskAttributes + schema: + type: string + - description: 'How to order the returned Task resources. y default, Tasks are + sorted by ascending DateCreated. This value is specified as: `Attribute:Order`, + where `Attribute` can be either `Priority` or `DateCreated` and `Order` + can be either `asc` or `desc`. For example, `Priority:desc` returns Tasks + ordered in descending order of their Priority. Multiple sort orders can + be specified in a comma-separated list such as `Priority:desc,DateCreated:asc`, + which returns the Tasks in descending Priority order and ascending DateCreated + Order.' + in: query + name: Ordering + schema: type: string + - description: Whether to read Tasks with addons. If `true`, returns only Tasks + with addons. If `false`, returns only Tasks without addons. + in: query + name: HasAddons + schema: + type: boolean - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -2616,18 +2388,19 @@ paths: content: application/json: schema: + type: object + title: ListTaskResponse properties: - channels: - items: - $ref: '#/components/schemas/taskrouter.v1.workspace.task_channel' + tasks: type: array + items: + $ref: '#/components/schemas/taskrouter.v1.workspace.task' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -2641,9 +2414,8 @@ paths: url: format: uri type: string - type: object - title: ListTaskChannelResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] @@ -2651,88 +2423,81 @@ paths: - GA post: description: '' - operationId: CreateTaskChannel + operationId: CreateTask parameters: - - description: The SID of the Workspace that the new Task Channel belongs to. + - description: The SID of the Workspace that the new Task belongs to. in: path name: WorkspaceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - ChannelOptimizedRouting: - description: Whether the Task Channel should prioritize Workers - that have been idle. If `true`, Workers that have been idle the - longest are prioritized. - type: boolean - FriendlyName: - description: A descriptive string that you create to describe the - Task Channel. It can be up to 64 characters long. + Timeout: + description: The amount of time in seconds the new task can live + before being assigned. Can be up to a maximum of 2 weeks (1,209,600 + seconds). The default value is 24 hours (86,400 seconds). On timeout, + the `task.canceled` event will fire with description `Task TTL + Exceeded`. + type: integer + Priority: + description: The priority to assign the new task and override the + default. When supplied, the new Task will have this priority unless + it matches a Workflow Target with a Priority set. When not supplied, + the new Task will have the priority of the matching Workflow Target. + Value can be 0 to 2^31^ (2,147,483,647). + type: integer + TaskChannel: + description: When MultiTasking is enabled, specify the TaskChannel + by passing either its `unique_name` or `sid`. Default value is + `default`. type: string - UniqueName: - description: An application-defined string that uniquely identifies - the Task Channel, such as `voice` or `sms`. + WorkflowSid: type: string - required: - - FriendlyName - - UniqueName - title: CreateTaskChannelRequest + minLength: 34 + maxLength: 34 + pattern: ^WW[0-9a-fA-F]{32}$ + description: The SID of the Workflow that you would like to handle + routing for the new Task. If there is only one Workflow defined + for the Workspace that you are posting the new task to, this parameter + is optional. + Attributes: + description: 'A URL-encoded JSON string with the attributes of the + new task. This value is passed to the Workflow''s `assignment_callback_url` + when the Task is assigned to a Worker. For example: `{ "task_type": + "call", "twilio_call_sid": "CAxxx", "customer_ticket_number": + "12345" }`.' + type: string + title: CreateTaskRequest type: object responses: '201': content: application/json: schema: - $ref: '#/components/schemas/taskrouter.v1.workspace.task_channel' + $ref: '#/components/schemas/taskrouter.v1.workspace.task' description: Created security: - accountSid_authToken: [] x-maturity: - GA + /v1/Workspaces/{WorkspaceSid}/TaskChannels/{Sid}: servers: - url: https://taskrouter.twilio.com + description: Types of tasks x-twilio: defaultOutputProperties: - sid - friendly_name - date_created + pathType: instance parent: /Workspaces - pathType: list - /v1/Workspaces/{WorkspaceSid}/TaskChannels/{Sid}: - delete: - description: '' - operationId: DeleteTaskChannel - parameters: - - description: The SID of the Workspace with the Task Channel to delete. - in: path - name: WorkspaceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^WS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Task Channel resource to delete. - in: path - name: Sid - required: true - schema: - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: Types of tasks get: description: '' operationId: FetchTaskChannel @@ -2742,10 +2507,10 @@ paths: name: WorkspaceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - description: The SID of the Task Channel resource to fetch. in: path name: Sid @@ -2772,10 +2537,10 @@ paths: name: WorkspaceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - description: The SID of the Task Channel resource to update. in: path name: Sid @@ -2787,15 +2552,15 @@ paths: application/x-www-form-urlencoded: schema: properties: + FriendlyName: + description: A descriptive string that you create to describe the + Task Channel. It can be up to 64 characters long. + type: string ChannelOptimizedRouting: description: Whether the TaskChannel should prioritize Workers that have been idle. If `true`, Workers that have been idle the longest are prioritized. type: boolean - FriendlyName: - description: A descriptive string that you create to describe the - Task Channel. It can be up to 64 characters long. - type: string title: UpdateTaskChannelRequest type: object responses: @@ -2809,49 +2574,56 @@ paths: - accountSid_authToken: [] x-maturity: - GA + delete: + description: '' + operationId: DeleteTaskChannel + parameters: + - description: The SID of the Workspace with the Task Channel to delete. + in: path + name: WorkspaceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WS[0-9a-fA-F]{32}$ + - description: The SID of the Task Channel resource to delete. + in: path + name: Sid + required: true + schema: + type: string + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Workspaces/{WorkspaceSid}/TaskChannels: servers: - url: https://taskrouter.twilio.com + description: Types of tasks x-twilio: defaultOutputProperties: - sid - friendly_name - date_created + pathType: list parent: /Workspaces - pathType: instance - /v1/Workspaces/{WorkspaceSid}/TaskQueues: - description: 'TODO: Resource-level docs' get: description: '' - operationId: ListTaskQueue + operationId: ListTaskChannel parameters: - - description: The SID of the Workspace with the TaskQueue to read. + - description: The SID of the Workspace with the Task Channel to read. in: path name: WorkspaceSid required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^WS[0-9a-fA-F]{32}$ - type: string - - description: The `friendly_name` of the TaskQueue resources to read. - in: query - name: FriendlyName - schema: - type: string - - description: The attributes of the Workers to read. Returns the TaskQueues - with Workers that match the attributes specified in this parameter. - in: query - name: EvaluateWorkerAttributes schema: type: string - - description: The SID of the Worker with the TaskQueue resources to read. - in: query - name: WorkerSid - schema: - maxLength: 34 minLength: 34 - pattern: ^WK[0-9a-fA-F]{32}$ - type: string + maxLength: 34 + pattern: ^WS[0-9a-fA-F]{32}$ - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -2865,14 +2637,19 @@ paths: content: application/json: schema: + type: object + title: ListTaskChannelResponse properties: + channels: + type: array + items: + $ref: '#/components/schemas/taskrouter.v1.workspace.task_channel' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -2886,13 +2663,8 @@ paths: url: format: uri type: string - type: object - task_queues: - items: - $ref: '#/components/schemas/taskrouter.v1.workspace.task_queue' - type: array - title: ListTaskQueueResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] @@ -2900,226 +2672,62 @@ paths: - GA post: description: '' - operationId: CreateTaskQueue + operationId: CreateTaskChannel parameters: - - description: The SID of the Workspace that the new TaskQueue belongs to. + - description: The SID of the Workspace that the new Task Channel belongs to. in: path name: WorkspaceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - AssignmentActivitySid: - description: The SID of the Activity to assign Workers when a task - is assigned to them. - maxLength: 34 - minLength: 34 - pattern: ^WA[0-9a-fA-F]{32}$ - type: string FriendlyName: description: A descriptive string that you create to describe the - TaskQueue. For example `Support-Tier 1`, `Sales`, or `Escalation`. - type: string - MaxReservedWorkers: - description: The maximum number of Workers to reserve for the assignment - of a Task in the queue. Can be an integer between 1 and 50, inclusive - and defaults to 1. - type: integer - ReservationActivitySid: - description: The SID of the Activity to assign Workers when a task - is reserved for them. - maxLength: 34 - minLength: 34 - pattern: ^WA[0-9a-fA-F]{32}$ - type: string - TargetWorkers: - description: A string that describes the Worker selection criteria - for any Tasks that enter the TaskQueue. For example, `'"language" - == "spanish"'`. The default value is `1==1`. If this value is - empty, Tasks will wait in the TaskQueue until they are deleted - or moved to another TaskQueue. For more information about Worker - selection, see [Describing Worker selection criteria](https://www.twilio.com/docs/taskrouter/api/taskqueues#target-workers). + Task Channel. It can be up to 64 characters long. type: string - TaskOrder: - description: How Tasks will be assigned to Workers. Set this parameter - to `LIFO` to assign most recently created Task first or FIFO to - assign the oldest Task first. Default is `FIFO`. [Click here](https://www.twilio.com/docs/taskrouter/queue-ordering-last-first-out-lifo) - to learn more. - enum: - - FIFO - - LIFO + UniqueName: + description: An application-defined string that uniquely identifies + the Task Channel, such as `voice` or `sms`. type: string + ChannelOptimizedRouting: + description: Whether the Task Channel should prioritize Workers + that have been idle. If `true`, Workers that have been idle the + longest are prioritized. + type: boolean required: - FriendlyName - title: CreateTaskQueueRequest + - UniqueName + title: CreateTaskChannelRequest type: object responses: '201': content: application/json: schema: - $ref: '#/components/schemas/taskrouter.v1.workspace.task_queue' + $ref: '#/components/schemas/taskrouter.v1.workspace.task_channel' description: Created security: - accountSid_authToken: [] x-maturity: - GA + /v1/Workspaces/{WorkspaceSid}/TaskQueues/{Sid}: servers: - url: https://taskrouter.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - friendly_name - task_order + pathType: instance parent: /Workspaces - pathType: list - /v1/Workspaces/{WorkspaceSid}/TaskQueues/Statistics: - description: 'TODO: Resource-level docs' - get: - description: '' - operationId: ListTaskQueuesStatistics - parameters: - - description: The SID of the Workspace with the TaskQueues to read. - in: path - name: WorkspaceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^WS[0-9a-fA-F]{32}$ - type: string - - description: Only calculate statistics from this date and time and earlier, - specified in GMT as an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) - date-time. - in: query - name: EndDate - schema: - format: date-time - type: string - - description: The `friendly_name` of the TaskQueue statistics to read. - in: query - name: FriendlyName - schema: - type: string - - description: Only calculate statistics since this many minutes in the past. - The default is 15 minutes. - in: query - name: Minutes - schema: - type: integer - - description: Only calculate statistics from this date and time and later, - specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. - in: query - name: StartDate - schema: - format: date-time - type: string - - description: Only calculate statistics on this TaskChannel. Can be the TaskChannel's - SID or its `unique_name`, such as `voice`, `sms`, or `default`. - in: query - name: TaskChannel - schema: - type: string - - description: A comma separated list of values that describes the thresholds, - in seconds, to calculate statistics on. For each threshold specified, the - number of Tasks canceled and reservations accepted above and below the specified - thresholds in seconds are computed. - in: query - name: SplitByWaitTime - schema: - 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 - responses: - '200': - content: - application/json: - schema: - properties: - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - task_queues_statistics: - items: - $ref: '#/components/schemas/taskrouter.v1.workspace.task_queue.task_queues_statistics' - type: array - title: ListTaskQueuesStatisticsResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://taskrouter.twilio.com - x-twilio: - className: task_queues_statistics - defaultOutputProperties: - - cumulative - parent: /Workspaces/{WorkspaceSid}/TaskQueues - pathType: list - /v1/Workspaces/{WorkspaceSid}/TaskQueues/{Sid}: - delete: - description: '' - operationId: DeleteTaskQueue - parameters: - - description: The SID of the Workspace with the TaskQueue to delete. - in: path - name: WorkspaceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^WS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the TaskQueue resource to delete. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^WQ[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: 'TODO: Resource-level docs' get: description: '' operationId: FetchTaskQueue @@ -3129,19 +2737,19 @@ paths: name: WorkspaceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - description: The SID of the TaskQueue resource to fetch. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WQ[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -3162,46 +2770,28 @@ paths: name: WorkspaceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - description: The SID of the TaskQueue resource to update. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WQ[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - AssignmentActivitySid: - description: The SID of the Activity to assign Workers when a task - is assigned for them. - maxLength: 34 - minLength: 34 - pattern: ^WA[0-9a-fA-F]{32}$ - type: string FriendlyName: description: A descriptive string that you create to describe the TaskQueue. For example `Support-Tier 1`, `Sales`, or `Escalation`. type: string - MaxReservedWorkers: - description: The maximum number of Workers to create reservations - for the assignment of a task while in the queue. Maximum of 50. - type: integer - ReservationActivitySid: - description: The SID of the Activity to assign Workers when a task - is reserved for them. - maxLength: 34 - minLength: 34 - pattern: ^WA[0-9a-fA-F]{32}$ - type: string TargetWorkers: description: A string describing the Worker selection criteria for any Tasks that enter the TaskQueue. For example '"language" == @@ -3210,15 +2800,33 @@ paths: queue. Additional examples on how to describing Worker selection criteria below. type: string + ReservationActivitySid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WA[0-9a-fA-F]{32}$ + description: The SID of the Activity to assign Workers when a task + is reserved for them. + AssignmentActivitySid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WA[0-9a-fA-F]{32}$ + description: The SID of the Activity to assign Workers when a task + is assigned for them. + MaxReservedWorkers: + description: The maximum number of Workers to create reservations + for the assignment of a task while in the queue. Maximum of 50. + type: integer TaskOrder: + type: string + enum: + - FIFO + - LIFO description: 'How Tasks will be assigned to Workers. Can be: `FIFO` or `LIFO` and the default is `FIFO`. Use `FIFO` to assign the oldest task first and `LIFO` to assign the most recent task first. For more information, see [Queue Ordering](https://www.twilio.com/docs/taskrouter/queue-ordering-last-first-out-lifo).' - enum: - - FIFO - - LIFO - type: string title: UpdateTaskQueueRequest type: object responses: @@ -3232,47 +2840,240 @@ paths: - accountSid_authToken: [] x-maturity: - GA + delete: + description: '' + operationId: DeleteTaskQueue + parameters: + - description: The SID of the Workspace with the TaskQueue to delete. + in: path + name: WorkspaceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WS[0-9a-fA-F]{32}$ + - description: The SID of the TaskQueue resource to delete. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WQ[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Workspaces/{WorkspaceSid}/TaskQueues: servers: - url: https://taskrouter.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - friendly_name - task_order + pathType: list parent: /Workspaces - pathType: instance - /v1/Workspaces/{WorkspaceSid}/TaskQueues/{TaskQueueSid}/CumulativeStatistics: - description: 'TODO: Resource-level docs' get: description: '' - operationId: FetchTaskQueueCumulativeStatistics + operationId: ListTaskQueue parameters: - - description: The SID of the Workspace with the TaskQueue to fetch. + - description: The SID of the Workspace with the TaskQueue to read. in: path name: WorkspaceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the TaskQueue for which to fetch statistics. - in: path - name: TaskQueueSid - required: true + - description: The `friendly_name` of the TaskQueue resources to read. + in: query + name: FriendlyName schema: + type: string + - description: The attributes of the Workers to read. Returns the TaskQueues + with Workers that match the attributes specified in this parameter. + in: query + name: EvaluateWorkerAttributes + schema: + type: string + - description: The SID of the Worker with the TaskQueue resources to read. + in: query + name: WorkerSid + schema: + type: string + minLength: 34 maxLength: 34 + pattern: ^WK[0-9a-fA-F]{32}$ + - 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListTaskQueueResponse + properties: + task_queues: + type: array + items: + $ref: '#/components/schemas/taskrouter.v1.workspace.task_queue' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + post: + description: '' + operationId: CreateTaskQueue + parameters: + - description: The SID of the Workspace that the new TaskQueue belongs to. + in: path + name: WorkspaceSid + required: true + schema: + type: string minLength: 34 - pattern: ^WQ[0-9a-fA-F]{32}$ + maxLength: 34 + pattern: ^WS[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: A descriptive string that you create to describe the + TaskQueue. For example `Support-Tier 1`, `Sales`, or `Escalation`. + type: string + TargetWorkers: + description: A string that describes the Worker selection criteria + for any Tasks that enter the TaskQueue. For example, `'"language" + == "spanish"'`. The default value is `1==1`. If this value is + empty, Tasks will wait in the TaskQueue until they are deleted + or moved to another TaskQueue. For more information about Worker + selection, see [Describing Worker selection criteria](https://www.twilio.com/docs/taskrouter/api/taskqueues#target-workers). + type: string + MaxReservedWorkers: + description: The maximum number of Workers to reserve for the assignment + of a Task in the queue. Can be an integer between 1 and 50, inclusive + and defaults to 1. + type: integer + TaskOrder: + type: string + enum: + - FIFO + - LIFO + description: How Tasks will be assigned to Workers. Set this parameter + to `LIFO` to assign most recently created Task first or FIFO to + assign the oldest Task first. Default is `FIFO`. [Click here](https://www.twilio.com/docs/taskrouter/queue-ordering-last-first-out-lifo) + to learn more. + ReservationActivitySid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WA[0-9a-fA-F]{32}$ + description: The SID of the Activity to assign Workers when a task + is reserved for them. + AssignmentActivitySid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WA[0-9a-fA-F]{32}$ + description: The SID of the Activity to assign Workers when a task + is assigned to them. + required: + - FriendlyName + title: CreateTaskQueueRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/taskrouter.v1.workspace.task_queue' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Workspaces/{WorkspaceSid}/TaskQueues/{TaskQueueSid}/CumulativeStatistics: + servers: + - url: https://taskrouter.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - start_time + - end_time + - avg_task_acceptance_time + - tasks_completed + pathType: instance + parent: /Workspaces/{WorkspaceSid}/TaskQueues + className: task_queue_cumulative_statistics + get: + description: '' + operationId: FetchTaskQueueCumulativeStatistics + parameters: + - description: The SID of the Workspace with the TaskQueue to fetch. + in: path + name: WorkspaceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WS[0-9a-fA-F]{32}$ + - description: The SID of the TaskQueue for which to fetch statistics. + in: path + name: TaskQueueSid + required: true + schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^WQ[0-9a-fA-F]{32}$ - description: Only calculate statistics from this date and time and earlier, specified in GMT as an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time. in: query name: EndDate schema: - format: date-time type: string + format: date-time - description: Only calculate statistics since this many minutes in the past. The default is 15 minutes. in: query @@ -3284,8 +3085,8 @@ paths: in: query name: StartDate schema: - format: date-time type: string + format: date-time - description: Only calculate cumulative statistics on this TaskChannel. Can be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or `default`. @@ -3313,19 +3114,18 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Workspaces/{WorkspaceSid}/TaskQueues/{TaskQueueSid}/RealTimeStatistics: servers: - url: https://taskrouter.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - className: task_queue_cumulative_statistics defaultOutputProperties: - - start_time - - end_time - - avg_task_acceptance_time - - tasks_completed - parent: /Workspaces/{WorkspaceSid}/TaskQueues + - longest_task_waiting_age + - longest_task_waiting_sid + - total_tasks pathType: instance - /v1/Workspaces/{WorkspaceSid}/TaskQueues/{TaskQueueSid}/RealTimeStatistics: - description: 'TODO: Resource-level docs' + parent: /Workspaces/{WorkspaceSid}/TaskQueues + className: task_queue_real_time_statistics get: description: '' operationId: FetchTaskQueueRealTimeStatistics @@ -3335,19 +3135,19 @@ paths: name: WorkspaceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - description: The SID of the TaskQueue for which to fetch statistics. in: path name: TaskQueueSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WQ[0-9a-fA-F]{32}$ - type: string - description: The TaskChannel for which to fetch statistics. Can be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or `default`. in: query @@ -3365,18 +3165,16 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Workspaces/{WorkspaceSid}/TaskQueues/{TaskQueueSid}/Statistics: servers: - url: https://taskrouter.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - className: task_queue_real_time_statistics defaultOutputProperties: - - longest_task_waiting_age - - longest_task_waiting_sid - - total_tasks - parent: /Workspaces/{WorkspaceSid}/TaskQueues + - cumulative pathType: instance - /v1/Workspaces/{WorkspaceSid}/TaskQueues/{TaskQueueSid}/Statistics: - description: 'TODO: Resource-level docs' + parent: /Workspaces/{WorkspaceSid}/TaskQueues + className: task_queue_statistics get: description: '' operationId: FetchTaskQueueStatistics @@ -3386,27 +3184,27 @@ paths: name: WorkspaceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - description: The SID of the TaskQueue for which to fetch statistics. in: path name: TaskQueueSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WQ[0-9a-fA-F]{32}$ - type: string - description: Only calculate statistics from this date and time and earlier, specified in GMT as an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time. in: query name: EndDate schema: - format: date-time type: string + format: date-time - description: Only calculate statistics since this many minutes in the past. The default is 15 minutes. in: query @@ -3418,8 +3216,8 @@ paths: in: query name: StartDate schema: - format: date-time type: string + format: date-time - description: Only calculate real-time and cumulative statistics for the specified TaskChannel. Can be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or `default`. @@ -3446,98 +3244,69 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Workspaces/{WorkspaceSid}/TaskQueues/Statistics: servers: - url: https://taskrouter.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - className: task_queue_statistics defaultOutputProperties: - cumulative + pathType: list parent: /Workspaces/{WorkspaceSid}/TaskQueues - pathType: instance - /v1/Workspaces/{WorkspaceSid}/Tasks: - description: 'TODO: Resource-level docs' + className: task_queues_statistics get: description: '' - operationId: ListTask + operationId: ListTaskQueuesStatistics parameters: - - description: The SID of the Workspace with the Tasks to read. + - description: The SID of the Workspace with the TaskQueues to read. in: path name: WorkspaceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ + - description: Only calculate statistics from this date and time and earlier, + specified in GMT as an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) + date-time. + in: query + name: EndDate + schema: type: string - - description: The priority value of the Tasks to read. Returns the list of - all Tasks in the Workspace with the specified priority. + format: date-time + - description: The `friendly_name` of the TaskQueue statistics to read. in: query - name: Priority + name: FriendlyName schema: - type: integer - - description: 'The `assignment_status` of the Tasks you want to read. Can be: - `pending`, `reserved`, `assigned`, `canceled`, `wrapping`, or `completed`. - Returns all Tasks in the Workspace with the specified `assignment_status`.' + type: string + - description: Only calculate statistics since this many minutes in the past. + The default is 15 minutes. in: query - name: AssignmentStatus + name: Minutes schema: - items: - type: string - type: array - - description: The SID of the Workflow with the Tasks to read. Returns the Tasks - controlled by the Workflow identified by this SID. - in: query - name: WorkflowSid - schema: - maxLength: 34 - minLength: 34 - pattern: ^WW[0-9a-fA-F]{32}$ - type: string - - description: The friendly name of the Workflow with the Tasks to read. Returns - the Tasks controlled by the Workflow identified by this friendly name. - in: query - name: WorkflowName - schema: - type: string - - description: The SID of the TaskQueue with the Tasks to read. Returns the - Tasks waiting in the TaskQueue identified by this SID. - in: query - name: TaskQueueSid - schema: - maxLength: 34 - minLength: 34 - pattern: ^WQ[0-9a-fA-F]{32}$ - type: string - - description: The `friendly_name` of the TaskQueue with the Tasks to read. - Returns the Tasks waiting in the TaskQueue identified by this friendly name. + type: integer + - description: Only calculate statistics from this date and time and later, + specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. in: query - name: TaskQueueName + name: StartDate schema: type: string - - description: The attributes of the Tasks to read. Returns the Tasks that match - the attributes specified in this parameter. + format: date-time + - description: Only calculate statistics on this TaskChannel. Can be the TaskChannel's + SID or its `unique_name`, such as `voice`, `sms`, or `default`. in: query - name: EvaluateTaskAttributes + name: TaskChannel schema: type: string - - description: 'How to order the returned Task resources. y default, Tasks are - sorted by ascending DateCreated. This value is specified as: `Attribute:Order`, - where `Attribute` can be either `Priority` or `DateCreated` and `Order` - can be either `asc` or `desc`. For example, `Priority:desc` returns Tasks - ordered in descending order of their Priority. Multiple sort orders can - be specified in a comma-separated list such as `Priority:desc,DateCreated:asc`, - which returns the Tasks in descending Priority order and ascending DateCreated - Order.' + - description: A comma separated list of values that describes the thresholds, + in seconds, to calculate statistics on. For each threshold specified, the + number of Tasks canceled and reservations accepted above and below the specified + thresholds in seconds are computed. in: query - name: Ordering + name: SplitByWaitTime schema: type: string - - description: Whether to read Tasks with addons. If `true`, returns only Tasks - with addons. If `false`, returns only Tasks without addons. - in: query - name: HasAddons - schema: - type: boolean - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -3551,14 +3320,19 @@ paths: content: application/json: schema: + type: object + title: ListTaskQueuesStatisticsResponse properties: + task_queues_statistics: + type: array + items: + $ref: '#/components/schemas/taskrouter.v1.workspace.task_queue.task_queues_statistics' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -3572,161 +3346,161 @@ paths: url: format: uri type: string - type: object - tasks: - items: - $ref: '#/components/schemas/taskrouter.v1.workspace.task' - type: array - title: ListTaskResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: + /v1/Workspaces/{WorkspaceSid}/Tasks/{TaskSid}/Reservations: + servers: + - url: https://taskrouter.twilio.com + description: Tasks reserved for workers + x-twilio: + defaultOutputProperties: + - sid + - reservation_status + - worker_name + - worker_sid + pathType: list + parent: /Workspaces/{WorkspaceSid}/Tasks + get: description: '' - operationId: CreateTask + operationId: ListTaskReservation parameters: - - description: The SID of the Workspace that the new Task belongs to. + - description: The SID of the Workspace with the TaskReservation resources to + read. in: path name: WorkspaceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ + - description: The SID of the reserved Task resource with the TaskReservation + resources to read. + in: path + name: TaskSid + required: true + schema: type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Attributes: - description: 'A URL-encoded JSON string with the attributes of the - new task. This value is passed to the Workflow''s `assignment_callback_url` - when the Task is assigned to a Worker. For example: `{ "task_type": - "call", "twilio_call_sid": "CAxxx", "customer_ticket_number": - "12345" }`.' - type: string - Priority: - description: The priority to assign the new task and override the - default. When supplied, the new Task will have this priority unless - it matches a Workflow Target with a Priority set. When not supplied, - the new Task will have the priority of the matching Workflow Target. - Value can be 0 to 2^31^ (2,147,483,647). - type: integer - TaskChannel: - description: When MultiTasking is enabled, specify the TaskChannel - by passing either its `unique_name` or `sid`. Default value is - `default`. - type: string - Timeout: - description: The amount of time in seconds the new task can live - before being assigned. Can be up to a maximum of 2 weeks (1,209,600 - seconds). The default value is 24 hours (86,400 seconds). On timeout, - the `task.canceled` event will fire with description `Task TTL - Exceeded`. - type: integer - WorkflowSid: - description: The SID of the Workflow that you would like to handle - routing for the new Task. If there is only one Workflow defined - for the Workspace that you are posting the new task to, this parameter - is optional. - maxLength: 34 - minLength: 34 - pattern: ^WW[0-9a-fA-F]{32}$ - type: string - title: CreateTaskRequest - type: object + minLength: 34 + maxLength: 34 + pattern: ^WT[0-9a-fA-F]{32}$ + - description: 'Returns the list of reservations for a task with a specified + ReservationStatus. Can be: `pending`, `accepted`, `rejected`, or `timeout`.' + in: query + name: ReservationStatus + schema: + type: string + enum: + - pending + - accepted + - rejected + - timeout + - canceled + - rescinded + - wrapping + - completed + - 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 responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/taskrouter.v1.workspace.task' - description: Created + type: object + title: ListTaskReservationResponse + properties: + reservations: + type: array + items: + $ref: '#/components/schemas/taskrouter.v1.workspace.task.task_reservation' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string + description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Workspaces/{WorkspaceSid}/Tasks/{TaskSid}/Reservations/{Sid}: servers: - url: https://taskrouter.twilio.com + description: Tasks reserved for workers x-twilio: defaultOutputProperties: - sid - - age - - assignment_status - - priority - - reason - parent: /Workspaces - pathType: list - /v1/Workspaces/{WorkspaceSid}/Tasks/{Sid}: - delete: + - reservation_status + - worker_name + - worker_sid + pathType: instance + parent: /Workspaces/{WorkspaceSid}/Tasks + get: description: '' - operationId: DeleteTask + operationId: FetchTaskReservation parameters: - - description: The SID of the Workspace with the Task to delete. + - description: The SID of the Workspace with the TaskReservation resource to + fetch. in: path name: WorkspaceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Task resource to delete. + - description: The SID of the reserved Task resource with the TaskReservation + resource to fetch. in: path - name: Sid + name: TaskSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WT[0-9a-fA-F]{32}$ - type: string - - description: If provided, deletes this Task if (and only if) the [ETag](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag) - header of the Task matches the provided value. This matches the semantics - of (and is implemented with) the HTTP [If-Match header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Match). - in: header - name: If-Match + - description: The SID of the TaskReservation resource to fetch. + in: path + name: Sid + required: true schema: type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: 'TODO: Resource-level docs' - get: - description: '' - operationId: FetchTask - parameters: - - description: The SID of the Workspace with the Task to fetch. - in: path - name: WorkspaceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^WS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Task resource to fetch. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^WT[0-9a-fA-F]{32}$ - type: string + minLength: 34 + maxLength: 34 + pattern: ^WR[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/taskrouter.v1.workspace.task' + $ref: '#/components/schemas/taskrouter.v1.workspace.task.task_reservation' description: OK security: - accountSid_authToken: [] @@ -3734,29 +3508,38 @@ paths: - GA post: description: '' - operationId: UpdateTask + operationId: UpdateTaskReservation parameters: - - description: The SID of the Workspace with the Task to update. + - description: The SID of the Workspace with the TaskReservation resources to + update. in: path name: WorkspaceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Task resource to update. + - description: The SID of the reserved Task resource with the TaskReservation + resources to update. in: path - name: Sid + name: TaskSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WT[0-9a-fA-F]{32}$ + - description: The SID of the TaskReservation resource to update. + in: path + name: Sid + required: true + schema: type: string - - description: If provided, applies this mutation if (and only if) the [ETag](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag) - header of the Task matches the provided value. This matches the semantics - of (and is implemented with) the HTTP [If-Match header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Match). + minLength: 34 + maxLength: 34 + pattern: ^WR[0-9a-fA-F]{32}$ + - description: The If-Match HTTP request header in: header name: If-Match schema: @@ -3766,261 +3549,57 @@ paths: application/x-www-form-urlencoded: schema: properties: - AssignmentStatus: - description: 'The new status of the task. Can be: `canceled`, to - cancel a Task that is currently `pending` or `reserved`; `wrapping`, - to move the Task to wrapup state; or `completed`, to move a Task - to the completed state.' + ReservationStatus: + type: string enum: - pending - - reserved - - assigned + - accepted + - rejected + - timeout - canceled - - completed + - rescinded - wrapping + - completed + description: 'The new status of the reservation. Can be: `pending`, + `accepted`, `rejected`, or `timeout`.' + WorkerActivitySid: type: string - Attributes: - description: The JSON string that describes the custom attributes - of the task. + minLength: 34 + maxLength: 34 + pattern: ^WA[0-9a-fA-F]{32}$ + description: The new worker activity SID if rejecting a reservation. + Instruction: + description: The assignment instruction for reservation. type: string - Priority: - description: The Task's new priority value. When supplied, the Task - takes on the specified priority unless it matches a Workflow Target - with a Priority set. Value can be 0 to 2^31^ (2,147,483,647). + DequeuePostWorkActivitySid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WA[0-9a-fA-F]{32}$ + description: The SID of the Activity resource to start after executing + a Dequeue instruction. + DequeueFrom: + description: The Caller ID of the call to the worker when executing + a Dequeue instruction. + type: string + DequeueRecord: + description: Whether to record both legs of a call when executing + a Dequeue instruction or which leg to record. + type: string + DequeueTimeout: + description: Timeout for call when executing a Dequeue instruction. type: integer - Reason: - description: The reason that the Task was canceled or completed. - This parameter is required only if the Task is canceled or completed. - Setting this value queues the task for deletion and logs the reason. + DequeueTo: + description: The Contact URI of the worker when executing a Dequeue + instruction. Can be the URI of the Twilio Client, the SIP URI + for Programmable SIP, or the [E.164](https://www.twilio.com/docs/glossary/what-e164) + formatted phone number, depending on the destination. type: string - TaskChannel: - description: When MultiTasking is enabled, specify the TaskChannel - with the task to update. Can be the TaskChannel's SID or its `unique_name`, - such as `voice`, `sms`, or `default`. + DequeueStatusCallbackUrl: + description: The Callback URL for completed call event when executing + a Dequeue instruction. + format: uri type: string - title: UpdateTaskRequest - type: object - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/taskrouter.v1.workspace.task' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://taskrouter.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - age - - assignment_status - - priority - - reason - parent: /Workspaces - pathType: instance - /v1/Workspaces/{WorkspaceSid}/Tasks/{TaskSid}/Reservations: - description: Tasks reserved for workers - get: - description: '' - operationId: ListTaskReservation - parameters: - - description: The SID of the Workspace with the TaskReservation resources to - read. - in: path - name: WorkspaceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^WS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the reserved Task resource with the TaskReservation - resources to read. - in: path - name: TaskSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^WT[0-9a-fA-F]{32}$ - type: string - - description: 'Returns the list of reservations for a task with a specified - ReservationStatus. Can be: `pending`, `accepted`, `rejected`, or `timeout`.' - in: query - name: ReservationStatus - schema: - enum: - - pending - - accepted - - rejected - - timeout - - canceled - - rescinded - - wrapping - - completed - 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 - responses: - '200': - content: - application/json: - schema: - properties: - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - reservations: - items: - $ref: '#/components/schemas/taskrouter.v1.workspace.task.task_reservation' - type: array - title: ListTaskReservationResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://taskrouter.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - reservation_status - - worker_name - - worker_sid - parent: /Workspaces/{WorkspaceSid}/Tasks - pathType: list - /v1/Workspaces/{WorkspaceSid}/Tasks/{TaskSid}/Reservations/{Sid}: - description: Tasks reserved for workers - get: - description: '' - operationId: FetchTaskReservation - parameters: - - description: The SID of the Workspace with the TaskReservation resource to - fetch. - in: path - name: WorkspaceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^WS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the reserved Task resource with the TaskReservation - resource to fetch. - in: path - name: TaskSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^WT[0-9a-fA-F]{32}$ - type: string - - description: The SID of the TaskReservation resource to fetch. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^WR[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/taskrouter.v1.workspace.task.task_reservation' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: '' - operationId: UpdateTaskReservation - parameters: - - description: The SID of the Workspace with the TaskReservation resources to - update. - in: path - name: WorkspaceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^WS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the reserved Task resource with the TaskReservation - resources to update. - in: path - name: TaskSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^WT[0-9a-fA-F]{32}$ - type: string - - description: The SID of the TaskReservation resource to update. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^WR[0-9a-fA-F]{32}$ - type: string - - description: The If-Match HTTP request header - in: header - name: If-Match - schema: - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Beep: - description: 'Whether to play a notification beep when the participant - joins or when to play a beep. Can be: `true`, `false`, `onEnter`, - or `onExit`. The default value is `true`.' - type: string - BeepOnCustomerEntrance: - description: Whether to play a notification beep when the customer - joins. - type: boolean - CallAccept: - description: Whether to accept a reservation when executing a Call - instruction. - type: boolean CallFrom: description: The Caller ID of the outbound call when executing a Call instruction. @@ -4029,11 +3608,6 @@ paths: description: Whether to record both legs of a call when executing a Call instruction or which leg to record. type: string - CallStatusCallbackUrl: - description: The URL to call for the completed call event when - executing a Call instruction. - format: uri - type: string CallTimeout: description: Timeout for call when executing a Call instruction. type: integer @@ -4048,20 +3622,106 @@ paths: a result of the Call instruction. format: uri type: string - ConferenceRecord: - description: 'Whether to record the conference the participant is - joining or when to record the conference. Can be: `true`, `false`, - `record-from-start`, and `do-not-record`. The default value is - `false`.' + CallStatusCallbackUrl: + description: The URL to call for the completed call event when + executing a Call instruction. + format: uri type: string - ConferenceRecordingStatusCallback: - description: The URL we should call using the `conference_recording_status_callback_method` - when the conference recording is available. + CallAccept: + description: Whether to accept a reservation when executing a Call + instruction. + type: boolean + RedirectCallSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ + description: The Call SID of the call parked in the queue when executing + a Redirect instruction. + RedirectAccept: + description: Whether the reservation should be accepted when executing + a Redirect instruction. + type: boolean + RedirectUrl: + description: TwiML URI to redirect the call to when executing the + Redirect instruction. format: uri type: string - ConferenceRecordingStatusCallbackMethod: - description: 'The HTTP method we should use to call `conference_recording_status_callback`. - Can be: `GET` or `POST` and defaults to `POST`.' + To: + description: The Contact URI of the worker when executing a Conference + instruction. Can be the URI of the Twilio Client, the SIP URI + for Programmable SIP, or the [E.164](https://www.twilio.com/docs/glossary/what-e164) + formatted phone number, depending on the destination. + type: string + From: + description: The Caller ID of the call to the worker when executing + a Conference instruction. + type: string + StatusCallback: + description: The URL we should call using the `status_callback_method` + to send status information to your application. + format: uri + type: string + StatusCallbackMethod: + description: 'The HTTP method we should use to call `status_callback`. + Can be: `POST` or `GET` and the default is `POST`.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + type: string + StatusCallbackEvent: + type: array + items: + type: string + enum: + - initiated + - ringing + - answered + - completed + description: 'The call progress events that we will send to `status_callback`. + Can be: `initiated`, `ringing`, `answered`, or `completed`.' + Timeout: + description: Timeout for call when executing a Conference instruction. + type: integer + Record: + description: Whether to record the participant and their conferences, + including the time between conferences. The default is `false`. + type: boolean + Muted: + description: Whether the agent is muted in the conference. The default + is `false`. + type: boolean + Beep: + description: 'Whether to play a notification beep when the participant + joins or when to play a beep. Can be: `true`, `false`, `onEnter`, + or `onExit`. The default value is `true`.' + type: string + StartConferenceOnEnter: + description: Whether to start the conference when the participant + joins, if it has not already started. The default is `true`. If + `false` and the conference has not started, the participant is + muted and hears background music until another participant starts + the conference. + type: boolean + EndConferenceOnExit: + description: Whether to end the conference when the agent leaves. + type: boolean + WaitUrl: + description: The URL we should call using the `wait_method` for + the music to play while participants are waiting for the conference + to start. The default value is the URL of our standard hold music. + [Learn more about hold music](https://www.twilio.com/labs/twimlets/holdmusic). + format: uri + type: string + WaitMethod: + description: The HTTP method we should use to call `wait_url`. Can + be `GET` or `POST` and the default is `POST`. When using a static + audio file, this should be `GET` so that we can cache the file. enum: - HEAD - GET @@ -4071,6 +3731,16 @@ paths: - DELETE format: http-method type: string + EarlyMedia: + description: Whether to allow an agent to hear the state of the + outbound call, including ringing or disconnect messages. The default + is `true`. + type: boolean + MaxParticipants: + description: The maximum number of participants in the conference. + Can be a positive integer from `2` to `250`. The default value + is `250`. + type: integer ConferenceStatusCallback: description: The URL we should call using the `conference_status_callback_method` when the conference events in `conference_status_callback_event` @@ -4079,21 +3749,6 @@ paths: are ignored. format: uri type: string - ConferenceStatusCallbackEvent: - description: 'The conference status events that we will send to - `conference_status_callback`. Can be: `start`, `end`, `join`, - `leave`, `mute`, `hold`, `speaker`.' - items: - enum: - - start - - end - - join - - leave - - mute - - hold - - speaker - type: string - type: array ConferenceStatusCallbackMethod: description: 'The HTTP method we should use to call `conference_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.' @@ -4106,87 +3761,35 @@ paths: - DELETE format: http-method type: string + ConferenceStatusCallbackEvent: + type: array + items: + type: string + enum: + - start + - end + - join + - leave + - mute + - hold + - speaker + description: 'The conference status events that we will send to + `conference_status_callback`. Can be: `start`, `end`, `join`, + `leave`, `mute`, `hold`, `speaker`.' + ConferenceRecord: + description: 'Whether to record the conference the participant is + joining or when to record the conference. Can be: `true`, `false`, + `record-from-start`, and `do-not-record`. The default value is + `false`.' + type: string ConferenceTrim: description: 'How to trim the leading and trailing silence from your recorded conference audio files. Can be: `trim-silence` or `do-not-trim` and defaults to `trim-silence`.' type: string - DequeueFrom: - description: The Caller ID of the call to the worker when executing - a Dequeue instruction. - type: string - DequeuePostWorkActivitySid: - description: The SID of the Activity resource to start after executing - a Dequeue instruction. - maxLength: 34 - minLength: 34 - pattern: ^WA[0-9a-fA-F]{32}$ - type: string - DequeueRecord: - description: Whether to record both legs of a call when executing - a Dequeue instruction or which leg to record. - type: string - DequeueStatusCallbackEvent: - description: The Call progress events sent via webhooks as a result - of a Dequeue instruction. - items: - type: string - type: array - DequeueStatusCallbackUrl: - description: The Callback URL for completed call event when executing - a Dequeue instruction. - format: uri - type: string - DequeueTimeout: - description: Timeout for call when executing a Dequeue instruction. - type: integer - DequeueTo: - description: The Contact URI of the worker when executing a Dequeue - instruction. Can be the URI of the Twilio Client, the SIP URI - for Programmable SIP, or the [E.164](https://www.twilio.com/docs/glossary/what-e164) - formatted phone number, depending on the destination. - type: string - EarlyMedia: - description: Whether to allow an agent to hear the state of the - outbound call, including ringing or disconnect messages. The default - is `true`. - type: boolean - EndConferenceOnCustomerExit: - description: Whether to end the conference when the customer leaves. - type: boolean - EndConferenceOnExit: - description: Whether to end the conference when the agent leaves. - type: boolean - From: - description: The Caller ID of the call to the worker when executing - a Conference instruction. - type: string - Instruction: - description: The assignment instruction for reservation. - type: string - MaxParticipants: - description: The maximum number of participants in the conference. - Can be a positive integer from `2` to `250`. The default value - is `250`. - type: integer - Muted: - description: Whether the agent is muted in the conference. The default - is `false`. - type: boolean - PostWorkActivitySid: - description: The new worker activity SID after executing a Conference - instruction. - maxLength: 34 - minLength: 34 - pattern: ^WA[0-9a-fA-F]{32}$ - type: string - Record: - description: Whether to record the participant and their conferences, - including the time between conferences. The default is `false`. - type: boolean - RecordingChannels: - description: 'The recording channels for the final recording. Can - be: `mono` or `dual` and the default is `mono`.' + RecordingChannels: + description: 'The recording channels for the final recording. Can + be: `mono` or `dual` and the default is `mono`.' type: string RecordingStatusCallback: description: The URL that we should call using the `recording_status_callback_method` @@ -4205,127 +3808,65 @@ paths: - DELETE format: http-method type: string - RedirectAccept: - description: Whether the reservation should be accepted when executing - a Redirect instruction. - type: boolean - RedirectCallSid: - description: The Call SID of the call parked in the queue when executing - a Redirect instruction. - maxLength: 34 - minLength: 34 - pattern: ^CA[0-9a-fA-F]{32}$ - type: string - RedirectUrl: - description: TwiML URI to redirect the call to when executing the - Redirect instruction. + ConferenceRecordingStatusCallback: + description: The URL we should call using the `conference_recording_status_callback_method` + when the conference recording is available. format: uri type: string + ConferenceRecordingStatusCallbackMethod: + description: 'The HTTP method we should use to call `conference_recording_status_callback`. + Can be: `GET` or `POST` and defaults to `POST`.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + type: string Region: description: The [region](https://support.twilio.com/hc/en-us/articles/223132167-How-global-low-latency-routing-and-region-selection-work-for-conferences-and-Client-calls) where we should mix the recorded audio. Can be:`us1`, `ie1`, `de1`, `sg1`, `br1`, `au1`, or `jp1`. type: string - ReservationStatus: - description: 'The new status of the reservation. Can be: `pending`, - `accepted`, `rejected`, or `timeout`.' - enum: - - pending - - accepted - - rejected - - timeout - - canceled - - rescinded - - wrapping - - completed - type: string - SipAuthPassword: - description: The SIP password for authentication. - type: string SipAuthUsername: description: The SIP username used for authentication. type: string - StartConferenceOnEnter: - description: Whether to start the conference when the participant - joins, if it has not already started. The default is `true`. If - `false` and the conference has not started, the participant is - muted and hears background music until another participant starts - the conference. - type: boolean - StatusCallback: - description: The URL we should call using the `status_callback_method` - to send status information to your application. - format: uri + SipAuthPassword: + description: The SIP password for authentication. type: string - StatusCallbackEvent: - description: 'The call progress events that we will send to `status_callback`. - Can be: `initiated`, `ringing`, `answered`, or `completed`.' + DequeueStatusCallbackEvent: + type: array items: - enum: - - initiated - - ringing - - answered - - completed type: string - type: array - StatusCallbackMethod: - description: 'The HTTP method we should use to call `status_callback`. - Can be: `POST` or `GET` and the default is `POST`.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method + description: The Call progress events sent via webhooks as a result + of a Dequeue instruction. + PostWorkActivitySid: type: string - Supervisor: - description: The Supervisor SID/URI when executing the Supervise + minLength: 34 + maxLength: 34 + pattern: ^WA[0-9a-fA-F]{32}$ + description: The new worker activity SID after executing a Conference instruction. - type: string SupervisorMode: - description: The Supervisor mode when executing the Supervise instruction. + type: string enum: - monitor - whisper - barge + description: The Supervisor mode when executing the Supervise instruction. + Supervisor: + description: The Supervisor SID/URI when executing the Supervise + instruction. type: string - Timeout: - description: Timeout for call when executing a Conference instruction. - type: integer - To: - description: The Contact URI of the worker when executing a Conference - instruction. Can be the URI of the Twilio Client, the SIP URI - for Programmable SIP, or the [E.164](https://www.twilio.com/docs/glossary/what-e164) - formatted phone number, depending on the destination. - type: string - WaitMethod: - description: The HTTP method we should use to call `wait_url`. Can - be `GET` or `POST` and the default is `POST`. When using a static - audio file, this should be `GET` so that we can cache the file. - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - WaitUrl: - description: The URL we should call using the `wait_method` for - the music to play while participants are waiting for the conference - to start. The default value is the URL of our standard hold music. - [Learn more about hold music](https://www.twilio.com/labs/twimlets/holdmusic). - format: uri - type: string - WorkerActivitySid: - description: The new worker activity SID if rejecting a reservation. - maxLength: 34 - minLength: 34 - pattern: ^WA[0-9a-fA-F]{32}$ - type: string + EndConferenceOnCustomerExit: + description: Whether to end the conference when the customer leaves. + type: boolean + BeepOnCustomerEntrance: + description: Whether to play a notification beep when the customer + joins. + type: boolean title: UpdateTaskReservationRequest type: object responses: @@ -4339,18 +3880,17 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Workspaces/{WorkspaceSid}/Workers: servers: - url: https://taskrouter.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - - reservation_status - - worker_name - - worker_sid - parent: /Workspaces/{WorkspaceSid}/Tasks - pathType: instance - /v1/Workspaces/{WorkspaceSid}/Workers: - description: 'TODO: Resource-level docs' + - friendly_name + - available + pathType: list + parent: /Workspaces get: description: '' operationId: ListWorker @@ -4360,10 +3900,10 @@ paths: name: WorkspaceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - description: The `activity_name` of the Worker resources to read. in: query name: ActivityName @@ -4373,10 +3913,10 @@ paths: in: query name: ActivitySid schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WA[0-9a-fA-F]{32}$ - type: string - description: Whether to return only Worker resources that are available or unavailable. Can be `true`, `1`, or `yes` to return Worker resources that are available, and `false`, or any value returns the Worker resources that @@ -4407,10 +3947,10 @@ paths: in: query name: TaskQueueSid schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WQ[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 @@ -4424,14 +3964,19 @@ paths: content: application/json: schema: + type: object + title: ListWorkerResponse properties: + workers: + type: array + items: + $ref: '#/components/schemas/taskrouter.v1.workspace.worker' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -4445,13 +3990,8 @@ paths: url: format: uri type: string - type: object - workers: - items: - $ref: '#/components/schemas/taskrouter.v1.workspace.worker' - type: array - title: ListWorkerResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] @@ -4466,34 +4006,34 @@ paths: name: WorkspaceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: + FriendlyName: + description: A descriptive string that you create to describe the + new Worker. It can be up to 64 characters long. + type: string ActivitySid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WA[0-9a-fA-F]{32}$ description: The SID of a valid Activity that will describe the new Worker's initial state. See [Activities](https://www.twilio.com/docs/taskrouter/api/activity) for more information. If not provided, the new Worker's initial state is the `default_activity_sid` configured on the Workspace. - maxLength: 34 - minLength: 34 - pattern: ^WA[0-9a-fA-F]{32}$ - type: string Attributes: description: 'A valid JSON string that describes the new Worker. For example: `{ "email": "Bob@example.com", "phone": "+5095551234" }`. This data is passed to the `assignment_callback_url` when TaskRouter assigns a Task to the Worker. Defaults to {}.' type: string - FriendlyName: - description: A descriptive string that you create to describe the - new Worker. It can be up to 64 characters long. - type: string required: - FriendlyName title: CreateWorkerRequest @@ -4509,208 +4049,118 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Workspaces/{WorkspaceSid}/Workers/{Sid}: servers: - url: https://taskrouter.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - friendly_name - available + pathType: instance parent: /Workspaces - pathType: list - /v1/Workspaces/{WorkspaceSid}/Workers/CumulativeStatistics: - description: 'TODO: Resource-level docs' get: description: '' - operationId: FetchWorkersCumulativeStatistics + operationId: FetchWorker parameters: - - description: The SID of the Workspace with the resource to fetch. + - description: The SID of the Workspace with the Worker to fetch. in: path name: WorkspaceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - - description: Only calculate statistics from this date and time and earlier, - specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. - in: query - name: EndDate - schema: - format: date-time - type: string - - description: Only calculate statistics since this many minutes in the past. - The default 15 minutes. This is helpful for displaying statistics for the - last 15 minutes, 240 minutes (4 hours), and 480 minutes (8 hours) to see - trends. - in: query - name: Minutes - schema: - type: integer - - description: Only calculate statistics from this date and time and later, - specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. - in: query - name: StartDate - schema: - format: date-time - type: string - - description: Only calculate cumulative statistics on this TaskChannel. Can - be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or - `default`. - in: query - name: TaskChannel - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/taskrouter.v1.workspace.worker.workers_cumulative_statistics' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://taskrouter.twilio.com - x-twilio: - className: workers_cumulative_statistics - defaultOutputProperties: - - reservations_created - - reservations_accepted - - reservations_rejected - - reservations_timed_out - - reservations_canceled - - reservations_rescinded - parent: /Workspaces/{WorkspaceSid}/Workers - pathType: instance - /v1/Workspaces/{WorkspaceSid}/Workers/RealTimeStatistics: - description: 'TODO: Resource-level docs' - get: - description: '' - operationId: FetchWorkersRealTimeStatistics - parameters: - - description: The SID of the Workspace with the resource to fetch. + - description: The SID of the Worker resource to fetch. in: path - name: WorkspaceSid + name: Sid required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^WS[0-9a-fA-F]{32}$ - type: string - - description: Only calculate real-time statistics on this TaskChannel. Can - be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or - `default`. - in: query - name: TaskChannel schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^WK[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/taskrouter.v1.workspace.worker.workers_real_time_statistics' + $ref: '#/components/schemas/taskrouter.v1.workspace.worker' description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://taskrouter.twilio.com - x-twilio: - className: workers_real_time_statistics - defaultOutputProperties: - - total_workers - parent: /Workspaces/{WorkspaceSid}/Workers - pathType: instance - /v1/Workspaces/{WorkspaceSid}/Workers/Statistics: - description: 'TODO: Resource-level docs' - get: + post: description: '' - operationId: FetchWorkerStatistics + operationId: UpdateWorker parameters: - - description: The SID of the Workspace with the Worker to fetch. + - description: The SID of the Workspace with the Worker to update. in: path name: WorkspaceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - - description: Only calculate statistics since this many minutes in the past. - The default 15 minutes. This is helpful for displaying statistics for the - last 15 minutes, 240 minutes (4 hours), and 480 minutes (8 hours) to see - trends. - in: query - name: Minutes - schema: - type: integer - - description: Only calculate statistics from this date and time and later, - specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. - in: query - name: StartDate - schema: - format: date-time - type: string - - description: Only calculate statistics from this date and time and earlier, - specified in GMT as an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) - date-time. - in: query - name: EndDate + - description: The SID of the Worker resource to update. + in: path + name: Sid + required: true schema: - format: date-time type: string - - description: The SID of the TaskQueue for which to fetch Worker statistics. - in: query - name: TaskQueueSid - schema: - maxLength: 34 minLength: 34 - pattern: ^WQ[0-9a-fA-F]{32}$ - type: string - - description: The `friendly_name` of the TaskQueue for which to fetch Worker - statistics. - in: query - name: TaskQueueName - schema: - type: string - - description: Only include Workers with `friendly_name` values that match this - parameter. - in: query - name: FriendlyName - schema: - type: string - - description: Only calculate statistics on this TaskChannel. Can be the TaskChannel's - SID or its `unique_name`, such as `voice`, `sms`, or `default`. - in: query - name: TaskChannel + maxLength: 34 + pattern: ^WK[0-9a-fA-F]{32}$ + - description: The If-Match HTTP request header + in: header + name: If-Match schema: type: string + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + ActivitySid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WA[0-9a-fA-F]{32}$ + description: The SID of a valid Activity that will describe the + Worker's initial state. See [Activities](https://www.twilio.com/docs/taskrouter/api/activity) + for more information. + Attributes: + description: 'The JSON string that describes the Worker. For example: + `{ "email": "Bob@example.com", "phone": "+5095551234" }`. This + data is passed to the `assignment_callback_url` when TaskRouter + assigns a Task to the Worker. Defaults to {}.' + type: string + FriendlyName: + description: A descriptive string that you create to describe the + Worker. It can be up to 64 characters long. + type: string + RejectPendingReservations: + description: Whether to reject the Worker's pending reservations. + This option is only valid if the Worker's new [Activity](https://www.twilio.com/docs/taskrouter/api/activity) + resource has its `availability` property set to `False`. + type: boolean + title: UpdateWorkerRequest + type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/taskrouter.v1.workspace.worker.worker_statistics' + $ref: '#/components/schemas/taskrouter.v1.workspace.worker' description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://taskrouter.twilio.com - x-twilio: - className: workers_statistics - defaultOutputProperties: - - cumulative - parent: /Workspaces/{WorkspaceSid}/Workers - pathType: instance - /v1/Workspaces/{WorkspaceSid}/Workers/{Sid}: delete: description: '' operationId: DeleteWorker @@ -4720,19 +4170,19 @@ paths: name: WorkspaceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - description: The SID of the Worker resource to delete. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WK[0-9a-fA-F]{32}$ - type: string - description: The If-Match HTTP request header in: header name: If-Match @@ -4745,141 +4195,40 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Workspaces/{WorkspaceSid}/Workers/{WorkerSid}/Channels: + servers: + - url: https://taskrouter.twilio.com description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - task_channel_sid + - task_channel_unique_name + pathType: list + parent: /Workspaces/{WorkspaceSid}/Workers + className: worker_channel get: description: '' - operationId: FetchWorker + operationId: ListWorkerChannel parameters: - - description: The SID of the Workspace with the Worker to fetch. + - description: The SID of the Workspace with the WorkerChannels to read. in: path name: WorkspaceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Worker resource to fetch. + - description: The SID of the Worker with the WorkerChannels to read. in: path - name: Sid + name: WorkerSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WK[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/taskrouter.v1.workspace.worker' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: '' - operationId: UpdateWorker - parameters: - - description: The SID of the Workspace with the Worker to update. - in: path - name: WorkspaceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^WS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Worker resource to update. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^WK[0-9a-fA-F]{32}$ - type: string - - description: The If-Match HTTP request header - in: header - name: If-Match - schema: - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - ActivitySid: - description: The SID of a valid Activity that will describe the - Worker's initial state. See [Activities](https://www.twilio.com/docs/taskrouter/api/activity) - for more information. - maxLength: 34 - minLength: 34 - pattern: ^WA[0-9a-fA-F]{32}$ - type: string - Attributes: - description: 'The JSON string that describes the Worker. For example: - `{ "email": "Bob@example.com", "phone": "+5095551234" }`. This - data is passed to the `assignment_callback_url` when TaskRouter - assigns a Task to the Worker. Defaults to {}.' - type: string - FriendlyName: - description: A descriptive string that you create to describe the - Worker. It can be up to 64 characters long. - type: string - RejectPendingReservations: - description: Whether to reject the Worker's pending reservations. - This option is only valid if the Worker's new [Activity](https://www.twilio.com/docs/taskrouter/api/activity) - resource has its `availability` property set to `False`. - type: boolean - title: UpdateWorkerRequest - type: object - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/taskrouter.v1.workspace.worker' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://taskrouter.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - available - parent: /Workspaces - pathType: instance - /v1/Workspaces/{WorkspaceSid}/Workers/{WorkerSid}/Channels: - description: 'TODO: Resource-level docs' - get: - description: '' - operationId: ListWorkerChannel - parameters: - - description: The SID of the Workspace with the WorkerChannels to read. - in: path - name: WorkspaceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^WS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Worker with the WorkerChannels to read. - in: path - name: WorkerSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^WK[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 @@ -4893,18 +4242,19 @@ paths: content: application/json: schema: + type: object + title: ListWorkerChannelResponse properties: channels: + type: array items: $ref: '#/components/schemas/taskrouter.v1.workspace.worker.worker_channel' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -4918,26 +4268,25 @@ paths: url: format: uri type: string - type: object - title: ListWorkerChannelResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Workspaces/{WorkspaceSid}/Workers/{WorkerSid}/Channels/{Sid}: servers: - url: https://taskrouter.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - className: worker_channel defaultOutputProperties: - sid - task_channel_sid - task_channel_unique_name + pathType: instance parent: /Workspaces/{WorkspaceSid}/Workers - pathType: list - /v1/Workspaces/{WorkspaceSid}/Workers/{WorkerSid}/Channels/{Sid}: - description: 'TODO: Resource-level docs' + className: worker_channel get: description: '' operationId: FetchWorkerChannel @@ -4947,19 +4296,19 @@ paths: name: WorkspaceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - description: The SID of the Worker with the WorkerChannel to fetch. in: path name: WorkerSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WK[0-9a-fA-F]{32}$ - type: string - description: The SID of the WorkerChannel to fetch. in: path name: Sid @@ -4986,19 +4335,19 @@ paths: name: WorkspaceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - description: The SID of the Worker with the WorkerChannel to update. in: path name: WorkerSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WK[0-9a-fA-F]{32}$ - type: string - description: The SID of the WorkerChannel to update. in: path name: Sid @@ -5010,17 +4359,17 @@ paths: application/x-www-form-urlencoded: schema: properties: - Available: - description: Whether the WorkerChannel is available. Set to `false` - to prevent the Worker from receiving any new Tasks of this TaskChannel - type. - type: boolean Capacity: description: The total number of Tasks that the Worker should handle for the TaskChannel type. TaskRouter creates reservations for Tasks of this TaskChannel type up to the specified capacity. If the capacity is 0, no new reservations will be created. type: integer + Available: + description: Whether the WorkerChannel is available. Set to `false` + to prevent the Worker from receiving any new Tasks of this TaskChannel + type. + type: boolean title: UpdateWorkerChannelRequest type: object responses: @@ -5034,18 +4383,88 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Workspaces/{WorkspaceSid}/Workers/{WorkerSid}/Statistics: servers: - url: https://taskrouter.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - className: worker_channel defaultOutputProperties: - - sid - - task_channel_sid - - task_channel_unique_name - parent: /Workspaces/{WorkspaceSid}/Workers + - cumulative pathType: instance + parent: /Workspaces/{WorkspaceSid}/Workers + className: worker_statistics + get: + description: '' + operationId: FetchWorkerInstanceStatistics + parameters: + - description: The SID of the Workspace with the WorkerChannel to fetch. + in: path + name: WorkspaceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WS[0-9a-fA-F]{32}$ + - description: The SID of the Worker with the WorkerChannel to fetch. + in: path + name: WorkerSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WK[0-9a-fA-F]{32}$ + - description: Only calculate statistics since this many minutes in the past. + The default 15 minutes. This is helpful for displaying statistics for the + last 15 minutes, 240 minutes (4 hours), and 480 minutes (8 hours) to see + trends. + in: query + name: Minutes + schema: + type: integer + - description: Only calculate statistics from this date and time and later, + specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + in: query + name: StartDate + schema: + type: string + format: date-time + - description: Only include usage that occurred on or before this date, specified + in GMT as an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time. + in: query + name: EndDate + schema: + type: string + format: date-time + - description: Only calculate statistics on this TaskChannel. Can be the TaskChannel's + SID or its `unique_name`, such as `voice`, `sms`, or `default`. + in: query + name: TaskChannel + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/taskrouter.v1.workspace.worker.worker_instance_statistics' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA /v1/Workspaces/{WorkspaceSid}/Workers/{WorkerSid}/Reservations: + servers: + - url: https://taskrouter.twilio.com description: Current and past reservations for a worker + x-twilio: + defaultOutputProperties: + - sid + - reservation_status + - date_created + pathType: list + parent: /Workspaces/{WorkspaceSid}/Workers get: description: '' operationId: ListWorkerReservation @@ -5056,26 +4475,27 @@ paths: name: WorkspaceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - description: The SID of the reserved Worker resource with the WorkerReservation resources to read. in: path name: WorkerSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WK[0-9a-fA-F]{32}$ - type: string - description: 'Returns the list of reservations for a worker with a specified ReservationStatus. Can be: `pending`, `accepted`, `rejected`, `timeout`, `canceled`, or `rescinded`.' in: query name: ReservationStatus schema: + type: string enum: - pending - accepted @@ -5085,7 +4505,6 @@ paths: - rescinded - wrapping - completed - type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -5099,14 +4518,19 @@ paths: content: application/json: schema: + type: object + title: ListWorkerReservationResponse properties: + reservations: + type: array + items: + $ref: '#/components/schemas/taskrouter.v1.workspace.worker.worker_reservation' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -5120,29 +4544,24 @@ paths: url: format: uri type: string - type: object - reservations: - items: - $ref: '#/components/schemas/taskrouter.v1.workspace.worker.worker_reservation' - type: array - title: ListWorkerReservationResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Workspaces/{WorkspaceSid}/Workers/{WorkerSid}/Reservations/{Sid}: servers: - url: https://taskrouter.twilio.com + description: Current and past reservations for a worker x-twilio: defaultOutputProperties: - sid - reservation_status - date_created + pathType: instance parent: /Workspaces/{WorkspaceSid}/Workers - pathType: list - /v1/Workspaces/{WorkspaceSid}/Workers/{WorkerSid}/Reservations/{Sid}: - description: Current and past reservations for a worker get: description: '' operationId: FetchWorkerReservation @@ -5153,29 +4572,29 @@ paths: name: WorkspaceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - description: The SID of the reserved Worker resource with the WorkerReservation resource to fetch. in: path name: WorkerSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WK[0-9a-fA-F]{32}$ - type: string - description: The SID of the WorkerReservation resource to fetch. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WR[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -5197,29 +4616,29 @@ paths: name: WorkspaceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - description: The SID of the reserved Worker resource with the WorkerReservation resources to update. in: path name: WorkerSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WK[0-9a-fA-F]{32}$ - type: string - description: The SID of the WorkerReservation resource to update. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WR[0-9a-fA-F]{32}$ - type: string - description: The If-Match HTTP request header in: header name: If-Match @@ -5230,19 +4649,57 @@ paths: application/x-www-form-urlencoded: schema: properties: - Beep: - description: 'Whether to play a notification beep when the participant - joins or when to play a beep. Can be: `true`, `false`, `onEnter`, - or `onExit`. The default value is `true`.' + ReservationStatus: + type: string + enum: + - pending + - accepted + - rejected + - timeout + - canceled + - rescinded + - wrapping + - completed + description: 'The new status of the reservation. Can be: `pending`, + `accepted`, `rejected`, `timeout`, `canceled`, or `rescinded`.' + WorkerActivitySid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WA[0-9a-fA-F]{32}$ + description: The new worker activity SID if rejecting a reservation. + Instruction: + description: The assignment instruction for the reservation. + type: string + DequeuePostWorkActivitySid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WA[0-9a-fA-F]{32}$ + description: The SID of the Activity resource to start after executing + a Dequeue instruction. + DequeueFrom: + description: The caller ID of the call to the worker when executing + a Dequeue instruction. + type: string + DequeueRecord: + description: Whether to record both legs of a call when executing + a Dequeue instruction or which leg to record. + type: string + DequeueTimeout: + description: The timeout for call when executing a Dequeue instruction. + type: integer + DequeueTo: + description: The contact URI of the worker when executing a Dequeue + instruction. Can be the URI of the Twilio Client, the SIP URI + for Programmable SIP, or the [E.164](https://www.twilio.com/docs/glossary/what-e164) + formatted phone number, depending on the destination. + type: string + DequeueStatusCallbackUrl: + description: The callback URL for completed call event when executing + a Dequeue instruction. + format: uri type: string - BeepOnCustomerEntrance: - description: Whether to play a notification beep when the customer - joins. - type: boolean - CallAccept: - description: Whether to accept a reservation when executing a Call - instruction. - type: boolean CallFrom: description: The Caller ID of the outbound call when executing a Call instruction. @@ -5251,11 +4708,6 @@ paths: description: Whether to record both legs of a call when executing a Call instruction. type: string - CallStatusCallbackUrl: - description: The URL to call for the completed call event when executing - a Call instruction. - format: uri - type: string CallTimeout: description: The timeout for a call when executing a Call instruction. type: integer @@ -5270,20 +4722,108 @@ paths: a result of the Call instruction. format: uri type: string - ConferenceRecord: - description: 'Whether to record the conference the participant is - joining or when to record the conference. Can be: `true`, `false`, - `record-from-start`, and `do-not-record`. The default value is - `false`.' + CallStatusCallbackUrl: + description: The URL to call for the completed call event when executing + a Call instruction. + format: uri type: string - ConferenceRecordingStatusCallback: - description: The URL we should call using the `conference_recording_status_callback_method` - when the conference recording is available. + CallAccept: + description: Whether to accept a reservation when executing a Call + instruction. + type: boolean + RedirectCallSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CA[0-9a-fA-F]{32}$ + description: The Call SID of the call parked in the queue when executing + a Redirect instruction. + RedirectAccept: + description: Whether the reservation should be accepted when executing + a Redirect instruction. + type: boolean + RedirectUrl: + description: TwiML URI to redirect the call to when executing the + Redirect instruction. format: uri type: string - ConferenceRecordingStatusCallbackMethod: - description: 'The HTTP method we should use to call `conference_recording_status_callback`. - Can be: `GET` or `POST` and defaults to `POST`.' + To: + description: The Contact URI of the worker when executing a Conference + instruction. Can be the URI of the Twilio Client, the SIP URI + for Programmable SIP, or the [E.164](https://www.twilio.com/docs/glossary/what-e164) + formatted phone number, depending on the destination. + type: string + From: + description: The caller ID of the call to the worker when executing + a Conference instruction. + type: string + StatusCallback: + description: The URL we should call using the `status_callback_method` + to send status information to your application. + format: uri + type: string + StatusCallbackMethod: + description: 'The HTTP method we should use to call `status_callback`. + Can be: `POST` or `GET` and the default is `POST`.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + type: string + StatusCallbackEvent: + type: array + items: + type: string + enum: + - initiated + - ringing + - answered + - completed + description: 'The call progress events that we will send to `status_callback`. + Can be: `initiated`, `ringing`, `answered`, or `completed`.' + Timeout: + description: The timeout for a call when executing a Conference + instruction. + type: integer + Record: + description: Whether to record the participant and their conferences, + including the time between conferences. Can be `true` or `false` + and the default is `false`. + type: boolean + Muted: + description: Whether the agent is muted in the conference. Defaults + to `false`. + type: boolean + Beep: + description: 'Whether to play a notification beep when the participant + joins or when to play a beep. Can be: `true`, `false`, `onEnter`, + or `onExit`. The default value is `true`.' + type: string + StartConferenceOnEnter: + description: 'Whether to start the conference when the participant + joins, if it has not already started. Can be: `true` or `false` + and the default is `true`. If `false` and the conference has not + started, the participant is muted and hears background music until + another participant starts the conference.' + type: boolean + EndConferenceOnExit: + description: Whether to end the conference when the agent leaves. + type: boolean + WaitUrl: + description: The URL we should call using the `wait_method` for + the music to play while participants are waiting for the conference + to start. The default value is the URL of our standard hold music. + [Learn more about hold music](https://www.twilio.com/labs/twimlets/holdmusic). + format: uri + type: string + WaitMethod: + description: The HTTP method we should use to call `wait_url`. Can + be `GET` or `POST` and the default is `POST`. When using a static + audio file, this should be `GET` so that we can cache the file. enum: - HEAD - GET @@ -5293,6 +4833,16 @@ paths: - DELETE format: http-method type: string + EarlyMedia: + description: Whether to allow an agent to hear the state of the + outbound call, including ringing or disconnect messages. The default + is `true`. + type: boolean + MaxParticipants: + description: The maximum number of participants allowed in the conference. + Can be a positive integer from `2` to `250`. The default value + is `250`. + type: integer ConferenceStatusCallback: description: The URL we should call using the `conference_status_callback_method` when the conference events in `conference_status_callback_event` @@ -5301,21 +4851,6 @@ paths: are ignored. format: uri type: string - ConferenceStatusCallbackEvent: - description: 'The conference status events that we will send to - `conference_status_callback`. Can be: `start`, `end`, `join`, - `leave`, `mute`, `hold`, `speaker`.' - items: - enum: - - start - - end - - join - - leave - - mute - - hold - - speaker - type: string - type: array ConferenceStatusCallbackMethod: description: 'The HTTP method we should use to call `conference_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.' @@ -5328,85 +4863,32 @@ paths: - DELETE format: http-method type: string - ConferenceTrim: - description: 'Whether to trim leading and trailing silence from - your recorded conference audio files. Can be: `trim-silence` or - `do-not-trim` and defaults to `trim-silence`.' - type: string - DequeueFrom: - description: The caller ID of the call to the worker when executing - a Dequeue instruction. - type: string - DequeuePostWorkActivitySid: - description: The SID of the Activity resource to start after executing - a Dequeue instruction. - maxLength: 34 - minLength: 34 - pattern: ^WA[0-9a-fA-F]{32}$ - type: string - DequeueRecord: - description: Whether to record both legs of a call when executing - a Dequeue instruction or which leg to record. - type: string - DequeueStatusCallbackEvent: - description: The call progress events sent via webhooks as a result - of a Dequeue instruction. + ConferenceStatusCallbackEvent: + type: array items: type: string - type: array - DequeueStatusCallbackUrl: - description: The callback URL for completed call event when executing - a Dequeue instruction. - format: uri - type: string - DequeueTimeout: - description: The timeout for call when executing a Dequeue instruction. - type: integer - DequeueTo: - description: The contact URI of the worker when executing a Dequeue - instruction. Can be the URI of the Twilio Client, the SIP URI - for Programmable SIP, or the [E.164](https://www.twilio.com/docs/glossary/what-e164) - formatted phone number, depending on the destination. - type: string - EarlyMedia: - description: Whether to allow an agent to hear the state of the - outbound call, including ringing or disconnect messages. The default - is `true`. - type: boolean - EndConferenceOnCustomerExit: - description: Whether to end the conference when the customer leaves. - type: boolean - EndConferenceOnExit: - description: Whether to end the conference when the agent leaves. - type: boolean - From: - description: The caller ID of the call to the worker when executing - a Conference instruction. - type: string - Instruction: - description: The assignment instruction for the reservation. + enum: + - start + - end + - join + - leave + - mute + - hold + - speaker + description: 'The conference status events that we will send to + `conference_status_callback`. Can be: `start`, `end`, `join`, + `leave`, `mute`, `hold`, `speaker`.' + ConferenceRecord: + description: 'Whether to record the conference the participant is + joining or when to record the conference. Can be: `true`, `false`, + `record-from-start`, and `do-not-record`. The default value is + `false`.' type: string - MaxParticipants: - description: The maximum number of participants allowed in the conference. - Can be a positive integer from `2` to `250`. The default value - is `250`. - type: integer - Muted: - description: Whether the agent is muted in the conference. Defaults - to `false`. - type: boolean - PostWorkActivitySid: - description: The new worker activity SID after executing a Conference - instruction. - maxLength: 34 - minLength: 34 - pattern: ^WA[0-9a-fA-F]{32}$ + ConferenceTrim: + description: 'Whether to trim leading and trailing silence from + your recorded conference audio files. Can be: `trim-silence` or + `do-not-trim` and defaults to `trim-silence`.' type: string - Record: - description: Whether to record the participant and their conferences, - including the time between conferences. Can be `true` or `false` - and the default is `false`. - type: boolean RecordingChannels: description: 'The recording channels for the final recording. Can be: `mono` or `dual` and the default is `mono`.' @@ -5428,72 +4910,14 @@ paths: - DELETE format: http-method type: string - RedirectAccept: - description: Whether the reservation should be accepted when executing - a Redirect instruction. - type: boolean - RedirectCallSid: - description: The Call SID of the call parked in the queue when executing - a Redirect instruction. - maxLength: 34 - minLength: 34 - pattern: ^CA[0-9a-fA-F]{32}$ - type: string - RedirectUrl: - description: TwiML URI to redirect the call to when executing the - Redirect instruction. - format: uri - type: string - Region: - description: The [region](https://support.twilio.com/hc/en-us/articles/223132167-How-global-low-latency-routing-and-region-selection-work-for-conferences-and-Client-calls) - where we should mix the recorded audio. Can be:`us1`, `ie1`, `de1`, - `sg1`, `br1`, `au1`, or `jp1`. - type: string - ReservationStatus: - description: 'The new status of the reservation. Can be: `pending`, - `accepted`, `rejected`, `timeout`, `canceled`, or `rescinded`.' - enum: - - pending - - accepted - - rejected - - timeout - - canceled - - rescinded - - wrapping - - completed - type: string - SipAuthPassword: - description: The SIP password for authentication. - type: string - SipAuthUsername: - description: The SIP username used for authentication. - type: string - StartConferenceOnEnter: - description: 'Whether to start the conference when the participant - joins, if it has not already started. Can be: `true` or `false` - and the default is `true`. If `false` and the conference has not - started, the participant is muted and hears background music until - another participant starts the conference.' - type: boolean - StatusCallback: - description: The URL we should call using the `status_callback_method` - to send status information to your application. + ConferenceRecordingStatusCallback: + description: The URL we should call using the `conference_recording_status_callback_method` + when the conference recording is available. format: uri type: string - StatusCallbackEvent: - description: 'The call progress events that we will send to `status_callback`. - Can be: `initiated`, `ringing`, `answered`, or `completed`.' - items: - enum: - - initiated - - ringing - - answered - - completed - type: string - type: array - StatusCallbackMethod: - description: 'The HTTP method we should use to call `status_callback`. - Can be: `POST` or `GET` and the default is `POST`.' + ConferenceRecordingStatusCallbackMethod: + description: 'The HTTP method we should use to call `conference_recording_status_callback`. + Can be: `GET` or `POST` and defaults to `POST`.' enum: - HEAD - GET @@ -5503,42 +4927,37 @@ paths: - DELETE format: http-method type: string - Timeout: - description: The timeout for a call when executing a Conference - instruction. - type: integer - To: - description: The Contact URI of the worker when executing a Conference - instruction. Can be the URI of the Twilio Client, the SIP URI - for Programmable SIP, or the [E.164](https://www.twilio.com/docs/glossary/what-e164) - formatted phone number, depending on the destination. + Region: + description: The [region](https://support.twilio.com/hc/en-us/articles/223132167-How-global-low-latency-routing-and-region-selection-work-for-conferences-and-Client-calls) + where we should mix the recorded audio. Can be:`us1`, `ie1`, `de1`, + `sg1`, `br1`, `au1`, or `jp1`. type: string - WaitMethod: - description: The HTTP method we should use to call `wait_url`. Can - be `GET` or `POST` and the default is `POST`. When using a static - audio file, this should be `GET` so that we can cache the file. - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method + SipAuthUsername: + description: The SIP username used for authentication. type: string - WaitUrl: - description: The URL we should call using the `wait_method` for - the music to play while participants are waiting for the conference - to start. The default value is the URL of our standard hold music. - [Learn more about hold music](https://www.twilio.com/labs/twimlets/holdmusic). - format: uri + SipAuthPassword: + description: The SIP password for authentication. + type: string + DequeueStatusCallbackEvent: + type: array + items: + type: string + description: The call progress events sent via webhooks as a result + of a Dequeue instruction. + PostWorkActivitySid: type: string - WorkerActivitySid: - description: The new worker activity SID if rejecting a reservation. - maxLength: 34 minLength: 34 + maxLength: 34 pattern: ^WA[0-9a-fA-F]{32}$ - type: string + description: The new worker activity SID after executing a Conference + instruction. + EndConferenceOnCustomerExit: + description: Whether to end the conference when the customer leaves. + type: boolean + BeepOnCustomerEntrance: + description: Whether to play a notification beep when the customer + joins. + type: boolean title: UpdateWorkerReservationRequest type: object responses: @@ -5552,39 +4971,652 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Workspaces/{WorkspaceSid}/Workers/Statistics: servers: - url: https://taskrouter.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - - sid - - reservation_status - - date_created - parent: /Workspaces/{WorkspaceSid}/Workers + - cumulative pathType: instance - /v1/Workspaces/{WorkspaceSid}/Workers/{WorkerSid}/Statistics: - description: 'TODO: Resource-level docs' + parent: /Workspaces/{WorkspaceSid}/Workers + className: workers_statistics get: description: '' - operationId: FetchWorkerInstanceStatistics + operationId: FetchWorkerStatistics parameters: - - description: The SID of the Workspace with the WorkerChannel to fetch. + - description: The SID of the Workspace with the Worker to fetch. in: path name: WorkspaceSid required: true schema: + type: string + minLength: 34 maxLength: 34 + pattern: ^WS[0-9a-fA-F]{32}$ + - description: Only calculate statistics since this many minutes in the past. + The default 15 minutes. This is helpful for displaying statistics for the + last 15 minutes, 240 minutes (4 hours), and 480 minutes (8 hours) to see + trends. + in: query + name: Minutes + schema: + type: integer + - description: Only calculate statistics from this date and time and later, + specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + in: query + name: StartDate + schema: + type: string + format: date-time + - description: Only calculate statistics from this date and time and earlier, + specified in GMT as an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) + date-time. + in: query + name: EndDate + schema: + type: string + format: date-time + - description: The SID of the TaskQueue for which to fetch Worker statistics. + in: query + name: TaskQueueSid + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WQ[0-9a-fA-F]{32}$ + - description: The `friendly_name` of the TaskQueue for which to fetch Worker + statistics. + in: query + name: TaskQueueName + schema: + type: string + - description: Only include Workers with `friendly_name` values that match this + parameter. + in: query + name: FriendlyName + schema: + type: string + - description: Only calculate statistics on this TaskChannel. Can be the TaskChannel's + SID or its `unique_name`, such as `voice`, `sms`, or `default`. + in: query + name: TaskChannel + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/taskrouter.v1.workspace.worker.worker_statistics' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Workspaces/{WorkspaceSid}/Workers/CumulativeStatistics: + servers: + - url: https://taskrouter.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - reservations_created + - reservations_accepted + - reservations_rejected + - reservations_timed_out + - reservations_canceled + - reservations_rescinded + pathType: instance + parent: /Workspaces/{WorkspaceSid}/Workers + className: workers_cumulative_statistics + get: + description: '' + operationId: FetchWorkersCumulativeStatistics + parameters: + - description: The SID of the Workspace with the resource to fetch. + in: path + name: WorkspaceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WS[0-9a-fA-F]{32}$ + - description: Only calculate statistics from this date and time and earlier, + specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + in: query + name: EndDate + schema: + type: string + format: date-time + - description: Only calculate statistics since this many minutes in the past. + The default 15 minutes. This is helpful for displaying statistics for the + last 15 minutes, 240 minutes (4 hours), and 480 minutes (8 hours) to see + trends. + in: query + name: Minutes + schema: + type: integer + - description: Only calculate statistics from this date and time and later, + specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + in: query + name: StartDate + schema: + type: string + format: date-time + - description: Only calculate cumulative statistics on this TaskChannel. Can + be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or + `default`. + in: query + name: TaskChannel + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/taskrouter.v1.workspace.worker.workers_cumulative_statistics' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Workspaces/{WorkspaceSid}/Workers/RealTimeStatistics: + servers: + - url: https://taskrouter.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - total_workers + pathType: instance + parent: /Workspaces/{WorkspaceSid}/Workers + className: workers_real_time_statistics + get: + description: '' + operationId: FetchWorkersRealTimeStatistics + parameters: + - description: The SID of the Workspace with the resource to fetch. + in: path + name: WorkspaceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WS[0-9a-fA-F]{32}$ + - description: Only calculate real-time statistics on this TaskChannel. Can + be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or + `default`. + in: query + name: TaskChannel + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/taskrouter.v1.workspace.worker.workers_real_time_statistics' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Workspaces/{WorkspaceSid}/Workflows/{Sid}: + servers: + - url: https://taskrouter.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - document_content_type + pathType: instance + parent: /Workspaces + get: + description: '' + operationId: FetchWorkflow + parameters: + - description: The SID of the Workspace with the Workflow to fetch. + in: path + name: WorkspaceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WS[0-9a-fA-F]{32}$ + - description: The SID of the Workflow resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WW[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/taskrouter.v1.workspace.workflow' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + post: + description: '' + operationId: UpdateWorkflow + parameters: + - description: The SID of the Workspace with the Workflow to update. + in: path + name: WorkspaceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WS[0-9a-fA-F]{32}$ + - description: The SID of the Workflow resource to update. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WW[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: A descriptive string that you create to describe the + Workflow resource. For example, `Inbound Call Workflow` or `2014 + Outbound Campaign`. + type: string + AssignmentCallbackUrl: + description: The URL from your application that will process task + assignment events. See [Handling Task Assignment Callback](https://www.twilio.com/docs/taskrouter/handle-assignment-callbacks) + for more details. + format: uri + type: string + FallbackAssignmentCallbackUrl: + description: The URL that we should call when a call to the `assignment_callback_url` + fails. + format: uri + type: string + Configuration: + description: A JSON string that contains the rules to apply to the + Workflow. See [Configuring Workflows](https://www.twilio.com/docs/taskrouter/workflow-configuration) + for more information. + type: string + TaskReservationTimeout: + description: How long TaskRouter will wait for a confirmation response + from your application after it assigns a Task to a Worker. Can + be up to `86,400` (24 hours) and the default is `120`. + type: integer + ReEvaluateTasks: + description: Whether or not to re-evaluate Tasks. The default is + `false`, which means Tasks in the Workflow will not be processed + through the assignment loop again. + type: string + title: UpdateWorkflowRequest + type: object + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/taskrouter.v1.workspace.workflow' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + delete: + description: '' + operationId: DeleteWorkflow + parameters: + - description: The SID of the Workspace with the Workflow to delete. + in: path + name: WorkspaceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WS[0-9a-fA-F]{32}$ + - description: The SID of the Workflow resource to delete. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WW[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Workspaces/{WorkspaceSid}/Workflows: + servers: + - url: https://taskrouter.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - document_content_type + pathType: list + parent: /Workspaces + get: + description: '' + operationId: ListWorkflow + parameters: + - description: The SID of the Workspace with the Workflow to read. + in: path + name: WorkspaceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WS[0-9a-fA-F]{32}$ + - description: The `friendly_name` of the Workflow resources to read. + in: query + name: FriendlyName + schema: + 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListWorkflowResponse + properties: + workflows: + type: array + items: + $ref: '#/components/schemas/taskrouter.v1.workspace.workflow' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + post: + description: '' + operationId: CreateWorkflow + parameters: + - description: The SID of the Workspace that the new Workflow to create belongs + to. + in: path + name: WorkspaceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WS[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: A descriptive string that you create to describe the + Workflow resource. For example, `Inbound Call Workflow` or `2014 + Outbound Campaign`. + type: string + Configuration: + description: A JSON string that contains the rules to apply to the + Workflow. See [Configuring Workflows](https://www.twilio.com/docs/taskrouter/workflow-configuration) + for more information. + type: string + AssignmentCallbackUrl: + description: The URL from your application that will process task + assignment events. See [Handling Task Assignment Callback](https://www.twilio.com/docs/taskrouter/handle-assignment-callbacks) + for more details. + format: uri + type: string + FallbackAssignmentCallbackUrl: + description: The URL that we should call when a call to the `assignment_callback_url` + fails. + format: uri + type: string + TaskReservationTimeout: + description: How long TaskRouter will wait for a confirmation response + from your application after it assigns a Task to a Worker. Can + be up to `86,400` (24 hours) and the default is `120`. + type: integer + required: + - FriendlyName + - Configuration + title: CreateWorkflowRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/taskrouter.v1.workspace.workflow' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Workspaces/{WorkspaceSid}/Workflows/{WorkflowSid}/CumulativeStatistics: + servers: + - url: https://taskrouter.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - start_time + - end_time + - avg_task_acceptance_time + - tasks_completed + pathType: instance + parent: /Workspaces/{WorkspaceSid}/Workflows + className: workflow_cumulative_statistics + get: + description: '' + operationId: FetchWorkflowCumulativeStatistics + parameters: + - description: The SID of the Workspace with the resource to fetch. + in: path + name: WorkspaceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WS[0-9a-fA-F]{32}$ + - description: Returns the list of Tasks that are being controlled by the Workflow + with the specified Sid value. + in: path + name: WorkflowSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WW[0-9a-fA-F]{32}$ + - description: Only include usage that occurred on or before this date, specified + in GMT as an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time. + in: query + name: EndDate + schema: + type: string + format: date-time + - description: Only calculate statistics since this many minutes in the past. + The default 15 minutes. This is helpful for displaying statistics for the + last 15 minutes, 240 minutes (4 hours), and 480 minutes (8 hours) to see + trends. + in: query + name: Minutes + schema: + type: integer + - description: Only calculate statistics from this date and time and later, + specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + in: query + name: StartDate + schema: + type: string + format: date-time + - description: Only calculate cumulative statistics on this TaskChannel. Can + be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or + `default`. + in: query + name: TaskChannel + schema: + type: string + - description: A comma separated list of values that describes the thresholds, + in seconds, to calculate statistics on. For each threshold specified, the + number of Tasks canceled and reservations accepted above and below the specified + thresholds in seconds are computed. For example, `5,30` would show splits + of Tasks that were canceled or accepted before and after 5 seconds and before + and after 30 seconds. This can be used to show short abandoned Tasks or + Tasks that failed to meet an SLA. TaskRouter will calculate statistics on + up to 10,000 Tasks for any given threshold. + in: query + name: SplitByWaitTime + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/taskrouter.v1.workspace.workflow.workflow_cumulative_statistics' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Workspaces/{WorkspaceSid}/Workflows/{WorkflowSid}/RealTimeStatistics: + servers: + - url: https://taskrouter.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - longest_task_waiting_age + - longest_task_waiting_sid + - total_tasks + pathType: instance + parent: /Workspaces/{WorkspaceSid}/Workflows + className: workflow_real_time_statistics + get: + description: '' + operationId: FetchWorkflowRealTimeStatistics + parameters: + - description: The SID of the Workspace with the Workflow to fetch. + in: path + name: WorkspaceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WS[0-9a-fA-F]{32}$ + - description: Returns the list of Tasks that are being controlled by the Workflow + with the specified SID value. + in: path + name: WorkflowSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WW[0-9a-fA-F]{32}$ + - description: Only calculate real-time statistics on this TaskChannel. Can + be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or + `default`. + in: query + name: TaskChannel + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/taskrouter.v1.workspace.workflow.workflow_real_time_statistics' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Workspaces/{WorkspaceSid}/Workflows/{WorkflowSid}/Statistics: + servers: + - url: https://taskrouter.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - cumulative + pathType: instance + parent: /Workspaces/{WorkspaceSid}/Workflows + className: workflow_statistics + get: + description: '' + operationId: FetchWorkflowStatistics + parameters: + - description: The SID of the Workspace with the Workflow to fetch. + in: path + name: WorkspaceSid + required: true + schema: + type: string minLength: 34 + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Worker with the WorkerChannel to fetch. + - description: Returns the list of Tasks that are being controlled by the Workflow + with the specified SID value. in: path - name: WorkerSid + name: WorkflowSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^WK[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^WW[0-9a-fA-F]{32}$ - description: Only calculate statistics since this many minutes in the past. The default 15 minutes. This is helpful for displaying statistics for the last 15 minutes, 240 minutes (4 hours), and 480 minutes (8 hours) to see @@ -5598,101 +5630,74 @@ paths: in: query name: StartDate schema: - format: date-time type: string - - description: Only include usage that occurred on or before this date, specified - in GMT as an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time. + format: date-time + - description: Only calculate statistics from this date and time and earlier, + specified in GMT as an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) + date-time. in: query name: EndDate schema: - format: date-time type: string - - description: Only calculate statistics on this TaskChannel. Can be the TaskChannel's - SID or its `unique_name`, such as `voice`, `sms`, or `default`. + format: date-time + - description: Only calculate real-time statistics on this TaskChannel. Can + be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or + `default`. in: query name: TaskChannel schema: type: string + - description: A comma separated list of values that describes the thresholds, + in seconds, to calculate statistics on. For each threshold specified, the + number of Tasks canceled and reservations accepted above and below the specified + thresholds in seconds are computed. For example, `5,30` would show splits + of Tasks that were canceled or accepted before and after 5 seconds and before + and after 30 seconds. This can be used to show short abandoned Tasks or + Tasks that failed to meet an SLA. + in: query + name: SplitByWaitTime + schema: + type: string responses: '200': content: application/json: schema: - $ref: '#/components/schemas/taskrouter.v1.workspace.worker.worker_instance_statistics' + $ref: '#/components/schemas/taskrouter.v1.workspace.workflow.workflow_statistics' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Workspaces/{Sid}: servers: - url: https://taskrouter.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - className: worker_statistics defaultOutputProperties: - - cumulative - parent: /Workspaces/{WorkspaceSid}/Workers + - sid + - friendly_name + - prioritize_queue_order pathType: instance - /v1/Workspaces/{WorkspaceSid}/Workflows: - description: 'TODO: Resource-level docs' get: description: '' - operationId: ListWorkflow + operationId: FetchWorkspace parameters: - - description: The SID of the Workspace with the Workflow to read. + - description: The SID of the Workspace resource to fetch. in: path - name: WorkspaceSid + name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string - - description: The `friendly_name` of the Workflow resources to read. - in: query - name: FriendlyName - schema: - 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 responses: '200': content: application/json: schema: - properties: - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - workflows: - items: - $ref: '#/components/schemas/taskrouter.v1.workspace.workflow' - type: array - title: ListWorkflowResponse - type: object + $ref: '#/components/schemas/taskrouter.v1.workspace' description: OK security: - accountSid_authToken: [] @@ -5700,97 +5705,101 @@ paths: - GA post: description: '' - operationId: CreateWorkflow + operationId: UpdateWorkspace parameters: - - description: The SID of the Workspace that the new Workflow to create belongs - to. + - description: The SID of the Workspace resource to update. in: path - name: WorkspaceSid + name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^WS[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - AssignmentCallbackUrl: - description: The URL from your application that will process task - assignment events. See [Handling Task Assignment Callback](https://www.twilio.com/docs/taskrouter/handle-assignment-callbacks) - for more details. - format: uri - type: string - Configuration: - description: A JSON string that contains the rules to apply to the - Workflow. See [Configuring Workflows](https://www.twilio.com/docs/taskrouter/workflow-configuration) - for more information. + DefaultActivitySid: type: string - FallbackAssignmentCallbackUrl: - description: The URL that we should call when a call to the `assignment_callback_url` - fails. + minLength: 34 + maxLength: 34 + pattern: ^WA[0-9a-fA-F]{32}$ + description: The SID of the Activity that will be used when new + Workers are created in the Workspace. + EventCallbackUrl: + description: The URL we should call when an event occurs. See [Workspace + Events](https://www.twilio.com/docs/taskrouter/api/event) for + more information. This parameter supports Twilio's [Webhooks (HTTP + callbacks) Connection Overrides](https://www.twilio.com/docs/usage/webhooks/webhooks-connection-overrides). format: uri type: string + EventsFilter: + description: The list of Workspace events for which to call event_callback_url. + For example if `EventsFilter=task.created,task.canceled,worker.activity.update`, + then TaskRouter will call event_callback_url only when a task + is created, canceled, or a Worker activity is updated. + type: string FriendlyName: - description: A descriptive string that you create to describe the - Workflow resource. For example, `Inbound Call Workflow` or `2014 - Outbound Campaign`. + description: 'A descriptive string that you create to describe the + Workspace resource. For example: `Sales Call Center` or `Customer + Support Team`.' type: string - TaskReservationTimeout: - description: How long TaskRouter will wait for a confirmation response - from your application after it assigns a Task to a Worker. Can - be up to `86,400` (24 hours) and the default is `120`. - type: integer - required: - - FriendlyName - - Configuration - title: CreateWorkflowRequest + MultiTaskEnabled: + description: 'Whether to enable multi-tasking. Can be: `true` to + enable multi-tasking, or `false` to disable it. However, all workspaces + should be maintained as multi-tasking. There is no default when + omitting this parameter. A multi-tasking Workspace can''t be updated + to single-tasking unless it is not a Flex Project and another + (legacy) single-tasking Workspace exists. Multi-tasking allows + Workers to handle multiple Tasks simultaneously. In multi-tasking + mode, each Worker can receive parallel reservations up to the + per-channel maximums defined in the Workers section. In single-tasking + mode (legacy mode), each Worker will only receive a new reservation + when the previous task is completed. Learn more at [Multitasking](https://www.twilio.com/docs/taskrouter/multitasking).' + type: boolean + TimeoutActivitySid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^WA[0-9a-fA-F]{32}$ + description: The SID of the Activity that will be assigned to a + Worker when a Task reservation times out without a response. + PrioritizeQueueOrder: + type: string + enum: + - FIFO + - LIFO + description: 'The type of TaskQueue to prioritize when Workers are + receiving Tasks from both types of TaskQueues. Can be: `LIFO` + or `FIFO`. For more information, see [Queue Ordering](https://www.twilio.com/docs/taskrouter/queue-ordering-last-first-out-lifo).' + title: UpdateWorkspaceRequest type: object responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/taskrouter.v1.workspace.workflow' - description: Created + $ref: '#/components/schemas/taskrouter.v1.workspace' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://taskrouter.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - document_content_type - parent: /Workspaces - pathType: list - /v1/Workspaces/{WorkspaceSid}/Workflows/{Sid}: delete: description: '' - operationId: DeleteWorkflow + operationId: DeleteWorkspace parameters: - - description: The SID of the Workspace with the Workflow to delete. - in: path - name: WorkspaceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^WS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Workflow resource to delete. + - description: The SID of the Workspace resource to delete. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^WW[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^WS[0-9a-fA-F]{32}$ responses: '204': description: The resource was deleted successfully. @@ -5798,35 +5807,67 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Workspaces: + servers: + - url: https://taskrouter.twilio.com description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - prioritize_queue_order + pathType: list get: description: '' - operationId: FetchWorkflow + operationId: ListWorkspace parameters: - - description: The SID of the Workspace with the Workflow to fetch. - in: path - name: WorkspaceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^WS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Workflow resource to fetch. - in: path - name: Sid - required: true + - description: The `friendly_name` of the Workspace resources to read. For example + `Customer Support` or `2014 Election Campaign`. + in: query + name: FriendlyName schema: - maxLength: 34 - minLength: 34 - pattern: ^WW[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 responses: '200': content: application/json: schema: - $ref: '#/components/schemas/taskrouter.v1.workspace.workflow' + type: object + title: ListWorkspaceResponse + properties: + workspaces: + type: array + items: + $ref: '#/components/schemas/taskrouter.v1.workspace' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string description: OK security: - accountSid_authToken: [] @@ -5834,116 +5875,107 @@ paths: - GA post: description: '' - operationId: UpdateWorkflow - parameters: - - description: The SID of the Workspace with the Workflow to update. - in: path - name: WorkspaceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^WS[0-9a-fA-F]{32}$ - type: string - - description: The SID of the Workflow resource to update. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^WW[0-9a-fA-F]{32}$ - type: string + operationId: CreateWorkspace requestBody: content: application/x-www-form-urlencoded: schema: properties: - AssignmentCallbackUrl: - description: The URL from your application that will process task - assignment events. See [Handling Task Assignment Callback](https://www.twilio.com/docs/taskrouter/handle-assignment-callbacks) - for more details. - format: uri - type: string - Configuration: - description: A JSON string that contains the rules to apply to the - Workflow. See [Configuring Workflows](https://www.twilio.com/docs/taskrouter/workflow-configuration) - for more information. + FriendlyName: + description: 'A descriptive string that you create to describe the + Workspace resource. It can be up to 64 characters long. For example: + `Customer Support` or `2014 Election Campaign`.' type: string - FallbackAssignmentCallbackUrl: - description: The URL that we should call when a call to the `assignment_callback_url` - fails. + EventCallbackUrl: + description: The URL we should call when an event occurs. If provided, + the Workspace will publish events to this URL, for example, to + collect data for reporting. See [Workspace Events](https://www.twilio.com/docs/taskrouter/api/event) + for more information. This parameter supports Twilio's [Webhooks + (HTTP callbacks) Connection Overrides](https://www.twilio.com/docs/usage/webhooks/webhooks-connection-overrides). format: uri type: string - FriendlyName: - description: A descriptive string that you create to describe the - Workflow resource. For example, `Inbound Call Workflow` or `2014 - Outbound Campaign`. + EventsFilter: + description: The list of Workspace events for which to call event_callback_url. + For example, if `EventsFilter=task.created, task.canceled, worker.activity.update`, + then TaskRouter will call event_callback_url only when a task + is created, canceled, or a Worker activity is updated. type: string - ReEvaluateTasks: - description: Whether or not to re-evaluate Tasks. The default is - `false`, which means Tasks in the Workflow will not be processed - through the assignment loop again. + MultiTaskEnabled: + description: 'Whether to enable multi-tasking. Can be: `true` to + enable multi-tasking, or `false` to disable it. However, all workspaces + should be created as multi-tasking. The default is `true`. Multi-tasking + allows Workers to handle multiple Tasks simultaneously. When enabled + (`true`), each Worker can receive parallel reservations up to + the per-channel maximums defined in the Workers section. In single-tasking + mode (legacy mode), each Worker will only receive a new reservation + when the previous task is completed. Learn more at [Multitasking](https://www.twilio.com/docs/taskrouter/multitasking).' + type: boolean + Template: + description: 'An available template name. Can be: `NONE` or `FIFO` + and the default is `NONE`. Pre-configures the Workspace with the + Workflow and Activities specified in the template. `NONE` will + create a Workspace with only a set of default activities. `FIFO` + will configure TaskRouter with a set of default activities and + a single TaskQueue for first-in, first-out distribution, which + can be useful when you are getting started with TaskRouter.' type: string - TaskReservationTimeout: - description: How long TaskRouter will wait for a confirmation response - from your application after it assigns a Task to a Worker. Can - be up to `86,400` (24 hours) and the default is `120`. - type: integer - title: UpdateWorkflowRequest + PrioritizeQueueOrder: + type: string + enum: + - FIFO + - LIFO + description: 'The type of TaskQueue to prioritize when Workers are + receiving Tasks from both types of TaskQueues. Can be: `LIFO` + or `FIFO` and the default is `FIFO`. For more information, see + [Queue Ordering](https://www.twilio.com/docs/taskrouter/queue-ordering-last-first-out-lifo).' + required: + - FriendlyName + title: CreateWorkspaceRequest type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/taskrouter.v1.workspace.workflow' - description: OK + $ref: '#/components/schemas/taskrouter.v1.workspace' + description: Created security: - accountSid_authToken: [] x-maturity: - GA + /v1/Workspaces/{WorkspaceSid}/CumulativeStatistics: servers: - url: https://taskrouter.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - - sid - - friendly_name - - document_content_type - parent: /Workspaces + - start_time + - end_time + - avg_task_acceptance_time + - tasks_completed pathType: instance - /v1/Workspaces/{WorkspaceSid}/Workflows/{WorkflowSid}/CumulativeStatistics: - description: 'TODO: Resource-level docs' + parent: /Workspaces + className: workspace_cumulative_statistics get: description: '' - operationId: FetchWorkflowCumulativeStatistics + operationId: FetchWorkspaceCumulativeStatistics parameters: - - description: The SID of the Workspace with the resource to fetch. + - description: The SID of the Workspace to fetch. in: path name: WorkspaceSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^WS[0-9a-fA-F]{32}$ type: string - - description: Returns the list of Tasks that are being controlled by the Workflow - with the specified Sid value. - in: path - name: WorkflowSid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^WW[0-9a-fA-F]{32}$ - type: string + maxLength: 34 + pattern: ^WS[0-9a-fA-F]{32}$ - description: Only include usage that occurred on or before this date, specified in GMT as an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time. in: query name: EndDate schema: - format: date-time type: string + format: date-time - description: Only calculate statistics since this many minutes in the past. The default 15 minutes. This is helpful for displaying statistics for the last 15 minutes, 240 minutes (4 hours), and 480 minutes (8 hours) to see @@ -5957,8 +5989,8 @@ paths: in: query name: StartDate schema: - format: date-time type: string + format: date-time - description: Only calculate cumulative statistics on this TaskChannel. Can be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or `default`. @@ -5983,48 +6015,37 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/taskrouter.v1.workspace.workflow.workflow_cumulative_statistics' + $ref: '#/components/schemas/taskrouter.v1.workspace.workspace_cumulative_statistics' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Workspaces/{WorkspaceSid}/RealTimeStatistics: servers: - url: https://taskrouter.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - className: workflow_cumulative_statistics defaultOutputProperties: - - start_time - - end_time - - avg_task_acceptance_time - - tasks_completed - parent: /Workspaces/{WorkspaceSid}/Workflows + - longest_task_waiting_age + - longest_task_waiting_sid + - total_tasks pathType: instance - /v1/Workspaces/{WorkspaceSid}/Workflows/{WorkflowSid}/RealTimeStatistics: - description: 'TODO: Resource-level docs' + parent: /Workspaces + className: workspace_real_time_statistics get: description: '' - operationId: FetchWorkflowRealTimeStatistics + operationId: FetchWorkspaceRealTimeStatistics parameters: - - description: The SID of the Workspace with the Workflow to fetch. + - description: The SID of the Workspace to fetch. in: path name: WorkspaceSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^WS[0-9a-fA-F]{32}$ type: string - - description: Returns the list of Tasks that are being controlled by the Workflow - with the specified SID value. - in: path - name: WorkflowSid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^WW[0-9a-fA-F]{32}$ - type: string + maxLength: 34 + pattern: ^WS[0-9a-fA-F]{32}$ - description: Only calculate real-time statistics on this TaskChannel. Can be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or `default`. @@ -6037,47 +6058,35 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/taskrouter.v1.workspace.workflow.workflow_real_time_statistics' + $ref: '#/components/schemas/taskrouter.v1.workspace.workspace_real_time_statistics' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Workspaces/{WorkspaceSid}/Statistics: servers: - url: https://taskrouter.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - className: workflow_real_time_statistics defaultOutputProperties: - - longest_task_waiting_age - - longest_task_waiting_sid - - total_tasks - parent: /Workspaces/{WorkspaceSid}/Workflows + - cumulative pathType: instance - /v1/Workspaces/{WorkspaceSid}/Workflows/{WorkflowSid}/Statistics: - description: 'TODO: Resource-level docs' + parent: /Workspaces + className: workspace_statistics get: description: '' - operationId: FetchWorkflowStatistics + operationId: FetchWorkspaceStatistics parameters: - - description: The SID of the Workspace with the Workflow to fetch. + - description: The SID of the Workspace to fetch. in: path name: WorkspaceSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^WS[0-9a-fA-F]{32}$ type: string - - description: Returns the list of Tasks that are being controlled by the Workflow - with the specified SID value. - in: path - name: WorkflowSid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^WW[0-9a-fA-F]{32}$ - type: string + maxLength: 34 + pattern: ^WS[0-9a-fA-F]{32}$ - description: Only calculate statistics since this many minutes in the past. The default 15 minutes. This is helpful for displaying statistics for the last 15 minutes, 240 minutes (4 hours), and 480 minutes (8 hours) to see @@ -6091,19 +6100,18 @@ paths: in: query name: StartDate schema: - format: date-time type: string + format: date-time - description: Only calculate statistics from this date and time and earlier, specified in GMT as an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time. in: query name: EndDate schema: - format: date-time type: string - - description: Only calculate real-time statistics on this TaskChannel. Can - be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or - `default`. + format: date-time + - description: Only calculate statistics on this TaskChannel. Can be the TaskChannel's + SID or its `unique_name`, such as `voice`, `sms`, or `default`. in: query name: TaskChannel schema: @@ -6124,22 +6132,14 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/taskrouter.v1.workspace.workflow.workflow_statistics' + $ref: '#/components/schemas/taskrouter.v1.workspace.workspace_statistics' description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://taskrouter.twilio.com - x-twilio: - className: workflow_statistics - defaultOutputProperties: - - cumulative - parent: /Workspaces/{WorkspaceSid}/Workflows - pathType: instance servers: - url: https://taskrouter.twilio.com x-maturity: -- description: This product is Generally Available. - name: GA +- name: GA + description: This product is Generally Available. diff --git a/spec/yaml/twilio_trunking_v1.yaml b/spec/yaml/twilio_trunking_v1.yaml index 34c6c225..56927e3b 100644 --- a/spec/yaml/twilio_trunking_v1.yaml +++ b/spec/yaml/twilio_trunking_v1.yaml @@ -1,214 +1,114 @@ components: schemas: - trunking.v1.trunk: + trunking.v1.trunk.credential_list: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - auth_type: - description: The types of authentication mapped to the domain - nullable: true - type: string - auth_type_set: - description: Reserved - items: - type: string - nullable: true - type: array - cnam_lookup_enabled: - description: Whether Caller ID Name (CNAM) lookup is enabled for the trunk nullable: true - type: boolean + description: The SID of the Account that created the resource date_created: - description: The RFC 2822 date and time in GMT when the resource was created - format: date-time - nullable: true type: string - date_updated: - description: The RFC 2822 date and time in GMT when the resource was last - updated format: date-time nullable: true - type: string - disaster_recovery_method: - description: The HTTP method we use to call the disaster_recovery_url - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - nullable: true - type: string - disaster_recovery_url: - description: The HTTP URL that we call if an error occurs while sending - SIP traffic towards your configured Origination URL - format: uri - nullable: true - type: string - domain_name: - description: The unique address you reserve on Twilio to which you route - your SIP traffic - nullable: true - type: string - friendly_name: - description: The string that you assigned to describe the resource - nullable: true - type: string - links: - description: The URLs of related resources - format: uri-map - nullable: true - type: object - recording: - description: The recording settings for the trunk - nullable: true - secure: - description: Whether Secure Trunking is enabled for the trunk - nullable: true - type: boolean - sid: - description: The unique string that identifies the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^TK[0-9a-fA-F]{32}$ - type: string - transfer_caller_id: - description: Caller Id for transfer target - enum: - - from-transferee - - from-transferor - nullable: true - type: string - transfer_mode: - description: The call transfer settings for the trunk - enum: - - disable-all - - enable-all - - sip-only - nullable: true - type: string - url: - description: The absolute URL of the resource - format: uri - nullable: true - type: string - type: object - trunking.v1.trunk.credential_list: - properties: - account_sid: - description: The SID of the Account that created the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - date_created: description: The RFC 2822 date and time in GMT when the resource was created + date_updated: + type: string format: date-time nullable: true - type: string - date_updated: description: The RFC 2822 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 sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CL[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource trunk_sid: - description: The SID of the Trunk the credential list in associated with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^TK[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Trunk the credential list in associated with url: description: The absolute URL of the resource format: uri nullable: true type: string - type: object trunking.v1.trunk.ip_access_control_list: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource date_created: - description: The RFC 2822 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was created date_updated: - description: The RFC 2822 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was last + updated friendly_name: description: The string that you assigned to describe the resource nullable: true type: string sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AL[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource trunk_sid: - description: The SID of the Trunk the resource is associated with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^TK[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Trunk the resource is associated with url: description: The absolute URL of the resource format: uri nullable: true type: string - type: object trunking.v1.trunk.origination_url: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource date_created: - description: The RFC 2822 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was created date_updated: - description: The RFC 2822 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was last + updated enabled: description: Whether the URL is enabled nullable: true @@ -222,12 +122,12 @@ components: nullable: true type: integer sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^OU[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource sip_url: description: The SIP address you want Twilio to route your Origination calls to @@ -235,12 +135,12 @@ components: nullable: true type: string trunk_sid: - description: The SID of the Trunk that owns the Origination URL - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^TK[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Trunk that owns the Origination URL url: description: The absolute URL of the resource format: uri @@ -251,26 +151,26 @@ components: receive compared to others with the same priority nullable: true type: integer - type: object trunking.v1.trunk.phone_number: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource address_requirements: - description: Whether the phone number requires an Address registered with - Twilio + type: string enum: - none - any - local - foreign nullable: true - type: string + description: Whether the phone number requires an Address registered with + Twilio api_version: description: The API version used to start a new TwiML session nullable: true @@ -285,16 +185,16 @@ components: nullable: true type: object date_created: - description: The RFC 2822 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was created date_updated: - description: The RFC 2822 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was last + updated friendly_name: description: The string that you assigned to describe the resource nullable: true @@ -310,20 +210,20 @@ components: nullable: true type: string sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^PN[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource sms_application_sid: - description: The SID of the application that handles SMS messages sent to - the phone number - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AP[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the application that handles SMS messages sent to + the phone number sms_fallback_method: description: The HTTP method used with sms_fallback_url enum: @@ -378,25 +278,25 @@ components: nullable: true type: string trunk_sid: - description: The SID of the Trunk that handles calls to the phone number - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^TK[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Trunk that handles calls to the phone number url: description: The absolute URL of the resource format: uri nullable: true type: string voice_application_sid: - description: The SID of the application that handles calls to the phone - number - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AP[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the application that handles calls to the phone + number voice_caller_id_lookup: description: Whether to lookup the caller's name nullable: true @@ -435,11 +335,11 @@ components: format: uri nullable: true type: string - type: object trunking.v1.trunk.recording: + type: object properties: mode: - description: The recording mode for the trunk. + type: string enum: - do-not-record - record-from-ringing @@ -447,15 +347,115 @@ components: - record-from-ringing-dual - record-from-answer-dual nullable: true - type: string + description: The recording mode for the trunk. trim: - description: The recording trim setting for the trunk. + type: string enum: - trim-silence - do-not-trim nullable: true - type: string + description: The recording trim setting for the trunk. + trunking.v1.trunk: type: object + properties: + account_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created the resource + auth_type: + description: The types of authentication mapped to the domain + nullable: true + type: string + auth_type_set: + type: array + items: + type: string + nullable: true + description: Reserved + cnam_lookup_enabled: + description: Whether Caller ID Name (CNAM) lookup is enabled for the trunk + nullable: true + type: boolean + date_created: + type: string + format: date-time + nullable: true + description: The RFC 2822 date and time in GMT when the resource was created + date_updated: + type: string + format: date-time + nullable: true + description: The RFC 2822 date and time in GMT when the resource was last + updated + disaster_recovery_method: + description: The HTTP method we use to call the disaster_recovery_url + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + nullable: true + type: string + disaster_recovery_url: + description: The HTTP URL that we call if an error occurs while sending + SIP traffic towards your configured Origination URL + format: uri + nullable: true + type: string + domain_name: + description: The unique address you reserve on Twilio to which you route + your SIP traffic + nullable: true + type: string + friendly_name: + description: The string that you assigned to describe the resource + nullable: true + type: string + links: + description: The URLs of related resources + format: uri-map + nullable: true + type: object + recording: + nullable: true + description: The recording settings for the trunk + secure: + description: Whether Secure Trunking is enabled for the trunk + nullable: true + type: boolean + sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^TK[0-9a-fA-F]{32}$ + nullable: true + description: The unique string that identifies the resource + transfer_caller_id: + type: string + enum: + - from-transferee + - from-transferor + nullable: true + description: Caller Id for transfer target + transfer_mode: + type: string + enum: + - disable-all + - enable-all + - sip-only + nullable: true + description: The call transfer settings for the trunk + url: + description: The absolute URL of the resource + format: uri + nullable: true + type: string securitySchemes: accountSid_authToken: scheme: basic @@ -474,299 +474,133 @@ info: version: 1.30.0 openapi: 3.0.1 paths: - /v1/Trunks: - description: Represents a SIP trunk + /v1/Trunks/{TrunkSid}/CredentialLists/{Sid}: + servers: + - url: https://trunking.twilio.com + description: List of credentials for accessing a trunk + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - date_created + pathType: instance + parent: /Trunks get: description: '' - operationId: ListTrunk + operationId: FetchCredentialList parameters: - - description: How many resources to return in each list page. The default is - 50, and the maximum is 1000. - in: query - name: PageSize + - description: The SID of the Trunk from which to fetch the credential list. + in: path + name: TrunkSid + required: true schema: - maximum: 1000 - minimum: 1 - type: integer + type: string + minLength: 34 + maxLength: 34 + pattern: ^TK[0-9a-fA-F]{32}$ + - description: The unique string that we created to identify the CredentialList + resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CL[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - properties: - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - trunks: - items: - $ref: '#/components/schemas/trunking.v1.trunk' - type: array - title: ListTrunkResponse - type: object + $ref: '#/components/schemas/trunking.v1.trunk.credential_list' description: OK security: - accountSid_authToken: [] x-maturity: - GA + delete: + description: '' + operationId: DeleteCredentialList + parameters: + - description: The SID of the Trunk from which to delete the credential list. + in: path + name: TrunkSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^TK[0-9a-fA-F]{32}$ + - description: The unique string that we created to identify the CredentialList + resource to delete. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CL[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Trunks/{TrunkSid}/CredentialLists: + servers: + - url: https://trunking.twilio.com + description: List of credentials for accessing a trunk + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - date_created + pathType: list + parent: /Trunks post: description: '' - operationId: CreateTrunk + operationId: CreateCredentialList + parameters: + - description: The SID of the Trunk to associate the credential list with. + in: path + name: TrunkSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^TK[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - CnamLookupEnabled: - description: Whether Caller ID Name (CNAM) lookup should be enabled - for the trunk. If enabled, all inbound calls to the SIP Trunk - from the United States and Canada automatically perform a CNAM - Lookup and display Caller ID data on your phone. See [CNAM Lookups](https://www.twilio.com/docs/sip-trunking#CNAM) - for more information. - type: boolean - DisasterRecoveryMethod: - description: 'The HTTP method we should use to call the `disaster_recovery_url`. - Can be: `GET` or `POST`.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - DisasterRecoveryUrl: - description: The URL we should call using the `disaster_recovery_method` - if an error occurs while sending SIP traffic towards the configured - Origination URL. We retrieve TwiML from the URL and execute the - instructions like any other normal TwiML call. See [Disaster Recovery](https://www.twilio.com/docs/sip-trunking#disaster-recovery) - for more information. - format: uri - type: string - DomainName: - description: The unique address you reserve on Twilio to which you - route your SIP traffic. Domain names can contain letters, digits, - and `-` and must end with `pstn.twilio.com`. See [Termination - Settings](https://www.twilio.com/docs/sip-trunking#termination) - for more information. - type: string - FriendlyName: - description: A descriptive string that you create to describe the - resource. It can be up to 64 characters long. - type: string - Secure: - description: Whether Secure Trunking is enabled for the trunk. If - enabled, all calls going through the trunk will be secure using - SRTP for media and TLS for signaling. If disabled, then RTP will - be used for media. See [Secure Trunking](https://www.twilio.com/docs/sip-trunking#securetrunking) - for more information. - type: boolean - TransferCallerId: - description: 'Caller Id for transfer target. Can be: `from-transferee` - (default) or `from-transferor`.' - enum: - - from-transferee - - from-transferor - type: string - TransferMode: - description: 'The call transfer settings for the trunk. Can be: - `enable-all`, `sip-only` and `disable-all`. See [Transfer](https://www.twilio.com/docs/sip-trunking/call-transfer) - for more information.' - enum: - - disable-all - - enable-all - - sip-only + CredentialListSid: type: string - title: CreateTrunkRequest + minLength: 34 + maxLength: 34 + pattern: ^CL[0-9a-fA-F]{32}$ + description: The SID of the [Credential List](https://www.twilio.com/docs/voice/sip/api/sip-credentiallist-resource) + that you want to associate with the trunk. Once associated, we + will authenticate access to the trunk against this list. + required: + - CredentialListSid + title: CreateCredentialListRequest type: object responses: '201': content: application/json: schema: - $ref: '#/components/schemas/trunking.v1.trunk' + $ref: '#/components/schemas/trunking.v1.trunk.credential_list' description: Created security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://trunking.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - domain_name - pathType: list - /v1/Trunks/{Sid}: - delete: - description: '' - operationId: DeleteTrunk - parameters: - - description: The unique string that we created to identify the Trunk resource - to delete. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^TK[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: Represents a SIP trunk - get: - description: '' - operationId: FetchTrunk - parameters: - - description: The unique string that we created to identify the Trunk resource - to fetch. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^TK[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/trunking.v1.trunk' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: '' - operationId: UpdateTrunk - parameters: - - description: The unique string that we created to identify the OriginationUrl - resource to update. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^TK[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - CnamLookupEnabled: - description: Whether Caller ID Name (CNAM) lookup should be enabled - for the trunk. If enabled, all inbound calls to the SIP Trunk - from the United States and Canada automatically perform a CNAM - Lookup and display Caller ID data on your phone. See [CNAM Lookups](https://www.twilio.com/docs/sip-trunking#CNAM) - for more information. - type: boolean - DisasterRecoveryMethod: - description: 'The HTTP method we should use to call the `disaster_recovery_url`. - Can be: `GET` or `POST`.' - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method - type: string - DisasterRecoveryUrl: - description: The URL we should call using the `disaster_recovery_method` - if an error occurs while sending SIP traffic towards the configured - Origination URL. We retrieve TwiML from the URL and execute the - instructions like any other normal TwiML call. See [Disaster Recovery](https://www.twilio.com/docs/sip-trunking#disaster-recovery) - for more information. - format: uri - type: string - DomainName: - description: The unique address you reserve on Twilio to which you - route your SIP traffic. Domain names can contain letters, digits, - and `-` and must end with `pstn.twilio.com`. See [Termination - Settings](https://www.twilio.com/docs/sip-trunking#termination) - for more information. - type: string - FriendlyName: - description: A descriptive string that you create to describe the - resource. It can be up to 64 characters long. - type: string - Secure: - description: Whether Secure Trunking is enabled for the trunk. If - enabled, all calls going through the trunk will be secure using - SRTP for media and TLS for signaling. If disabled, then RTP will - be used for media. See [Secure Trunking](https://www.twilio.com/docs/sip-trunking#securetrunking) - for more information. - type: boolean - TransferCallerId: - description: 'Caller Id for transfer target. Can be: `from-transferee` - (default) or `from-transferor`.' - enum: - - from-transferee - - from-transferor - type: string - TransferMode: - description: 'The call transfer settings for the trunk. Can be: - `enable-all`, `sip-only` and `disable-all`. See [Transfer](https://www.twilio.com/docs/sip-trunking/call-transfer) - for more information.' - enum: - - disable-all - - enable-all - - sip-only - type: string - title: UpdateTrunkRequest - type: object - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/trunking.v1.trunk' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://trunking.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - domain_name - pathType: instance - /v1/Trunks/{TrunkSid}/CredentialLists: - description: List of credentials for accessing a trunk get: description: '' operationId: ListCredentialList @@ -776,10 +610,10 @@ paths: name: TrunkSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^TK[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 @@ -793,18 +627,19 @@ paths: content: application/json: schema: + type: object + title: ListCredentialListResponse properties: credential_lists: + type: array items: $ref: '#/components/schemas/trunking.v1.trunk.credential_list' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -818,88 +653,83 @@ paths: url: format: uri type: string - type: object - title: ListCredentialListResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: + /v1/Trunks/{TrunkSid}/IpAccessControlLists/{Sid}: + servers: + - url: https://trunking.twilio.com + description: List of IP addresses for accessing a trunk + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - date_created + pathType: instance + parent: /Trunks + get: description: '' - operationId: CreateCredentialList + operationId: FetchIpAccessControlList parameters: - - description: The SID of the Trunk to associate the credential list with. + - description: The SID of the Trunk from which to fetch the IP Access Control + List. in: path name: TrunkSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^TK[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - CredentialListSid: - description: The SID of the [Credential List](https://www.twilio.com/docs/voice/sip/api/sip-credentiallist-resource) - that you want to associate with the trunk. Once associated, we - will authenticate access to the trunk against this list. - maxLength: 34 - minLength: 34 - pattern: ^CL[0-9a-fA-F]{32}$ - type: string - required: - - CredentialListSid - title: CreateCredentialListRequest - type: object + - description: The unique string that we created to identify the IpAccessControlList + resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AL[0-9a-fA-F]{32}$ responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/trunking.v1.trunk.credential_list' - description: Created + $ref: '#/components/schemas/trunking.v1.trunk.ip_access_control_list' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://trunking.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - date_created - parent: /Trunks - pathType: list - /v1/Trunks/{TrunkSid}/CredentialLists/{Sid}: delete: - description: '' - operationId: DeleteCredentialList + description: Remove an associated IP Access Control List from a Trunk + operationId: DeleteIpAccessControlList parameters: - - description: The SID of the Trunk from which to delete the credential list. + - description: The SID of the Trunk from which to delete the IP Access Control + List. in: path name: TrunkSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^TK[0-9a-fA-F]{32}$ - type: string - - description: The unique string that we created to identify the CredentialList + - description: The unique string that we created to identify the IpAccessControlList resource to delete. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^CL[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^AL[0-9a-fA-F]{32}$ responses: '204': description: The resource was deleted successfully. @@ -907,52 +737,58 @@ paths: - accountSid_authToken: [] x-maturity: - GA - description: List of credentials for accessing a trunk - get: - description: '' - operationId: FetchCredentialList + /v1/Trunks/{TrunkSid}/IpAccessControlLists: + servers: + - url: https://trunking.twilio.com + description: List of IP addresses for accessing a trunk + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - date_created + pathType: list + parent: /Trunks + post: + description: Associate an IP Access Control List with a Trunk + operationId: CreateIpAccessControlList parameters: - - description: The SID of the Trunk from which to fetch the credential list. + - description: The SID of the Trunk to associate the IP Access Control List + with. in: path name: TrunkSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^TK[0-9a-fA-F]{32}$ type: string - - description: The unique string that we created to identify the CredentialList - resource to fetch. - in: path - name: Sid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^CL[0-9a-fA-F]{32}$ - type: string + maxLength: 34 + pattern: ^TK[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + IpAccessControlListSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AL[0-9a-fA-F]{32}$ + description: The SID of the [IP Access Control List](https://www.twilio.com/docs/voice/sip/api/sip-ipaccesscontrollist-resource) + that you want to associate with the trunk. + required: + - IpAccessControlListSid + title: CreateIpAccessControlListRequest + type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/trunking.v1.trunk.credential_list' - description: OK + $ref: '#/components/schemas/trunking.v1.trunk.ip_access_control_list' + description: Created security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://trunking.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - date_created - parent: /Trunks - pathType: instance - /v1/Trunks/{TrunkSid}/IpAccessControlLists: - description: List of IP addresses for accessing a trunk get: description: List all IP Access Control Lists for a Trunk operationId: ListIpAccessControlList @@ -963,10 +799,10 @@ paths: name: TrunkSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^TK[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 @@ -980,18 +816,19 @@ paths: content: application/json: schema: + type: object + title: ListIpAccessControlListResponse properties: ip_access_control_lists: + type: array items: $ref: '#/components/schemas/trunking.v1.trunk.ip_access_control_list' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1005,89 +842,83 @@ paths: url: format: uri type: string - type: object - title: ListIpAccessControlListResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: Associate an IP Access Control List with a Trunk - operationId: CreateIpAccessControlList + /v1/Trunks/{TrunkSid}/OriginationUrls/{Sid}: + servers: + - url: https://trunking.twilio.com + description: Network element entry points into your communications infrastructure + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - sip_url + - priority + - weight + pathType: instance + parent: /Trunks + get: + description: '' + operationId: FetchOriginationUrl parameters: - - description: The SID of the Trunk to associate the IP Access Control List - with. + - description: The SID of the Trunk from which to fetch the OriginationUrl. in: path name: TrunkSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^TK[0-9a-fA-F]{32}$ + - description: The unique string that we created to identify the OriginationUrl + resource to fetch. + in: path + name: Sid + required: true + schema: type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - IpAccessControlListSid: - description: The SID of the [IP Access Control List](https://www.twilio.com/docs/voice/sip/api/sip-ipaccesscontrollist-resource) - that you want to associate with the trunk. - maxLength: 34 - minLength: 34 - pattern: ^AL[0-9a-fA-F]{32}$ - type: string - required: - - IpAccessControlListSid - title: CreateIpAccessControlListRequest - type: object + minLength: 34 + maxLength: 34 + pattern: ^OU[0-9a-fA-F]{32}$ responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/trunking.v1.trunk.ip_access_control_list' - description: Created + $ref: '#/components/schemas/trunking.v1.trunk.origination_url' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://trunking.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - date_created - parent: /Trunks - pathType: list - /v1/Trunks/{TrunkSid}/IpAccessControlLists/{Sid}: delete: - description: Remove an associated IP Access Control List from a Trunk - operationId: DeleteIpAccessControlList + description: '' + operationId: DeleteOriginationUrl parameters: - - description: The SID of the Trunk from which to delete the IP Access Control - List. + - description: The SID of the Trunk from which to delete the OriginationUrl. in: path name: TrunkSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^TK[0-9a-fA-F]{32}$ - type: string - - description: The unique string that we created to identify the IpAccessControlList + - description: The unique string that we created to identify the OriginationUrl resource to delete. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^AL[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^OU[0-9a-fA-F]{32}$ responses: '204': description: The resource was deleted successfully. @@ -1095,112 +926,84 @@ paths: - accountSid_authToken: [] x-maturity: - GA - description: List of IP addresses for accessing a trunk - get: + post: description: '' - operationId: FetchIpAccessControlList + operationId: UpdateOriginationUrl parameters: - - description: The SID of the Trunk from which to fetch the IP Access Control - List. + - description: The SID of the Trunk from which to update the OriginationUrl. in: path name: TrunkSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^TK[0-9a-fA-F]{32}$ - type: string - - description: The unique string that we created to identify the IpAccessControlList - resource to fetch. + - description: The unique string that we created to identify the OriginationUrl + resource to update. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^AL[0-9a-fA-F]{32}$ type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/trunking.v1.trunk.ip_access_control_list' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://trunking.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - date_created - parent: /Trunks - pathType: instance - /v1/Trunks/{TrunkSid}/OriginationUrls: - description: Network element entry points into your communications infrastructure - get: - description: '' - operationId: ListOriginationUrl - parameters: - - description: The SID of the Trunk from which to read the OriginationUrl. - in: path - name: TrunkSid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^TK[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 + maxLength: 34 + pattern: ^OU[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Weight: + description: The value that determines the relative share of the + load the URI should receive compared to other URIs with the same + priority. Can be an integer from 1 to 65535, inclusive, and the + default is 10. URLs with higher values receive more load than + those with lower ones with the same priority. + type: integer + Priority: + description: The relative importance of the URI. Can be an integer + from 0 to 65535, inclusive, and the default is 10. The lowest + number represents the most important URI. + type: integer + Enabled: + description: Whether the URL is enabled. The default is `true`. + type: boolean + FriendlyName: + description: A descriptive string that you create to describe the + resource. It can be up to 64 characters long. + type: string + SipUrl: + description: The SIP address you want Twilio to route your Origination + calls to. This must be a `sip:` schema. `sips` is NOT supported. + format: uri + type: string + title: UpdateOriginationUrlRequest + type: object responses: '200': content: application/json: schema: - properties: - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - origination_urls: - items: - $ref: '#/components/schemas/trunking.v1.trunk.origination_url' - type: array - title: ListOriginationUrlResponse - type: object + $ref: '#/components/schemas/trunking.v1.trunk.origination_url' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Trunks/{TrunkSid}/OriginationUrls: + servers: + - url: https://trunking.twilio.com + description: Network element entry points into your communications infrastructure + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - sip_url + - priority + - weight + pathType: list + parent: /Trunks post: description: '' operationId: CreateOriginationUrl @@ -1210,15 +1013,27 @@ paths: name: TrunkSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^TK[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: + Weight: + description: The value that determines the relative share of the + load the URI should receive compared to other URIs with the same + priority. Can be an integer from 1 to 65535, inclusive, and the + default is 10. URLs with higher values receive more load than + those with lower ones with the same priority. + type: integer + Priority: + description: The relative importance of the URI. Can be an integer + from 0 to 65535, inclusive, and the default is 10. The lowest + number represents the most important URI. + type: integer Enabled: description: Whether the URL is enabled. The default is `true`. type: boolean @@ -1226,23 +1041,11 @@ paths: description: A descriptive string that you create to describe the resource. It can be up to 64 characters long. type: string - Priority: - description: The relative importance of the URI. Can be an integer - from 0 to 65535, inclusive, and the default is 10. The lowest - number represents the most important URI. - type: integer SipUrl: description: The SIP address you want Twilio to route your Origination calls to. This must be a `sip:` schema. format: uri type: string - Weight: - description: The value that determines the relative share of the - load the URI should receive compared to other URIs with the same - priority. Can be an integer from 1 to 65535, inclusive, and the - default is 10. URLs with higher values receive more load than - those with lower ones with the same priority. - type: integer required: - Weight - Priority @@ -1262,161 +1065,191 @@ paths: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://trunking.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - sip_url - - priority - - weight - parent: /Trunks - pathType: list - /v1/Trunks/{TrunkSid}/OriginationUrls/{Sid}: - delete: + get: description: '' - operationId: DeleteOriginationUrl + operationId: ListOriginationUrl parameters: - - description: The SID of the Trunk from which to delete the OriginationUrl. + - description: The SID of the Trunk from which to read the OriginationUrl. in: path name: TrunkSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^TK[0-9a-fA-F]{32}$ - type: string - - description: The unique string that we created to identify the OriginationUrl - resource to delete. - in: path - name: Sid - required: true + - description: How many resources to return in each list page. The default is + 50, and the maximum is 1000. + in: query + name: PageSize schema: - maxLength: 34 - minLength: 34 - pattern: ^OU[0-9a-fA-F]{32}$ - type: string + maximum: 1000 + minimum: 1 + type: integer responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + type: object + title: ListOriginationUrlResponse + properties: + origination_urls: + type: array + items: + $ref: '#/components/schemas/trunking.v1.trunk.origination_url' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string + description: OK security: - accountSid_authToken: [] x-maturity: - GA - description: Network element entry points into your communications infrastructure + /v1/Trunks/{TrunkSid}/PhoneNumbers/{Sid}: + servers: + - url: https://trunking.twilio.com + description: Phone numbers associated with trunks + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - phone_number + pathType: instance + parent: /Trunks get: description: '' - operationId: FetchOriginationUrl + operationId: FetchPhoneNumber parameters: - - description: The SID of the Trunk from which to fetch the OriginationUrl. + - description: The SID of the Trunk from which to fetch the PhoneNumber resource. in: path name: TrunkSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^TK[0-9a-fA-F]{32}$ - type: string - - description: The unique string that we created to identify the OriginationUrl + - description: The unique string that we created to identify the PhoneNumber resource to fetch. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^OU[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^PN[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/trunking.v1.trunk.origination_url' + $ref: '#/components/schemas/trunking.v1.trunk.phone_number' description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: + delete: description: '' - operationId: UpdateOriginationUrl + operationId: DeletePhoneNumber parameters: - - description: The SID of the Trunk from which to update the OriginationUrl. + - description: The SID of the Trunk from which to delete the PhoneNumber resource. in: path name: TrunkSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^TK[0-9a-fA-F]{32}$ - type: string - - description: The unique string that we created to identify the OriginationUrl - resource to update. + - description: The unique string that we created to identify the PhoneNumber + resource to delete. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 - pattern: ^OU[0-9a-fA-F]{32}$ + maxLength: 34 + pattern: ^PN[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Trunks/{TrunkSid}/PhoneNumbers: + servers: + - url: https://trunking.twilio.com + description: Phone numbers associated with trunks + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - phone_number + pathType: list + parent: /Trunks + post: + description: '' + operationId: CreatePhoneNumber + parameters: + - description: The SID of the Trunk to associate the phone number with. + in: path + name: TrunkSid + required: true + schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^TK[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - Enabled: - description: Whether the URL is enabled. The default is `true`. - type: boolean - FriendlyName: - description: A descriptive string that you create to describe the - resource. It can be up to 64 characters long. - type: string - Priority: - description: The relative importance of the URI. Can be an integer - from 0 to 65535, inclusive, and the default is 10. The lowest - number represents the most important URI. - type: integer - SipUrl: - description: The SIP address you want Twilio to route your Origination - calls to. This must be a `sip:` schema. `sips` is NOT supported. - format: uri + PhoneNumberSid: type: string - Weight: - description: The value that determines the relative share of the - load the URI should receive compared to other URIs with the same - priority. Can be an integer from 1 to 65535, inclusive, and the - default is 10. URLs with higher values receive more load than - those with lower ones with the same priority. - type: integer - title: UpdateOriginationUrlRequest + minLength: 34 + maxLength: 34 + pattern: ^PN[0-9a-fA-F]{32}$ + description: The SID of the [Incoming Phone Number](https://www.twilio.com/docs/phone-numbers/api/incomingphonenumber-resource) + that you want to associate with the trunk. + required: + - PhoneNumberSid + title: CreatePhoneNumberRequest type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/trunking.v1.trunk.origination_url' - description: OK + $ref: '#/components/schemas/trunking.v1.trunk.phone_number' + description: Created security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://trunking.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - sip_url - - priority - - weight - parent: /Trunks - pathType: instance - /v1/Trunks/{TrunkSid}/PhoneNumbers: - description: Phone numbers associated with trunks get: description: '' operationId: ListPhoneNumber @@ -1426,10 +1259,10 @@ paths: name: TrunkSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^TK[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 @@ -1443,14 +1276,19 @@ paths: content: application/json: schema: + type: object + title: ListPhoneNumberResponse properties: + phone_numbers: + type: array + items: + $ref: '#/components/schemas/trunking.v1.trunk.phone_number' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1464,91 +1302,145 @@ paths: url: format: uri type: string - type: object - phone_numbers: - items: - $ref: '#/components/schemas/trunking.v1.trunk.phone_number' - type: array - title: ListPhoneNumberResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: + /v1/Trunks/{TrunkSid}/Recording: + servers: + - url: https://trunking.twilio.com + description: Recording settings for a trunk + x-twilio: + defaultOutputProperties: + - mode + - trim + pathType: instance + parent: /Trunks + get: description: '' - operationId: CreatePhoneNumber + operationId: FetchRecording parameters: - - description: The SID of the Trunk to associate the phone number with. + - description: The SID of the Trunk from which to fetch the recording settings. in: path name: TrunkSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^TK[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/trunking.v1.trunk.recording' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + post: + description: '' + operationId: UpdateRecording + parameters: + - description: The SID of the Trunk that will have its recording settings updated. + in: path + name: TrunkSid + required: true + schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^TK[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - PhoneNumberSid: - description: The SID of the [Incoming Phone Number](https://www.twilio.com/docs/phone-numbers/api/incomingphonenumber-resource) - that you want to associate with the trunk. - maxLength: 34 - minLength: 34 - pattern: ^PN[0-9a-fA-F]{32}$ + Mode: type: string - required: - - PhoneNumberSid - title: CreatePhoneNumberRequest + enum: + - do-not-record + - record-from-ringing + - record-from-answer + - record-from-ringing-dual + - record-from-answer-dual + description: The recording mode for the trunk. Can be do-not-record + (default), record-from-ringing, record-from-answer, record-from-ringing-dual, + or record-from-answer-dual. + Trim: + type: string + enum: + - trim-silence + - do-not-trim + description: The recording trim setting for the trunk. Can be do-not-trim + (default) or trim-silence. + title: UpdateRecordingRequest type: object responses: - '201': + '202': content: application/json: schema: - $ref: '#/components/schemas/trunking.v1.trunk.phone_number' - description: Created + $ref: '#/components/schemas/trunking.v1.trunk.recording' + description: Accepted security: - accountSid_authToken: [] x-maturity: - GA + /v1/Trunks/{Sid}: servers: - url: https://trunking.twilio.com + description: Represents a SIP trunk x-twilio: defaultOutputProperties: - sid - friendly_name - - phone_number - parent: /Trunks - pathType: list - /v1/Trunks/{TrunkSid}/PhoneNumbers/{Sid}: - delete: + - domain_name + pathType: instance + get: description: '' - operationId: DeletePhoneNumber + operationId: FetchTrunk parameters: - - description: The SID of the Trunk from which to delete the PhoneNumber resource. + - description: The unique string that we created to identify the Trunk resource + to fetch. in: path - name: TrunkSid + name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^TK[0-9a-fA-F]{32}$ - type: string - - description: The unique string that we created to identify the PhoneNumber - resource to delete. + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/trunking.v1.trunk' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + delete: + description: '' + operationId: DeleteTrunk + parameters: + - description: The unique string that we created to identify the Trunk resource + to delete. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^PN[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^TK[0-9a-fA-F]{32}$ responses: '204': description: The resource was deleted successfully. @@ -1556,135 +1448,243 @@ paths: - accountSid_authToken: [] x-maturity: - GA - description: Phone numbers associated with trunks - get: + post: description: '' - operationId: FetchPhoneNumber + operationId: UpdateTrunk parameters: - - description: The SID of the Trunk from which to fetch the PhoneNumber resource. - in: path - name: TrunkSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^TK[0-9a-fA-F]{32}$ - type: string - - description: The unique string that we created to identify the PhoneNumber - resource to fetch. + - description: The unique string that we created to identify the OriginationUrl + resource to update. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^PN[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^TK[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: A descriptive string that you create to describe the + resource. It can be up to 64 characters long. + type: string + DomainName: + description: The unique address you reserve on Twilio to which you + route your SIP traffic. Domain names can contain letters, digits, + and `-` and must end with `pstn.twilio.com`. See [Termination + Settings](https://www.twilio.com/docs/sip-trunking#termination) + for more information. + type: string + DisasterRecoveryUrl: + description: The URL we should call using the `disaster_recovery_method` + if an error occurs while sending SIP traffic towards the configured + Origination URL. We retrieve TwiML from the URL and execute the + instructions like any other normal TwiML call. See [Disaster Recovery](https://www.twilio.com/docs/sip-trunking#disaster-recovery) + for more information. + format: uri + type: string + DisasterRecoveryMethod: + description: 'The HTTP method we should use to call the `disaster_recovery_url`. + Can be: `GET` or `POST`.' + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + type: string + TransferMode: + type: string + enum: + - disable-all + - enable-all + - sip-only + description: 'The call transfer settings for the trunk. Can be: + `enable-all`, `sip-only` and `disable-all`. See [Transfer](https://www.twilio.com/docs/sip-trunking/call-transfer) + for more information.' + Secure: + description: Whether Secure Trunking is enabled for the trunk. If + enabled, all calls going through the trunk will be secure using + SRTP for media and TLS for signaling. If disabled, then RTP will + be used for media. See [Secure Trunking](https://www.twilio.com/docs/sip-trunking#securetrunking) + for more information. + type: boolean + CnamLookupEnabled: + description: Whether Caller ID Name (CNAM) lookup should be enabled + for the trunk. If enabled, all inbound calls to the SIP Trunk + from the United States and Canada automatically perform a CNAM + Lookup and display Caller ID data on your phone. See [CNAM Lookups](https://www.twilio.com/docs/sip-trunking#CNAM) + for more information. + type: boolean + TransferCallerId: + type: string + enum: + - from-transferee + - from-transferor + description: 'Caller Id for transfer target. Can be: `from-transferee` + (default) or `from-transferor`.' + title: UpdateTrunkRequest + type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/trunking.v1.trunk.phone_number' + $ref: '#/components/schemas/trunking.v1.trunk' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Trunks: servers: - url: https://trunking.twilio.com + description: Represents a SIP trunk x-twilio: defaultOutputProperties: - sid - friendly_name - - phone_number - parent: /Trunks - pathType: instance - /v1/Trunks/{TrunkSid}/Recording: - description: Recording settings for a trunk - get: - description: '' - operationId: FetchRecording - parameters: - - description: The SID of the Trunk from which to fetch the recording settings. - in: path - name: TrunkSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^TK[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/trunking.v1.trunk.recording' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA + - domain_name + pathType: list post: description: '' - operationId: UpdateRecording - parameters: - - description: The SID of the Trunk that will have its recording settings updated. - in: path - name: TrunkSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^TK[0-9a-fA-F]{32}$ - type: string + operationId: CreateTrunk requestBody: content: application/x-www-form-urlencoded: schema: properties: - Mode: - description: The recording mode for the trunk. Can be do-not-record - (default), record-from-ringing, record-from-answer, record-from-ringing-dual, - or record-from-answer-dual. + FriendlyName: + description: A descriptive string that you create to describe the + resource. It can be up to 64 characters long. + type: string + DomainName: + description: The unique address you reserve on Twilio to which you + route your SIP traffic. Domain names can contain letters, digits, + and `-` and must end with `pstn.twilio.com`. See [Termination + Settings](https://www.twilio.com/docs/sip-trunking#termination) + for more information. + type: string + DisasterRecoveryUrl: + description: The URL we should call using the `disaster_recovery_method` + if an error occurs while sending SIP traffic towards the configured + Origination URL. We retrieve TwiML from the URL and execute the + instructions like any other normal TwiML call. See [Disaster Recovery](https://www.twilio.com/docs/sip-trunking#disaster-recovery) + for more information. + format: uri + type: string + DisasterRecoveryMethod: + description: 'The HTTP method we should use to call the `disaster_recovery_url`. + Can be: `GET` or `POST`.' enum: - - do-not-record - - record-from-ringing - - record-from-answer - - record-from-ringing-dual - - record-from-answer-dual + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + type: string + TransferMode: type: string - Trim: - description: The recording trim setting for the trunk. Can be do-not-trim - (default) or trim-silence. enum: - - trim-silence - - do-not-trim + - disable-all + - enable-all + - sip-only + description: 'The call transfer settings for the trunk. Can be: + `enable-all`, `sip-only` and `disable-all`. See [Transfer](https://www.twilio.com/docs/sip-trunking/call-transfer) + for more information.' + Secure: + description: Whether Secure Trunking is enabled for the trunk. If + enabled, all calls going through the trunk will be secure using + SRTP for media and TLS for signaling. If disabled, then RTP will + be used for media. See [Secure Trunking](https://www.twilio.com/docs/sip-trunking#securetrunking) + for more information. + type: boolean + CnamLookupEnabled: + description: Whether Caller ID Name (CNAM) lookup should be enabled + for the trunk. If enabled, all inbound calls to the SIP Trunk + from the United States and Canada automatically perform a CNAM + Lookup and display Caller ID data on your phone. See [CNAM Lookups](https://www.twilio.com/docs/sip-trunking#CNAM) + for more information. + type: boolean + TransferCallerId: type: string - title: UpdateRecordingRequest + enum: + - from-transferee + - from-transferor + description: 'Caller Id for transfer target. Can be: `from-transferee` + (default) or `from-transferor`.' + title: CreateTrunkRequest type: object responses: - '202': + '201': content: application/json: schema: - $ref: '#/components/schemas/trunking.v1.trunk.recording' - description: Accepted + $ref: '#/components/schemas/trunking.v1.trunk' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + get: + description: '' + operationId: ListTrunk + 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListTrunkResponse + properties: + trunks: + type: array + items: + $ref: '#/components/schemas/trunking.v1.trunk' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string + description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://trunking.twilio.com - x-twilio: - defaultOutputProperties: - - mode - - trim - parent: /Trunks - pathType: instance servers: - url: https://trunking.twilio.com x-maturity: -- description: This product is Generally Available. - name: GA +- name: GA + description: This product is Generally Available. diff --git a/spec/yaml/twilio_trusthub_v1.yaml b/spec/yaml/twilio_trusthub_v1.yaml index 960287f8..3cebb28b 100644 --- a/spec/yaml/twilio_trusthub_v1.yaml +++ b/spec/yaml/twilio_trusthub_v1.yaml @@ -1,25 +1,26 @@ components: schemas: trusthub.v1.customer_profile: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated email: description: The email address nullable: true @@ -34,21 +35,21 @@ components: nullable: true type: object policy_sid: - description: The unique string of a policy. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RN[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string of a policy. sid: - description: The unique string that identifies the resource. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^BU[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource. status: - description: The verification status of the Customer-Profile resource + type: string enum: - draft - pending-review @@ -56,7 +57,7 @@ components: - twilio-rejected - twilio-approved nullable: true - type: string + description: The verification status of the Customer-Profile resource status_callback: description: The URL we call to inform your application of status changes. format: uri @@ -68,183 +69,183 @@ components: nullable: true type: string valid_until: - description: The ISO 8601 date and time in GMT when the resource will be - valid until. + type: string format: date-time nullable: true - type: string - type: object + description: The ISO 8601 date and time in GMT when the resource will be + valid until. trusthub.v1.customer_profile.customer_profile_channel_endpoint_assignment: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource channel_endpoint_sid: - description: The sid of an channel endpoint - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The sid of an channel endpoint channel_endpoint_type: description: The type of channel endpoint nullable: true type: string customer_profile_sid: - description: The unique string that identifies the CustomerProfile resource. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^BU[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the CustomerProfile resource. date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource url: description: The absolute URL of the Identity resource format: uri nullable: true type: string - type: object trusthub.v1.customer_profile.customer_profile_entity_assignment: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource customer_profile_sid: - description: The unique string that identifies the CustomerProfile resource. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^BU[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the CustomerProfile resource. date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created object_sid: - description: The sid of an object bag - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The sid of an object bag sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^BV[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource url: description: The absolute URL of the Identity resource format: uri nullable: true type: string - type: object trusthub.v1.customer_profile.customer_profile_evaluation: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource customer_profile_sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^BU[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource date_created: + type: string format: date-time nullable: true - type: string policy_sid: - description: The unique string of a policy - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RN[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string of a policy results: - description: The results of the Evaluation resource + type: array items: {} nullable: true - type: array + description: The results of the Evaluation resource sid: - description: The unique string that identifies the Evaluation resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^EL[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the Evaluation resource status: - description: The compliance status of the Evaluation resource + type: string enum: - compliant - noncompliant nullable: true - type: string + description: The compliance status of the Evaluation resource url: format: uri nullable: true type: string - type: object trusthub.v1.end_user: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource attributes: - description: The set of parameters that compose the End Users resource nullable: true + description: The set of parameters that compose the End Users resource date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated friendly_name: description: The string that you assigned to describe the resource nullable: true type: string sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IT[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource type: description: The type of end user of the Bundle resource nullable: true @@ -254,14 +255,14 @@ components: format: uri nullable: true type: string - type: object trusthub.v1.end_user_type: + type: object properties: fields: - description: The required information for creating an End-User. + type: array items: {} nullable: true - type: array + description: The required information for creating an End-User. friendly_name: description: A human-readable description of the End-User Type resource nullable: true @@ -271,64 +272,64 @@ components: nullable: true type: string sid: - description: The unique string that identifies the End-User Type resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^OY[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the End-User Type resource url: description: The absolute URL of the End-User Type resource format: uri nullable: true type: string - type: object trusthub.v1.policies: + type: object properties: friendly_name: description: A human-readable description of the Policy resource nullable: true type: string requirements: - description: The sid of a Policy object that dictates requirements nullable: true + description: The sid of a Policy object that dictates requirements sid: - description: The unique string that identifies the Policy resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RN[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the Policy resource url: description: The absolute URL of the Policy resource format: uri nullable: true type: string - type: object trusthub.v1.supporting_document: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource attributes: + nullable: true description: The set of parameters that compose the Supporting Documents resource - nullable: true date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated friendly_name: description: The string that you assigned to describe the resource nullable: true @@ -338,14 +339,14 @@ components: nullable: true type: string sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RD[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource status: - description: The verification status of the Supporting Document resource + type: string enum: - draft - pending-review @@ -354,7 +355,7 @@ components: - expired - provisionally-approved nullable: true - type: string + description: The verification status of the Supporting Document resource type: description: The type of the Supporting Document nullable: true @@ -364,14 +365,14 @@ components: format: uri nullable: true type: string - type: object trusthub.v1.supporting_document_type: + type: object properties: fields: - description: The required information for creating a Supporting Document + type: array items: {} nullable: true - type: array + description: The required information for creating a Supporting Document friendly_name: description: A human-readable description of the Supporting Document Type resource @@ -383,39 +384,39 @@ components: nullable: true type: string sid: - description: The unique string that identifies the Supporting Document Type - resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^OY[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the Supporting Document Type + resource url: description: The absolute URL of the Supporting Document Type resource format: uri nullable: true type: string - type: object trusthub.v1.trust_product: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated email: description: The email address nullable: true @@ -430,21 +431,21 @@ components: nullable: true type: object policy_sid: - description: The unique string of a policy. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RN[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string of a policy. sid: - description: The unique string that identifies the resource. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^BU[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource. status: - description: The verification status of the Customer-Profile resource + type: string enum: - draft - pending-review @@ -452,7 +453,7 @@ components: - twilio-rejected - twilio-approved nullable: true - type: string + description: The verification status of the Customer-Profile resource status_callback: description: The URL we call to inform your application of status changes. format: uri @@ -464,149 +465,148 @@ components: nullable: true type: string valid_until: - description: The ISO 8601 date and time in GMT when the resource will be - valid until. + type: string format: date-time nullable: true - type: string - type: object + description: The ISO 8601 date and time in GMT when the resource will be + valid until. trusthub.v1.trust_product.trust_product_channel_endpoint_assignment: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource channel_endpoint_sid: - description: The sid of an channel endpoint - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The sid of an channel endpoint channel_endpoint_type: description: The type of channel endpoint nullable: true type: string date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource trust_product_sid: - description: The unique string that identifies the CustomerProfile resource. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^BU[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the CustomerProfile resource. url: description: The absolute URL of the Identity resource format: uri nullable: true type: string - type: object trusthub.v1.trust_product.trust_product_entity_assignment: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created object_sid: - description: The sid of an object bag - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The sid of an object bag sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^BV[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource trust_product_sid: - description: The unique string that identifies the TrustProduct resource. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^BU[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the TrustProduct resource. url: description: The absolute URL of the Identity resource format: uri nullable: true type: string - type: object trusthub.v1.trust_product.trust_product_evaluation: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource date_created: + type: string format: date-time nullable: true - type: string policy_sid: - description: The unique string of a policy - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RN[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string of a policy results: - description: The results of the Evaluation resource + type: array items: {} nullable: true - type: array + description: The results of the Evaluation resource sid: - description: The unique string that identifies the Evaluation resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^EL[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the Evaluation resource status: - description: The compliance status of the Evaluation resource + type: string enum: - compliant - noncompliant nullable: true - type: string + description: The compliance status of the Evaluation resource trust_product_sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^BU[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource url: format: uri nullable: true type: string - type: object securitySchemes: accountSid_authToken: scheme: basic @@ -626,7 +626,60 @@ info: openapi: 3.0.1 paths: /v1/CustomerProfiles: + servers: + - url: https://trusthub.twilio.com description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - policy_sid + - friendly_name + pathType: list + className: customer_profiles + post: + description: Create a new Customer-Profile. + operationId: CreateCustomerProfile + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: The string that you assigned to describe the resource. + type: string + Email: + description: The email address that will receive updates when the + Customer-Profile resource changes status. + type: string + PolicySid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RN[0-9a-fA-F]{32}$ + description: The unique string of a policy that is associated to + the Customer-Profile resource. + StatusCallback: + description: The URL we call to inform your application of status + changes. + format: uri + type: string + required: + - FriendlyName + - Email + - PolicySid + title: CreateCustomerProfileRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/trusthub.v1.customer_profile' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA get: description: Retrieve a list of all Customer-Profiles for an account. operationId: ListCustomerProfile @@ -635,13 +688,13 @@ paths: in: query name: Status schema: + type: string enum: - draft - pending-review - in-review - twilio-rejected - twilio-approved - type: string - description: The string that you assigned to describe the resource. in: query name: FriendlyName @@ -652,10 +705,10 @@ paths: in: query name: PolicySid schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^RN[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 @@ -669,14 +722,19 @@ paths: content: application/json: schema: + type: object + title: ListCustomerProfileResponse properties: + results: + type: array + items: + $ref: '#/components/schemas/trusthub.v1.customer_profile' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -690,222 +748,116 @@ paths: url: format: uri type: string - type: object - results: - items: - $ref: '#/components/schemas/trusthub.v1.customer_profile' - type: array - title: ListCustomerProfileResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: Create a new Customer-Profile. - operationId: CreateCustomerProfile - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Email: - description: The email address that will receive updates when the - Customer-Profile resource changes status. - type: string - FriendlyName: - description: The string that you assigned to describe the resource. - type: string - PolicySid: - description: The unique string of a policy that is associated to - the Customer-Profile resource. - maxLength: 34 - minLength: 34 - pattern: ^RN[0-9a-fA-F]{32}$ - type: string - StatusCallback: - description: The URL we call to inform your application of status - changes. - format: uri - type: string - required: - - FriendlyName - - Email - - PolicySid - title: CreateCustomerProfileRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/trusthub.v1.customer_profile' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA + /v1/CustomerProfiles/{Sid}: servers: - url: https://trusthub.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - className: customer_profiles defaultOutputProperties: - sid - policy_sid - friendly_name - pathType: list - /v1/CustomerProfiles/{CustomerProfileSid}/ChannelEndpointAssignments: - description: 'TODO: Resource-level docs' + pathType: instance + className: customer_profiles get: - description: Retrieve a list of all Assigned Items for an account. - operationId: ListCustomerProfileChannelEndpointAssignment + description: Fetch a specific Customer-Profile instance. + operationId: FetchCustomerProfile parameters: - - description: The unique string that we created to identify the CustomerProfile + - description: The unique string that we created to identify the Customer-Profile resource. in: path - name: CustomerProfileSid + name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^BU[0-9a-fA-F]{32}$ type: string - - description: The SID of an channel endpoint - in: query - name: ChannelEndpointSid - schema: - maxLength: 34 minLength: 34 - pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ - type: string - - description: comma separated list of channel endpoint sids - in: query - name: ChannelEndpointSids - schema: - 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 + maxLength: 34 + pattern: ^BU[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - properties: - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - results: - items: - $ref: '#/components/schemas/trusthub.v1.customer_profile.customer_profile_channel_endpoint_assignment' - type: array - title: ListCustomerProfileChannelEndpointAssignmentResponse - type: object + $ref: '#/components/schemas/trusthub.v1.customer_profile' description: OK security: - accountSid_authToken: [] x-maturity: - GA post: - description: Create a new Assigned Item. - operationId: CreateCustomerProfileChannelEndpointAssignment + description: Updates a Customer-Profile in an account. + operationId: UpdateCustomerProfile parameters: - - description: The unique string that we created to identify the CustomerProfile + - description: The unique string that we created to identify the Customer-Profile resource. in: path - name: CustomerProfileSid + name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^BU[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - ChannelEndpointSid: - description: The SID of an channel endpoint - maxLength: 34 - minLength: 34 - pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ + Status: type: string - ChannelEndpointType: - description: 'The type of channel endpoint. eg: phone-number' + enum: + - draft + - pending-review + - in-review + - twilio-rejected + - twilio-approved + description: The verification status of the Customer-Profile resource. + StatusCallback: + description: The URL we call to inform your application of status + changes. + format: uri type: string - required: - - ChannelEndpointType - - ChannelEndpointSid - title: CreateCustomerProfileChannelEndpointAssignmentRequest + FriendlyName: + description: The string that you assigned to describe the resource. + type: string + Email: + description: The email address that will receive updates when the + Customer-Profile resource changes status. + type: string + title: UpdateCustomerProfileRequest type: object responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/trusthub.v1.customer_profile.customer_profile_channel_endpoint_assignment' - description: Created + $ref: '#/components/schemas/trusthub.v1.customer_profile' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://trusthub.twilio.com - x-twilio: - className: customer_profiles_channel_endpoint_assignment - defaultOutputProperties: - - sid - parent: /CustomerProfiles - pathType: list - /v1/CustomerProfiles/{CustomerProfileSid}/ChannelEndpointAssignments/{Sid}: delete: - description: Remove an Assignment Item Instance. - operationId: DeleteCustomerProfileChannelEndpointAssignment + description: Delete a specific Customer-Profile. + operationId: DeleteCustomerProfile parameters: - - description: The unique string that we created to identify the CustomerProfile + - description: The unique string that we created to identify the Customer-Profile resource. in: path - name: CustomerProfileSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^BU[0-9a-fA-F]{32}$ - type: string - - description: The unique string that we created to identify the resource. - in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^RA[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^BU[0-9a-fA-F]{32}$ responses: '204': description: The resource was deleted successfully. @@ -913,10 +865,19 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/CustomerProfiles/{CustomerProfileSid}/ChannelEndpointAssignments: + servers: + - url: https://trusthub.twilio.com description: 'TODO: Resource-level docs' - get: - description: Fetch specific Assigned Item Instance. - operationId: FetchCustomerProfileChannelEndpointAssignment + x-twilio: + defaultOutputProperties: + - sid + pathType: list + parent: /CustomerProfiles + className: customer_profiles_channel_endpoint_assignment + post: + description: Create a new Assigned Item. + operationId: CreateCustomerProfileChannelEndpointAssignment parameters: - description: The unique string that we created to identify the CustomerProfile resource. @@ -924,43 +885,43 @@ paths: name: CustomerProfileSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^BU[0-9a-fA-F]{32}$ type: string - - description: The unique string that we created to identify the resource. - in: path - name: Sid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^RA[0-9a-fA-F]{32}$ - type: string + maxLength: 34 + pattern: ^BU[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + ChannelEndpointType: + description: 'The type of channel endpoint. eg: phone-number' + type: string + ChannelEndpointSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ + description: The SID of an channel endpoint + required: + - ChannelEndpointType + - ChannelEndpointSid + title: CreateCustomerProfileChannelEndpointAssignmentRequest + type: object responses: - '200': + '201': content: application/json: schema: $ref: '#/components/schemas/trusthub.v1.customer_profile.customer_profile_channel_endpoint_assignment' - description: OK + description: Created security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://trusthub.twilio.com - x-twilio: - className: customer_profiles_channel_endpoint_assignment - defaultOutputProperties: - - sid - parent: /CustomerProfiles - pathType: instance - /v1/CustomerProfiles/{CustomerProfileSid}/EntityAssignments: - description: 'TODO: Resource-level docs' get: description: Retrieve a list of all Assigned Items for an account. - operationId: ListCustomerProfileEntityAssignment + operationId: ListCustomerProfileChannelEndpointAssignment parameters: - description: The unique string that we created to identify the CustomerProfile resource. @@ -968,9 +929,22 @@ paths: name: CustomerProfileSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^BU[0-9a-fA-F]{32}$ + - description: The SID of an channel endpoint + in: query + name: ChannelEndpointSid + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ + - description: comma separated list of channel endpoint sids + in: query + name: ChannelEndpointSids + schema: type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. @@ -985,14 +959,19 @@ paths: content: application/json: schema: + type: object + title: ListCustomerProfileChannelEndpointAssignmentResponse properties: + results: + type: array + items: + $ref: '#/components/schemas/trusthub.v1.customer_profile.customer_profile_channel_endpoint_assignment' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1006,21 +985,26 @@ paths: url: format: uri type: string - type: object - results: - items: - $ref: '#/components/schemas/trusthub.v1.customer_profile.customer_profile_entity_assignment' - type: array - title: ListCustomerProfileEntityAssignmentResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - - GA - post: - description: Create a new Assigned Item. - operationId: CreateCustomerProfileEntityAssignment + - GA + /v1/CustomerProfiles/{CustomerProfileSid}/ChannelEndpointAssignments/{Sid}: + servers: + - url: https://trusthub.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + pathType: instance + parent: /CustomerProfiles + className: customer_profiles_channel_endpoint_assignment + get: + description: Fetch specific Assigned Item Instance. + operationId: FetchCustomerProfileChannelEndpointAssignment parameters: - description: The unique string that we created to identify the CustomerProfile resource. @@ -1028,49 +1012,33 @@ paths: name: CustomerProfileSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^BU[0-9a-fA-F]{32}$ + - description: The unique string that we created to identify the resource. + in: path + name: Sid + required: true + schema: type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - ObjectSid: - description: The SID of an object bag that holds information of - the different items. - maxLength: 34 - minLength: 34 - pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ - type: string - required: - - ObjectSid - title: CreateCustomerProfileEntityAssignmentRequest - type: object + minLength: 34 + maxLength: 34 + pattern: ^RA[0-9a-fA-F]{32}$ responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/trusthub.v1.customer_profile.customer_profile_entity_assignment' - description: Created + $ref: '#/components/schemas/trusthub.v1.customer_profile.customer_profile_channel_endpoint_assignment' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://trusthub.twilio.com - x-twilio: - className: customer_profiles_entity_assignments - defaultOutputProperties: - - sid - parent: /CustomerProfiles - pathType: list - /v1/CustomerProfiles/{CustomerProfileSid}/EntityAssignments/{Sid}: delete: description: Remove an Assignment Item Instance. - operationId: DeleteCustomerProfileEntityAssignment + operationId: DeleteCustomerProfileChannelEndpointAssignment parameters: - description: The unique string that we created to identify the CustomerProfile resource. @@ -1078,19 +1046,19 @@ paths: name: CustomerProfileSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^BU[0-9a-fA-F]{32}$ - type: string - - description: The unique string that we created to identify the Identity resource. + - description: The unique string that we created to identify the resource. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^BV[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^RA[0-9a-fA-F]{32}$ responses: '204': description: The resource was deleted successfully. @@ -1098,10 +1066,19 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/CustomerProfiles/{CustomerProfileSid}/EntityAssignments: + servers: + - url: https://trusthub.twilio.com description: 'TODO: Resource-level docs' - get: - description: Fetch specific Assigned Item Instance. - operationId: FetchCustomerProfileEntityAssignment + x-twilio: + defaultOutputProperties: + - sid + pathType: list + parent: /CustomerProfiles + className: customer_profiles_entity_assignments + post: + description: Create a new Assigned Item. + operationId: CreateCustomerProfileEntityAssignment parameters: - description: The unique string that we created to identify the CustomerProfile resource. @@ -1109,44 +1086,40 @@ paths: name: CustomerProfileSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^BU[0-9a-fA-F]{32}$ type: string - - description: The unique string that we created to identify the Identity resource. - in: path - name: Sid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^BV[0-9a-fA-F]{32}$ - type: string + maxLength: 34 + pattern: ^BU[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + ObjectSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ + description: The SID of an object bag that holds information of + the different items. + required: + - ObjectSid + title: CreateCustomerProfileEntityAssignmentRequest + type: object responses: - '200': + '201': content: application/json: schema: $ref: '#/components/schemas/trusthub.v1.customer_profile.customer_profile_entity_assignment' - description: OK + description: Created security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://trusthub.twilio.com - x-twilio: - className: customer_profiles_entity_assignments - defaultOutputProperties: - - sid - parent: /CustomerProfiles - pathType: instance - /v1/CustomerProfiles/{CustomerProfileSid}/Evaluations: - description: 'TODO: Resource-level docs' get: - description: Retrieve a list of Evaluations associated to the customer_profile - resource. - operationId: ListCustomerProfileEvaluation + description: Retrieve a list of all Assigned Items for an account. + operationId: ListCustomerProfileEntityAssignment parameters: - description: The unique string that we created to identify the CustomerProfile resource. @@ -1154,10 +1127,10 @@ paths: name: CustomerProfileSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^BU[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 @@ -1171,14 +1144,19 @@ paths: content: application/json: schema: + type: object + title: ListCustomerProfileEntityAssignmentResponse properties: + results: + type: array + items: + $ref: '#/components/schemas/trusthub.v1.customer_profile.customer_profile_entity_assignment' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1192,227 +1170,153 @@ paths: url: format: uri type: string - type: object - results: - items: - $ref: '#/components/schemas/trusthub.v1.customer_profile.customer_profile_evaluation' - type: array - title: ListCustomerProfileEvaluationResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: Create a new Evaluation - operationId: CreateCustomerProfileEvaluation - parameters: - - description: The unique string that we created to identify the CustomerProfile - resource. - in: path - name: CustomerProfileSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^BU[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - PolicySid: - description: The unique string of a policy that is associated to - the customer_profile resource. - maxLength: 34 - minLength: 34 - pattern: ^RN[0-9a-fA-F]{32}$ - type: string - required: - - PolicySid - title: CreateCustomerProfileEvaluationRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/trusthub.v1.customer_profile.customer_profile_evaluation' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA + /v1/CustomerProfiles/{CustomerProfileSid}/EntityAssignments/{Sid}: servers: - url: https://trusthub.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - className: customer_profiles_evaluations defaultOutputProperties: - sid + pathType: instance parent: /CustomerProfiles - pathType: list - /v1/CustomerProfiles/{CustomerProfileSid}/Evaluations/{Sid}: - description: 'TODO: Resource-level docs' + className: customer_profiles_entity_assignments get: - description: Fetch specific Evaluation Instance. - operationId: FetchCustomerProfileEvaluation + description: Fetch specific Assigned Item Instance. + operationId: FetchCustomerProfileEntityAssignment parameters: - - description: The unique string that we created to identify the customer_profile + - description: The unique string that we created to identify the CustomerProfile resource. in: path name: CustomerProfileSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^BU[0-9a-fA-F]{32}$ - type: string - - description: The unique string that identifies the Evaluation resource. + - description: The unique string that we created to identify the Identity resource. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^EL[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^BV[0-9a-fA-F]{32}$ responses: '200': content: - application/json: - schema: - $ref: '#/components/schemas/trusthub.v1.customer_profile.customer_profile_evaluation' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://trusthub.twilio.com - x-twilio: - className: customer_profiles_evaluations - defaultOutputProperties: - - sid - parent: /CustomerProfiles - pathType: instance - /v1/CustomerProfiles/{Sid}: - delete: - description: Delete a specific Customer-Profile. - operationId: DeleteCustomerProfile - parameters: - - description: The unique string that we created to identify the Customer-Profile - resource. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^BU[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. + application/json: + schema: + $ref: '#/components/schemas/trusthub.v1.customer_profile.customer_profile_entity_assignment' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - description: 'TODO: Resource-level docs' - get: - description: Fetch a specific Customer-Profile instance. - operationId: FetchCustomerProfile + delete: + description: Remove an Assignment Item Instance. + operationId: DeleteCustomerProfileEntityAssignment parameters: - - description: The unique string that we created to identify the Customer-Profile + - description: The unique string that we created to identify the CustomerProfile resource. in: path - name: Sid + name: CustomerProfileSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^BU[0-9a-fA-F]{32}$ + - description: The unique string that we created to identify the Identity resource. + in: path + name: Sid + required: true + schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^BV[0-9a-fA-F]{32}$ responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/trusthub.v1.customer_profile' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA + /v1/CustomerProfiles/{CustomerProfileSid}/Evaluations: + servers: + - url: https://trusthub.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + pathType: list + parent: /CustomerProfiles + className: customer_profiles_evaluations post: - description: Updates a Customer-Profile in an account. - operationId: UpdateCustomerProfile + description: Create a new Evaluation + operationId: CreateCustomerProfileEvaluation parameters: - - description: The unique string that we created to identify the Customer-Profile + - description: The unique string that we created to identify the CustomerProfile resource. in: path - name: Sid + name: CustomerProfileSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^BU[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Email: - description: The email address that will receive updates when the - Customer-Profile resource changes status. - type: string - FriendlyName: - description: The string that you assigned to describe the resource. - type: string - Status: - description: The verification status of the Customer-Profile resource. - enum: - - draft - - pending-review - - in-review - - twilio-rejected - - twilio-approved - type: string - StatusCallback: - description: The URL we call to inform your application of status - changes. - format: uri + PolicySid: type: string - title: UpdateCustomerProfileRequest + minLength: 34 + maxLength: 34 + pattern: ^RN[0-9a-fA-F]{32}$ + description: The unique string of a policy that is associated to + the customer_profile resource. + required: + - PolicySid + title: CreateCustomerProfileEvaluationRequest type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/trusthub.v1.customer_profile' - description: OK + $ref: '#/components/schemas/trusthub.v1.customer_profile.customer_profile_evaluation' + description: Created security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://trusthub.twilio.com - x-twilio: - className: customer_profiles - defaultOutputProperties: - - sid - - policy_sid - - friendly_name - pathType: instance - /v1/EndUserTypes: - description: 'TODO: Resource-level docs' get: - description: Retrieve a list of all End-User Types. - operationId: ListEndUserType + description: Retrieve a list of Evaluations associated to the customer_profile + resource. + operationId: ListCustomerProfileEvaluation parameters: + - description: The unique string that we created to identify the CustomerProfile + resource. + in: path + name: CustomerProfileSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^BU[0-9a-fA-F]{32}$ - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -1426,18 +1330,19 @@ paths: content: application/json: schema: + type: object + title: ListCustomerProfileEvaluationResponse properties: - end_user_types: - items: - $ref: '#/components/schemas/trusthub.v1.end_user_type' + results: type: array + items: + $ref: '#/components/schemas/trusthub.v1.customer_profile.customer_profile_evaluation' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1451,53 +1356,100 @@ paths: url: format: uri type: string - type: object - title: ListEndUserTypeResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/CustomerProfiles/{CustomerProfileSid}/Evaluations/{Sid}: servers: - url: https://trusthub.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - - friendly_name - pathType: list - /v1/EndUserTypes/{Sid}: - description: 'TODO: Resource-level docs' + pathType: instance + parent: /CustomerProfiles + className: customer_profiles_evaluations get: - description: Fetch a specific End-User Type Instance. - operationId: FetchEndUserType + description: Fetch specific Evaluation Instance. + operationId: FetchCustomerProfileEvaluation parameters: - - description: The unique string that identifies the End-User Type resource. + - description: The unique string that we created to identify the customer_profile + resource. + in: path + name: CustomerProfileSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^BU[0-9a-fA-F]{32}$ + - description: The unique string that identifies the Evaluation resource. in: path name: Sid required: true schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^EL[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/trusthub.v1.end_user_type' + $ref: '#/components/schemas/trusthub.v1.customer_profile.customer_profile_evaluation' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/EndUsers: servers: - url: https://trusthub.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - friendly_name - pathType: instance - /v1/EndUsers: - description: 'TODO: Resource-level docs' + pathType: list + post: + description: Create a new End User. + operationId: CreateEndUser + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: The string that you assigned to describe the resource. + type: string + Type: + description: The type of end user of the Bundle resource - can be + `individual` or `business`. + type: string + Attributes: + description: The set of parameters that are the attributes of the + End User resource which are derived End User Types. + required: + - FriendlyName + - Type + title: CreateEndUserRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/trusthub.v1.end_user' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA get: description: Retrieve a list of all End User for an account. operationId: ListEndUser @@ -1515,14 +1467,19 @@ paths: content: application/json: schema: + type: object + title: ListEndUserResponse properties: + results: + type: array + items: + $ref: '#/components/schemas/trusthub.v1.end_user' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1535,83 +1492,23 @@ paths: type: string url: format: uri - type: string - type: object - results: - items: - $ref: '#/components/schemas/trusthub.v1.end_user' - type: array - title: ListEndUserResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: Create a new End User. - operationId: CreateEndUser - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Attributes: - description: The set of parameters that are the attributes of the - End User resource which are derived End User Types. - FriendlyName: - description: The string that you assigned to describe the resource. - type: string - Type: - description: The type of end user of the Bundle resource - can be - `individual` or `business`. - type: string - required: - - FriendlyName - - Type - title: CreateEndUserRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/trusthub.v1.end_user' - description: Created + type: string + key: + type: string + description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/EndUsers/{Sid}: servers: - url: https://trusthub.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - friendly_name - pathType: list - /v1/EndUsers/{Sid}: - delete: - description: Delete a specific End User. - operationId: DeleteEndUser - parameters: - - description: The unique string created by Twilio to identify the End User - resource. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IT[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: 'TODO: Resource-level docs' + pathType: instance get: description: Fetch specific End User Instance. operationId: FetchEndUser @@ -1622,10 +1519,10 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IT[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -1647,21 +1544,21 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IT[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Attributes: - description: The set of parameters that are the attributes of the - End User resource which are derived End User Types. FriendlyName: description: The string that you assigned to describe the resource. type: string + Attributes: + description: The set of parameters that are the attributes of the + End User resource which are derived End User Types. title: UpdateEndUserRequest type: object responses: @@ -1675,18 +1572,39 @@ paths: - accountSid_authToken: [] x-maturity: - GA + delete: + description: Delete a specific End User. + operationId: DeleteEndUser + parameters: + - description: The unique string created by Twilio to identify the End User + resource. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IT[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/EndUserTypes: servers: - url: https://trusthub.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - friendly_name - pathType: instance - /v1/Policies: - description: 'TODO: Resource-level docs' + pathType: list get: - description: Retrieve a list of all Policys. - operationId: ListPolicies + description: Retrieve a list of all End-User Types. + operationId: ListEndUserType parameters: - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. @@ -1701,14 +1619,19 @@ paths: content: application/json: schema: + type: object + title: ListEndUserTypeResponse properties: + end_user_types: + type: array + items: + $ref: '#/components/schemas/trusthub.v1.end_user_type' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1722,65 +1645,56 @@ paths: url: format: uri type: string - type: object - results: - items: - $ref: '#/components/schemas/trusthub.v1.policies' - type: array - title: ListPoliciesResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/EndUserTypes/{Sid}: servers: - url: https://trusthub.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - className: policies defaultOutputProperties: - sid - friendly_name - pathType: list - /v1/Policies/{Sid}: - description: 'TODO: Resource-level docs' + pathType: instance get: - description: Fetch specific Policy Instance. - operationId: FetchPolicies + description: Fetch a specific End-User Type Instance. + operationId: FetchEndUserType parameters: - - description: The unique string that identifies the Policy resource. + - description: The unique string that identifies the End-User Type resource. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^RN[0-9a-fA-F]{32}$ type: string responses: '200': content: application/json: schema: - $ref: '#/components/schemas/trusthub.v1.policies' + $ref: '#/components/schemas/trusthub.v1.end_user_type' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Policies: servers: - url: https://trusthub.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - className: policies defaultOutputProperties: - sid - friendly_name - pathType: instance - /v1/SupportingDocumentTypes: - description: 'TODO: Resource-level docs' + pathType: list + className: policies get: - description: Retrieve a list of all Supporting Document Types. - operationId: ListSupportingDocumentType + description: Retrieve a list of all Policys. + operationId: ListPolicies parameters: - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. @@ -1795,14 +1709,19 @@ paths: content: application/json: schema: + type: object + title: ListPoliciesResponse properties: + results: + type: array + items: + $ref: '#/components/schemas/trusthub.v1.policies' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1816,58 +1735,90 @@ paths: url: format: uri type: string - type: object - supporting_document_types: - items: - $ref: '#/components/schemas/trusthub.v1.supporting_document_type' - type: array - title: ListSupportingDocumentTypeResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Policies/{Sid}: servers: - url: https://trusthub.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - friendly_name - pathType: list - /v1/SupportingDocumentTypes/{Sid}: - description: 'TODO: Resource-level docs' + pathType: instance + className: policies get: - description: Fetch a specific Supporting Document Type Instance. - operationId: FetchSupportingDocumentType + description: Fetch specific Policy Instance. + operationId: FetchPolicies parameters: - - description: The unique string that identifies the Supporting Document Type - resource. + - description: The unique string that identifies the Policy resource. in: path name: Sid required: true schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^RN[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/trusthub.v1.supporting_document_type' + $ref: '#/components/schemas/trusthub.v1.policies' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/SupportingDocuments: servers: - url: https://trusthub.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - friendly_name - pathType: instance - /v1/SupportingDocuments: - description: 'TODO: Resource-level docs' + pathType: list + post: + description: Create a new Supporting Document. + operationId: CreateSupportingDocument + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: The string that you assigned to describe the resource. + type: string + Type: + description: The type of the Supporting Document. + type: string + Attributes: + description: The set of parameters that are the attributes of the + Supporting Documents resource which are derived Supporting Document + Types. + required: + - FriendlyName + - Type + title: CreateSupportingDocumentRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/trusthub.v1.supporting_document' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA get: description: Retrieve a list of all Supporting Document for an account. operationId: ListSupportingDocument @@ -1885,14 +1836,19 @@ paths: content: application/json: schema: + type: object + title: ListSupportingDocumentResponse properties: + results: + type: array + items: + $ref: '#/components/schemas/trusthub.v1.supporting_document' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1902,86 +1858,26 @@ paths: type: integer previous_page_url: format: uri - type: string - url: - format: uri - type: string - type: object - results: - items: - $ref: '#/components/schemas/trusthub.v1.supporting_document' - type: array - title: ListSupportingDocumentResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: Create a new Supporting Document. - operationId: CreateSupportingDocument - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Attributes: - description: The set of parameters that are the attributes of the - Supporting Documents resource which are derived Supporting Document - Types. - FriendlyName: - description: The string that you assigned to describe the resource. - type: string - Type: - description: The type of the Supporting Document. - type: string - required: - - FriendlyName - - Type - title: CreateSupportingDocumentRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/trusthub.v1.supporting_document' - description: Created + type: string + url: + format: uri + type: string + key: + type: string + description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/SupportingDocuments/{Sid}: servers: - url: https://trusthub.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - friendly_name - pathType: list - /v1/SupportingDocuments/{Sid}: - delete: - description: Delete a specific Supporting Document. - operationId: DeleteSupportingDocument - parameters: - - description: The unique string created by Twilio to identify the Supporting - Document resource. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^RD[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: 'TODO: Resource-level docs' + pathType: instance get: description: Fetch specific Supporting Document Instance. operationId: FetchSupportingDocument @@ -1992,10 +1888,10 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^RD[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -2017,22 +1913,22 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^RD[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 resource. + type: string Attributes: description: The set of parameters that are the attributes of the Supporting Document resource which are derived Supporting Document Types. - FriendlyName: - description: The string that you assigned to describe the resource. - type: string title: UpdateSupportingDocumentRequest type: object responses: @@ -2046,44 +1942,40 @@ paths: - accountSid_authToken: [] x-maturity: - GA + delete: + description: Delete a specific Supporting Document. + operationId: DeleteSupportingDocument + parameters: + - description: The unique string created by Twilio to identify the Supporting + Document resource. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RD[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/SupportingDocumentTypes: servers: - url: https://trusthub.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - friendly_name - pathType: instance - /v1/TrustProducts: - description: 'TODO: Resource-level docs' + pathType: list get: - description: Retrieve a list of all Customer-Profiles for an account. - operationId: ListTrustProduct + description: Retrieve a list of all Supporting Document Types. + operationId: ListSupportingDocumentType parameters: - - description: The verification status of the Customer-Profile resource. - in: query - name: Status - schema: - enum: - - draft - - pending-review - - in-review - - twilio-rejected - - twilio-approved - type: string - - description: The string that you assigned to describe the resource. - in: query - name: FriendlyName - schema: - type: string - - description: The unique string of a policy that is associated to the Customer-Profile - resource. - in: query - name: PolicySid - schema: - maxLength: 34 - minLength: 34 - pattern: ^RN[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 @@ -2097,14 +1989,19 @@ paths: content: application/json: schema: + type: object + title: ListSupportingDocumentTypeResponse properties: + supporting_document_types: + type: array + items: + $ref: '#/components/schemas/trusthub.v1.supporting_document_type' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -2118,18 +2015,55 @@ paths: url: format: uri type: string - type: object - results: - items: - $ref: '#/components/schemas/trusthub.v1.trust_product' - type: array - title: ListTrustProductResponse - type: object + key: + type: string + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/SupportingDocumentTypes/{Sid}: + servers: + - url: https://trusthub.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + pathType: instance + get: + description: Fetch a specific Supporting Document Type Instance. + operationId: FetchSupportingDocumentType + parameters: + - description: The unique string that identifies the Supporting Document Type + resource. + in: path + name: Sid + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/trusthub.v1.supporting_document_type' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/TrustProducts: + servers: + - url: https://trusthub.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - policy_sid + - friendly_name + pathType: list + className: trust_products post: description: Create a new Customer-Profile. operationId: CreateTrustProduct @@ -2138,20 +2072,20 @@ paths: application/x-www-form-urlencoded: schema: properties: + FriendlyName: + description: The string that you assigned to describe the resource. + type: string Email: description: The email address that will receive updates when the Customer-Profile resource changes status. type: string - FriendlyName: - description: The string that you assigned to describe the resource. - type: string PolicySid: - description: The unique string of a policy that is associated to - the Customer-Profile resource. - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^RN[0-9a-fA-F]{32}$ - type: string + description: The unique string of a policy that is associated to + the Customer-Profile resource. StatusCallback: description: The URL we call to inform your application of status changes. @@ -2174,38 +2108,92 @@ paths: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://trusthub.twilio.com - x-twilio: - className: trust_products - defaultOutputProperties: - - sid - - policy_sid - - friendly_name - pathType: list - /v1/TrustProducts/{Sid}: - delete: - description: Delete a specific Customer-Profile. - operationId: DeleteTrustProduct + get: + description: Retrieve a list of all Customer-Profiles for an account. + operationId: ListTrustProduct parameters: - - description: The unique string that we created to identify the Customer-Profile + - description: The verification status of the Customer-Profile resource. + in: query + name: Status + schema: + type: string + enum: + - draft + - pending-review + - in-review + - twilio-rejected + - twilio-approved + - description: The string that you assigned to describe the resource. + in: query + name: FriendlyName + schema: + type: string + - description: The unique string of a policy that is associated to the Customer-Profile resource. - in: path - name: Sid - required: true + in: query + name: PolicySid schema: - maxLength: 34 - minLength: 34 - pattern: ^BU[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^RN[0-9a-fA-F]{32}$ + - 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 responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + type: object + title: ListTrustProductResponse + properties: + results: + type: array + items: + $ref: '#/components/schemas/trusthub.v1.trust_product' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string + description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/TrustProducts/{Sid}: + servers: + - url: https://trusthub.twilio.com description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - policy_sid + - friendly_name + pathType: instance + className: trust_products get: description: Fetch a specific Customer-Profile instance. operationId: FetchTrustProduct @@ -2216,10 +2204,10 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^BU[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -2241,36 +2229,36 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^BU[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Email: - description: The email address that will receive updates when the - Customer-Profile resource changes status. - type: string - FriendlyName: - description: The string that you assigned to describe the resource. - type: string Status: - description: The verification status of the Customer-Profile resource. + type: string enum: - draft - pending-review - in-review - twilio-rejected - twilio-approved - type: string + description: The verification status of the Customer-Profile resource. StatusCallback: description: The URL we call to inform your application of status changes. format: uri type: string + FriendlyName: + description: The string that you assigned to describe the resource. + type: string + Email: + description: The email address that will receive updates when the + Customer-Profile resource changes status. + type: string title: UpdateTrustProductRequest type: object responses: @@ -2284,17 +2272,81 @@ paths: - accountSid_authToken: [] x-maturity: - GA + delete: + description: Delete a specific Customer-Profile. + operationId: DeleteTrustProduct + parameters: + - description: The unique string that we created to identify the Customer-Profile + resource. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^BU[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/TrustProducts/{TrustProductSid}/ChannelEndpointAssignments: servers: - url: https://trusthub.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - className: trust_products defaultOutputProperties: - sid - - policy_sid - - friendly_name - pathType: instance - /v1/TrustProducts/{TrustProductSid}/ChannelEndpointAssignments: - description: 'TODO: Resource-level docs' + pathType: list + parent: /TrustProducts + className: trust_products_channel_endpoint_assignment + post: + description: Create a new Assigned Item. + operationId: CreateTrustProductChannelEndpointAssignment + parameters: + - description: The unique string that we created to identify the CustomerProfile + resource. + in: path + name: TrustProductSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^BU[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + ChannelEndpointType: + description: 'The type of channel endpoint. eg: phone-number' + type: string + ChannelEndpointSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ + description: The SID of an channel endpoint + required: + - ChannelEndpointType + - ChannelEndpointSid + title: CreateTrustProductChannelEndpointAssignmentRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/trusthub.v1.trust_product.trust_product_channel_endpoint_assignment' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA get: description: Retrieve a list of all Assigned Items for an account. operationId: ListTrustProductChannelEndpointAssignment @@ -2305,18 +2357,18 @@ paths: name: TrustProductSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^BU[0-9a-fA-F]{32}$ - type: string - description: The SID of an channel endpoint in: query name: ChannelEndpointSid schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ - type: string - description: comma separated list of channel endpoint sids in: query name: ChannelEndpointSids @@ -2335,14 +2387,19 @@ paths: content: application/json: schema: + type: object + title: ListTrustProductChannelEndpointAssignmentResponse properties: + results: + type: array + items: + $ref: '#/components/schemas/trusthub.v1.trust_product.trust_product_channel_endpoint_assignment' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -2356,21 +2413,26 @@ paths: url: format: uri type: string - type: object - results: - items: - $ref: '#/components/schemas/trusthub.v1.trust_product.trust_product_channel_endpoint_assignment' - type: array - title: ListTrustProductChannelEndpointAssignmentResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: Create a new Assigned Item. - operationId: CreateTrustProductChannelEndpointAssignment + /v1/TrustProducts/{TrustProductSid}/ChannelEndpointAssignments/{Sid}: + servers: + - url: https://trusthub.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + pathType: instance + parent: /TrustProducts + className: trust_products_channel_endpoint_assignment + get: + description: Fetch specific Assigned Item Instance. + operationId: FetchTrustProductChannelEndpointAssignment parameters: - description: The unique string that we created to identify the CustomerProfile resource. @@ -2378,49 +2440,30 @@ paths: name: TrustProductSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^BU[0-9a-fA-F]{32}$ + - description: The unique string that we created to identify the resource. + in: path + name: Sid + required: true + schema: type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - ChannelEndpointSid: - description: The SID of an channel endpoint - maxLength: 34 - minLength: 34 - pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ - type: string - ChannelEndpointType: - description: 'The type of channel endpoint. eg: phone-number' - type: string - required: - - ChannelEndpointType - - ChannelEndpointSid - title: CreateTrustProductChannelEndpointAssignmentRequest - type: object + minLength: 34 + maxLength: 34 + pattern: ^RA[0-9a-fA-F]{32}$ responses: - '201': + '200': content: application/json: schema: $ref: '#/components/schemas/trusthub.v1.trust_product.trust_product_channel_endpoint_assignment' - description: Created + description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://trusthub.twilio.com - x-twilio: - className: trust_products_channel_endpoint_assignment - defaultOutputProperties: - - sid - parent: /TrustProducts - pathType: list - /v1/TrustProducts/{TrustProductSid}/ChannelEndpointAssignments/{Sid}: delete: description: Remove an Assignment Item Instance. operationId: DeleteTrustProductChannelEndpointAssignment @@ -2431,19 +2474,19 @@ paths: name: TrustProductSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^BU[0-9a-fA-F]{32}$ - type: string - description: The unique string that we created to identify the resource. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^RA[0-9a-fA-F]{32}$ - type: string responses: '204': description: The resource was deleted successfully. @@ -2451,51 +2494,57 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/TrustProducts/{TrustProductSid}/EntityAssignments: + servers: + - url: https://trusthub.twilio.com description: 'TODO: Resource-level docs' - get: - description: Fetch specific Assigned Item Instance. - operationId: FetchTrustProductChannelEndpointAssignment + x-twilio: + defaultOutputProperties: + - sid + pathType: list + parent: /TrustProducts + className: trust_products_entity_assignments + post: + description: Create a new Assigned Item. + operationId: CreateTrustProductEntityAssignment parameters: - - description: The unique string that we created to identify the CustomerProfile + - description: The unique string that we created to identify the TrustProduct resource. in: path name: TrustProductSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^BU[0-9a-fA-F]{32}$ type: string - - description: The unique string that we created to identify the resource. - in: path - name: Sid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^RA[0-9a-fA-F]{32}$ - type: string + maxLength: 34 + pattern: ^BU[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + ObjectSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ + description: The SID of an object bag that holds information of + the different items. + required: + - ObjectSid + title: CreateTrustProductEntityAssignmentRequest + type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/trusthub.v1.trust_product.trust_product_channel_endpoint_assignment' - description: OK + $ref: '#/components/schemas/trusthub.v1.trust_product.trust_product_entity_assignment' + description: Created security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://trusthub.twilio.com - x-twilio: - className: trust_products_channel_endpoint_assignment - defaultOutputProperties: - - sid - parent: /TrustProducts - pathType: instance - /v1/TrustProducts/{TrustProductSid}/EntityAssignments: - description: 'TODO: Resource-level docs' get: description: Retrieve a list of all Assigned Items for an account. operationId: ListTrustProductEntityAssignment @@ -2506,10 +2555,10 @@ paths: name: TrustProductSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^BU[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 @@ -2523,14 +2572,19 @@ paths: content: application/json: schema: + type: object + title: ListTrustProductEntityAssignmentResponse properties: + results: + type: array + items: + $ref: '#/components/schemas/trusthub.v1.trust_product.trust_product_entity_assignment' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -2544,21 +2598,26 @@ paths: url: format: uri type: string - type: object - results: - items: - $ref: '#/components/schemas/trusthub.v1.trust_product.trust_product_entity_assignment' - type: array - title: ListTrustProductEntityAssignmentResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: Create a new Assigned Item. - operationId: CreateTrustProductEntityAssignment + /v1/TrustProducts/{TrustProductSid}/EntityAssignments/{Sid}: + servers: + - url: https://trusthub.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + pathType: instance + parent: /TrustProducts + className: trust_products_entity_assignments + get: + description: Fetch specific Assigned Item Instance. + operationId: FetchTrustProductEntityAssignment parameters: - description: The unique string that we created to identify the TrustProduct resource. @@ -2566,46 +2625,30 @@ paths: name: TrustProductSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^BU[0-9a-fA-F]{32}$ + - description: The unique string that we created to identify the Identity resource. + in: path + name: Sid + required: true + schema: type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - ObjectSid: - description: The SID of an object bag that holds information of - the different items. - maxLength: 34 - minLength: 34 - pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ - type: string - required: - - ObjectSid - title: CreateTrustProductEntityAssignmentRequest - type: object + minLength: 34 + maxLength: 34 + pattern: ^BV[0-9a-fA-F]{32}$ responses: - '201': + '200': content: application/json: schema: $ref: '#/components/schemas/trusthub.v1.trust_product.trust_product_entity_assignment' - description: Created + description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://trusthub.twilio.com - x-twilio: - className: trust_products_entity_assignments - defaultOutputProperties: - - sid - parent: /TrustProducts - pathType: list - /v1/TrustProducts/{TrustProductSid}/EntityAssignments/{Sid}: delete: description: Remove an Assignment Item Instance. operationId: DeleteTrustProductEntityAssignment @@ -2616,19 +2659,19 @@ paths: name: TrustProductSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^BU[0-9a-fA-F]{32}$ - type: string - description: The unique string that we created to identify the Identity resource. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^BV[0-9a-fA-F]{32}$ - type: string responses: '204': description: The resource was deleted successfully. @@ -2636,51 +2679,57 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/TrustProducts/{TrustProductSid}/Evaluations: + servers: + - url: https://trusthub.twilio.com description: 'TODO: Resource-level docs' - get: - description: Fetch specific Assigned Item Instance. - operationId: FetchTrustProductEntityAssignment + x-twilio: + defaultOutputProperties: + - sid + pathType: list + parent: /TrustProducts + className: trust_products_evaluations + post: + description: Create a new Evaluation + operationId: CreateTrustProductEvaluation parameters: - - description: The unique string that we created to identify the TrustProduct + - description: The unique string that we created to identify the trust_product resource. in: path name: TrustProductSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^BU[0-9a-fA-F]{32}$ type: string - - description: The unique string that we created to identify the Identity resource. - in: path - name: Sid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^BV[0-9a-fA-F]{32}$ - type: string + maxLength: 34 + pattern: ^BU[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + PolicySid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RN[0-9a-fA-F]{32}$ + description: The unique string of a policy that is associated to + the customer_profile resource. + required: + - PolicySid + title: CreateTrustProductEvaluationRequest + type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/trusthub.v1.trust_product.trust_product_entity_assignment' - description: OK + $ref: '#/components/schemas/trusthub.v1.trust_product.trust_product_evaluation' + description: Created security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://trusthub.twilio.com - x-twilio: - className: trust_products_entity_assignments - defaultOutputProperties: - - sid - parent: /TrustProducts - pathType: instance - /v1/TrustProducts/{TrustProductSid}/Evaluations: - description: 'TODO: Resource-level docs' get: description: Retrieve a list of Evaluations associated to the trust_product resource. @@ -2692,10 +2741,10 @@ paths: name: TrustProductSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^BU[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 @@ -2709,14 +2758,19 @@ paths: content: application/json: schema: + type: object + title: ListTrustProductEvaluationResponse properties: + results: + type: array + items: + $ref: '#/components/schemas/trusthub.v1.trust_product.trust_product_evaluation' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -2730,69 +2784,23 @@ paths: url: format: uri type: string - type: object - results: - items: - $ref: '#/components/schemas/trusthub.v1.trust_product.trust_product_evaluation' - type: array - title: ListTrustProductEvaluationResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: Create a new Evaluation - operationId: CreateTrustProductEvaluation - parameters: - - description: The unique string that we created to identify the trust_product - resource. - in: path - name: TrustProductSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^BU[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - PolicySid: - description: The unique string of a policy that is associated to - the customer_profile resource. - maxLength: 34 - minLength: 34 - pattern: ^RN[0-9a-fA-F]{32}$ - type: string - required: - - PolicySid - title: CreateTrustProductEvaluationRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/trusthub.v1.trust_product.trust_product_evaluation' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA + /v1/TrustProducts/{TrustProductSid}/Evaluations/{Sid}: servers: - url: https://trusthub.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - className: trust_products_evaluations defaultOutputProperties: - sid + pathType: instance parent: /TrustProducts - pathType: list - /v1/TrustProducts/{TrustProductSid}/Evaluations/{Sid}: - description: 'TODO: Resource-level docs' + className: trust_products_evaluations get: description: Fetch specific Evaluation Instance. operationId: FetchTrustProductEvaluation @@ -2803,19 +2811,19 @@ paths: name: TrustProductSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^BU[0-9a-fA-F]{32}$ - type: string - description: The unique string that identifies the Evaluation resource. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^EL[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -2827,16 +2835,8 @@ paths: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://trusthub.twilio.com - x-twilio: - className: trust_products_evaluations - defaultOutputProperties: - - sid - parent: /TrustProducts - pathType: instance servers: - url: https://trusthub.twilio.com x-maturity: -- description: This product is Generally Available. - name: GA +- name: GA + description: This product is Generally Available. diff --git a/spec/yaml/twilio_verify_v2.yaml b/spec/yaml/twilio_verify_v2.yaml index c4b20e11..16e7f296 100644 --- a/spec/yaml/twilio_verify_v2.yaml +++ b/spec/yaml/twilio_verify_v2.yaml @@ -1,128 +1,20 @@ components: schemas: - verify.v2.form: - properties: - form_meta: - description: Additional information for the available forms for this type. - nullable: true - form_type: - description: The Type of this Form - enum: - - form-push - nullable: true - type: string - forms: - description: Object that contains the available forms for this type. - nullable: true - url: - description: The URL to access the forms for this type. - format: uri - nullable: true - type: string + verify.v2.service.access_token: type: object - verify.v2.service: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - code_length: - description: The length of the verification code - nullable: true - type: integer - custom_code_enabled: - description: Whether to allow sending verifications with a custom code. - nullable: true - type: boolean - date_created: - description: The RFC 2822 date and time in GMT when the resource was created - format: date-time - nullable: true - type: string - date_updated: - description: The RFC 2822 date and time in GMT when the resource was last - updated - format: date-time - nullable: true type: string - default_template_sid: - maxLength: 34 minLength: 34 - nullable: true - pattern: ^HJ[0-9a-fA-F]{32}$ - type: string - do_not_share_warning_enabled: - description: Whether to add a security warning at the end of an SMS. - nullable: true - type: boolean - dtmf_input_required: - description: Whether to ask the user to press a number before delivering - the verify code in a phone call - nullable: true - type: boolean - friendly_name: - description: The string that you assigned to describe the verification service - nullable: true - type: string - links: - description: The URLs of related resources - format: uri-map - nullable: true - type: object - lookup_enabled: - description: Whether to perform a lookup with each verification - nullable: true - type: boolean - psd2_enabled: - description: Whether to pass PSD2 transaction parameters when starting a - verification - nullable: true - type: boolean - push: - description: The service level configuration of factor push type. - nullable: true - sid: - description: The unique string that identifies the resource maxLength: 34 - minLength: 34 - nullable: true - pattern: ^VA[0-9a-fA-F]{32}$ - type: string - skip_sms_to_landlines: - description: Whether to skip sending SMS verifications to landlines - nullable: true - type: boolean - totp: - description: The service level configuration of factor TOTP type. - nullable: true - tts_name: - description: The name of an alternative text-to-speech service to use in - phone calls - nullable: true - type: string - url: - description: The absolute URL of the resource - format: uri + pattern: ^AC[0-9a-fA-F]{32}$ nullable: true - type: string - type: object - verify.v2.service.access_token: - properties: - account_sid: description: Account Sid. - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string date_created: - description: The date this access token was created + type: string format: date-time nullable: true - type: string + description: The date this access token was created entity_identity: description: Unique external identifier of the Entity nullable: true @@ -132,25 +24,25 @@ components: nullable: true type: string factor_type: - description: The Type of the Factor + type: string enum: - push nullable: true - type: string + description: The Type of the Factor service_sid: - description: Verify Service Sid. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^VA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: Verify Service Sid. sid: - description: A string that uniquely identifies this Access Token. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^YK[0-9a-fA-F]{32}$ - type: string + nullable: true + description: A string that uniquely identifies this Access Token. token: description: Generated access token. nullable: true @@ -164,111 +56,118 @@ components: format: uri nullable: true type: string + verify.v2.service.rate_limit.bucket: type: object - verify.v2.service.entity: properties: account_sid: - description: Account Sid. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource date_created: - description: The date this Entity was created + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was created date_updated: - description: The date this Entity was updated + type: string format: date-time nullable: true - type: string - identity: - description: Unique external identifier of the Entity + description: The RFC 2822 date and time in GMT when the resource was last + updated + interval: + description: Number of seconds that the rate limit will be enforced over. + nullable: true + type: integer + max: + description: Max number of requests. nullable: true + type: integer + rate_limit_sid: type: string - links: - description: Nested resource URLs. - format: uri-map + minLength: 34 + maxLength: 34 + pattern: ^RK[0-9a-fA-F]{32}$ nullable: true - type: object + description: Rate Limit Sid. service_sid: - description: Service Sid. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^VA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Service that the resource is associated with sid: - description: A string that uniquely identifies this Entity. - maxLength: 34 + type: string minLength: 34 + maxLength: 34 + pattern: ^BL[0-9a-fA-F]{32}$ nullable: true - pattern: ^YE[0-9a-fA-F]{32}$ - type: string + description: A string that uniquely identifies this Bucket. url: description: The URL of this resource. format: uri nullable: true type: string - type: object verify.v2.service.entity.challenge: + type: object properties: account_sid: - description: Account Sid. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: Account Sid. date_created: - description: The date this Challenge was created + type: string format: date-time nullable: true - type: string + description: The date this Challenge was created date_responded: - description: The date this Challenge was responded + type: string format: date-time nullable: true - type: string + description: The date this Challenge was responded date_updated: - description: The date this Challenge was updated + type: string format: date-time nullable: true - type: string + description: The date this Challenge was updated details: - description: Details about the Challenge. nullable: true + description: Details about the Challenge. entity_sid: - description: Entity Sid. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^YE[0-9a-fA-F]{32}$ - type: string + nullable: true + description: Entity Sid. expiration_date: - description: The date-time when this Challenge expires + type: string format: date-time nullable: true - type: string + description: The date-time when this Challenge expires factor_sid: - description: Factor Sid. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^YF[0-9a-fA-F]{32}$ - type: string + nullable: true + description: Factor Sid. factor_type: - description: The Factor Type of this Challenge + type: string enum: - push - totp nullable: true - type: string + description: The Factor Type of this Challenge hidden_details: - description: Hidden details about the Challenge nullable: true + description: Hidden details about the Challenge identity: description: Unique external identifier of the Entity nullable: true @@ -279,136 +178,129 @@ components: nullable: true type: object metadata: - description: Metadata of the challenge. nullable: true + description: Metadata of the challenge. responded_reason: - description: The Reason of this Challenge `status` + type: string enum: - none - not_needed - not_requested nullable: true - type: string + description: The Reason of this Challenge `status` service_sid: - description: Service Sid. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^VA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: Service Sid. sid: - description: A string that uniquely identifies this Challenge. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^YC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: A string that uniquely identifies this Challenge. status: - description: The Status of this Challenge + type: string enum: - pending - expired - approved - denied nullable: true - type: string + description: The Status of this Challenge url: description: The URL of this resource. format: uri nullable: true type: string + verify.v2.service.entity: type: object - verify.v2.service.entity.challenge.notification: properties: account_sid: - description: Account Sid. - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ type: string - challenge_sid: - description: Challenge Sid. - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ nullable: true - pattern: ^YC[0-9a-fA-F]{32}$ - type: string + description: Account Sid. date_created: - description: The date this Notification was created + type: string format: date-time nullable: true + description: The date this Entity was created + date_updated: type: string - entity_sid: - description: Entity Sid. - maxLength: 34 - minLength: 34 + format: date-time nullable: true - pattern: ^YE[0-9a-fA-F]{32}$ - type: string + description: The date this Entity was updated identity: description: Unique external identifier of the Entity nullable: true type: string - priority: - description: The priority of the notification. + links: + description: Nested resource URLs. + format: uri-map nullable: true - type: string + type: object service_sid: - description: Service Sid. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^VA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: Service Sid. sid: - description: A string that uniquely identifies this Notification. - maxLength: 34 + type: string minLength: 34 + maxLength: 34 + pattern: ^YE[0-9a-fA-F]{32}$ nullable: true - pattern: ^NT[0-9a-fA-F]{32}$ - type: string - ttl: - description: How long, in seconds, the notification is valid. + description: A string that uniquely identifies this Entity. + url: + description: The URL of this resource. + format: uri nullable: true - type: integer - type: object + type: string verify.v2.service.entity.factor: + type: object properties: account_sid: - description: Account Sid. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: Account Sid. config: - description: Configurations for a `factor_type`. nullable: true + description: Configurations for a `factor_type`. date_created: - description: The date this Factor was created + type: string format: date-time nullable: true - type: string + description: The date this Factor was created date_updated: - description: The date this Factor was updated + type: string format: date-time nullable: true - type: string + description: The date this Factor was updated entity_sid: - description: Entity Sid. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^YE[0-9a-fA-F]{32}$ - type: string + nullable: true + description: Entity Sid. factor_type: - description: The Type of this Factor + type: string enum: - push - totp nullable: true - type: string + description: The Type of this Factor friendly_name: description: A human readable description of this resource. nullable: true @@ -418,74 +310,138 @@ components: nullable: true type: string metadata: - description: Metadata of the factor. nullable: true + description: Metadata of the factor. service_sid: - description: Service Sid. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^VA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: Service Sid. sid: - description: A string that uniquely identifies this Factor. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^YF[0-9a-fA-F]{32}$ - type: string + nullable: true + description: A string that uniquely identifies this Factor. status: - description: The Status of this Factor + type: string enum: - unverified - verified nullable: true - type: string + description: The Status of this Factor url: description: The URL of this resource. format: uri nullable: true type: string + verify.v2.form: + type: object + properties: + form_meta: + nullable: true + description: Additional information for the available forms for this type. + form_type: + type: string + enum: + - form-push + nullable: true + description: The Type of this Form + forms: + nullable: true + description: Object that contains the available forms for this type. + url: + description: The URL to access the forms for this type. + format: uri + nullable: true + type: string + verify.v2.service.messaging_configuration: type: object - verify.v2.service.entity.new_factor: properties: account_sid: - description: Account Sid. + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created the resource + country: + description: The ISO-3166-1 country code of the country or `all`. + nullable: true + type: string + date_created: + type: string + format: date-time + nullable: true + description: The RFC 2822 date and time in GMT when the resource was created + date_updated: + type: string + format: date-time + nullable: true + description: The RFC 2822 date and time in GMT when the resource was last + updated + messaging_service_sid: + type: string + minLength: 34 maxLength: 34 + pattern: ^MG[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Messaging Service used for this configuration. + service_sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^VA[0-9a-fA-F]{32}$ nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ + description: The SID of the Service that the resource is associated with + url: + description: The URL of this resource. + format: uri + nullable: true + type: string + verify.v2.service.entity.new_factor: + type: object + properties: + account_sid: type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: Account Sid. binding: - description: Binding of the factor nullable: true + description: Binding of the factor config: - description: Configurations for a `factor_type`. nullable: true + description: Configurations for a `factor_type`. date_created: - description: The date this Factor was created + type: string format: date-time nullable: true - type: string + description: The date this Factor was created date_updated: - description: The date this Factor was updated + type: string format: date-time nullable: true - type: string + description: The date this Factor was updated entity_sid: - description: Entity Sid. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^YE[0-9a-fA-F]{32}$ - type: string + nullable: true + description: Entity Sid. factor_type: - description: The Type of this Factor + type: string enum: - push - totp nullable: true - type: string + description: The Type of this Factor friendly_name: description: A human readable description of this resource. nullable: true @@ -495,99 +451,110 @@ components: nullable: true type: string metadata: - description: Metadata of the factor. nullable: true + description: Metadata of the factor. service_sid: - description: Service Sid. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^VA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: Service Sid. sid: - description: A string that uniquely identifies this Factor. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^YF[0-9a-fA-F]{32}$ - type: string + nullable: true + description: A string that uniquely identifies this Factor. status: - description: The Status of this Factor + type: string enum: - unverified - verified nullable: true - type: string + description: The Status of this Factor url: description: The URL of this resource. format: uri nullable: true type: string + verify.v2.service.entity.challenge.notification: type: object - verify.v2.service.messaging_configuration: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - country: - description: The ISO-3166-1 country code of the country or `all`. nullable: true + description: Account Sid. + challenge_sid: type: string + minLength: 34 + maxLength: 34 + pattern: ^YC[0-9a-fA-F]{32}$ + nullable: true + description: Challenge Sid. date_created: - description: The RFC 2822 date and time in GMT when the resource was created - format: date-time - nullable: true - type: string - date_updated: - description: The RFC 2822 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true + description: The date this Notification was created + entity_sid: type: string - messaging_service_sid: - description: The SID of the Messaging Service used for this configuration. - maxLength: 34 minLength: 34 + maxLength: 34 + pattern: ^YE[0-9a-fA-F]{32}$ + nullable: true + description: Entity Sid. + identity: + description: Unique external identifier of the Entity + nullable: true + type: string + priority: + description: The priority of the notification. nullable: true - pattern: ^MG[0-9a-fA-F]{32}$ type: string service_sid: - description: The SID of the Service that the resource is associated with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^VA[0-9a-fA-F]{32}$ - type: string - url: - description: The URL of this resource. - format: uri nullable: true + description: Service Sid. + sid: type: string - type: object + minLength: 34 + maxLength: 34 + pattern: ^NT[0-9a-fA-F]{32}$ + nullable: true + description: A string that uniquely identifies this Notification. + ttl: + description: How long, in seconds, the notification is valid. + nullable: true + type: integer verify.v2.service.rate_limit: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource date_created: - description: The RFC 2822 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was created date_updated: - description: The RFC 2822 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was last + updated description: description: Description of this Rate Limit nullable: true @@ -598,19 +565,19 @@ components: nullable: true type: object service_sid: - description: The SID of the Service that the resource is associated with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^VA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Service that the resource is associated with sid: - description: A string that uniquely identifies this Rate Limit. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RK[0-9a-fA-F]{32}$ - type: string + nullable: true + description: A string that uniquely identifies this Rate Limit. unique_name: description: A unique, developer assigned name of this Rate Limit. nullable: true @@ -620,77 +587,111 @@ components: format: uri nullable: true type: string + verify.v2.service: type: object - verify.v2.service.rate_limit.bucket: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource + code_length: + description: The length of the verification code + nullable: true + type: integer + custom_code_enabled: + description: Whether to allow sending verifications with a custom code. + nullable: true + type: boolean date_created: - description: The RFC 2822 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was created date_updated: - description: The RFC 2822 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true + description: The RFC 2822 date and time in GMT when the resource was last + updated + default_template_sid: type: string - interval: - description: Number of seconds that the rate limit will be enforced over. + minLength: 34 + maxLength: 34 + pattern: ^HJ[0-9a-fA-F]{32}$ nullable: true - type: integer - max: - description: Max number of requests. + do_not_share_warning_enabled: + description: Whether to add a security warning at the end of an SMS. nullable: true - type: integer - rate_limit_sid: - description: Rate Limit Sid. - maxLength: 34 - minLength: 34 + type: boolean + dtmf_input_required: + description: Whether to ask the user to press a number before delivering + the verify code in a phone call nullable: true - pattern: ^RK[0-9a-fA-F]{32}$ - type: string - service_sid: - description: The SID of the Service that the resource is associated with - maxLength: 34 - minLength: 34 + type: boolean + friendly_name: + description: The string that you assigned to describe the verification service nullable: true - pattern: ^VA[0-9a-fA-F]{32}$ type: string + links: + description: The URLs of related resources + format: uri-map + nullable: true + type: object + lookup_enabled: + description: Whether to perform a lookup with each verification + nullable: true + type: boolean + psd2_enabled: + description: Whether to pass PSD2 transaction parameters when starting a + verification + nullable: true + type: boolean + push: + nullable: true + description: The service level configuration of factor push type. sid: - description: A string that uniquely identifies this Bucket. - maxLength: 34 + type: string minLength: 34 + maxLength: 34 + pattern: ^VA[0-9a-fA-F]{32}$ + nullable: true + description: The unique string that identifies the resource + skip_sms_to_landlines: + description: Whether to skip sending SMS verifications to landlines + nullable: true + type: boolean + totp: + nullable: true + description: The service level configuration of factor TOTP type. + tts_name: + description: The name of an alternative text-to-speech service to use in + phone calls nullable: true - pattern: ^BL[0-9a-fA-F]{32}$ type: string url: - description: The URL of this resource. + description: The absolute URL of the resource format: uri nullable: true type: string - type: object verify.v2.service.verification: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource amount: description: The amount of the associated PSD2 compliant transaction. nullable: true type: string channel: - description: The verification method used. + type: string enum: - sms - call @@ -698,47 +699,47 @@ components: - whatsapp - sna nullable: true - type: string + description: The verification method used. date_created: - description: The RFC 2822 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was created date_updated: - description: The RFC 2822 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was last + updated lookup: - description: Information about the phone number being verified nullable: true + description: Information about the phone number being verified payee: description: The payee of the associated PSD2 compliant transaction nullable: true type: string send_code_attempts: - description: An array of verification attempt objects. + type: array items: {} nullable: true - type: array + description: An array of verification attempt objects. service_sid: - description: The SID of the Service that the resource is associated with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^VA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Service that the resource is associated with sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^VE[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource sna: - description: The set of fields used for a silent network auth (`sna`) verification nullable: true + description: The set of fields used for a silent network auth (`sna`) verification status: description: The status of the verification resource nullable: true @@ -756,60 +757,151 @@ components: description: Whether the verification was successful nullable: true type: boolean + verify.v2.verification_attempt: type: object - verify.v2.service.verification_check: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - amount: - description: The amount of the associated PSD2 compliant transaction. nullable: true - type: string + description: The SID of the Account that created the verification. channel: - description: The verification method to use + type: string enum: - sms - call - email - whatsapp - - sna nullable: true + description: Communication channel used for the attempt. + channel_data: + nullable: true + description: An object containing the channel specific information for an + attempt. + conversion_status: type: string + enum: + - converted + - unconverted + nullable: true + description: Status of the conversion for the verification. date_created: - description: The ISO 8601 date and time in GMT when the Verification Check - resource was created + type: string format: date-time nullable: true - type: string + description: The date this Attempt was created date_updated: - description: The ISO 8601 date and time in GMT when the Verification Check - resource was last updated + type: string format: date-time nullable: true - type: string - payee: - description: The payee of the associated PSD2 compliant transaction + description: The date this Attempt was updated + price: nullable: true - type: string + description: An object containing the charge for this verification attempt. service_sid: - description: The SID of the Service that the resource is associated with + type: string + minLength: 34 maxLength: 34 + pattern: ^VA[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the verify service that generated this attempt. + sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^VL[0-9a-fA-F]{32}$ + nullable: true + description: The SID that uniquely identifies the verification attempt. + url: + format: uri nullable: true - pattern: ^VA[0-9a-fA-F]{32}$ type: string - sid: - description: The unique string that identifies the resource + verification_sid: + type: string + minLength: 34 maxLength: 34 + pattern: ^VE[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the verification that generated this attempt. + verify.v2.verification_attempts_summary: + type: object + properties: + conversion_rate_percentage: + description: Percentage of the confirmed messages over the total. + nullable: true + type: number + total_attempts: + description: Total of attempts made. + nullable: true + type: integer + total_converted: + description: Total of attempts confirmed by the end user. + nullable: true + type: integer + total_unconverted: + description: Total of attempts made that were not confirmed by the end user. + nullable: true + type: integer + url: + format: uri + nullable: true + type: string + verify.v2.service.verification_check: + type: object + properties: + account_sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ nullable: true - pattern: ^VE[0-9a-fA-F]{32}$ + description: The SID of the Account that created the resource + amount: + description: The amount of the associated PSD2 compliant transaction. + nullable: true + type: string + channel: type: string + enum: + - sms + - call + - email + - whatsapp + - sna + nullable: true + description: The verification method to use + date_created: + type: string + format: date-time + nullable: true + description: The ISO 8601 date and time in GMT when the Verification Check + resource was created + date_updated: + type: string + format: date-time + nullable: true + description: The ISO 8601 date and time in GMT when the Verification Check + resource was last updated + payee: + description: The payee of the associated PSD2 compliant transaction + nullable: true + type: string + service_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^VA[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Service that the resource is associated with + sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^VE[0-9a-fA-F]{32}$ + nullable: true + description: The unique string that identifies the resource status: description: The status of the verification resource nullable: true @@ -822,495 +914,336 @@ components: description: Whether the verification was successful nullable: true type: boolean + verify.v2.verification_template: type: object - verify.v2.service.webhook: properties: account_sid: - description: The SID of the Account that created the resource + type: string + minLength: 34 maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: Account Sid + friendly_name: + description: A string to describe the verification template + nullable: true + type: string + sid: + type: string minLength: 34 + maxLength: 34 + pattern: ^HJ[0-9a-fA-F]{32}$ nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ + description: A string that uniquely identifies this Template + translations: + nullable: true + description: Object with the template translations. + verify.v2.service.webhook: + type: object + properties: + account_sid: type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created the resource date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated event_types: - description: The array of events that this Webhook is subscribed to. + type: array items: type: string nullable: true - type: array + description: The array of events that this Webhook is subscribed to. friendly_name: description: The string that you assigned to describe the webhook nullable: true type: string service_sid: - description: Service Sid. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^VA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: Service Sid. sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^YW[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource status: - description: The webhook status + type: string enum: - enabled - disabled nullable: true - type: string + description: The webhook status url: description: The absolute URL of the Webhook resource format: uri nullable: true type: string version: - description: The webhook version + type: string enum: - v1 - v2 nullable: true - type: string + description: The webhook version webhook_method: - description: The method used when calling the webhook's URL. + type: string enum: - GET - POST nullable: true - type: string + description: The method used when calling the webhook's URL. webhook_url: description: The URL associated with this Webhook. format: uri nullable: true type: string - type: object - verify.v2.verification_attempt: - properties: - account_sid: - description: The SID of the Account that created the verification. - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - channel: - description: Communication channel used for the attempt. - enum: - - sms - - call - - email - - whatsapp - nullable: true - type: string - channel_data: - description: An object containing the channel specific information for an - attempt. - nullable: true - conversion_status: - description: Status of the conversion for the verification. - enum: - - converted - - unconverted - nullable: true - type: string - date_created: - description: The date this Attempt was created - format: date-time - nullable: true + securitySchemes: + accountSid_authToken: + scheme: basic + type: http +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 - Verify + version: 1.30.0 +openapi: 3.0.1 +paths: + /v2/Services/{ServiceSid}/AccessTokens: + servers: + - url: https://verify.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - account_sid + - service_sid + - entity_identity + - factor_type + - factor_friendly_name + - token + - ttl + - date_created + pathType: list + parent: /Services + post: + description: Create a new enrollment Access Token for the Entity + operationId: CreateAccessToken + parameters: + - description: The unique SID identifier of the Service. + in: path + name: ServiceSid + required: true + schema: type: string - date_updated: - description: The date this Attempt was updated - format: date-time - nullable: true - type: string - price: - description: An object containing the charge for this verification attempt. - nullable: true - service_sid: - description: The SID of the verify service that generated this attempt. - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^VA[0-9a-fA-F]{32}$ - type: string - sid: - description: The SID that uniquely identifies the verification attempt. - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^VL[0-9a-fA-F]{32}$ - type: string - url: - format: uri - nullable: true - type: string - verification_sid: - description: The SID of the verification that generated this attempt. - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^VE[0-9a-fA-F]{32}$ - type: string - type: object - verify.v2.verification_attempts_summary: - properties: - conversion_rate_percentage: - description: Percentage of the confirmed messages over the total. - nullable: true - type: number - total_attempts: - description: Total of attempts made. - nullable: true - type: integer - total_converted: - description: Total of attempts confirmed by the end user. - nullable: true - type: integer - total_unconverted: - description: Total of attempts made that were not confirmed by the end user. - nullable: true - type: integer - url: - format: uri - nullable: true - type: string - type: object - verify.v2.verification_template: - properties: - account_sid: - description: Account Sid - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - friendly_name: - description: A string to describe the verification template - nullable: true - type: string - sid: - description: A string that uniquely identifies this Template - maxLength: 34 minLength: 34 - nullable: true - pattern: ^HJ[0-9a-fA-F]{32}$ - type: string - translations: - description: Object with the template translations. - nullable: true - type: object - securitySchemes: - accountSid_authToken: - scheme: basic - type: http -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 - Verify - version: 1.30.0 -openapi: 3.0.1 -paths: - /v2/Attempts: - description: 'TODO: Resource-level docs' - get: - description: List all the verification attempts for a given Account. - operationId: ListVerificationAttempt - parameters: - - description: Datetime filter used to query Verification Attempts created after - this datetime. Given as GMT in RFC 2822 format. - in: query - name: DateCreatedAfter - schema: - format: date-time - type: string - - description: Datetime filter used to query Verification Attempts created before - this datetime. Given as GMT in RFC 2822 format. - in: query - name: DateCreatedBefore - schema: - format: date-time - type: string - - description: Destination of a verification. It is phone number in E.164 format. - in: query - name: ChannelData.To - schema: - type: string - - description: Filter used to query Verification Attempts sent to the specified - destination country. - in: query - name: Country - schema: - format: iso-country-code - type: string - - description: Filter used to query Verification Attempts by communication channel. - Valid values are `SMS` and `CALL` - in: query - name: Channel - schema: - enum: - - sms - - call - - email - - whatsapp - type: string - - description: Filter used to query Verification Attempts by verify service. - Only attempts of the provided SID will be returned. - in: query - name: VerifyServiceSid - schema: maxLength: 34 - minLength: 34 pattern: ^VA[0-9a-fA-F]{32}$ - type: string - - description: Filter used to return all the Verification Attempts of a single - verification. Only attempts of the provided verification SID will be returned. - in: query - name: VerificationSid - schema: - maxLength: 34 - minLength: 34 - pattern: ^VE[0-9a-fA-F]{32}$ - type: string - - description: Filter used to query Verification Attempts by conversion status. - Valid values are `UNCONVERTED`, for attempts that were not converted, and - `CONVERTED`, for attempts that were confirmed. - in: query - name: Status - schema: - enum: - - converted - - unconverted - 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 + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Identity: + description: The unique external identifier for the Entity of the + Service. This identifier should be immutable, not PII, and generated + by your external system, such as your user's UUID, GUID, or SID. + type: string + FactorType: + type: string + enum: + - push + description: The Type of this Factor. Eg. `push` + FactorFriendlyName: + description: The friendly name of the factor that is going to be + created with this access token + type: string + Ttl: + description: How long, in seconds, the access token is valid. Can + be an integer between 60 and 300. Default is 60. + type: integer + required: + - Identity + - FactorType + title: CreateAccessTokenRequest + type: object responses: - '200': + '201': content: application/json: schema: - properties: - attempts: - items: - $ref: '#/components/schemas/verify.v2.verification_attempt' - type: array - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - title: ListVerificationAttemptResponse - type: object - description: OK + $ref: '#/components/schemas/verify.v2.service.access_token' + description: Created security: - accountSid_authToken: [] x-maturity: - - GA + - Beta + /v2/Services/{ServiceSid}/AccessTokens/{Sid}: servers: - url: https://verify.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - className: verification_attempt defaultOutputProperties: - sid + - account_sid + - service_sid + - entity_identity + - factor_type + - factor_friendly_name + - token + - ttl - date_created - - date_updated - - conversion_status - - channel - pathType: list - /v2/Attempts/Summary: - description: 'TODO: Resource-level docs' + pathType: instance + parent: /Services get: - description: Get a summary of how many attempts were made and how many were - converted. - operationId: FetchVerificationAttemptsSummary + description: Fetch an Access Token for the Entity + operationId: FetchAccessToken parameters: - - description: Filter used to consider only Verification Attempts of the given - verify service on the summary aggregation. - in: query + - description: The unique SID identifier of the Service. + in: path name: ServiceSid + required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^VA[0-9a-fA-F]{32}$ - type: string - - description: Datetime filter used to consider only Verification Attempts created - after this datetime on the summary aggregation. Given as GMT in RFC 2822 - format. - in: query - name: DateCreatedAfter - schema: - format: date-time - type: string - - description: Datetime filter used to consider only Verification Attempts created - before this datetime on the summary aggregation. Given as GMT in RFC 2822 - format. - in: query - name: DateCreatedBefore - schema: - format: date-time - type: string - - description: Filter used to consider only Verification Attempts sent to the - specified destination country on the summary aggregation. - in: query - name: Country - schema: - format: iso-country-code - type: string - - description: Filter Verification Attempts considered on the summary aggregation - by communication channel. Valid values are `SMS` and `CALL` - in: query - name: Channel - schema: - enum: - - sms - - call - - email - - whatsapp - type: string - - description: Filter the Verification Attempts considered on the summary aggregation - by Destination prefix. It is the prefix of a phone number in E.164 format. - in: query - name: DestinationPrefix - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/verify.v2.verification_attempts_summary' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://verify.twilio.com - x-twilio: - className: verification_attempts_summary - defaultOutputProperties: - - total_attempts - - total_converted - - total_unconverted - - conversion_rate_percentage - pathType: instance - /v2/Attempts/{Sid}: - description: 'TODO: Resource-level docs' - get: - description: Fetch a specific verification attempt. - operationId: FetchVerificationAttempt - parameters: - - description: The unique SID identifier of a Verification Attempt + type: string + minLength: 34 + maxLength: 34 + pattern: ^VA[0-9a-fA-F]{32}$ + - description: A 34 character string that uniquely identifies this Access Token. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^VL[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^YK[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/verify.v2.verification_attempt' + $ref: '#/components/schemas/verify.v2.service.access_token' description: OK security: - accountSid_authToken: [] x-maturity: - - GA + - Beta + /v2/Services/{ServiceSid}/RateLimits/{RateLimitSid}/Buckets: servers: - url: https://verify.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - className: verification_attempt defaultOutputProperties: - sid + - service_sid + - rate_limit_sid + - account_sid + - max + - interval - date_created - date_updated - - conversion_status - - channel - pathType: instance - /v2/Forms/{FormType}: - description: 'TODO: Resource-level docs' - get: - description: Fetch the forms for a specific Form Type. - operationId: FetchForm + pathType: list + parent: /Services/{ServiceSid}/RateLimits + post: + description: Create a new Bucket for a Rate Limit + operationId: CreateBucket parameters: - - description: The Type of this Form. Currently only `form-push` is supported. + - description: The SID of the [Service](https://www.twilio.com/docs/verify/api/service) + the resource is associated with. in: path - name: FormType + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^VA[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Rate + Limit resource. + in: path + name: RateLimitSid required: true schema: - enum: - - form-push type: string + minLength: 34 + maxLength: 34 + pattern: ^RK[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Max: + description: Maximum number of requests permitted in during the + interval. + type: integer + Interval: + description: Number of seconds that the rate limit will be enforced + over. + type: integer + required: + - Max + - Interval + title: CreateBucketRequest + type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/verify.v2.form' - description: OK + $ref: '#/components/schemas/verify.v2.service.rate_limit.bucket' + description: Created security: - accountSid_authToken: [] x-maturity: - - Beta - servers: - - url: https://verify.twilio.com - x-twilio: - defaultOutputProperties: - - form_type - pathType: instance - /v2/Services: - description: 'TODO: Resource-level docs' + - GA get: - description: Retrieve a list of all Verification Services for an account. - operationId: ListService + description: Retrieve a list of all Buckets for a Rate Limit. + operationId: ListBucket parameters: + - description: The SID of the [Service](https://www.twilio.com/docs/verify/api/service) + the resource is associated with. + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^VA[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Rate + Limit resource. + in: path + name: RateLimitSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RK[0-9a-fA-F]{32}$ - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -1324,14 +1257,19 @@ paths: content: application/json: schema: + type: object + title: ListBucketResponse properties: + buckets: + type: array + items: + $ref: '#/components/schemas/verify.v2.service.rate_limit.bucket' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1345,280 +1283,313 @@ paths: url: format: uri type: string - type: object - services: - items: - $ref: '#/components/schemas/verify.v2.service' - type: array - title: ListServiceResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: Create a new Verification Service. - operationId: CreateService - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - CodeLength: - description: The length of the verification code to generate. Must - be an integer value between 4 and 10, inclusive. - type: integer - CustomCodeEnabled: - description: Whether to allow sending verifications with a custom - code instead of a randomly generated one. Not available for all - customers. - type: boolean - DefaultTemplateSid: - description: The default message [template](https://www.twilio.com/docs/verify/api/templates). - Will be used for all SMS verifications unless explicitly overriden. - SMS channel only. - maxLength: 34 - minLength: 34 - pattern: ^HJ[0-9a-fA-F]{32}$ - type: string - DoNotShareWarningEnabled: - description: "Whether to add a security warning at the end of an\ - \ SMS verification body. Disabled by default and applies only\ - \ to SMS. Example SMS body: `Your AppName verification code is:\ - \ 1234. Don\u2019t share this code with anyone; our employees\ - \ will never ask for the code`" - type: boolean - DtmfInputRequired: - description: Whether to ask the user to press a number before delivering - the verify code in a phone call. - type: boolean - FriendlyName: - description: A descriptive string that you create to describe the - verification service. It can be up to 30 characters long. **This - value should not contain PII.** - type: string - LookupEnabled: - description: Whether to perform a lookup with each verification - started and return info about the phone number. - type: boolean - Psd2Enabled: - description: Whether to pass PSD2 transaction parameters when starting - a verification. - type: boolean - Push.ApnCredentialSid: - description: Optional configuration for the Push factors. Set the - APN Credential for this service. This will allow to send push - notifications to iOS devices. See [Credential Resource](https://www.twilio.com/docs/notify/api/credential-resource) - maxLength: 34 - minLength: 34 - pattern: ^CR[0-9a-fA-F]{32}$ - type: string - Push.FcmCredentialSid: - description: Optional configuration for the Push factors. Set the - FCM Credential for this service. This will allow to send push - notifications to Android devices. See [Credential Resource](https://www.twilio.com/docs/notify/api/credential-resource) - maxLength: 34 - minLength: 34 - pattern: ^CR[0-9a-fA-F]{32}$ - type: string - Push.IncludeDate: - description: "Optional configuration for the Push factors. If true,\ - \ include the date in the Challenge's response. Otherwise, the\ - \ date is omitted from the response. See [Challenge](https://www.twilio.com/docs/verify/api/challenge)\ - \ resource\u2019s details parameter for more info. Default: false.\ - \ **Deprecated** do not use this parameter. This timestamp value\ - \ is the same one as the one found in `date_created`, please use\ - \ that one instead." - type: boolean - SkipSmsToLandlines: - description: Whether to skip sending SMS verifications to landlines. - Requires `lookup_enabled`. - type: boolean - Totp.CodeLength: - description: Optional configuration for the TOTP factors. Number - of digits for generated TOTP codes. Must be between 3 and 8, inclusive. - Defaults to 6 - type: integer - Totp.Issuer: - description: Optional configuration for the TOTP factors. Set TOTP - Issuer for this service. This will allow to configure the issuer - of the TOTP URI. Defaults to the service friendly name if not - provided. - type: string - Totp.Skew: - description: Optional configuration for the TOTP factors. The number - of time-steps, past and future, that are valid for validation - of TOTP codes. Must be between 0 and 2, inclusive. Defaults to - 1 - type: integer - Totp.TimeStep: - description: Optional configuration for the TOTP factors. Defines - how often, in seconds, are TOTP codes generated. i.e, a new TOTP - code is generated every time_step seconds. Must be between 20 - and 60 seconds, inclusive. Defaults to 30 seconds - type: integer - TtsName: - description: The name of an alternative text-to-speech service to - use in phone calls. Applies only to TTS languages. - type: string - required: - - FriendlyName - title: CreateServiceRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/verify.v2.service' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA + /v2/Services/{ServiceSid}/RateLimits/{RateLimitSid}/Buckets/{Sid}: servers: - url: https://verify.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - - friendly_name + - service_sid + - rate_limit_sid + - account_sid + - max + - interval - date_created - pathType: list - /v2/Services/{ServiceSid}/AccessTokens: - description: 'TODO: Resource-level docs' + - date_updated + pathType: instance + parent: /Services/{ServiceSid}/RateLimits post: - description: Create a new enrollment Access Token for the Entity - operationId: CreateAccessToken + description: Update a specific Bucket. + operationId: UpdateBucket parameters: - - description: The unique SID identifier of the Service. + - description: The SID of the [Service](https://www.twilio.com/docs/verify/api/service) + the resource is associated with. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^VA[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Rate + Limit resource. + in: path + name: RateLimitSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RK[0-9a-fA-F]{32}$ + - description: A 34 character string that uniquely identifies this Bucket. + in: path + name: Sid + required: true + schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^BL[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - FactorFriendlyName: - description: The friendly name of the factor that is going to be - created with this access token - type: string - FactorType: - description: The Type of this Factor. Eg. `push` - enum: - - push - type: string - Identity: - description: The unique external identifier for the Entity of the - Service. This identifier should be immutable, not PII, and generated - by your external system, such as your user's UUID, GUID, or SID. - type: string - Ttl: - description: How long, in seconds, the access token is valid. Can - be an integer between 60 and 300. Default is 60. + Max: + description: Maximum number of requests permitted in during the + interval. type: integer - required: - - Identity - - FactorType - title: CreateAccessTokenRequest + Interval: + description: Number of seconds that the rate limit will be enforced + over. + type: integer + title: UpdateBucketRequest type: object responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/verify.v2.service.access_token' - description: Created + $ref: '#/components/schemas/verify.v2.service.rate_limit.bucket' + description: OK security: - accountSid_authToken: [] x-maturity: - - Beta - servers: - - url: https://verify.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - account_sid - - service_sid - - entity_identity - - factor_type - - factor_friendly_name - - token - - ttl - - date_created - parent: /Services - pathType: list - /v2/Services/{ServiceSid}/AccessTokens/{Sid}: - description: 'TODO: Resource-level docs' + - GA get: - description: Fetch an Access Token for the Entity - operationId: FetchAccessToken + description: Fetch a specific Bucket. + operationId: FetchBucket parameters: - - description: The unique SID identifier of the Service. + - description: The SID of the [Service](https://www.twilio.com/docs/verify/api/service) + the resource is associated with. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^VA[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Rate + Limit resource. + in: path + name: RateLimitSid + required: true + schema: type: string - - description: A 34 character string that uniquely identifies this Access Token. + minLength: 34 + maxLength: 34 + pattern: ^RK[0-9a-fA-F]{32}$ + - description: A 34 character string that uniquely identifies this Bucket. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^YK[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^BL[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/verify.v2.service.access_token' + $ref: '#/components/schemas/verify.v2.service.rate_limit.bucket' description: OK security: - accountSid_authToken: [] x-maturity: - - Beta + - GA + delete: + description: Delete a specific Bucket. + operationId: DeleteBucket + parameters: + - description: The SID of the [Service](https://www.twilio.com/docs/verify/api/service) + the resource is associated with. + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^VA[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Rate + Limit resource. + in: path + name: RateLimitSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RK[0-9a-fA-F]{32}$ + - description: A 34 character string that uniquely identifies this Bucket. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^BL[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v2/Services/{ServiceSid}/Entities/{Identity}/Challenges: servers: - url: https://verify.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - - sid - - account_sid - - service_sid - - entity_identity - factor_type - - factor_friendly_name - - token - - ttl + - status + - responded_reason - date_created - parent: /Services - pathType: instance - /v2/Services/{ServiceSid}/Entities: - description: 'TODO: Resource-level docs' + pathType: list + parent: /Services/{ServiceSid}/Entities + post: + description: Create a new Challenge for the Factor + operationId: CreateChallenge + parameters: + - description: The unique SID identifier of the Service. + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^VA[0-9a-fA-F]{32}$ + - description: Customer unique identity for the Entity owner of the Challenge. + This identifier should be immutable, not PII, length between 8 and 64 characters, + and generated by your external system, such as your user's UUID, GUID, or + SID. It can only contain dash (-) separated alphanumeric characters. + in: path + name: Identity + required: true + schema: + type: string + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FactorSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^YF[0-9a-fA-F]{32}$ + description: The unique SID identifier of the Factor. + ExpirationDate: + type: string + format: date-time + description: The date-time when this Challenge expires, given in + [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. The + default value is five (5) minutes after Challenge creation. The + max value is sixty (60) minutes after creation. + Details.Message: + description: Shown to the user when the push notification arrives. + Required when `factor_type` is `push`. Can be up to 256 characters + in length + type: string + Details.Fields: + type: array + items: {} + description: A list of objects that describe the Fields included + in the Challenge. Each object contains the label and value of + the field, the label can be up to 36 characters in length and + the value can be up to 128 characters in length. Used when `factor_type` + is `push`. There can be up to 20 details fields. + HiddenDetails: + description: 'Details provided to give context about the Challenge. + Not shown to the end user. It must be a stringified JSON with + only strings values eg. `{"ip": "172.168.1.234"}`. Can be up to + 1024 characters in length' + AuthPayload: + description: Optional payload used to verify the Challenge upon + creation. Only used with a Factor of type `totp` to carry the + TOTP code that needs to be verified. For `TOTP` this value must + be between 3 and 8 characters long. + type: string + required: + - FactorSid + title: CreateChallengeRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/verify.v2.service.entity.challenge' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - Beta get: - description: Retrieve a list of all Entities for a Service. - operationId: ListEntity + description: Retrieve a list of all Challenges for a Factor. + operationId: ListChallenge parameters: - description: The unique SID identifier of the Service. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^VA[0-9a-fA-F]{32}$ + - description: Customer unique identity for the Entity owner of the Challenge. + This identifier should be immutable, not PII, length between 8 and 64 characters, + and generated by your external system, such as your user's UUID, GUID, or + SID. It can only contain dash (-) separated alphanumeric characters. + in: path + name: Identity + required: true + schema: + type: string + - description: The unique SID identifier of the Factor. + in: query + name: FactorSid + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^YF[0-9a-fA-F]{32}$ + - description: The Status of the Challenges to fetch. One of `pending`, `expired`, + `approved` or `denied`. + in: query + name: Status + schema: type: string + enum: + - pending + - expired + - approved + - denied + - description: The desired sort order of the Challenges list. One of `asc` or + `desc` for ascending and descending respectively. Defaults to `asc`. + in: query + name: Order + schema: + type: string + enum: + - asc + - desc - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -1632,18 +1603,19 @@ paths: content: application/json: schema: + type: object + title: ListChallengeResponse properties: - entities: - items: - $ref: '#/components/schemas/verify.v2.service.entity' + challenges: type: array + items: + $ref: '#/components/schemas/verify.v2.service.entity.challenge' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1657,78 +1629,39 @@ paths: url: format: uri type: string - type: object - title: ListEntityResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - Beta - post: - description: Create a new Entity for the Service - operationId: CreateEntity - parameters: - - description: The unique SID identifier of the Service. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^VA[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Identity: - description: The unique external identifier for the Entity of the - Service. This identifier should be immutable, not PII, length - between 8 and 64 characters, and generated by your external system, - such as your user's UUID, GUID, or SID. It can only contain dash - (-) separated alphanumeric characters. - type: string - required: - - Identity - title: CreateEntityRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/verify.v2.service.entity' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - Beta + /v2/Services/{ServiceSid}/Entities/{Identity}/Challenges/{Sid}: servers: - url: https://verify.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - - sid - - identity + - factor_type + - status + - responded_reason - date_created - parent: /Services - pathType: list - /v2/Services/{ServiceSid}/Entities/{Identity}: - delete: - description: Delete a specific Entity. - operationId: DeleteEntity + pathType: instance + parent: /Services/{ServiceSid}/Entities + get: + description: Fetch a specific Challenge. + operationId: FetchChallenge parameters: - description: The unique SID identifier of the Service. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^VA[0-9a-fA-F]{32}$ - type: string - - description: The unique external identifier for the Entity of the Service. + - description: Customer unique identity for the Entity owner of the Challenges. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user's UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters. @@ -1737,28 +1670,40 @@ paths: required: true schema: type: string + - description: A 34 character string that uniquely identifies this Challenge. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^YC[0-9a-fA-F]{32}$ responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/verify.v2.service.entity.challenge' + description: OK security: - accountSid_authToken: [] x-maturity: - Beta - description: 'TODO: Resource-level docs' - get: - description: Fetch a specific Entity. - operationId: FetchEntity + post: + description: Verify a specific Challenge. + operationId: UpdateChallenge parameters: - description: The unique SID identifier of the Service. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^VA[0-9a-fA-F]{32}$ - type: string - - description: The unique external identifier for the Entity of the Service. + - description: Customer unique identity for the Entity owner of the Challenge. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user's UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters. @@ -1767,78 +1712,109 @@ paths: required: true schema: type: string + - description: A 34 character string that uniquely identifies this Challenge. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^YC[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + AuthPayload: + description: The optional payload needed to verify the Challenge. + E.g., a TOTP would use the numeric code. For `TOTP` this value + must be between 3 and 8 characters long. For `Push` this value + can be up to 5456 characters in length + type: string + Metadata: + description: 'Custom metadata associated with the challenge. This + is added by the Device/SDK directly to allow for the inclusion + of device information. It must be a stringified JSON with only + strings values eg. `{"os": "Android"}`. Can be up to 1024 characters + in length.' + title: UpdateChallengeRequest + type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/verify.v2.service.entity' + $ref: '#/components/schemas/verify.v2.service.entity.challenge' description: OK security: - accountSid_authToken: [] x-maturity: - Beta + /v2/Services/{ServiceSid}/Entities: servers: - url: https://verify.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - identity - date_created + pathType: list parent: /Services - pathType: instance - /v2/Services/{ServiceSid}/Entities/{Identity}/Challenges: - description: 'TODO: Resource-level docs' - get: - description: Retrieve a list of all Challenges for a Factor. - operationId: ListChallenge + post: + description: Create a new Entity for the Service + operationId: CreateEntity parameters: - description: The unique SID identifier of the Service. in: path name: ServiceSid required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^VA[0-9a-fA-F]{32}$ - type: string - - description: Customer unique identity for the Entity owner of the Challenge. - This identifier should be immutable, not PII, length between 8 and 64 characters, - and generated by your external system, such as your user's UUID, GUID, or - SID. It can only contain dash (-) separated alphanumeric characters. - in: path - name: Identity - required: true schema: type: string - - description: The unique SID identifier of the Factor. - in: query - name: FactorSid - schema: - maxLength: 34 minLength: 34 - pattern: ^YF[0-9a-fA-F]{32}$ - type: string - - description: The Status of the Challenges to fetch. One of `pending`, `expired`, - `approved` or `denied`. - in: query - name: Status - schema: - enum: - - pending - - expired - - approved - - denied - type: string - - description: The desired sort order of the Challenges list. One of `asc` or - `desc` for ascending and descending respectively. Defaults to `asc`. - in: query - name: Order + maxLength: 34 + pattern: ^VA[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Identity: + description: The unique external identifier for the Entity of the + Service. This identifier should be immutable, not PII, length + between 8 and 64 characters, and generated by your external system, + such as your user's UUID, GUID, or SID. It can only contain dash + (-) separated alphanumeric characters. + type: string + required: + - Identity + title: CreateEntityRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/verify.v2.service.entity' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - Beta + get: + description: Retrieve a list of all Entities for a Service. + operationId: ListEntity + parameters: + - description: The unique SID identifier of the Service. + in: path + name: ServiceSid + required: true schema: - enum: - - asc - - desc type: string + minLength: 34 + maxLength: 34 + pattern: ^VA[0-9a-fA-F]{32}$ - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -1852,18 +1828,19 @@ paths: content: application/json: schema: + type: object + title: ListEntityResponse properties: - challenges: - items: - $ref: '#/components/schemas/verify.v2.service.entity.challenge' + entities: type: array + items: + $ref: '#/components/schemas/verify.v2.service.entity' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1877,28 +1854,67 @@ paths: url: format: uri type: string - type: object - title: ListChallengeResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - Beta - post: - description: Create a new Challenge for the Factor - operationId: CreateChallenge + /v2/Services/{ServiceSid}/Entities/{Identity}: + servers: + - url: https://verify.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - identity + - date_created + pathType: instance + parent: /Services + delete: + description: Delete a specific Entity. + operationId: DeleteEntity parameters: - description: The unique SID identifier of the Service. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^VA[0-9a-fA-F]{32}$ + - description: The unique external identifier for the Entity of the Service. + This identifier should be immutable, not PII, length between 8 and 64 characters, + and generated by your external system, such as your user's UUID, GUID, or + SID. It can only contain dash (-) separated alphanumeric characters. + in: path + name: Identity + required: true + schema: type: string - - description: Customer unique identity for the Entity owner of the Challenge. + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - Beta + get: + description: Fetch a specific Entity. + operationId: FetchEntity + parameters: + - description: The unique SID identifier of the Service. + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^VA[0-9a-fA-F]{32}$ + - description: The unique external identifier for the Entity of the Service. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user's UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters. @@ -1907,89 +1923,43 @@ paths: required: true schema: type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - AuthPayload: - description: Optional payload used to verify the Challenge upon - creation. Only used with a Factor of type `totp` to carry the - TOTP code that needs to be verified. For `TOTP` this value must - be between 3 and 8 characters long. - type: string - Details.Fields: - description: A list of objects that describe the Fields included - in the Challenge. Each object contains the label and value of - the field, the label can be up to 36 characters in length and - the value can be up to 128 characters in length. Used when `factor_type` - is `push`. There can be up to 20 details fields. - items: {} - type: array - Details.Message: - description: Shown to the user when the push notification arrives. - Required when `factor_type` is `push`. Can be up to 256 characters - in length - type: string - ExpirationDate: - description: The date-time when this Challenge expires, given in - [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. The - default value is five (5) minutes after Challenge creation. The - max value is sixty (60) minutes after creation. - format: date-time - type: string - FactorSid: - description: The unique SID identifier of the Factor. - maxLength: 34 - minLength: 34 - pattern: ^YF[0-9a-fA-F]{32}$ - type: string - HiddenDetails: - description: 'Details provided to give context about the Challenge. - Not shown to the end user. It must be a stringified JSON with - only strings values eg. `{"ip": "172.168.1.234"}`. Can be up to - 1024 characters in length' - required: - - FactorSid - title: CreateChallengeRequest - type: object responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/verify.v2.service.entity.challenge' - description: Created + $ref: '#/components/schemas/verify.v2.service.entity' + description: OK security: - accountSid_authToken: [] x-maturity: - Beta + /v2/Services/{ServiceSid}/Entities/{Identity}/Factors/{Sid}: servers: - url: https://verify.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - - factor_type + - sid + - friendly_name - status - - responded_reason - - date_created + - factor_type + pathType: instance parent: /Services/{ServiceSid}/Entities - pathType: list - /v2/Services/{ServiceSid}/Entities/{Identity}/Challenges/{ChallengeSid}/Notifications: - description: 'TODO: Resource-level docs' - post: - description: Create a new Notification for the corresponding Challenge - operationId: CreateNotification + delete: + description: Delete a specific Factor. + operationId: DeleteFactor parameters: - description: The unique SID identifier of the Service. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^VA[0-9a-fA-F]{32}$ - type: string - - description: Customer unique identity for the Entity owner of the Challenge. + - description: Customer unique identity for the Entity owner of the Factor. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user's UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters. @@ -1998,66 +1968,36 @@ paths: required: true schema: type: string - - description: The unique SID identifier of the Challenge. + - description: A 34 character string that uniquely identifies this Factor. in: path - name: ChallengeSid + name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^YC[0-9a-fA-F]{32}$ type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Ttl: - description: How long, in seconds, the notification is valid. Can - be an integer between 0 and 300. Default is 300. Delivery is attempted - until the TTL elapses, even if the device is offline. 0 means - that the notification delivery is attempted immediately, only - once, and is not stored for future delivery. - type: integer - title: CreateNotificationRequest - type: object + minLength: 34 + maxLength: 34 + pattern: ^YF[0-9a-fA-F]{32}$ responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/verify.v2.service.entity.challenge.notification' - description: Created + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - Beta - servers: - - url: https://verify.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - identity - - challenge_sid - - date_created - parent: /Services/{ServiceSid}/Entities/{Identity}/Challenges - pathType: list - /v2/Services/{ServiceSid}/Entities/{Identity}/Challenges/{Sid}: - description: 'TODO: Resource-level docs' get: - description: Fetch a specific Challenge. - operationId: FetchChallenge + description: Fetch a specific Factor. + operationId: FetchFactor parameters: - description: The unique SID identifier of the Service. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^VA[0-9a-fA-F]{32}$ - type: string - - description: Customer unique identity for the Entity owner of the Challenges. + - description: Customer unique identity for the Entity owner of the Factor. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user's UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters. @@ -2066,40 +2006,41 @@ paths: required: true schema: type: string - - description: A 34 character string that uniquely identifies this Challenge. + - description: A 34 character string that uniquely identifies this Factor. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^YC[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^YF[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/verify.v2.service.entity.challenge' + $ref: '#/components/schemas/verify.v2.service.entity.factor' description: OK security: - accountSid_authToken: [] x-maturity: - Beta post: - description: Verify a specific Challenge. - operationId: UpdateChallenge + description: Update a specific Factor. This endpoint can be used to Verify a + Factor if passed an `AuthPayload` param. + operationId: UpdateFactor parameters: - description: The unique SID identifier of the Service. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^VA[0-9a-fA-F]{32}$ - type: string - - description: Customer unique identity for the Entity owner of the Challenge. + - description: Customer unique identity for the Entity owner of the Factor. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user's UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters. @@ -2108,57 +2049,90 @@ paths: required: true schema: type: string - - description: A 34 character string that uniquely identifies this Challenge. + - description: A 34 character string that uniquely identifies this Factor. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^YC[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^YF[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: AuthPayload: - description: The optional payload needed to verify the Challenge. - E.g., a TOTP would use the numeric code. For `TOTP` this value - must be between 3 and 8 characters long. For `Push` this value - can be up to 5456 characters in length + description: The optional payload needed to verify the Factor for + the first time. E.g. for a TOTP, the numeric code. + type: string + FriendlyName: + description: The new friendly name of this Factor. It can be up + to 64 characters. + type: string + Config.NotificationToken: + description: For APN, the device token. For FCM, the registration + token. It is used to send the push notifications. Required when + `factor_type` is `push`. If specified, this value must be between + 32 and 255 characters long. type: string - Metadata: - description: 'Custom metadata associated with the challenge. This - is added by the Device/SDK directly to allow for the inclusion - of device information. It must be a stringified JSON with only - strings values eg. `{"os": "Android"}`. Can be up to 1024 characters - in length.' - title: UpdateChallengeRequest + Config.SdkVersion: + description: The Verify Push SDK version used to configure the factor + type: string + Config.TimeStep: + description: Defines how often, in seconds, are TOTP codes generated. + i.e, a new TOTP code is generated every time_step seconds. Must + be between 20 and 60 seconds, inclusive + type: integer + Config.Skew: + description: The number of time-steps, past and future, that are + valid for validation of TOTP codes. Must be between 0 and 2, inclusive + type: integer + Config.CodeLength: + description: Number of digits for generated TOTP codes. Must be + between 3 and 8, inclusive + type: integer + Config.Alg: + type: string + enum: + - sha1 + - sha256 + - sha512 + description: The algorithm used to derive the TOTP codes. Can be + `sha1`, `sha256` or `sha512` + Config.NotificationPlatform: + description: 'The transport technology used to generate the Notification + Token. Can be `apn`, `fcm` or `none`. + + + Required when `factor_type` is `push`.' + type: string + title: UpdateFactorRequest type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/verify.v2.service.entity.challenge' + $ref: '#/components/schemas/verify.v2.service.entity.factor' description: OK security: - accountSid_authToken: [] x-maturity: - Beta + /v2/Services/{ServiceSid}/Entities/{Identity}/Factors: servers: - url: https://verify.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - - factor_type + - sid + - friendly_name - status - - responded_reason - - date_created + - factor_type + pathType: list parent: /Services/{ServiceSid}/Entities - pathType: instance - /v2/Services/{ServiceSid}/Entities/{Identity}/Factors: - description: 'TODO: Resource-level docs' get: description: Retrieve a list of all Factors for an Entity. operationId: ListFactor @@ -2168,10 +2142,10 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^VA[0-9a-fA-F]{32}$ - type: string - description: Customer unique identity for the Entity owner of the Factors. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user's UUID, GUID, or @@ -2194,18 +2168,19 @@ paths: content: application/json: schema: + type: object + title: ListFactorResponse properties: factors: + type: array items: $ref: '#/components/schemas/verify.v2.service.entity.factor' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -2219,9 +2194,8 @@ paths: url: format: uri type: string - type: object - title: ListFactorResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] @@ -2236,10 +2210,10 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^VA[0-9a-fA-F]{32}$ - type: string - description: Customer unique identity for the Entity owner of the Factor. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user's UUID, GUID, or @@ -2254,6 +2228,22 @@ paths: application/x-www-form-urlencoded: schema: properties: + FriendlyName: + description: "The friendly name of this Factor. This can be any\ + \ string up to 64 characters, meant for humans to distinguish\ + \ between Factors.\nFor `factor_type` `push`, this could be a\ + \ device name.\nFor `factor_type` `totp`, this value is used as\ + \ the \u201Caccount name\u201D in constructing the `binding.uri`\ + \ property.\nAt the same time, we recommend avoiding providing\ + \ PII." + type: string + FactorType: + type: string + enum: + - push + - totp + description: The Type of this Factor. Currently `push` and `totp` + are supported. Binding.Alg: description: 'The algorithm used when `factor_type` is `push`. Algorithm supported: `ES256`' @@ -2265,25 +2255,6 @@ paths: Required when `factor_type` is `push`' type: string - Binding.Secret: - description: 'The shared secret for TOTP factors encoded in Base32. - This can be provided when creating the Factor, otherwise it will - be generated. - - - Used when `factor_type` is `totp`' - type: string - Config.Alg: - description: 'The algorithm used to derive the TOTP codes. Can be - `sha1`, `sha256` or `sha512`. Defaults to `sha1`. - - - Used when `factor_type` is `totp`' - enum: - - sha1 - - sha256 - - sha512 - type: string Config.AppId: description: 'The ID that uniquely identifies your app in the Google or Apple store, such as `com.example.myapp`. It can be up to 100 @@ -2292,26 +2263,17 @@ paths: Required when `factor_type` is `push`.' type: string - Config.CodeLength: - description: 'Number of digits for generated TOTP codes. Must be - between 3 and 8, inclusive. The default value is defined at the - service level in the property `totp.code_length`. If not configured - defaults to 6. - - - Used when `factor_type` is `totp`' - type: integer Config.NotificationPlatform: + type: string + enum: + - apn + - fcm + - none description: 'The transport technology used to generate the Notification Token. Can be `apn`, `fcm` or `none`. Required when `factor_type` is `push`.' - enum: - - apn - - fcm - - none - type: string Config.NotificationToken: description: 'For APN, the device token. For FCM, the registration token. It is used to send the push notifications. Must be between @@ -2327,15 +2289,14 @@ paths: Required when `factor_type` is `push`' type: string - Config.Skew: - description: 'The number of time-steps, past and future, that are - valid for validation of TOTP codes. Must be between 0 and 2, inclusive. - The default value is defined at the service level in the property - `totp.skew`. If not configured defaults to 1. + Binding.Secret: + description: 'The shared secret for TOTP factors encoded in Base32. + This can be provided when creating the Factor, otherwise it will + be generated. Used when `factor_type` is `totp`' - type: integer + type: string Config.TimeStep: description: 'Defines how often, in seconds, are TOTP codes generated. i.e, a new TOTP code is generated every time_step seconds. Must @@ -2346,22 +2307,35 @@ paths: Used when `factor_type` is `totp`' type: integer - FactorType: - description: The Type of this Factor. Currently `push` and `totp` - are supported. - enum: - - push - - totp - type: string - FriendlyName: - description: "The friendly name of this Factor. This can be any\ - \ string up to 64 characters, meant for humans to distinguish\ - \ between Factors.\nFor `factor_type` `push`, this could be a\ - \ device name.\nFor `factor_type` `totp`, this value is used as\ - \ the \u201Caccount name\u201D in constructing the `binding.uri`\ - \ property.\nAt the same time, we recommend avoiding providing\ - \ PII." + Config.Skew: + description: 'The number of time-steps, past and future, that are + valid for validation of TOTP codes. Must be between 0 and 2, inclusive. + The default value is defined at the service level in the property + `totp.skew`. If not configured defaults to 1. + + + Used when `factor_type` is `totp`' + type: integer + Config.CodeLength: + description: 'Number of digits for generated TOTP codes. Must be + between 3 and 8, inclusive. The default value is defined at the + service level in the property `totp.code_length`. If not configured + defaults to 6. + + + Used when `factor_type` is `totp`' + type: integer + Config.Alg: type: string + enum: + - sha1 + - sha256 + - sha512 + description: 'The algorithm used to derive the TOTP codes. Can be + `sha1`, `sha256` or `sha512`. Defaults to `sha1`. + + + Used when `factor_type` is `totp`' Metadata: description: 'Custom metadata associated with the factor. This is added by the Device/SDK directly to allow for the inclusion of @@ -2386,205 +2360,99 @@ paths: - Beta x-twilio: className: new_factor + /v2/Forms/{FormType}: servers: - url: https://verify.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - status - - factor_type - parent: /Services/{ServiceSid}/Entities - pathType: list - /v2/Services/{ServiceSid}/Entities/{Identity}/Factors/{Sid}: - delete: - description: Delete a specific Factor. - operationId: DeleteFactor - parameters: - - description: The unique SID identifier of the Service. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^VA[0-9a-fA-F]{32}$ - type: string - - description: Customer unique identity for the Entity owner of the Factor. - This identifier should be immutable, not PII, length between 8 and 64 characters, - and generated by your external system, such as your user's UUID, GUID, or - SID. It can only contain dash (-) separated alphanumeric characters. - in: path - name: Identity - required: true - schema: - type: string - - description: A 34 character string that uniquely identifies this Factor. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^YF[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 Factor. - operationId: FetchFactor - parameters: - - description: The unique SID identifier of the Service. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^VA[0-9a-fA-F]{32}$ - type: string - - description: Customer unique identity for the Entity owner of the Factor. - This identifier should be immutable, not PII, length between 8 and 64 characters, - and generated by your external system, such as your user's UUID, GUID, or - SID. It can only contain dash (-) separated alphanumeric characters. - in: path - name: Identity - required: true - schema: - type: string - - description: A 34 character string that uniquely identifies this Factor. + x-twilio: + defaultOutputProperties: + - form_type + pathType: instance + get: + description: Fetch the forms for a specific Form Type. + operationId: FetchForm + parameters: + - description: The Type of this Form. Currently only `form-push` is supported. in: path - name: Sid + name: FormType required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^YF[0-9a-fA-F]{32}$ type: string + enum: + - form-push responses: '200': content: application/json: schema: - $ref: '#/components/schemas/verify.v2.service.entity.factor' + $ref: '#/components/schemas/verify.v2.form' description: OK security: - accountSid_authToken: [] x-maturity: - Beta + /v2/Services/{ServiceSid}/MessagingConfigurations: + servers: + - url: https://verify.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - account_sid + - service_sid + - country + - messaging_service_sid + - date_created + - date_updated + pathType: list + parent: /Services post: - description: Update a specific Factor. This endpoint can be used to Verify a - Factor if passed an `AuthPayload` param. - operationId: UpdateFactor + description: Create a new MessagingConfiguration for a service. + operationId: CreateMessagingConfiguration parameters: - - description: The unique SID identifier of the Service. + - description: The SID of the [Service](https://www.twilio.com/docs/verify/api/service) + that the resource is associated with. in: path name: ServiceSid required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^VA[0-9a-fA-F]{32}$ - type: string - - description: Customer unique identity for the Entity owner of the Factor. - This identifier should be immutable, not PII, length between 8 and 64 characters, - and generated by your external system, such as your user's UUID, GUID, or - SID. It can only contain dash (-) separated alphanumeric characters. - in: path - name: Identity - required: true schema: type: string - - description: A 34 character string that uniquely identifies this Factor. - in: path - name: Sid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^YF[0-9a-fA-F]{32}$ - type: string + maxLength: 34 + pattern: ^VA[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - AuthPayload: - description: The optional payload needed to verify the Factor for - the first time. E.g. for a TOTP, the numeric code. - type: string - Config.Alg: - description: The algorithm used to derive the TOTP codes. Can be - `sha1`, `sha256` or `sha512` - enum: - - sha1 - - sha256 - - sha512 - type: string - Config.CodeLength: - description: Number of digits for generated TOTP codes. Must be - between 3 and 8, inclusive - type: integer - Config.NotificationPlatform: - description: 'The transport technology used to generate the Notification - Token. Can be `apn`, `fcm` or `none`. - - - Required when `factor_type` is `push`.' - type: string - Config.NotificationToken: - description: For APN, the device token. For FCM, the registration - token. It is used to send the push notifications. Required when - `factor_type` is `push`. If specified, this value must be between - 32 and 255 characters long. - type: string - Config.SdkVersion: - description: The Verify Push SDK version used to configure the factor + Country: + description: The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) + country code of the country this configuration will be applied + to. If this is a global configuration, Country will take the value + `all`. type: string - Config.Skew: - description: The number of time-steps, past and future, that are - valid for validation of TOTP codes. Must be between 0 and 2, inclusive - type: integer - Config.TimeStep: - description: Defines how often, in seconds, are TOTP codes generated. - i.e, a new TOTP code is generated every time_step seconds. Must - be between 20 and 60 seconds, inclusive - type: integer - FriendlyName: - description: The new friendly name of this Factor. It can be up - to 64 characters. + MessagingServiceSid: type: string - title: UpdateFactorRequest + minLength: 34 + maxLength: 34 + pattern: ^MG[0-9a-fA-F]{32}$ + description: The SID of the [Messaging Service](https://www.twilio.com/docs/sms/services/api) + to be used to send SMS to the country of this configuration. + required: + - Country + - MessagingServiceSid + title: CreateMessagingConfigurationRequest type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/verify.v2.service.entity.factor' - description: OK + $ref: '#/components/schemas/verify.v2.service.messaging_configuration' + description: Created security: - accountSid_authToken: [] x-maturity: - - Beta - servers: - - url: https://verify.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - status - - factor_type - parent: /Services/{ServiceSid}/Entities - pathType: instance - /v2/Services/{ServiceSid}/MessagingConfigurations: - description: 'TODO: Resource-level docs' + - GA get: description: Retrieve a list of all Messaging Configurations for a Service. operationId: ListMessagingConfiguration @@ -2595,10 +2463,10 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^VA[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 @@ -2612,18 +2480,19 @@ paths: content: application/json: schema: + type: object + title: ListMessagingConfigurationResponse properties: messaging_configurations: + type: array items: $ref: '#/components/schemas/verify.v2.service.messaging_configuration' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -2637,17 +2506,30 @@ paths: url: format: uri type: string - type: object - title: ListMessagingConfigurationResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v2/Services/{ServiceSid}/MessagingConfigurations/{Country}: + servers: + - url: https://verify.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - account_sid + - service_sid + - country + - messaging_service_sid + - date_created + - date_updated + pathType: instance + parent: /Services post: - description: Create a new MessagingConfiguration for a service. - operationId: CreateMessagingConfiguration + description: Update a specific MessagingConfiguration + operationId: UpdateMessagingConfiguration parameters: - description: The SID of the [Service](https://www.twilio.com/docs/verify/api/service) that the resource is associated with. @@ -2655,60 +2537,48 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^VA[0-9a-fA-F]{32}$ + - description: The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) + country code of the country this configuration will be applied to. If this + is a global configuration, Country will take the value `all`. + in: path + name: Country + required: true + schema: type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Country: - description: The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) - country code of the country this configuration will be applied - to. If this is a global configuration, Country will take the value - `all`. - type: string MessagingServiceSid: - description: The SID of the [Messaging Service](https://www.twilio.com/docs/sms/services/api) - to be used to send SMS to the country of this configuration. - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^MG[0-9a-fA-F]{32}$ - type: string + description: The SID of the [Messaging Service](https://www.twilio.com/docs/sms/services/api) + to be used to send SMS to the country of this configuration. required: - - Country - MessagingServiceSid - title: CreateMessagingConfigurationRequest + title: UpdateMessagingConfigurationRequest type: object responses: - '201': + '200': content: application/json: schema: $ref: '#/components/schemas/verify.v2.service.messaging_configuration' - description: Created + description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://verify.twilio.com - x-twilio: - defaultOutputProperties: - - account_sid - - service_sid - - country - - messaging_service_sid - - date_created - - date_updated - parent: /Services - pathType: list - /v2/Services/{ServiceSid}/MessagingConfigurations/{Country}: - delete: - description: Delete a specific MessagingConfiguration. - operationId: DeleteMessagingConfiguration + get: + description: Fetch a specific MessagingConfiguration. + operationId: FetchMessagingConfiguration parameters: - description: The SID of the [Service](https://www.twilio.com/docs/verify/api/service) that the resource is associated with. @@ -2716,10 +2586,10 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^VA[0-9a-fA-F]{32}$ - type: string - description: The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code of the country this configuration will be applied to. If this is a global configuration, Country will take the value `all`. @@ -2729,16 +2599,19 @@ paths: schema: type: string responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/verify.v2.service.messaging_configuration' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - description: 'TODO: Resource-level docs' - get: - description: Fetch a specific MessagingConfiguration. - operationId: FetchMessagingConfiguration + delete: + description: Delete a specific MessagingConfiguration. + operationId: DeleteMessagingConfiguration parameters: - description: The SID of the [Service](https://www.twilio.com/docs/verify/api/service) that the resource is associated with. @@ -2746,10 +2619,10 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^VA[0-9a-fA-F]{32}$ - type: string - description: The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code of the country this configuration will be applied to. If this is a global configuration, Country will take the value `all`. @@ -2757,141 +2630,97 @@ paths: name: Country required: true schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/verify.v2.service.messaging_configuration' - description: OK + type: string + responses: + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA + /v2/Services/{ServiceSid}/Entities/{Identity}/Challenges/{ChallengeSid}/Notifications: + servers: + - url: https://verify.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - identity + - challenge_sid + - date_created + pathType: list + parent: /Services/{ServiceSid}/Entities/{Identity}/Challenges post: - description: Update a specific MessagingConfiguration - operationId: UpdateMessagingConfiguration + description: Create a new Notification for the corresponding Challenge + operationId: CreateNotification parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/verify/api/service) - that the resource is associated with. + - description: The unique SID identifier of the Service. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^VA[0-9a-fA-F]{32}$ + - description: Customer unique identity for the Entity owner of the Challenge. + This identifier should be immutable, not PII, length between 8 and 64 characters, + and generated by your external system, such as your user's UUID, GUID, or + SID. It can only contain dash (-) separated alphanumeric characters. + in: path + name: Identity + required: true + schema: type: string - - description: The [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) - country code of the country this configuration will be applied to. If this - is a global configuration, Country will take the value `all`. + - description: The unique SID identifier of the Challenge. in: path - name: Country + name: ChallengeSid required: true schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^YC[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: schema: properties: - MessagingServiceSid: - description: The SID of the [Messaging Service](https://www.twilio.com/docs/sms/services/api) - to be used to send SMS to the country of this configuration. - maxLength: 34 - minLength: 34 - pattern: ^MG[0-9a-fA-F]{32}$ - type: string - required: - - MessagingServiceSid - title: UpdateMessagingConfigurationRequest + Ttl: + description: How long, in seconds, the notification is valid. Can + be an integer between 0 and 300. Default is 300. Delivery is attempted + until the TTL elapses, even if the device is offline. 0 means + that the notification delivery is attempted immediately, only + once, and is not stored for future delivery. + type: integer + title: CreateNotificationRequest type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/verify.v2.service.messaging_configuration' - description: OK + $ref: '#/components/schemas/verify.v2.service.entity.challenge.notification' + description: Created security: - accountSid_authToken: [] x-maturity: - - GA + - Beta + /v2/Services/{ServiceSid}/RateLimits: servers: - url: https://verify.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - - account_sid + - sid - service_sid - - country - - messaging_service_sid + - account_sid + - unique_name + - description - date_created - date_updated + pathType: list parent: /Services - pathType: instance - /v2/Services/{ServiceSid}/RateLimits: - description: 'TODO: Resource-level docs' - get: - description: Retrieve a list of all Rate Limits for a service. - operationId: ListRateLimit - parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/verify/api/service) - the resource is associated with. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^VA[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 - responses: - '200': - content: - application/json: - schema: - properties: - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - rate_limits: - items: - $ref: '#/components/schemas/verify.v2.service.rate_limit' - type: array - title: ListRateLimitResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA post: description: Create a new Rate Limit for a Service operationId: CreateRateLimit @@ -2902,23 +2731,23 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^VA[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Description: - description: Description of this Rate Limit - type: string UniqueName: description: Provides a unique and addressable name to be assigned to this Rate Limit, assigned by the developer, to be optionally used in addition to SID. **This value should not contain PII.** type: string + Description: + description: Description of this Rate Limit + type: string required: - UniqueName title: CreateRateLimitRequest @@ -2934,24 +2763,9 @@ paths: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://verify.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - service_sid - - account_sid - - unique_name - - description - - date_created - - date_updated - parent: /Services - pathType: list - /v2/Services/{ServiceSid}/RateLimits/{RateLimitSid}/Buckets: - description: 'TODO: Resource-level docs' get: - description: Retrieve a list of all Buckets for a Rate Limit. - operationId: ListBucket + description: Retrieve a list of all Rate Limits for a service. + operationId: ListRateLimit parameters: - description: The SID of the [Service](https://www.twilio.com/docs/verify/api/service) the resource is associated with. @@ -2959,20 +2773,10 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^VA[0-9a-fA-F]{32}$ type: string - - description: The Twilio-provided string that uniquely identifies the Rate - Limit resource. - in: path - name: RateLimitSid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^RK[0-9a-fA-F]{32}$ - type: string + maxLength: 34 + pattern: ^VA[0-9a-fA-F]{32}$ - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -2986,18 +2790,19 @@ paths: content: application/json: schema: + type: object + title: ListRateLimitResponse properties: - buckets: - items: - $ref: '#/components/schemas/verify.v2.service.rate_limit.bucket' + rate_limits: type: array + items: + $ref: '#/components/schemas/verify.v2.service.rate_limit' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -3011,85 +2816,31 @@ paths: url: format: uri type: string - type: object - title: ListBucketResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: Create a new Bucket for a Rate Limit - operationId: CreateBucket - parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/verify/api/service) - the resource is associated with. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^VA[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Rate - Limit resource. - in: path - name: RateLimitSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^RK[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Interval: - description: Number of seconds that the rate limit will be enforced - over. - type: integer - Max: - description: Maximum number of requests permitted in during the - interval. - type: integer - required: - - Max - - Interval - title: CreateBucketRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/verify.v2.service.rate_limit.bucket' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA + /v2/Services/{ServiceSid}/RateLimits/{Sid}: servers: - url: https://verify.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - service_sid - - rate_limit_sid - account_sid - - max - - interval + - unique_name + - description - date_created - date_updated - parent: /Services/{ServiceSid}/RateLimits - pathType: list - /v2/Services/{ServiceSid}/RateLimits/{RateLimitSid}/Buckets/{Sid}: - delete: - description: Delete a specific Bucket. - operationId: DeleteBucket + pathType: instance + parent: /Services + post: + description: Update a specific Rate Limit. + operationId: UpdateRateLimit parameters: - description: The SID of the [Service](https://www.twilio.com/docs/verify/api/service) the resource is associated with. @@ -3097,40 +2848,44 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^VA[0-9a-fA-F]{32}$ - type: string - description: The Twilio-provided string that uniquely identifies the Rate - Limit resource. - in: path - name: RateLimitSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^RK[0-9a-fA-F]{32}$ - type: string - - description: A 34 character string that uniquely identifies this Bucket. + Limit resource to fetch. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^BL[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^RK[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Description: + description: Description of this Rate Limit + type: string + title: UpdateRateLimitRequest + type: object responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/verify.v2.service.rate_limit' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - description: 'TODO: Resource-level docs' get: - description: Fetch a specific Bucket. - operationId: FetchBucket + description: Fetch a specific Rate Limit. + operationId: FetchRateLimit parameters: - description: The SID of the [Service](https://www.twilio.com/docs/verify/api/service) the resource is associated with. @@ -3138,43 +2893,34 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^VA[0-9a-fA-F]{32}$ - type: string - description: The Twilio-provided string that uniquely identifies the Rate - Limit resource. - in: path - name: RateLimitSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^RK[0-9a-fA-F]{32}$ - type: string - - description: A 34 character string that uniquely identifies this Bucket. + Limit resource to fetch. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^BL[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^RK[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/verify.v2.service.rate_limit.bucket' + $ref: '#/components/schemas/verify.v2.service.rate_limit' description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: Update a specific Bucket. - operationId: UpdateBucket + delete: + description: Delete a specific Rate Limit. + operationId: DeleteRateLimit parameters: - description: The SID of the [Service](https://www.twilio.com/docs/verify/api/service) the resource is associated with. @@ -3182,257 +2928,390 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^VA[0-9a-fA-F]{32}$ - type: string - description: The Twilio-provided string that uniquely identifies the Rate - Limit resource. - in: path - name: RateLimitSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^RK[0-9a-fA-F]{32}$ - type: string - - description: A 34 character string that uniquely identifies this Bucket. + Limit resource to fetch. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^BL[0-9a-fA-F]{32}$ type: string + minLength: 34 + maxLength: 34 + pattern: ^RK[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v2/Services: + servers: + - url: https://verify.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - date_created + pathType: list + post: + description: Create a new Verification Service. + operationId: CreateService requestBody: content: application/x-www-form-urlencoded: schema: properties: - Interval: - description: Number of seconds that the rate limit will be enforced - over. + FriendlyName: + description: A descriptive string that you create to describe the + verification service. It can be up to 30 characters long. **This + value should not contain PII.** + type: string + CodeLength: + description: The length of the verification code to generate. Must + be an integer value between 4 and 10, inclusive. type: integer - Max: - description: Maximum number of requests permitted in during the - interval. + LookupEnabled: + description: Whether to perform a lookup with each verification + started and return info about the phone number. + type: boolean + SkipSmsToLandlines: + description: Whether to skip sending SMS verifications to landlines. + Requires `lookup_enabled`. + type: boolean + DtmfInputRequired: + description: Whether to ask the user to press a number before delivering + the verify code in a phone call. + type: boolean + TtsName: + description: The name of an alternative text-to-speech service to + use in phone calls. Applies only to TTS languages. + type: string + Psd2Enabled: + description: Whether to pass PSD2 transaction parameters when starting + a verification. + type: boolean + DoNotShareWarningEnabled: + description: "Whether to add a security warning at the end of an\ + \ SMS verification body. Disabled by default and applies only\ + \ to SMS. Example SMS body: `Your AppName verification code is:\ + \ 1234. Don\u2019t share this code with anyone; our employees\ + \ will never ask for the code`" + type: boolean + CustomCodeEnabled: + description: Whether to allow sending verifications with a custom + code instead of a randomly generated one. Not available for all + customers. + type: boolean + Push.IncludeDate: + description: "Optional configuration for the Push factors. If true,\ + \ include the date in the Challenge's response. Otherwise, the\ + \ date is omitted from the response. See [Challenge](https://www.twilio.com/docs/verify/api/challenge)\ + \ resource\u2019s details parameter for more info. Default: false.\ + \ **Deprecated** do not use this parameter. This timestamp value\ + \ is the same one as the one found in `date_created`, please use\ + \ that one instead." + type: boolean + Push.ApnCredentialSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ + description: Optional configuration for the Push factors. Set the + APN Credential for this service. This will allow to send push + notifications to iOS devices. See [Credential Resource](https://www.twilio.com/docs/notify/api/credential-resource) + Push.FcmCredentialSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ + description: Optional configuration for the Push factors. Set the + FCM Credential for this service. This will allow to send push + notifications to Android devices. See [Credential Resource](https://www.twilio.com/docs/notify/api/credential-resource) + Totp.Issuer: + description: Optional configuration for the TOTP factors. Set TOTP + Issuer for this service. This will allow to configure the issuer + of the TOTP URI. Defaults to the service friendly name if not + provided. + type: string + Totp.TimeStep: + description: Optional configuration for the TOTP factors. Defines + how often, in seconds, are TOTP codes generated. i.e, a new TOTP + code is generated every time_step seconds. Must be between 20 + and 60 seconds, inclusive. Defaults to 30 seconds type: integer - title: UpdateBucketRequest + Totp.CodeLength: + description: Optional configuration for the TOTP factors. Number + of digits for generated TOTP codes. Must be between 3 and 8, inclusive. + Defaults to 6 + type: integer + Totp.Skew: + description: Optional configuration for the TOTP factors. The number + of time-steps, past and future, that are valid for validation + of TOTP codes. Must be between 0 and 2, inclusive. Defaults to + 1 + type: integer + DefaultTemplateSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^HJ[0-9a-fA-F]{32}$ + description: The default message [template](https://www.twilio.com/docs/verify/api/templates). + Will be used for all SMS verifications unless explicitly overriden. + SMS channel only. + required: + - FriendlyName + title: CreateServiceRequest type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/verify.v2.service' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + get: + description: Retrieve a list of all Verification Services for an account. + 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 responses: '200': content: application/json: schema: - $ref: '#/components/schemas/verify.v2.service.rate_limit.bucket' + type: object + title: ListServiceResponse + properties: + services: + type: array + items: + $ref: '#/components/schemas/verify.v2.service' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v2/Services/{Sid}: servers: - url: https://verify.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - - service_sid - - rate_limit_sid - - account_sid - - max - - interval + - friendly_name - date_created - - date_updated - parent: /Services/{ServiceSid}/RateLimits pathType: instance - /v2/Services/{ServiceSid}/RateLimits/{Sid}: - delete: - description: Delete a specific Rate Limit. - operationId: DeleteRateLimit + get: + description: Fetch specific Verification Service Instance. + operationId: FetchService parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/verify/api/service) - the resource is associated with. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^VA[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Rate - Limit resource to fetch. + - description: The Twilio-provided string that uniquely identifies the Verification + Service resource to fetch. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^RK[0-9a-fA-F]{32}$ type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: 'TODO: Resource-level docs' - get: - description: Fetch a specific Rate Limit. - operationId: FetchRateLimit - parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/verify/api/service) - the resource is associated with. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^VA[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Rate - Limit resource to fetch. - in: path - name: Sid - required: true - schema: maxLength: 34 - minLength: 34 - pattern: ^RK[0-9a-fA-F]{32}$ - type: string + pattern: ^VA[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/verify.v2.service.rate_limit' + $ref: '#/components/schemas/verify.v2.service' description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: Update a specific Rate Limit. - operationId: UpdateRateLimit + delete: + description: Delete a specific Verification Service Instance. + operationId: DeleteService parameters: - - description: The SID of the [Service](https://www.twilio.com/docs/verify/api/service) - the resource is associated with. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^VA[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Rate - Limit resource to fetch. + - description: The Twilio-provided string that uniquely identifies the Verification + Service resource to delete. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^RK[0-9a-fA-F]{32}$ type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Description: - description: Description of this Rate Limit - type: string - title: UpdateRateLimitRequest - type: object + minLength: 34 + maxLength: 34 + pattern: ^VA[0-9a-fA-F]{32}$ responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/verify.v2.service.rate_limit' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://verify.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - service_sid - - account_sid - - unique_name - - description - - date_created - - date_updated - parent: /Services - pathType: instance - /v2/Services/{ServiceSid}/VerificationCheck: - description: 'TODO: Resource-level docs' post: - description: challenge a specific Verification Check. - operationId: CreateVerificationCheck + description: Update a specific Verification Service. + operationId: UpdateService parameters: - - description: The SID of the verification [Service](https://www.twilio.com/docs/verify/api/service) - to create the resource under. + - description: The Twilio-provided string that uniquely identifies the Service + resource to update. in: path - name: ServiceSid + name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^VA[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Amount: - description: The amount of the associated PSD2 compliant transaction. - Requires the PSD2 Service flag enabled. + FriendlyName: + description: A descriptive string that you create to describe the + verification service. It can be up to 30 characters long. **This + value should not contain PII.** type: string - Code: - description: The 4-10 character string being verified. + CodeLength: + description: The length of the verification code to generate. Must + be an integer value between 4 and 10, inclusive. + type: integer + LookupEnabled: + description: Whether to perform a lookup with each verification + started and return info about the phone number. + type: boolean + SkipSmsToLandlines: + description: Whether to skip sending SMS verifications to landlines. + Requires `lookup_enabled`. + type: boolean + DtmfInputRequired: + description: Whether to ask the user to press a number before delivering + the verify code in a phone call. + type: boolean + TtsName: + description: The name of an alternative text-to-speech service to + use in phone calls. Applies only to TTS languages. type: string - Payee: - description: The payee of the associated PSD2 compliant transaction. - Requires the PSD2 Service flag enabled. + Psd2Enabled: + description: Whether to pass PSD2 transaction parameters when starting + a verification. + type: boolean + DoNotShareWarningEnabled: + description: Whether to add a privacy warning at the end of an SMS. + **Disabled by default and applies only for SMS.** + type: boolean + CustomCodeEnabled: + description: Whether to allow sending verifications with a custom + code instead of a randomly generated one. Not available for all + customers. + type: boolean + Push.IncludeDate: + description: "Optional configuration for the Push factors. If true,\ + \ include the date in the Challenge's response. Otherwise, the\ + \ date is omitted from the response. See [Challenge](https://www.twilio.com/docs/verify/api/challenge)\ + \ resource\u2019s details parameter for more info. Default: false.\ + \ **Deprecated** do not use this parameter." + type: boolean + Push.ApnCredentialSid: type: string - To: - description: The phone number or [email](https://www.twilio.com/docs/verify/email) - to verify. Either this parameter or the `verification_sid` must - be specified. Phone numbers must be in [E.164 format](https://www.twilio.com/docs/glossary/what-e164). + minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ + description: Optional configuration for the Push factors. Set the + APN Credential for this service. This will allow to send push + notifications to iOS devices. See [Credential Resource](https://www.twilio.com/docs/notify/api/credential-resource) + Push.FcmCredentialSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ + description: Optional configuration for the Push factors. Set the + FCM Credential for this service. This will allow to send push + notifications to Android devices. See [Credential Resource](https://www.twilio.com/docs/notify/api/credential-resource) + Totp.Issuer: + description: Optional configuration for the TOTP factors. Set TOTP + Issuer for this service. This will allow to configure the issuer + of the TOTP URI. + type: string + Totp.TimeStep: + description: Optional configuration for the TOTP factors. Defines + how often, in seconds, are TOTP codes generated. i.e, a new TOTP + code is generated every time_step seconds. Must be between 20 + and 60 seconds, inclusive. Defaults to 30 seconds + type: integer + Totp.CodeLength: + description: Optional configuration for the TOTP factors. Number + of digits for generated TOTP codes. Must be between 3 and 8, inclusive. + Defaults to 6 + type: integer + Totp.Skew: + description: Optional configuration for the TOTP factors. The number + of time-steps, past and future, that are valid for validation + of TOTP codes. Must be between 0 and 2, inclusive. Defaults to + 1 + type: integer + DefaultTemplateSid: type: string - VerificationSid: - description: A SID that uniquely identifies the Verification Check. - Either this parameter or the `to` phone number/[email](https://www.twilio.com/docs/verify/email) - must be specified. - maxLength: 34 minLength: 34 - pattern: ^VE[0-9a-fA-F]{32}$ - type: string - required: - - Code - title: CreateVerificationCheckRequest + maxLength: 34 + pattern: ^HJ[0-9a-fA-F]{32}$ + description: The default message [template](https://www.twilio.com/docs/verify/api/templates). + Will be used for all SMS verifications unless explicitly overriden. + SMS channel only. + title: UpdateServiceRequest type: object responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/verify.v2.service.verification_check' - description: Created + $ref: '#/components/schemas/verify.v2.service' + description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v2/Services/{ServiceSid}/Verifications: servers: - url: https://verify.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid @@ -3441,10 +3320,8 @@ paths: - status - valid - date_created - parent: /Services pathType: list - /v2/Services/{ServiceSid}/Verifications: - description: 'TODO: Resource-level docs' + parent: /Services post: description: Create a new Verification using a Service operationId: CreateVerification @@ -3455,38 +3332,23 @@ paths: name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^VA[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Amount: - description: The amount of the associated PSD2 compliant transaction. - Requires the PSD2 Service flag enabled. - type: string - AppHash: - description: 'Your [App Hash](https://developers.google.com/identity/sms-retriever/verify#computing_your_apps_hash_string) - to be appended at the end of your verification SMS body. Applies - only to SMS. Example SMS body: `<#> Your AppName verification - code is: 1234 He42w354ol9`.' + To: + description: The phone number or [email](https://www.twilio.com/docs/verify/email) + to verify. Phone numbers must be in [E.164 format](https://www.twilio.com/docs/glossary/what-e164). type: string Channel: description: 'The verification method to use. Can be: [`email`](https://www.twilio.com/docs/verify/email), `sms`, `whatsapp` or `call`.' type: string - ChannelConfiguration: - description: '[`email`](https://www.twilio.com/docs/verify/email) - channel configuration in json format. The fields ''from'' and - ''from_name'' are optional but if included the ''from'' field - must have a valid email address.' - CustomCode: - description: A pre-generated code to use for verification. The code - can be between 4 and 10 characters, inclusive. - type: string CustomFriendlyName: description: A custom user defined friendly name that overwrites the existing one in the verification message @@ -3494,6 +3356,11 @@ paths: CustomMessage: description: The text of a custom message to use for the verification. type: string + SendDigits: + description: The digits to send after a phone call is answered, + for example, to dial an extension. For more information, see the + Programmable Voice documentation of [sendDigits](https://www.twilio.com/docs/voice/twiml/number#attributes-sendDigits). + type: string Locale: description: 'The locale to use for the verification SMS, WhatsApp or call. Can be: `af`, `ar`, `ca`, `cs`, `da`, `de`, `el`, `en`, @@ -3501,6 +3368,14 @@ paths: `ja`, `ko`, `ms`, `nb`, `nl`, `pl`, `pt`, `pr-BR`, `ro`, `ru`, `sv`, `th`, `tl`, `tr`, `vi`, `zh`, `zh-CN`, or `zh-HK.`' type: string + CustomCode: + description: A pre-generated code to use for verification. The code + can be between 4 and 10 characters, inclusive. + type: string + Amount: + description: The amount of the associated PSD2 compliant transaction. + Requires the PSD2 Service flag enabled. + type: string Payee: description: The payee of the associated PSD2 compliant transaction. Requires the PSD2 Service flag enabled. @@ -3512,27 +3387,29 @@ paths: Associated value pairs represent values in the request that you are rate limiting on. You may include multiple Rate Limit values in each request. - SendDigits: - description: The digits to send after a phone call is answered, - for example, to dial an extension. For more information, see the - Programmable Voice documentation of [sendDigits](https://www.twilio.com/docs/voice/twiml/number#attributes-sendDigits). - type: string - TemplateCustomSubstitutions: - description: A stringified JSON object in which the keys are the - template's special variables and the values are the variables - substitutions. + ChannelConfiguration: + description: '[`email`](https://www.twilio.com/docs/verify/email) + channel configuration in json format. The fields ''from'' and + ''from_name'' are optional but if included the ''from'' field + must have a valid email address.' + AppHash: + description: 'Your [App Hash](https://developers.google.com/identity/sms-retriever/verify#computing_your_apps_hash_string) + to be appended at the end of your verification SMS body. Applies + only to SMS. Example SMS body: `<#> Your AppName verification + code is: 1234 He42w354ol9`.' type: string TemplateSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^HJ[0-9a-fA-F]{32}$ description: The message [template](https://www.twilio.com/docs/verify/api/templates). If provided, will override the default template for the Service. SMS channel only. - maxLength: 34 - minLength: 34 - pattern: ^HJ[0-9a-fA-F]{32}$ - type: string - To: - description: The phone number or [email](https://www.twilio.com/docs/verify/email) - to verify. Phone numbers must be in [E.164 format](https://www.twilio.com/docs/glossary/what-e164). + TemplateCustomSubstitutions: + description: A stringified JSON object in which the keys are the + template's special variables and the values are the variables + substitutions. type: string required: - To @@ -3550,8 +3427,10 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v2/Services/{ServiceSid}/Verifications/{Sid}: servers: - url: https://verify.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid @@ -3560,31 +3439,45 @@ paths: - status - valid - date_created + pathType: instance parent: /Services - pathType: list - /v2/Services/{ServiceSid}/Verifications/{Sid}: - description: 'TODO: Resource-level docs' - get: - description: Fetch a specific Verification - operationId: FetchVerification + post: + description: Update a Verification status + operationId: UpdateVerification parameters: - description: The SID of the verification [Service](https://www.twilio.com/docs/verify/api/service) - to fetch the resource from. + to update the resource from. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^VA[0-9a-fA-F]{32}$ - type: string - description: The Twilio-provided string that uniquely identifies the Verification - resource to fetch. + resource to update. in: path name: Sid required: true schema: type: string + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Status: + type: string + enum: + - canceled + - approved + description: 'The new status of the resource. Can be: `canceled` + or `approved`.' + required: + - Status + title: UpdateVerificationRequest + type: object responses: '200': content: @@ -3596,43 +3489,27 @@ paths: - accountSid_authToken: [] x-maturity: - GA - post: - description: Update a Verification status - operationId: UpdateVerification + get: + description: Fetch a specific Verification + operationId: FetchVerification parameters: - description: The SID of the verification [Service](https://www.twilio.com/docs/verify/api/service) - to update the resource from. + to fetch the resource from. in: path name: ServiceSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^VA[0-9a-fA-F]{32}$ - type: string - description: The Twilio-provided string that uniquely identifies the Verification - resource to update. + resource to fetch. in: path name: Sid required: true schema: type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Status: - description: 'The new status of the resource. Can be: `canceled` - or `approved`.' - enum: - - canceled - - approved - type: string - required: - - Status - title: UpdateVerificationRequest - type: object responses: '200': content: @@ -3644,33 +3521,88 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v2/Attempts: servers: - url: https://verify.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - - to - - channel - - status - - valid - date_created - parent: /Services - pathType: instance - /v2/Services/{ServiceSid}/Webhooks: - description: 'TODO: Resource-level docs' + - date_updated + - conversion_status + - channel + pathType: list + className: verification_attempt get: - description: Retrieve a list of all Webhooks for a Service. - operationId: ListWebhook + description: List all the verification attempts for a given Account. + operationId: ListVerificationAttempt parameters: - - description: The unique SID identifier of the Service. - in: path - name: ServiceSid - required: true + - description: Datetime filter used to query Verification Attempts created after + this datetime. Given as GMT in RFC 2822 format. + in: query + name: DateCreatedAfter schema: - maxLength: 34 + type: string + format: date-time + - description: Datetime filter used to query Verification Attempts created before + this datetime. Given as GMT in RFC 2822 format. + in: query + name: DateCreatedBefore + schema: + type: string + format: date-time + - description: Destination of a verification. It is phone number in E.164 format. + in: query + name: ChannelData.To + schema: + type: string + - description: Filter used to query Verification Attempts sent to the specified + destination country. + in: query + name: Country + schema: + format: iso-country-code + type: string + - description: Filter used to query Verification Attempts by communication channel. + Valid values are `SMS` and `CALL` + in: query + name: Channel + schema: + type: string + enum: + - sms + - call + - email + - whatsapp + - description: Filter used to query Verification Attempts by verify service. + Only attempts of the provided SID will be returned. + in: query + name: VerifyServiceSid + schema: + type: string minLength: 34 + maxLength: 34 pattern: ^VA[0-9a-fA-F]{32}$ + - description: Filter used to return all the Verification Attempts of a single + verification. Only attempts of the provided verification SID will be returned. + in: query + name: VerificationSid + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^VE[0-9a-fA-F]{32}$ + - description: Filter used to query Verification Attempts by conversion status. + Valid values are `UNCONVERTED`, for attempts that were not converted, and + `CONVERTED`, for attempts that were confirmed. + in: query + name: Status + schema: type: string + enum: + - converted + - unconverted - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -3684,14 +3616,19 @@ paths: content: application/json: schema: + type: object + title: ListVerificationAttemptResponse properties: + attempts: + type: array + items: + $ref: '#/components/schemas/verify.v2.verification_attempt' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -3705,436 +3642,354 @@ paths: url: format: uri type: string - type: object - webhooks: - items: - $ref: '#/components/schemas/verify.v2.service.webhook' - type: array - title: ListWebhookResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - - Beta - post: - description: Create a new Webhook for the Service - operationId: CreateWebhook - parameters: - - description: The unique SID identifier of the Service. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^VA[0-9a-fA-F]{32}$ - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - EventTypes: - description: 'The array of events that this Webhook is subscribed - to. Possible event types: `*, factor.deleted, factor.created, - factor.verified, challenge.approved, challenge.denied`' - items: - type: string - type: array - FriendlyName: - description: The string that you assigned to describe the webhook. - **This value should not contain PII.** - type: string - Status: - description: 'The webhook status. Default value is `enabled`. One - of: `enabled` or `disabled`' - enum: - - enabled - - disabled - type: string - Version: - description: The webhook version. Default value is `v2` which includes - all the latest fields. Version `v1` is legacy and may be removed - in the future. - enum: - - v1 - - v2 - type: string - WebhookUrl: - description: The URL associated with this Webhook. - type: string - required: - - FriendlyName - - EventTypes - - WebhookUrl - title: CreateWebhookRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/verify.v2.service.webhook' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - Beta + - GA + /v2/Attempts/{Sid}: servers: - url: https://verify.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - - service_sid - - friendly_name - - event_types - - webhook_url - - webhook_method - - status - date_created - parent: /Services - pathType: list - /v2/Services/{ServiceSid}/Webhooks/{Sid}: - delete: - description: Delete a specific Webhook. - operationId: DeleteWebhook + - date_updated + - conversion_status + - channel + pathType: instance + className: verification_attempt + get: + description: Fetch a specific verification attempt. + operationId: FetchVerificationAttempt parameters: - - description: The unique SID identifier of the Service. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^VA[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Webhook - resource to delete. + - description: The unique SID identifier of a Verification Attempt in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^YW[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 Webhook. - operationId: FetchWebhook - parameters: - - description: The unique SID identifier of the Service. - in: path - name: ServiceSid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^VA[0-9a-fA-F]{32}$ - type: string - - description: The Twilio-provided string that uniquely identifies the Webhook - resource to fetch. - in: path - name: Sid - required: true - schema: maxLength: 34 - minLength: 34 - pattern: ^YW[0-9a-fA-F]{32}$ - type: string + pattern: ^VL[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/verify.v2.service.webhook' + $ref: '#/components/schemas/verify.v2.verification_attempt' description: OK security: - accountSid_authToken: [] x-maturity: - - Beta - post: - description: '' - operationId: UpdateWebhook + - GA + /v2/Attempts/Summary: + servers: + - url: https://verify.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - total_attempts + - total_converted + - total_unconverted + - conversion_rate_percentage + pathType: instance + className: verification_attempts_summary + get: + description: Get a summary of how many attempts were made and how many were + converted. + operationId: FetchVerificationAttemptsSummary parameters: - - description: The unique SID identifier of the Service. - in: path - name: ServiceSid - required: true + - description: Filter used to consider only Verification Attempts of the given + verify service on the summary aggregation. + in: query + name: VerifyServiceSid schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^VA[0-9a-fA-F]{32}$ + - description: Datetime filter used to consider only Verification Attempts created + after this datetime on the summary aggregation. Given as GMT in RFC 2822 + format. + in: query + name: DateCreatedAfter + schema: type: string - - description: The Twilio-provided string that uniquely identifies the Webhook - resource to update. - in: path - name: Sid - required: true + format: date-time + - description: Datetime filter used to consider only Verification Attempts created + before this datetime on the summary aggregation. Given as GMT in RFC 2822 + format. + in: query + name: DateCreatedBefore + schema: + type: string + format: date-time + - description: Filter used to consider only Verification Attempts sent to the + specified destination country on the summary aggregation. + in: query + name: Country + schema: + format: iso-country-code + type: string + - description: Filter Verification Attempts considered on the summary aggregation + by communication channel. Valid values are `SMS` and `CALL` + in: query + name: Channel + schema: + type: string + enum: + - sms + - call + - email + - whatsapp + - description: Filter the Verification Attempts considered on the summary aggregation + by Destination prefix. It is the prefix of a phone number in E.164 format. + in: query + name: DestinationPrefix schema: - maxLength: 34 - minLength: 34 - pattern: ^YW[0-9a-fA-F]{32}$ type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - EventTypes: - description: 'The array of events that this Webhook is subscribed - to. Possible event types: `*, factor.deleted, factor.created, - factor.verified, challenge.approved, challenge.denied`' - items: - type: string - type: array - FriendlyName: - description: The string that you assigned to describe the webhook. - **This value should not contain PII.** - type: string - Status: - description: 'The webhook status. Default value is `enabled`. One - of: `enabled` or `disabled`' - enum: - - enabled - - disabled - type: string - Version: - description: The webhook version. Default value is `v2` which includes - all the latest fields. Version `v1` is legacy and may be removed - in the future. - enum: - - v1 - - v2 - type: string - WebhookUrl: - description: The URL associated with this Webhook. - type: string - title: UpdateWebhookRequest - type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/verify.v2.service.webhook' + $ref: '#/components/schemas/verify.v2.verification_attempts_summary' description: OK security: - accountSid_authToken: [] x-maturity: - - Beta + - GA + /v2/Services/{ServiceSid}/VerificationCheck: servers: - url: https://verify.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - - service_sid - - friendly_name - - event_types - - webhook_url - - webhook_method + - to + - channel - status + - valid - date_created + pathType: list parent: /Services - pathType: instance - /v2/Services/{Sid}: - delete: - description: Delete a specific Verification Service Instance. - operationId: DeleteService + post: + description: challenge a specific Verification Check. + operationId: CreateVerificationCheck parameters: - - description: The Twilio-provided string that uniquely identifies the Verification - Service resource to delete. + - description: The SID of the verification [Service](https://www.twilio.com/docs/verify/api/service) + to create the resource under. in: path - name: Sid + name: ServiceSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^VA[0-9a-fA-F]{32}$ type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: 'TODO: Resource-level docs' - get: - description: Fetch specific Verification Service Instance. - operationId: FetchService - parameters: - - description: The Twilio-provided string that uniquely identifies the Verification - Service resource to fetch. - in: path - name: Sid - required: true - schema: - maxLength: 34 minLength: 34 - pattern: ^VA[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/verify.v2.service' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: Update a specific Verification 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: ^VA[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - CodeLength: - description: The length of the verification code to generate. Must - be an integer value between 4 and 10, inclusive. - type: integer - CustomCodeEnabled: - description: Whether to allow sending verifications with a custom - code instead of a randomly generated one. Not available for all - customers. - type: boolean - DefaultTemplateSid: - description: The default message [template](https://www.twilio.com/docs/verify/api/templates). - Will be used for all SMS verifications unless explicitly overriden. - SMS channel only. - maxLength: 34 - minLength: 34 - pattern: ^HJ[0-9a-fA-F]{32}$ + To: + description: The phone number or [email](https://www.twilio.com/docs/verify/email) + to verify. Either this parameter or the `verification_sid` must + be specified. Phone numbers must be in [E.164 format](https://www.twilio.com/docs/glossary/what-e164). type: string - DoNotShareWarningEnabled: - description: Whether to add a privacy warning at the end of an SMS. - **Disabled by default and applies only for SMS.** - type: boolean - DtmfInputRequired: - description: Whether to ask the user to press a number before delivering - the verify code in a phone call. - type: boolean - FriendlyName: - description: A descriptive string that you create to describe the - verification service. It can be up to 30 characters long. **This - value should not contain PII.** + VerificationSid: type: string - LookupEnabled: - description: Whether to perform a lookup with each verification - started and return info about the phone number. - type: boolean - Psd2Enabled: - description: Whether to pass PSD2 transaction parameters when starting - a verification. - type: boolean - Push.ApnCredentialSid: - description: Optional configuration for the Push factors. Set the - APN Credential for this service. This will allow to send push - notifications to iOS devices. See [Credential Resource](https://www.twilio.com/docs/notify/api/credential-resource) - maxLength: 34 minLength: 34 - pattern: ^CR[0-9a-fA-F]{32}$ - type: string - Push.FcmCredentialSid: - description: Optional configuration for the Push factors. Set the - FCM Credential for this service. This will allow to send push - notifications to Android devices. See [Credential Resource](https://www.twilio.com/docs/notify/api/credential-resource) maxLength: 34 - minLength: 34 - pattern: ^CR[0-9a-fA-F]{32}$ + pattern: ^VE[0-9a-fA-F]{32}$ + description: A SID that uniquely identifies the Verification Check. + Either this parameter or the `to` phone number/[email](https://www.twilio.com/docs/verify/email) + must be specified. + Amount: + description: The amount of the associated PSD2 compliant transaction. + Requires the PSD2 Service flag enabled. type: string - Push.IncludeDate: - description: "Optional configuration for the Push factors. If true,\ - \ include the date in the Challenge's response. Otherwise, the\ - \ date is omitted from the response. See [Challenge](https://www.twilio.com/docs/verify/api/challenge)\ - \ resource\u2019s details parameter for more info. Default: false.\ - \ **Deprecated** do not use this parameter." - type: boolean - SkipSmsToLandlines: - description: Whether to skip sending SMS verifications to landlines. - Requires `lookup_enabled`. - type: boolean - Totp.CodeLength: - description: Optional configuration for the TOTP factors. Number - of digits for generated TOTP codes. Must be between 3 and 8, inclusive. - Defaults to 6 - type: integer - Totp.Issuer: - description: Optional configuration for the TOTP factors. Set TOTP - Issuer for this service. This will allow to configure the issuer - of the TOTP URI. + Payee: + description: The payee of the associated PSD2 compliant transaction. + Requires the PSD2 Service flag enabled. type: string - Totp.Skew: - description: Optional configuration for the TOTP factors. The number - of time-steps, past and future, that are valid for validation - of TOTP codes. Must be between 0 and 2, inclusive. Defaults to - 1 - type: integer - Totp.TimeStep: - description: Optional configuration for the TOTP factors. Defines - how often, in seconds, are TOTP codes generated. i.e, a new TOTP - code is generated every time_step seconds. Must be between 20 - and 60 seconds, inclusive. Defaults to 30 seconds - type: integer - TtsName: - description: The name of an alternative text-to-speech service to - use in phone calls. Applies only to TTS languages. + Code: + description: The 4-10 character string being verified. type: string - title: UpdateServiceRequest + title: CreateVerificationCheckRequest type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/verify.v2.service.verification_check' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v2/Templates: + servers: + - url: https://verify.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + pathType: list + get: + description: List all the available templates for a given Account. + operationId: ListVerificationTemplate + parameters: + - description: String filter used to query templates with a given friendly name + in: query + name: FriendlyName + schema: + 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 responses: '200': content: application/json: schema: - $ref: '#/components/schemas/verify.v2.service' + type: object + title: ListVerificationTemplateResponse + properties: + templates: + type: array + items: + $ref: '#/components/schemas/verify.v2.verification_template' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v2/Services/{ServiceSid}/Webhooks: servers: - url: https://verify.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid + - service_sid - friendly_name + - event_types + - webhook_url + - webhook_method + - status - date_created - pathType: instance - /v2/Templates: - description: 'TODO: Resource-level docs' + pathType: list + parent: /Services + post: + description: Create a new Webhook for the Service + operationId: CreateWebhook + parameters: + - description: The unique SID identifier of the Service. + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^VA[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: The string that you assigned to describe the webhook. + **This value should not contain PII.** + type: string + EventTypes: + type: array + items: + type: string + description: 'The array of events that this Webhook is subscribed + to. Possible event types: `*, factor.deleted, factor.created, + factor.verified, challenge.approved, challenge.denied`' + WebhookUrl: + description: The URL associated with this Webhook. + type: string + Status: + type: string + enum: + - enabled + - disabled + description: 'The webhook status. Default value is `enabled`. One + of: `enabled` or `disabled`' + Version: + type: string + enum: + - v1 + - v2 + description: The webhook version. Default value is `v2` which includes + all the latest fields. Version `v1` is legacy and may be removed + in the future. + required: + - FriendlyName + - EventTypes + - WebhookUrl + title: CreateWebhookRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/verify.v2.service.webhook' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - Beta get: - description: List all the available templates for a given Account. - operationId: ListVerificationTemplate + description: Retrieve a list of all Webhooks for a Service. + operationId: ListWebhook parameters: - - description: String filter used to query templates with a given friendly name - in: query - name: FriendlyName + - description: The unique SID identifier of the Service. + in: path + name: ServiceSid + required: true schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^VA[0-9a-fA-F]{32}$ - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -4148,14 +4003,19 @@ paths: content: application/json: schema: + type: object + title: ListWebhookResponse properties: + webhooks: + type: array + items: + $ref: '#/components/schemas/verify.v2.service.webhook' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -4169,30 +4029,168 @@ paths: url: format: uri type: string - type: object - templates: - items: - $ref: '#/components/schemas/verify.v2.verification_template' - type: array - title: ListVerificationTemplateResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - - GA + - Beta + /v2/Services/{ServiceSid}/Webhooks/{Sid}: servers: - url: https://verify.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid + - service_sid - friendly_name - pathType: list + - event_types + - webhook_url + - webhook_method + - status + - date_created + pathType: instance + parent: /Services + post: + description: '' + operationId: UpdateWebhook + parameters: + - description: The unique SID identifier of the Service. + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^VA[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Webhook + resource to update. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^YW[0-9a-fA-F]{32}$ + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: The string that you assigned to describe the webhook. + **This value should not contain PII.** + type: string + EventTypes: + type: array + items: + type: string + description: 'The array of events that this Webhook is subscribed + to. Possible event types: `*, factor.deleted, factor.created, + factor.verified, challenge.approved, challenge.denied`' + WebhookUrl: + description: The URL associated with this Webhook. + type: string + Status: + type: string + enum: + - enabled + - disabled + description: 'The webhook status. Default value is `enabled`. One + of: `enabled` or `disabled`' + Version: + type: string + enum: + - v1 + - v2 + description: The webhook version. Default value is `v2` which includes + all the latest fields. Version `v1` is legacy and may be removed + in the future. + title: UpdateWebhookRequest + type: object + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/verify.v2.service.webhook' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - Beta + delete: + description: Delete a specific Webhook. + operationId: DeleteWebhook + parameters: + - description: The unique SID identifier of the Service. + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^VA[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Webhook + resource to delete. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^YW[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - Beta + get: + description: Fetch a specific Webhook. + operationId: FetchWebhook + parameters: + - description: The unique SID identifier of the Service. + in: path + name: ServiceSid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^VA[0-9a-fA-F]{32}$ + - description: The Twilio-provided string that uniquely identifies the Webhook + resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^YW[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/verify.v2.service.webhook' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - Beta servers: - url: https://verify.twilio.com x-maturity: -- description: This product is Generally Available. - name: GA -- description: PLEASE NOTE that this is a Beta product that is subject to change. +- name: GA + description: This product is Generally Available. +- name: Beta + description: PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution. - name: Beta diff --git a/spec/yaml/twilio_video_v1.yaml b/spec/yaml/twilio_video_v1.yaml index 38070e67..a30fa638 100644 --- a/spec/yaml/twilio_video_v1.yaml +++ b/spec/yaml/twilio_video_v1.yaml @@ -1,58 +1,59 @@ components: schemas: video.v1.composition: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource audio_sources: - description: The array of track names to include in the composition + type: array items: type: string nullable: true - type: array + description: The array of track names to include in the composition audio_sources_excluded: - description: The array of track names to exclude from the composition + type: array items: type: string nullable: true - type: array + description: The array of track names to exclude from the composition bitrate: description: The average bit rate of the composition's media nullable: true type: integer date_completed: - description: Date when the media processing task finished + type: string format: date-time nullable: true - type: string + description: Date when the media processing task finished date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_deleted: - description: The ISO 8601 date and time in GMT when the composition generated - media was deleted + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the composition generated + media was deleted duration: description: The duration of the composition's media file in seconds nullable: true type: integer format: - description: The container format of the composition's media files as specified - in the POST request that created the Composition resource + type: string enum: - mp4 - webm nullable: true - type: string + description: The container format of the composition's media files as specified + in the POST request that created the Composition resource links: description: The URL of the media file associated with the composition format: uri-map @@ -70,26 +71,26 @@ components: nullable: true type: string room_sid: - description: The SID of the Group Room that generated the audio and video - tracks used in the composition - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RM[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Group Room that generated the audio and video + tracks used in the composition sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CJ[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource size: description: The size of the composed media file in bytes nullable: true type: integer status: - description: The status of the composition + type: string enum: - enqueued - processing @@ -97,7 +98,7 @@ components: - deleted - failed nullable: true - type: string + description: The status of the composition status_callback: description: The URL called to send status information on every composition event. @@ -126,55 +127,55 @@ components: nullable: true type: string video_layout: - description: An object that describes the video layout of the composition nullable: true - type: object + description: An object that describes the video layout of the composition video.v1.composition_hook: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource audio_sources: - description: The array of track names to include in the compositions created - by the composition hook + type: array items: type: string nullable: true - type: array - audio_sources_excluded: - description: The array of track names to exclude from the compositions created + description: The array of track names to include in the compositions created by the composition hook + audio_sources_excluded: + type: array items: type: string nullable: true - type: array + description: The array of track names to exclude from the compositions created + by the composition hook date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated enabled: description: Whether the CompositionHook is active nullable: true type: boolean format: - description: The container format of the media files used by the compositions - created by the composition hook + type: string enum: - mp4 - webm nullable: true - type: string + description: The container format of the media files used by the compositions + created by the composition hook friendly_name: description: The string that you assigned to describe the resource nullable: true @@ -185,12 +186,12 @@ components: nullable: true type: string sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^HK[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource status_callback: description: The URL to send status information to your application format: uri @@ -218,25 +219,25 @@ components: nullable: true type: string video_layout: - description: A JSON object that describes the video layout of the Composition nullable: true - type: object + description: A JSON object that describes the video layout of the Composition video.v1.composition_settings: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource aws_credentials_sid: - description: The SID of the stored Credential resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CR[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the stored Credential resource aws_s3_url: description: The URL of the AWS S3 bucket where the compositions are stored format: uri @@ -251,12 +252,12 @@ components: nullable: true type: boolean encryption_key_sid: - description: The SID of the Public Key resource used for encryption - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CR[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Public Key resource used for encryption friendly_name: description: The string that you assigned to describe the resource nullable: true @@ -266,44 +267,44 @@ components: format: uri nullable: true type: string - type: object video.v1.recording: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource codec: - description: The codec used to encode the track + type: string enum: - VP8 - H264 - OPUS - PCMU nullable: true - type: string + description: The codec used to encode the track container_format: - description: The file format for the recording + type: string enum: - mka - mkv nullable: true - type: string + description: The file format for the recording date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created duration: description: The duration of the recording in seconds nullable: true type: integer grouping_sids: - description: A list of SIDs related to the recording nullable: true + description: A list of SIDs related to the recording links: description: The URLs of related resources format: uri-map @@ -322,32 +323,32 @@ components: nullable: true type: integer sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RT[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource size: description: The size of the recorded track, in bytes nullable: true type: integer source_sid: - description: The SID of the recording source - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the recording source status: - description: The status of the recording + type: string enum: - processing - completed - deleted - failed nullable: true - type: string + description: The status of the recording status_callback: description: The URL called to send status information on every recording event. @@ -371,35 +372,35 @@ components: nullable: true type: string type: - description: The recording's media type + type: string enum: - audio - video - data nullable: true - type: string + description: The recording's media type url: description: The absolute URL of the resource format: uri nullable: true type: string - type: object video.v1.recording_settings: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource aws_credentials_sid: - description: The SID of the stored Credential resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CR[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the stored Credential resource aws_s3_url: description: The URL of the AWS S3 bucket where the recordings are stored format: uri @@ -414,12 +415,12 @@ components: nullable: true type: boolean encryption_key_sid: - description: The SID of the Public Key resource used for encryption - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CR[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Public Key resource used for encryption friendly_name: description: The string that you assigned to describe the resource nullable: true @@ -429,32 +430,32 @@ components: format: uri nullable: true type: string - type: object video.v1.room: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource audio_only: description: Indicates whether the room will only contain audio track participants for group rooms. nullable: true type: boolean date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated duration: description: The duration of the room in seconds nullable: true @@ -468,10 +469,10 @@ components: nullable: true type: boolean end_time: - description: The UTC end time of the room in UTC ISO 8601 format + type: string format: date-time nullable: true - type: string + description: The UTC end time of the room in UTC ISO 8601 format large_room: description: Indicates if this is a large room. nullable: true @@ -505,20 +506,20 @@ components: nullable: true type: boolean sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RM[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource status: - description: The status of the room + type: string enum: - in-progress - completed - failed nullable: true - type: string + description: The status of the room status_callback: description: The URL to send status information to your application format: uri @@ -537,14 +538,14 @@ components: nullable: true type: string type: - description: The type of room + type: string enum: - go - peer-to-peer - group - group-small nullable: true - type: string + description: The type of room unique_name: description: An application-defined string that uniquely identifies the resource @@ -560,46 +561,46 @@ components: nullable: true type: string video_codecs: - description: An array of the video codecs that are supported when publishing - a track in the room + type: array items: + type: string enum: - VP8 - H264 - type: string nullable: true - type: array - type: object + description: An array of the video codecs that are supported when publishing + a track in the room video.v1.room.room_participant: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated duration: description: Duration of time in seconds the participant was connected nullable: true type: integer end_time: - description: The time when the participant disconnected from the room in - ISO 8601 format + type: string format: date-time nullable: true - type: string + description: The time when the participant disconnected from the room in + ISO 8601 format identity: description: The string that identifies the resource's User nullable: true @@ -610,229 +611,229 @@ components: nullable: true type: object room_sid: - description: The SID of the participant's room - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RM[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the participant's room sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^PA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource start_time: - description: The time of participant connected to the room in ISO 8601 format + type: string format: date-time nullable: true - type: string + description: The time of participant connected to the room in ISO 8601 format status: - description: The status of the Participant + type: string enum: - connected - disconnected nullable: true - type: string + description: The status of the Participant url: description: The absolute URL of the resource format: uri nullable: true type: string - type: object video.v1.room.room_participant.room_participant_published_track: + type: object properties: date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated enabled: description: Whether the track is enabled nullable: true type: boolean kind: - description: The track type + type: string enum: - audio - video - data nullable: true - type: string + description: The track type name: description: The track name nullable: true type: string participant_sid: - description: The SID of the Participant resource with the published track - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^PA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Participant resource with the published track room_sid: - description: The SID of the Room resource where the track is published - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RM[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Room resource where the track is published sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^MT[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource url: description: The absolute URL of the resource format: uri nullable: true type: string - type: object video.v1.room.room_participant.room_participant_subscribe_rule: + type: object properties: date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated participant_sid: - description: The SID of the Participant resource for the Subscribe Rules - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^PA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Participant resource for the Subscribe Rules room_sid: - description: The SID of the Room resource for the Subscribe Rules - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RM[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Room resource for the Subscribe Rules rules: - description: A collection of Subscribe Rules that describe how to include - or exclude matching tracks + type: array items: format: object type: object nullable: true - type: array - type: object + description: A collection of Subscribe Rules that describe how to include + or exclude matching tracks video.v1.room.room_participant.room_participant_subscribed_track: + type: object properties: date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated enabled: description: Whether the track is enabled nullable: true type: boolean kind: - description: The track type + type: string enum: - audio - video - data nullable: true - type: string + description: The track type name: description: The track name nullable: true type: string participant_sid: - description: The SID of the participant that subscribes to the track - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^PA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the participant that subscribes to the track publisher_sid: - description: The SID of the participant that publishes the track - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^PA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the participant that publishes the track room_sid: - description: The SID of the room where the track is published - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RM[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the room where the track is published sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^MT[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource url: description: The absolute URL of the resource format: uri nullable: true type: string - type: object video.v1.room.room_recording: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource codec: - description: The codec used for the recording + type: string enum: - VP8 - H264 - OPUS - PCMU nullable: true - type: string + description: The codec used for the recording container_format: - description: The file format for the recording + type: string enum: - mka - mkv nullable: true - type: string + description: The file format for the recording date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created duration: description: The duration of the recording in seconds nullable: true type: integer grouping_sids: - description: A list of SIDs related to the Recording nullable: true + description: A list of SIDs related to the Recording links: description: The URLs of related resources format: uri-map @@ -851,80 +852,79 @@ components: nullable: true type: integer room_sid: - description: The SID of the Room resource the recording is associated with - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RM[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Room resource the recording is associated with sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RT[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource size: description: The size of the recorded track in bytes nullable: true type: integer source_sid: - description: The SID of the recording source - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the recording source status: - description: The status of the recording + type: string enum: - processing - completed - deleted - failed nullable: true - type: string + description: The status of the recording track_name: description: The name that was given to the source track of the recording nullable: true type: string type: - description: The recording's media type + type: string enum: - audio - video - data nullable: true - type: string + description: The recording's media type url: description: The absolute URL of the resource format: uri nullable: true type: string - type: object video.v1.room.room_recording_rule: + type: object properties: date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated room_sid: - description: The SID of the Room resource for the Recording Rules - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^RM[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Room resource for the Recording Rules rules: - description: A collection of recording Rules that describe how to include - or exclude matching tracks for recording + type: array items: format: recording-rule properties: @@ -940,8 +940,8 @@ components: type: string type: object nullable: true - type: array - type: object + description: A collection of recording Rules that describe how to include + or exclude matching tracks for recording securitySchemes: accountSid_authToken: scheme: basic @@ -960,39 +960,112 @@ info: version: 1.30.0 openapi: 3.0.1 paths: - /v1/CompositionHooks: - description: Recording composition hooks + /v1/Compositions/{Sid}: + servers: + - url: https://video.twilio.com + description: Recording compositions + x-twilio: + defaultOutputProperties: + - sid + - status + - resolution + - format + pathType: instance get: - description: List of all Recording CompositionHook resources. - operationId: ListCompositionHook + description: Returns a single Composition resource identified by a Composition + SID. + operationId: FetchComposition parameters: - - description: Read only CompositionHook resources with an `enabled` value that - matches this parameter. + - description: The SID of the Composition resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CJ[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/video.v1.composition' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + delete: + description: Delete a Recording Composition resource identified by a Composition + SID. + operationId: DeleteComposition + parameters: + - description: The SID of the Composition resource to delete. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CJ[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Compositions: + servers: + - url: https://video.twilio.com + description: Recording compositions + x-twilio: + defaultOutputProperties: + - sid + - status + - resolution + - format + pathType: list + get: + description: List of all Recording compositions. + operationId: ListComposition + parameters: + - description: 'Read only Composition resources with this status. Can be: `enqueued`, + `processing`, `completed`, `deleted`, or `failed`.' in: query - name: Enabled + name: Status schema: - type: boolean - - description: Read only CompositionHook resources created on or after this - [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with time zone. + type: string + enum: + - enqueued + - processing + - completed + - deleted + - failed + - description: Read only Composition resources created on or after this [ISO + 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time with time zone. in: query name: DateCreatedAfter schema: - format: date-time type: string - - description: Read only CompositionHook resources created before this [ISO - 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with time zone. + format: date-time + - description: Read only Composition resources created before this ISO 8601 + date-time with time zone. in: query name: DateCreatedBefore schema: - format: date-time type: string - - description: Read only CompositionHook resources with friendly names that - match this string. The match is not case sensitive and can include asterisk - `*` characters as wildcard match. + format: date-time + - description: Read only Composition resources with this Room SID. in: query - name: FriendlyName + name: RoomSid schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^RM[0-9a-fA-F]{32}$ - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -1006,18 +1079,19 @@ paths: content: application/json: schema: + type: object + title: ListCompositionResponse properties: - composition_hooks: - items: - $ref: '#/components/schemas/video.v1.composition_hook' + compositions: type: array + items: + $ref: '#/components/schemas/video.v1.composition' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1031,9 +1105,8 @@ paths: url: format: uri type: string - type: object - title: ListCompositionHookResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] @@ -1041,57 +1114,48 @@ paths: - GA post: description: '' - operationId: CreateCompositionHook + operationId: CreateComposition requestBody: content: application/x-www-form-urlencoded: schema: properties: + RoomSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RM[0-9a-fA-F]{32}$ + description: The SID of the Group Room with the media tracks to + be used as composition sources. + VideoLayout: + description: An object that describes the video layout of the composition + in terms of regions. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) + for more info. Please, be aware that either video_layout or audio_sources + have to be provided to get a valid creation request AudioSources: - description: An array of track names from the same group room to - merge into the compositions created by the composition hook. Can - include zero or more track names. A composition triggered by the - composition hook includes all audio sources specified in `audio_sources` - except those specified in `audio_sources_excluded`. The track - names in this parameter can include an asterisk as a wild card - character, which matches zero or more characters in a track name. - For example, `student*` includes tracks named `student` as well - as `studentTeam`. + type: array items: type: string - type: array - AudioSourcesExcluded: - description: An array of track names to exclude. A composition triggered - by the composition hook includes all audio sources specified in - `audio_sources` except for those specified in `audio_sources_excluded`. + description: An array of track names from the same group room to + merge into the new composition. Can include zero or more track + names. The new composition includes all audio sources specified + in `audio_sources` except for those specified in `audio_sources_excluded`. The track names in this parameter can include an asterisk as a - wild card character, which matches zero or more characters in - a track name. For example, `student*` excludes `student` as well - as `studentTeam`. This parameter can also be empty. + wild card character, which will match zero or more characters + in a track name. For example, `student*` includes `student` as + well as `studentTeam`. Please, be aware that either video_layout + or audio_sources have to be provided to get a valid creation request + AudioSourcesExcluded: + type: array items: type: string - type: array - Enabled: - description: Whether the composition hook is active. When `true`, - the composition hook will be triggered for every completed Group - Room in the account. When `false`, the composition hook will never - be triggered. - type: boolean - Format: - description: 'The container format of the media files used by the - compositions created by the composition hook. Can be: `mp4` or - `webm` and the default is `webm`. If `mp4` or `webm`, `audio_sources` - must have one or more tracks and/or a `video_layout` element must - contain a valid `video_sources` list, otherwise an error occurs.' - enum: - - mp4 - - webm - type: string - FriendlyName: - description: A descriptive string that you create to describe the - resource. It can be up to 100 characters long and it must be - unique within the account. - type: string + description: An array of track names to exclude. The new composition + includes all audio sources specified in `audio_sources` except + for those specified in `audio_sources_excluded`. The track names + in this parameter can include an asterisk as a wild card character, + which will match zero or more characters in a track name. For + example, `student*` excludes `student` as well as `studentTeam`. + This parameter can also be empty. Resolution: description: "A string that describes the columns (width) and rows\ \ (height) of the generated composed video in pixels. Defaults\ @@ -1105,6 +1169,16 @@ paths: \ to fit. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts)\ \ for more info." type: string + Format: + type: string + enum: + - mp4 + - webm + description: 'The container format of the composition''s media files. + Can be: `mp4` or `webm` and the default is `webm`. If you specify + `mp4` or `webm`, you must also specify one or more `audio_sources` + and/or a `video_layout` element that contains a valid `video_sources` + list, otherwise an error occurs.' StatusCallback: description: The URL we should call using the `status_callback_method` to send status information to your application on every composition @@ -1125,63 +1199,38 @@ paths: type: string Trim: description: Whether to clip the intervals where there is no active - media in the Compositions triggered by the composition hook. The - default is `true`. Compositions with `trim` enabled are shorter - when the Room is created and no Participant joins for a while - as well as if all the Participants leave the room and join later, - because those gaps will be removed. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) + media in the composition. The default is `true`. Compositions + with `trim` enabled are shorter when the Room is created and no + Participant joins for a while as well as if all the Participants + leave the room and join later, because those gaps will be removed. + See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info. type: boolean - VideoLayout: - description: An object that describes the video layout of the composition - hook in terms of regions. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) - for more info. required: - - FriendlyName - title: CreateCompositionHookRequest + - RoomSid + title: CreateCompositionRequest type: object responses: '201': content: application/json: schema: - $ref: '#/components/schemas/video.v1.composition_hook' + $ref: '#/components/schemas/video.v1.composition' description: Created security: - accountSid_authToken: [] x-maturity: - GA + /v1/CompositionHooks/{Sid}: servers: - url: https://video.twilio.com + description: Recording composition hooks x-twilio: defaultOutputProperties: - sid - friendly_name - date_created - pathType: list - /v1/CompositionHooks/{Sid}: - delete: - description: Delete a Recording CompositionHook resource identified by a `CompositionHook - SID`. - operationId: DeleteCompositionHook - parameters: - - description: The SID of the CompositionHook resource to delete. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^HK[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: Recording composition hooks + pathType: instance get: description: Returns a single CompositionHook resource identified by a CompositionHook SID. @@ -1192,10 +1241,10 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^HK[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -1207,6 +1256,27 @@ paths: - accountSid_authToken: [] x-maturity: - GA + delete: + description: Delete a Recording CompositionHook resource identified by a `CompositionHook + SID`. + operationId: DeleteCompositionHook + parameters: + - description: The SID of the CompositionHook resource to delete. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^HK[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA post: description: '' operationId: UpdateCompositionHook @@ -1216,16 +1286,34 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^HK[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: + FriendlyName: + description: A descriptive string that you create to describe the + resource. It can be up to 100 characters long and it must be + unique within the account. + type: string + Enabled: + description: Whether the composition hook is active. When `true`, + the composition hook will be triggered for every completed Group + Room in the account. When `false`, the composition hook never + triggers. + type: boolean + VideoLayout: + description: A JSON object that describes the video layout of the + composition hook in terms of regions. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) + for more info. AudioSources: + type: array + items: + type: string description: An array of track names from the same group room to merge into the compositions created by the composition hook. Can include zero or more track names. A composition triggered by the @@ -1235,10 +1323,10 @@ paths: character, which matches zero or more characters in a track name. For example, `student*` includes tracks named `student` as well as `studentTeam`. + AudioSourcesExcluded: + type: array items: type: string - type: array - AudioSourcesExcluded: description: An array of track names to exclude. A composition triggered by the composition hook includes all audio sources specified in `audio_sources` except for those specified in `audio_sources_excluded`. @@ -1246,30 +1334,25 @@ paths: wild card character, which matches zero or more characters in a track name. For example, `student*` excludes `student` as well as `studentTeam`. This parameter can also be empty. - items: - type: string - type: array - Enabled: - description: Whether the composition hook is active. When `true`, - the composition hook will be triggered for every completed Group - Room in the account. When `false`, the composition hook never - triggers. + Trim: + description: Whether to clip the intervals where there is no active + media in the compositions triggered by the composition hook. The + default is `true`. Compositions with `trim` enabled are shorter + when the Room is created and no Participant joins for a while + as well as if all the Participants leave the room and join later, + because those gaps will be removed. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) + for more info. type: boolean Format: + type: string + enum: + - mp4 + - webm description: 'The container format of the media files used by the compositions created by the composition hook. Can be: `mp4` or `webm` and the default is `webm`. If `mp4` or `webm`, `audio_sources` must have one or more tracks and/or a `video_layout` element must contain a valid `video_sources` list, otherwise an error occurs.' - enum: - - mp4 - - webm - type: string - FriendlyName: - description: A descriptive string that you create to describe the - resource. It can be up to 100 characters long and it must be - unique within the account. - type: string Resolution: description: "A string that describes the columns (width) and rows\ \ (height) of the generated composed video in pixels. Defaults\ @@ -1301,19 +1384,6 @@ paths: - DELETE format: http-method type: string - Trim: - description: Whether to clip the intervals where there is no active - media in the compositions triggered by the composition hook. The - default is `true`. Compositions with `trim` enabled are shorter - when the Room is created and no Participant joins for a while - as well as if all the Participants leave the room and join later, - because those gaps will be removed. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) - for more info. - type: boolean - VideoLayout: - description: A JSON object that describes the video layout of the - composition hook in terms of regions. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) - for more info. required: - FriendlyName title: UpdateCompositionHookRequest @@ -1329,134 +1399,46 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/CompositionHooks: servers: - url: https://video.twilio.com + description: Recording composition hooks x-twilio: defaultOutputProperties: - sid - friendly_name - date_created - pathType: instance - /v1/CompositionSettings/Default: - description: Recording composition settings - get: - description: '' - operationId: FetchCompositionSettings - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/video.v1.composition_settings' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: '' - operationId: CreateCompositionSettings - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - AwsCredentialsSid: - description: The SID of the stored Credential resource. - maxLength: 34 - minLength: 34 - pattern: ^CR[0-9a-fA-F]{32}$ - type: string - AwsS3Url: - description: The URL of the AWS S3 bucket where the compositions - should be stored. We only support DNS-compliant URLs like `https://documentation-example-twilio-bucket/compositions`, - where `compositions` is the path in which you want the compositions - to be stored. This URL accepts only URI-valid characters, as described - in the RFC - 3986. - format: uri - type: string - AwsStorageEnabled: - description: Whether all compositions should be written to the `aws_s3_url`. - When `false`, all compositions are stored in our cloud. - type: boolean - EncryptionEnabled: - description: Whether all compositions should be stored in an encrypted - form. The default is `false`. - type: boolean - EncryptionKeySid: - description: The SID of the Public Key resource to use for encryption. - maxLength: 34 - minLength: 34 - pattern: ^CR[0-9a-fA-F]{32}$ - type: string - FriendlyName: - description: A descriptive string that you create to describe the - resource and show to the user in the console - type: string - required: - - FriendlyName - title: CreateCompositionSettingsRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/video.v1.composition_settings' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://video.twilio.com - x-twilio: - className: composition_settings - defaultOutputProperties: - - friendly_name - - aws_storage_enabled - - encryption_enabled - pathType: instance - /v1/Compositions: - description: Recording compositions + pathType: list get: - description: List of all Recording compositions. - operationId: ListComposition + description: List of all Recording CompositionHook resources. + operationId: ListCompositionHook parameters: - - description: 'Read only Composition resources with this status. Can be: `enqueued`, - `processing`, `completed`, `deleted`, or `failed`.' + - description: Read only CompositionHook resources with an `enabled` value that + matches this parameter. in: query - name: Status + name: Enabled schema: - enum: - - enqueued - - processing - - completed - - deleted - - failed - type: string - - description: Read only Composition resources created on or after this [ISO - 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time with time zone. + type: boolean + - description: Read only CompositionHook resources created on or after this + [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with time zone. in: query name: DateCreatedAfter schema: - format: date-time type: string - - description: Read only Composition resources created before this ISO 8601 - date-time with time zone. + format: date-time + - description: Read only CompositionHook resources created before this [ISO + 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with time zone. in: query name: DateCreatedBefore schema: - format: date-time type: string - - description: Read only Composition resources with this Room SID. + format: date-time + - description: Read only CompositionHook resources with friendly names that + match this string. The match is not case sensitive and can include asterisk + `*` characters as wildcard match. in: query - name: RoomSid + name: FriendlyName schema: - maxLength: 34 - minLength: 34 - pattern: ^RM[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. @@ -1471,18 +1453,19 @@ paths: content: application/json: schema: + type: object + title: ListCompositionHookResponse properties: - compositions: - items: - $ref: '#/components/schemas/video.v1.composition' + composition_hooks: type: array + items: + $ref: '#/components/schemas/video.v1.composition_hook' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1496,9 +1479,8 @@ paths: url: format: uri type: string - type: object - title: ListCompositionResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] @@ -1506,46 +1488,51 @@ paths: - GA post: description: '' - operationId: CreateComposition + operationId: CreateCompositionHook requestBody: content: application/x-www-form-urlencoded: schema: properties: + FriendlyName: + description: A descriptive string that you create to describe the + resource. It can be up to 100 characters long and it must be + unique within the account. + type: string + Enabled: + description: Whether the composition hook is active. When `true`, + the composition hook will be triggered for every completed Group + Room in the account. When `false`, the composition hook will never + be triggered. + type: boolean + VideoLayout: + description: An object that describes the video layout of the composition + hook in terms of regions. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) + for more info. AudioSources: + type: array + items: + type: string description: An array of track names from the same group room to - merge into the new composition. Can include zero or more track - names. The new composition includes all audio sources specified - in `audio_sources` except for those specified in `audio_sources_excluded`. - The track names in this parameter can include an asterisk as a - wild card character, which will match zero or more characters - in a track name. For example, `student*` includes `student` as - well as `studentTeam`. Please, be aware that either video_layout - or audio_sources have to be provided to get a valid creation request - items: - type: string - type: array + merge into the compositions created by the composition hook. Can + include zero or more track names. A composition triggered by the + composition hook includes all audio sources specified in `audio_sources` + except those specified in `audio_sources_excluded`. The track + names in this parameter can include an asterisk as a wild card + character, which matches zero or more characters in a track name. + For example, `student*` includes tracks named `student` as well + as `studentTeam`. AudioSourcesExcluded: - description: An array of track names to exclude. The new composition - includes all audio sources specified in `audio_sources` except - for those specified in `audio_sources_excluded`. The track names - in this parameter can include an asterisk as a wild card character, - which will match zero or more characters in a track name. For - example, `student*` excludes `student` as well as `studentTeam`. - This parameter can also be empty. + type: array items: type: string - type: array - Format: - description: 'The container format of the composition''s media files. - Can be: `mp4` or `webm` and the default is `webm`. If you specify - `mp4` or `webm`, you must also specify one or more `audio_sources` - and/or a `video_layout` element that contains a valid `video_sources` - list, otherwise an error occurs.' - enum: - - mp4 - - webm - type: string + description: An array of track names to exclude. A composition triggered + by the composition hook includes all audio sources specified in + `audio_sources` except for those specified in `audio_sources_excluded`. + The track names in this parameter can include an asterisk as a + wild card character, which matches zero or more characters in + a track name. For example, `student*` excludes `student` as well + as `studentTeam`. This parameter can also be empty. Resolution: description: "A string that describes the columns (width) and rows\ \ (height) of the generated composed video in pixels. Defaults\ @@ -1559,13 +1546,16 @@ paths: \ to fit. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts)\ \ for more info." type: string - RoomSid: - description: The SID of the Group Room with the media tracks to - be used as composition sources. - maxLength: 34 - minLength: 34 - pattern: ^RM[0-9a-fA-F]{32}$ + Format: type: string + enum: + - mp4 + - webm + description: 'The container format of the media files used by the + compositions created by the composition hook. Can be: `mp4` or + `webm` and the default is `webm`. If `mp4` or `webm`, `audio_sources` + must have one or more tracks and/or a `video_layout` element must + contain a valid `video_sources` list, otherwise an error occurs.' StatusCallback: description: The URL we should call using the `status_callback_method` to send status information to your application on every composition @@ -1586,110 +1576,48 @@ paths: type: string Trim: description: Whether to clip the intervals where there is no active - media in the composition. The default is `true`. Compositions - with `trim` enabled are shorter when the Room is created and no - Participant joins for a while as well as if all the Participants - leave the room and join later, because those gaps will be removed. - See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) + media in the Compositions triggered by the composition hook. The + default is `true`. Compositions with `trim` enabled are shorter + when the Room is created and no Participant joins for a while + as well as if all the Participants leave the room and join later, + because those gaps will be removed. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info. type: boolean - VideoLayout: - description: An object that describes the video layout of the composition - in terms of regions. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) - for more info. Please, be aware that either video_layout or audio_sources - have to be provided to get a valid creation request required: - - RoomSid - title: CreateCompositionRequest + - FriendlyName + title: CreateCompositionHookRequest type: object responses: '201': content: application/json: schema: - $ref: '#/components/schemas/video.v1.composition' + $ref: '#/components/schemas/video.v1.composition_hook' description: Created security: - accountSid_authToken: [] x-maturity: - GA + /v1/CompositionSettings/Default: servers: - url: https://video.twilio.com + description: Recording composition settings x-twilio: defaultOutputProperties: - - sid - - status - - resolution - - format - pathType: list - /v1/Compositions/{Sid}: - delete: - description: Delete a Recording Composition resource identified by a Composition - SID. - operationId: DeleteComposition - parameters: - - description: The SID of the Composition resource to delete. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^CJ[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: Recording compositions - get: - description: Returns a single Composition resource identified by a Composition - SID. - operationId: FetchComposition - parameters: - - description: The SID of the Composition resource to fetch. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^CJ[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/video.v1.composition' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://video.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - status - - resolution - - format + - friendly_name + - aws_storage_enabled + - encryption_enabled pathType: instance - /v1/RecordingSettings/Default: - description: Recording settings + className: composition_settings get: description: '' - operationId: FetchRecordingSettings + operationId: FetchCompositionSettings responses: '200': content: application/json: schema: - $ref: '#/components/schemas/video.v1.recording_settings' + $ref: '#/components/schemas/video.v1.composition_settings' description: OK security: - accountSid_authToken: [] @@ -1697,129 +1625,188 @@ paths: - GA post: description: '' - operationId: CreateRecordingSettings + operationId: CreateCompositionSettings requestBody: content: application/x-www-form-urlencoded: schema: properties: + FriendlyName: + description: A descriptive string that you create to describe the + resource and show to the user in the console + type: string AwsCredentialsSid: - description: The SID of the stored Credential resource. - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^CR[0-9a-fA-F]{32}$ + description: The SID of the stored Credential resource. + EncryptionKeySid: type: string + minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ + description: The SID of the Public Key resource to use for encryption. AwsS3Url: - description: The URL of the AWS S3 bucket where the recordings should - be stored. We only support DNS-compliant URLs like `https://documentation-example-twilio-bucket/recordings`, - where `recordings` is the path in which you want the recordings + description: The URL of the AWS S3 bucket where the compositions + should be stored. We only support DNS-compliant URLs like `https://documentation-example-twilio-bucket/compositions`, + where `compositions` is the path in which you want the compositions to be stored. This URL accepts only URI-valid characters, as described in the RFC 3986. format: uri type: string AwsStorageEnabled: - description: Whether all recordings should be written to the `aws_s3_url`. - When `false`, all recordings are stored in our cloud. + description: Whether all compositions should be written to the `aws_s3_url`. + When `false`, all compositions are stored in our cloud. type: boolean EncryptionEnabled: - description: Whether all recordings should be stored in an encrypted + description: Whether all compositions should be stored in an encrypted form. The default is `false`. type: boolean - EncryptionKeySid: - description: The SID of the Public Key resource to use for encryption. - maxLength: 34 - minLength: 34 - pattern: ^CR[0-9a-fA-F]{32}$ - type: string - FriendlyName: - description: A descriptive string that you create to describe the - resource and be shown to users in the console - type: string required: - FriendlyName - title: CreateRecordingSettingsRequest + title: CreateCompositionSettingsRequest type: object responses: '201': content: application/json: schema: - $ref: '#/components/schemas/video.v1.recording_settings' + $ref: '#/components/schemas/video.v1.composition_settings' description: Created security: - accountSid_authToken: [] x-maturity: - GA + /v1/Recordings/{Sid}: servers: - url: https://video.twilio.com + description: Single-track, single-media recordings x-twilio: - className: recording_settings defaultOutputProperties: - - friendly_name - - aws_storage_enabled - - encryption_enabled + - sid + - date_created + - status + - type + - duration + - codec pathType: instance - /v1/Recordings: - description: Single-track, single-media recordings get: - description: List of all Track recordings. - operationId: ListRecording + description: Returns a single Recording resource identified by a Recording SID. + operationId: FetchRecording parameters: - - description: 'Read only the recordings that have this status. Can be: `processing`, - `completed`, or `deleted`.' - in: query - name: Status + - description: The SID of the Recording resource to fetch. + in: path + name: Sid + required: true schema: - enum: - - processing - - completed - - deleted - - failed type: string - - description: Read only the recordings that have this `source_sid`. - in: query - name: SourceSid - schema: - maxLength: 34 minLength: 34 - pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ - type: string - - description: Read only recordings with this `grouping_sid`, which may include - a `participant_sid` and/or a `room_sid`. - in: query - name: GroupingSid + maxLength: 34 + pattern: ^RT[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/video.v1.recording' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + delete: + description: Delete a Recording resource identified by a Recording SID. + operationId: DeleteRecording + parameters: + - description: The SID of the Recording resource to delete. + in: path + name: Sid + required: true schema: - items: - maxLength: 34 + type: string + minLength: 34 + maxLength: 34 + pattern: ^RT[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Recordings: + servers: + - url: https://video.twilio.com + description: Single-track, single-media recordings + x-twilio: + defaultOutputProperties: + - sid + - date_created + - status + - type + - duration + - codec + pathType: list + get: + description: List of all Track recordings. + operationId: ListRecording + parameters: + - description: 'Read only the recordings that have this status. Can be: `processing`, + `completed`, or `deleted`.' + in: query + name: Status + schema: + type: string + enum: + - processing + - completed + - deleted + - failed + - description: Read only the recordings that have this `source_sid`. + in: query + name: SourceSid + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ + - description: Read only recordings with this `grouping_sid`, which may include + a `participant_sid` and/or a `room_sid`. + in: query + name: GroupingSid + schema: + type: array + items: + type: string minLength: 34 + maxLength: 34 pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ - type: string - type: array - description: Read only recordings that started on or after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time with time zone. in: query name: DateCreatedAfter schema: - format: date-time type: string + format: date-time - description: Read only recordings that started before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time with time zone, given as `YYYY-MM-DDThh:mm:ss+|-hh:mm` or `YYYY-MM-DDThh:mm:ssZ`. in: query name: DateCreatedBefore schema: - format: date-time type: string + format: date-time - description: Read only recordings that have this media type. Can be either `audio` or `video`. in: query name: MediaType schema: + type: string enum: - audio - video - data - type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -1833,14 +1820,19 @@ paths: content: application/json: schema: + type: object + title: ListRecordingResponse properties: + recordings: + type: array + items: + $ref: '#/components/schemas/video.v1.recording' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1854,88 +1846,287 @@ paths: url: format: uri type: string - type: object - recordings: - items: - $ref: '#/components/schemas/video.v1.recording' - type: array - title: ListRecordingResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/RecordingSettings/Default: servers: - url: https://video.twilio.com + description: Recording settings + x-twilio: + defaultOutputProperties: + - friendly_name + - aws_storage_enabled + - encryption_enabled + pathType: instance + className: recording_settings + get: + description: '' + operationId: FetchRecordingSettings + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/video.v1.recording_settings' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + post: + description: '' + operationId: CreateRecordingSettings + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: A descriptive string that you create to describe the + resource and be shown to users in the console + type: string + AwsCredentialsSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ + description: The SID of the stored Credential resource. + EncryptionKeySid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CR[0-9a-fA-F]{32}$ + description: The SID of the Public Key resource to use for encryption. + AwsS3Url: + description: The URL of the AWS S3 bucket where the recordings should + be stored. We only support DNS-compliant URLs like `https://documentation-example-twilio-bucket/recordings`, + where `recordings` is the path in which you want the recordings + to be stored. This URL accepts only URI-valid characters, as described + in the RFC + 3986. + format: uri + type: string + AwsStorageEnabled: + description: Whether all recordings should be written to the `aws_s3_url`. + When `false`, all recordings are stored in our cloud. + type: boolean + EncryptionEnabled: + description: Whether all recordings should be stored in an encrypted + form. The default is `false`. + type: boolean + required: + - FriendlyName + title: CreateRecordingSettingsRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/video.v1.recording_settings' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Rooms/{Sid}: + servers: + - url: https://video.twilio.com + description: Video rooms with one or more participants x-twilio: defaultOutputProperties: - sid - - date_created + - unique_name - status - - type - - duration - - codec - pathType: list - /v1/Recordings/{Sid}: - delete: - description: Delete a Recording resource identified by a Recording SID. - operationId: DeleteRecording + pathType: instance + get: + description: '' + operationId: FetchRoom parameters: - - description: The SID of the Recording resource to delete. + - description: The SID of the Room resource to fetch. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^RT[0-9a-fA-F]{32}$ type: string responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/video.v1.room' + description: OK security: - accountSid_authToken: [] x-maturity: - GA - description: Single-track, single-media recordings - get: - description: Returns a single Recording resource identified by a Recording SID. - operationId: FetchRecording + post: + description: '' + operationId: UpdateRoom parameters: - - description: The SID of the Recording resource to fetch. + - description: The SID of the Room resource to update. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^RT[0-9a-fA-F]{32}$ type: string + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + Status: + type: string + enum: + - in-progress + - completed + - failed + description: The new status of the resource. Set to `completed` + to end the room. + required: + - Status + title: UpdateRoomRequest + type: object responses: '200': content: application/json: schema: - $ref: '#/components/schemas/video.v1.recording' + $ref: '#/components/schemas/video.v1.room' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Rooms: servers: - url: https://video.twilio.com + description: Video rooms with one or more participants x-twilio: defaultOutputProperties: - sid - - date_created + - unique_name - status - - type - - duration - - codec - pathType: instance - /v1/Rooms: - description: Video rooms with one or more participants + pathType: list + post: + description: '' + operationId: CreateRoom + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + EnableTurn: + description: Deprecated, now always considered to be true. + type: boolean + Type: + type: string + enum: + - go + - peer-to-peer + - group + - group-small + description: 'The type of room. Can be: `go`, `peer-to-peer`, `group-small`, + or `group`. The default value is `group`.' + UniqueName: + description: An application-defined string that uniquely identifies + the resource. It can be used as a `room_sid` in place of the resource's + `sid` in the URL to address the resource, assuming it does not + contain any [reserved characters](https://tools.ietf.org/html/rfc3986#section-2.2) + that would need to be URL encoded. This value is unique for `in-progress` + rooms. SDK clients can use this name to connect to the room. REST + API clients can use this name in place of the Room SID to interact + with the room as long as the room is `in-progress`. + type: string + StatusCallback: + description: The URL we should call using the `status_callback_method` + to send status information to your application on every room event. + See [Status Callbacks](https://www.twilio.com/docs/video/api/status-callbacks) + for more info. + format: uri + type: string + StatusCallbackMethod: + description: The HTTP method we should use to call `status_callback`. + Can be `POST` or `GET`. + enum: + - HEAD + - GET + - POST + - PATCH + - PUT + - DELETE + format: http-method + type: string + MaxParticipants: + description: The maximum number of concurrent Participants allowed + in the room. Peer-to-peer rooms can have up to 10 Participants. + Small Group rooms can have up to 4 Participants. Group rooms can + have up to 50 Participants. + type: integer + RecordParticipantsOnConnect: + description: Whether to start recording when Participants connect. + ***This feature is not available in `peer-to-peer` rooms.*** + type: boolean + VideoCodecs: + type: array + items: + type: string + enum: + - VP8 + - H264 + description: 'An array of the video codecs that are supported when + publishing a track in the room. Can be: `VP8` and `H264`. ***This + feature is not available in `peer-to-peer` rooms***' + MediaRegion: + description: 'The region for the media server in Group Rooms. Can + be: one of the [available Media Regions](https://www.twilio.com/docs/video/ip-address-whitelisting#group-rooms-media-servers). + ***This feature is not available in `peer-to-peer` rooms.***' + type: string + RecordingRules: + description: A collection of Recording Rules that describe how to + include or exclude matching tracks for recording + AudioOnly: + description: When set to true, indicates that the participants in + the room will only publish audio. No video tracks will be allowed. + Group rooms only. + type: boolean + MaxParticipantDuration: + description: The maximum number of seconds a Participant can be + connected to the room. The maximum possible value is 86400 seconds + (24 hours). The default is 14400 seconds (4 hours). + type: integer + EmptyRoomTimeout: + description: Configures how long (in minutes) a room will remain + active after last participant leaves. Valid values range from + 1 to 60 minutes (no fractions). + type: integer + UnusedRoomTimeout: + description: Configures how long (in minutes) a room will remain + active if no one joins. Valid values range from 1 to 60 minutes + (no fractions). + type: integer + LargeRoom: + description: When set to true, indicated that this is the large + room. + type: boolean + title: CreateRoomRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/video.v1.room' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA get: description: '' operationId: ListRoom @@ -1945,11 +2136,11 @@ paths: in: query name: Status schema: + type: string enum: - in-progress - completed - failed - type: string - description: Read only rooms with the this `unique_name`. in: query name: UniqueName @@ -1960,55 +2151,93 @@ paths: in: query name: DateCreatedAfter schema: - format: date-time type: string + format: date-time - description: Read only rooms that started before this date, given as `YYYY-MM-DD`. in: query name: DateCreatedBefore schema: - format: date-time type: string + format: date-time - 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 + maximum: 1000 + minimum: 1 + type: integer + responses: + '200': + content: + application/json: + schema: + type: object + title: ListRoomResponse + properties: + rooms: + type: array + items: + $ref: '#/components/schemas/video.v1.room' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Rooms/{RoomSid}/Participants/{Sid}: + servers: + - url: https://video.twilio.com + description: Participants in video rooms + x-twilio: + defaultOutputProperties: + - sid + - identity + - status + pathType: instance + parent: /Rooms + get: + description: '' + operationId: FetchRoomParticipant + parameters: + - description: The SID of the room with the Participant resource to fetch. + in: path + name: RoomSid + required: true + schema: + type: string + - description: The SID of the RoomParticipant resource to fetch. + in: path + name: Sid + required: true + 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 - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - rooms: - items: - $ref: '#/components/schemas/video.v1.room' - type: array - title: ListRoomResponse - type: object + $ref: '#/components/schemas/video.v1.room.room_participant' description: OK security: - accountSid_authToken: [] @@ -2016,128 +2245,58 @@ paths: - GA post: description: '' - operationId: CreateRoom + operationId: UpdateRoomParticipant + parameters: + - description: The SID of the room with the participant to update. + in: path + name: RoomSid + required: true + schema: + type: string + - description: The SID of the RoomParticipant resource to update. + in: path + name: Sid + required: true + schema: + type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - AudioOnly: - description: When set to true, indicates that the participants in - the room will only publish audio. No video tracks will be allowed. - Group rooms only. - type: boolean - EmptyRoomTimeout: - description: Configures how long (in minutes) a room will remain - active after last participant leaves. Valid values range from - 1 to 60 minutes (no fractions). - type: integer - EnableTurn: - description: Deprecated, now always considered to be true. - type: boolean - LargeRoom: - description: When set to true, indicated that this is the large - room. - type: boolean - MaxParticipantDuration: - description: The maximum number of seconds a Participant can be - connected to the room. The maximum possible value is 86400 seconds - (24 hours). The default is 14400 seconds (4 hours). - type: integer - MaxParticipants: - description: The maximum number of concurrent Participants allowed - in the room. Peer-to-peer rooms can have up to 10 Participants. - Small Group rooms can have up to 4 Participants. Group rooms can - have up to 50 Participants. - type: integer - MediaRegion: - description: 'The region for the media server in Group Rooms. Can - be: one of the [available Media Regions](https://www.twilio.com/docs/video/ip-address-whitelisting#group-rooms-media-servers). - ***This feature is not available in `peer-to-peer` rooms.***' - type: string - RecordParticipantsOnConnect: - description: Whether to start recording when Participants connect. - ***This feature is not available in `peer-to-peer` rooms.*** - type: boolean - RecordingRules: - description: A collection of Recording Rules that describe how to - include or exclude matching tracks for recording - StatusCallback: - description: The URL we should call using the `status_callback_method` - to send status information to your application on every room event. - See [Status Callbacks](https://www.twilio.com/docs/video/api/status-callbacks) - for more info. - format: uri - type: string - StatusCallbackMethod: - description: The HTTP method we should use to call `status_callback`. - Can be `POST` or `GET`. - enum: - - HEAD - - GET - - POST - - PATCH - - PUT - - DELETE - format: http-method + Status: type: string - Type: - description: 'The type of room. Can be: `go`, `peer-to-peer`, `group-small`, - or `group`. The default value is `group`.' enum: - - go - - peer-to-peer - - group - - group-small - type: string - UniqueName: - description: An application-defined string that uniquely identifies - the resource. It can be used as a `room_sid` in place of the resource's - `sid` in the URL to address the resource, assuming it does not - contain any [reserved characters](https://tools.ietf.org/html/rfc3986#section-2.2) - that would need to be URL encoded. This value is unique for `in-progress` - rooms. SDK clients can use this name to connect to the room. REST - API clients can use this name in place of the Room SID to interact - with the room as long as the room is `in-progress`. - type: string - UnusedRoomTimeout: - description: Configures how long (in minutes) a room will remain - active if no one joins. Valid values range from 1 to 60 minutes - (no fractions). - type: integer - VideoCodecs: - description: 'An array of the video codecs that are supported when - publishing a track in the room. Can be: `VP8` and `H264`. ***This - feature is not available in `peer-to-peer` rooms***' - items: - enum: - - VP8 - - H264 - type: string - type: array - title: CreateRoomRequest + - connected + - disconnected + description: 'The new status of the resource. Can be: `connected` + or `disconnected`. For `in-progress` Rooms the default Status + is `connected`, for `completed` Rooms only `disconnected` Participants + are returned.' + title: UpdateRoomParticipantRequest type: object responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/video.v1.room' - description: Created + $ref: '#/components/schemas/video.v1.room.room_participant' + description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Rooms/{RoomSid}/Participants: servers: - url: https://video.twilio.com + description: Participants in video rooms x-twilio: defaultOutputProperties: - sid - - unique_name + - identity - status pathType: list - /v1/Rooms/{RoomSid}/Participants: - description: Participants in video rooms + parent: /Rooms get: description: '' operationId: ListRoomParticipant @@ -2154,10 +2313,10 @@ paths: in: query name: Status schema: + type: string enum: - connected - disconnected - type: string - description: Read only the Participants with this [User](https://www.twilio.com/docs/chat/rest/user-resource) `identity` value. in: query @@ -2169,15 +2328,15 @@ paths: in: query name: DateCreatedAfter schema: - format: date-time type: string + format: date-time - description: Read only Participants that started before this date in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#UTC) format. in: query name: DateCreatedBefore schema: - format: date-time type: string + format: date-time - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -2191,14 +2350,19 @@ paths: content: application/json: schema: + type: object + title: ListRoomParticipantResponse properties: + participants: + type: array + items: + $ref: '#/components/schemas/video.v1.room.room_participant' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -2212,153 +2376,149 @@ paths: url: format: uri type: string - type: object - participants: - items: - $ref: '#/components/schemas/video.v1.room.room_participant' - type: array - title: ListRoomParticipantResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Rooms/{RoomSid}/Participants/{ParticipantSid}/PublishedTracks/{Sid}: servers: - url: https://video.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - - identity - - status - parent: /Rooms - pathType: list - /v1/Rooms/{RoomSid}/Participants/{ParticipantSid}/PublishedTracks: - description: 'TODO: Resource-level docs' + - name + - enabled + - kind + pathType: instance + parent: /Rooms/{RoomSid}/Participants get: - description: Returns a list of tracks associated with a given Participant. Only - `currently` Published Tracks are in the list resource. - operationId: ListRoomParticipantPublishedTrack + description: Returns a single Track resource represented by TrackName or SID. + operationId: FetchRoomParticipantPublishedTrack parameters: - - description: The SID of the Room resource where the Track resources to read - are published. + - description: The SID of the Room resource where the Track resource to fetch + is published. in: path name: RoomSid required: true schema: type: string - - description: The SID of the Participant resource with the published tracks - to read. + - description: The SID of the Participant resource with the published track + to fetch. in: path name: ParticipantSid required: true schema: 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 + - description: The SID of the RoomParticipantPublishedTrack resource to fetch. + in: path + name: Sid + required: true schema: - maximum: 1000 - minimum: 1 - type: integer + 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 - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - published_tracks: - items: - $ref: '#/components/schemas/video.v1.room.room_participant.room_participant_published_track' - type: array - title: ListRoomParticipantPublishedTrackResponse - type: object + schema: + $ref: '#/components/schemas/video.v1.room.room_participant.room_participant_published_track' description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Rooms/{RoomSid}/Participants/{ParticipantSid}/PublishedTracks: servers: - url: https://video.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - name - enabled - kind - parent: /Rooms/{RoomSid}/Participants pathType: list - /v1/Rooms/{RoomSid}/Participants/{ParticipantSid}/PublishedTracks/{Sid}: - description: 'TODO: Resource-level docs' + parent: /Rooms/{RoomSid}/Participants get: - description: Returns a single Track resource represented by TrackName or SID. - operationId: FetchRoomParticipantPublishedTrack + description: Returns a list of tracks associated with a given Participant. Only + `currently` Published Tracks are in the list resource. + operationId: ListRoomParticipantPublishedTrack parameters: - - description: The SID of the Room resource where the Track resource to fetch - is published. + - description: The SID of the Room resource where the Track resources to read + are published. in: path name: RoomSid required: true schema: type: string - - description: The SID of the Participant resource with the published track - to fetch. + - description: The SID of the Participant resource with the published tracks + to read. in: path name: ParticipantSid required: true schema: type: string - - description: The SID of the RoomParticipantPublishedTrack resource to fetch. - in: path - name: Sid - required: true + - description: How many resources to return in each list page. The default is + 50, and the maximum is 1000. + in: query + name: PageSize schema: - type: string + maximum: 1000 + minimum: 1 + type: integer responses: '200': content: application/json: schema: - $ref: '#/components/schemas/video.v1.room.room_participant.room_participant_published_track' + type: object + title: ListRoomParticipantPublishedTrackResponse + properties: + published_tracks: + type: array + items: + $ref: '#/components/schemas/video.v1.room.room_participant.room_participant_published_track' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Rooms/{RoomSid}/Participants/{ParticipantSid}/SubscribeRules: servers: - url: https://video.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - - sid - - name - - enabled - - kind + - participant_sid + - room_sid + - rules + pathType: list parent: /Rooms/{RoomSid}/Participants - pathType: instance - /v1/Rooms/{RoomSid}/Participants/{ParticipantSid}/SubscribeRules: - description: 'TODO: Resource-level docs' + className: subscribe_rules get: description: Returns a list of Subscribe Rules for the Participant. operationId: FetchRoomParticipantSubscribeRule @@ -2427,93 +2587,18 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Rooms/{RoomSid}/Participants/{ParticipantSid}/SubscribedTracks/{Sid}: servers: - url: https://video.twilio.com - x-twilio: - className: subscribe_rules - defaultOutputProperties: - - participant_sid - - room_sid - - rules - parent: /Rooms/{RoomSid}/Participants - pathType: list - /v1/Rooms/{RoomSid}/Participants/{ParticipantSid}/SubscribedTracks: description: 'TODO: Resource-level docs' - get: - description: Returns a list of tracks that are subscribed for the participant. - operationId: ListRoomParticipantSubscribedTrack - parameters: - - description: The SID of the Room resource with the Track resources to read. - in: path - name: RoomSid - required: true - schema: - type: string - - description: The SID of the participant that subscribes to the Track resources - to read. - in: path - name: ParticipantSid - required: true - schema: - 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 - responses: - '200': - content: - application/json: - schema: - properties: - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - subscribed_tracks: - items: - $ref: '#/components/schemas/video.v1.room.room_participant.room_participant_subscribed_track' - type: array - title: ListRoomParticipantSubscribedTrackResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://video.twilio.com x-twilio: defaultOutputProperties: - sid - name - enabled - kind + pathType: instance parent: /Rooms/{RoomSid}/Participants - pathType: list - /v1/Rooms/{RoomSid}/Participants/{ParticipantSid}/SubscribedTracks/{Sid}: - description: 'TODO: Resource-level docs' get: description: 'Returns a single Track resource represented by `track_sid`. Note: This is one resource with the Video API that requires a SID, be Track Name @@ -2538,10 +2623,10 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^MT[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -2553,163 +2638,173 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Rooms/{RoomSid}/Participants/{ParticipantSid}/SubscribedTracks: servers: - url: https://video.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - name - enabled - kind + pathType: list parent: /Rooms/{RoomSid}/Participants - pathType: instance - /v1/Rooms/{RoomSid}/Participants/{Sid}: - description: Participants in video rooms get: - description: '' - operationId: FetchRoomParticipant + description: Returns a list of tracks that are subscribed for the participant. + operationId: ListRoomParticipantSubscribedTrack parameters: - - description: The SID of the room with the Participant resource to fetch. + - description: The SID of the Room resource with the Track resources to read. in: path name: RoomSid required: true schema: type: string - - description: The SID of the RoomParticipant resource to fetch. - in: path - name: Sid - required: true - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/video.v1.room.room_participant' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: '' - operationId: UpdateRoomParticipant - parameters: - - description: The SID of the room with the participant to update. + - description: The SID of the participant that subscribes to the Track resources + to read. in: path - name: RoomSid + name: ParticipantSid required: true schema: type: string - - description: The SID of the RoomParticipant resource to update. - in: path - name: Sid - required: true + - description: How many resources to return in each list page. The default is + 50, and the maximum is 1000. + in: query + name: PageSize schema: - type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Status: - description: 'The new status of the resource. Can be: `connected` - or `disconnected`. For `in-progress` Rooms the default Status - is `connected`, for `completed` Rooms only `disconnected` Participants - are returned.' - enum: - - connected - - disconnected - type: string - title: UpdateRoomParticipantRequest - type: object + maximum: 1000 + minimum: 1 + type: integer responses: '200': content: application/json: schema: - $ref: '#/components/schemas/video.v1.room.room_participant' + type: object + title: ListRoomParticipantSubscribedTrackResponse + properties: + subscribed_tracks: + type: array + items: + $ref: '#/components/schemas/video.v1.room.room_participant.room_participant_subscribed_track' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Rooms/{RoomSid}/Recordings/{Sid}: servers: - url: https://video.twilio.com + description: Single-track, single-media room recordings x-twilio: defaultOutputProperties: - sid - - identity + - date_created - status - parent: /Rooms + - type + - duration + - codec pathType: instance - /v1/Rooms/{RoomSid}/RecordingRules: - description: 'TODO: Resource-level docs' + parent: /Rooms + className: room_recording get: - description: Returns a list of Recording Rules for the Room. - operationId: FetchRoomRecordingRule + description: '' + operationId: FetchRoomRecording parameters: - - description: The SID of the Room resource where the recording rules to fetch - apply. + - description: The SID of the Room resource with the recording to fetch. in: path name: RoomSid required: true schema: type: string + minLength: 34 + maxLength: 34 + pattern: ^RM[0-9a-fA-F]{32}$ + - description: The SID of the RoomRecording resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RT[0-9a-fA-F]{32}$ responses: '200': content: application/json: schema: - $ref: '#/components/schemas/video.v1.room.room_recording_rule' + $ref: '#/components/schemas/video.v1.room.room_recording' description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: Update the Recording Rules for the Room - operationId: UpdateRoomRecordingRule + delete: + description: '' + operationId: DeleteRoomRecording parameters: - - description: The SID of the Room resource where the recording rules to update - apply. + - description: The SID of the room with the RoomRecording resource to delete. in: path name: RoomSid required: true schema: type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - Rules: - description: A JSON-encoded array of recording rules. - title: UpdateRoomRecordingRuleRequest - type: object + minLength: 34 + maxLength: 34 + pattern: ^RM[0-9a-fA-F]{32}$ + - description: The SID of the RoomRecording resource to delete. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^RT[0-9a-fA-F]{32}$ responses: - '202': - content: - application/json: - schema: - $ref: '#/components/schemas/video.v1.room.room_recording_rule' - description: Accepted + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA + /v1/Rooms/{RoomSid}/Recordings: servers: - url: https://video.twilio.com + description: Single-track, single-media room recordings x-twilio: - className: recording_rules defaultOutputProperties: - - room_sid - - rules - parent: /Rooms + - sid + - date_created + - status + - type + - duration + - codec pathType: list - /v1/Rooms/{RoomSid}/Recordings: - description: Single-track, single-media room recordings + parent: /Rooms + className: room_recording get: description: '' operationId: ListRoomRecording @@ -2719,43 +2814,43 @@ paths: name: RoomSid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^RM[0-9a-fA-F]{32}$ - type: string - description: 'Read only the recordings with this status. Can be: `processing`, `completed`, or `deleted`.' in: query name: Status schema: + type: string enum: - processing - completed - deleted - failed - type: string - description: Read only the recordings that have this `source_sid`. in: query name: SourceSid schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ - type: string - description: Read only recordings that started on or after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with time zone. in: query name: DateCreatedAfter schema: - format: date-time type: string + format: date-time - description: Read only Recordings that started before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with time zone. in: query name: DateCreatedBefore schema: - format: date-time type: string + format: date-time - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -2769,14 +2864,19 @@ paths: content: application/json: schema: + type: object + title: ListRoomRecordingResponse properties: + recordings: + type: array + items: + $ref: '#/components/schemas/video.v1.room.room_recording' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -2790,117 +2890,32 @@ paths: url: format: uri type: string - type: object - recordings: - items: - $ref: '#/components/schemas/video.v1.room.room_recording' - type: array - title: ListRoomRecordingResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Rooms/{RoomSid}/RecordingRules: servers: - url: https://video.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - className: room_recording defaultOutputProperties: - - sid - - date_created - - status - - type - - duration - - codec - parent: /Rooms + - room_sid + - rules pathType: list - /v1/Rooms/{RoomSid}/Recordings/{Sid}: - delete: - description: '' - operationId: DeleteRoomRecording - parameters: - - description: The SID of the room with the RoomRecording resource to delete. - in: path - name: RoomSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^RM[0-9a-fA-F]{32}$ - type: string - - description: The SID of the RoomRecording resource to delete. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^RT[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: Single-track, single-media room recordings - get: - description: '' - operationId: FetchRoomRecording - parameters: - - description: The SID of the Room resource with the recording to fetch. - in: path - name: RoomSid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^RM[0-9a-fA-F]{32}$ - type: string - - description: The SID of the RoomRecording resource to fetch. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^RT[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/video.v1.room.room_recording' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://video.twilio.com - x-twilio: - className: room_recording - defaultOutputProperties: - - sid - - date_created - - status - - type - - duration - - codec parent: /Rooms - pathType: instance - /v1/Rooms/{Sid}: - description: Video rooms with one or more participants + className: recording_rules get: - description: '' - operationId: FetchRoom + description: Returns a list of Recording Rules for the Room. + operationId: FetchRoomRecordingRule parameters: - - description: The SID of the Room resource to fetch. + - description: The SID of the Room resource where the recording rules to fetch + apply. in: path - name: Sid + name: RoomSid required: true schema: type: string @@ -2909,19 +2924,20 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/video.v1.room' + $ref: '#/components/schemas/video.v1.room.room_recording_rule' description: OK security: - accountSid_authToken: [] x-maturity: - GA post: - description: '' - operationId: UpdateRoom + description: Update the Recording Rules for the Room + operationId: UpdateRoomRecordingRule parameters: - - description: The SID of the Room resource to update. + - description: The SID of the Room resource where the recording rules to update + apply. in: path - name: Sid + name: RoomSid required: true schema: type: string @@ -2930,39 +2946,23 @@ paths: application/x-www-form-urlencoded: schema: properties: - Status: - description: The new status of the resource. Set to `completed` - to end the room. - enum: - - in-progress - - completed - - failed - type: string - required: - - Status - title: UpdateRoomRequest + Rules: + description: A JSON-encoded array of recording rules. + title: UpdateRoomRecordingRuleRequest type: object responses: - '200': + '202': content: application/json: schema: - $ref: '#/components/schemas/video.v1.room' - description: OK + $ref: '#/components/schemas/video.v1.room.room_recording_rule' + description: Accepted security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://video.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - unique_name - - status - pathType: instance servers: - url: https://video.twilio.com x-maturity: -- description: This product is Generally Available. - name: GA +- name: GA + description: This product is Generally Available. diff --git a/spec/yaml/twilio_voice_v1.yaml b/spec/yaml/twilio_voice_v1.yaml index 6c921ba3..bbe1e641 100644 --- a/spec/yaml/twilio_voice_v1.yaml +++ b/spec/yaml/twilio_voice_v1.yaml @@ -1,6 +1,7 @@ components: schemas: voice.v1.archived_call: + type: object properties: date: description: date @@ -8,68 +9,68 @@ components: nullable: true type: string sid: - description: sid - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^CA[0-9a-fA-F]{32}$ - type: string + nullable: true + description: sid url: description: The absolute URL of the resource format: uri nullable: true type: string - type: object voice.v1.byoc_trunk: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource cnam_lookup_enabled: description: Whether Caller ID Name (CNAM) lookup is enabled for the trunk nullable: true type: boolean connection_policy_sid: - description: Origination Connection Policy (to your Carrier) - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^NY[0-9a-fA-F]{32}$ - type: string + nullable: true + description: Origination Connection Policy (to your Carrier) date_created: - description: The RFC 2822 date and time in GMT that the resource was created + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT that the resource was created date_updated: - description: The RFC 2822 date and time in GMT that the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT that the resource was last + updated friendly_name: description: The string that you assigned to describe the resource nullable: true type: string from_domain_sid: - description: The SID of the SIP Domain that should be used in the `From` - header of originating calls - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^SD[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the SIP Domain that should be used in the `From` + header of originating calls sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^BY[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource status_callback_method: description: The HTTP method we use to call status_callback_url enum: @@ -126,27 +127,27 @@ components: format: uri nullable: true type: string - type: object voice.v1.connection_policy: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource date_created: - description: The RFC 2822 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was created date_updated: - description: The RFC 2822 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was last + updated friendly_name: description: The string that you assigned to describe the resource nullable: true @@ -157,45 +158,45 @@ components: nullable: true type: object sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^NY[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource url: description: The absolute URL of the resource format: uri nullable: true type: string - type: object voice.v1.connection_policy.connection_policy_target: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource connection_policy_sid: - description: The SID of the Connection Policy that owns the Target - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^NY[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Connection Policy that owns the Target date_created: - description: The RFC 2822 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was created date_updated: - description: The RFC 2822 date and time in GMT when the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT when the resource was last + updated enabled: description: Whether the target is enabled nullable: true @@ -209,12 +210,12 @@ components: nullable: true type: integer sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^NE[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource target: description: The SIP address you want Twilio to route your calls to format: uri @@ -230,22 +231,22 @@ components: receive compared to others with the same priority nullable: true type: integer - type: object voice.v1.dialing_permissions: - properties: {} type: object + properties: {} voice.v1.dialing_permissions.dialing_permissions_country: + type: object properties: continent: description: The name of the continent in which the country is located nullable: true type: string country_codes: - description: The E.164 assigned country codes(s) + type: array items: type: string nullable: true - type: array + description: The E.164 assigned country codes(s) high_risk_special_numbers_enabled: description: Whether dialing to high-risk special services numbers is enabled nullable: true @@ -278,19 +279,19 @@ components: format: uri nullable: true type: string - type: object voice.v1.dialing_permissions.dialing_permissions_country-instance: + type: object properties: continent: description: The name of the continent in which the country is located nullable: true type: string country_codes: - description: The E.164 assigned country codes(s) + type: array items: type: string nullable: true - type: array + description: The E.164 assigned country codes(s) high_risk_special_numbers_enabled: description: Whether dialing to high-risk special services numbers is enabled nullable: true @@ -323,15 +324,8 @@ components: format: uri nullable: true type: string - type: object - voice.v1.dialing_permissions.dialing_permissions_country.dialing_permissions_hrs_prefixes: - properties: - prefix: - description: A prefix that includes the E.164 assigned country code - nullable: true - type: string - type: object voice.v1.dialing_permissions.dialing_permissions_country_bulk_update: + type: object properties: update_count: description: The number of countries updated @@ -341,8 +335,15 @@ components: description: A URL encoded JSON array of update objects nullable: true type: string + voice.v1.dialing_permissions.dialing_permissions_country.dialing_permissions_hrs_prefixes: type: object + properties: + prefix: + description: A prefix that includes the E.164 assigned country code + nullable: true + type: string voice.v1.dialing_permissions.dialing_permissions_settings: + type: object properties: dialing_permissions_inheritance: description: '`true` if the sub-account will inherit voice dialing permissions @@ -354,16 +355,16 @@ components: format: uri nullable: true type: string - type: object voice.v1.ip_record: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource cidr_prefix_length: description: An integer representing the length of the [CIDR](https://tools.ietf.org/html/rfc4632) prefix to use with this IP address. By default the entire IP address is @@ -371,16 +372,16 @@ components: nullable: true type: integer date_created: - description: The RFC 2822 date and time in GMT that the resource was created + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT that the resource was created date_updated: - description: The RFC 2822 date and time in GMT that the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT that the resource was last + updated friendly_name: description: The string that you assigned to describe the resource nullable: true @@ -390,58 +391,57 @@ components: nullable: true type: string sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IL[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource url: description: The absolute URL of the resource format: uri nullable: true type: string - type: object voice.v1.source_ip_mapping: + type: object properties: date_created: - description: The RFC 2822 date and time in GMT that the resource was created + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT that the resource was created date_updated: - description: The RFC 2822 date and time in GMT that the resource was last - updated + type: string format: date-time nullable: true - type: string + description: The RFC 2822 date and time in GMT that the resource was last + updated ip_record_sid: - description: The unique string that identifies an IP Record - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IL[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies an IP Record sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^IB[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource sip_domain_sid: - description: The unique string that identifies a SIP Domain - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^SD[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies a SIP Domain url: description: The absolute URL of the resource format: uri nullable: true type: string - type: object securitySchemes: accountSid_authToken: scheme: basic @@ -461,6 +461,13 @@ info: openapi: 3.0.1 paths: /v1/Archives/{Date}/Calls/{Sid}: + servers: + - url: https://voice.twilio.com + description: 'TODO: Resource-level docs' + x-twilio: + defaultOutputProperties: [] + pathType: instance + className: archived_call delete: description: 'Delete an archived call record from Bulk Export. Note: this does not also delete the record from the Voice API.' @@ -479,10 +486,10 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^CA[0-9a-fA-F]{32}$ - type: string responses: '204': description: The resource was deleted successfully. @@ -490,67 +497,18 @@ paths: - accountSid_authToken: [] x-maturity: - Beta - description: 'TODO: Resource-level docs' + /v1/ByocTrunks: servers: - url: https://voice.twilio.com - x-twilio: - className: archived_call - defaultOutputProperties: [] - pathType: instance - /v1/ByocTrunks: description: BYOC Trunks allow you to bring your own voice carrier to Twilio, enabling your calls to use our Programmable Voice APIs. - get: - description: '' - operationId: ListByocTrunk - 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 - responses: - '200': - content: - application/json: - schema: - properties: - byoc_trunks: - items: - $ref: '#/components/schemas/voice.v1.byoc_trunk' - type: array - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - title: ListByocTrunkResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - voice_url + pathType: list + post: description: '' operationId: CreateByocTrunk requestBody: @@ -558,37 +516,17 @@ paths: application/x-www-form-urlencoded: schema: properties: - CnamLookupEnabled: - description: Whether Caller ID Name (CNAM) lookup is enabled for - the trunk. If enabled, all inbound calls to the BYOC Trunk from - the United States and Canada automatically perform a CNAM Lookup - and display Caller ID data on your phone. See [CNAM Lookups](https://www.twilio.com/docs/sip-trunking#CNAM) - for more information. - type: boolean - ConnectionPolicySid: - description: The SID of the Connection Policy that Twilio will use - when routing traffic to your communications infrastructure. - maxLength: 34 - minLength: 34 - pattern: ^NY[0-9a-fA-F]{32}$ - type: string FriendlyName: description: A descriptive string that you create to describe the resource. It is not unique and can be up to 255 characters long. type: string - FromDomainSid: - description: The SID of the SIP Domain that should be used in the - `From` header of originating calls sent to your SIP infrastructure. - If your SIP infrastructure allows users to "call back" an incoming - call, configure this with a [SIP Domain](https://www.twilio.com/docs/voice/api/sending-sip) - to ensure proper routing. If not configured, the from domain will - default to "sip.twilio.com". - maxLength: 34 - minLength: 34 - pattern: ^SD[0-9a-fA-F]{32}$ + VoiceUrl: + description: The URL we should call when the BYOC Trunk receives + a call. + format: uri type: string - StatusCallbackMethod: - description: 'The HTTP method we should use to call `status_callback_url`. + VoiceMethod: + description: 'The HTTP method we should use to call `voice_url`. Can be: `GET` or `POST`.' enum: - HEAD @@ -599,9 +537,9 @@ paths: - DELETE format: http-method type: string - StatusCallbackUrl: - description: The URL that we should call to pass status parameters - (such as call ended) to your application. + VoiceFallbackUrl: + description: The URL that we should call when an error occurs while + retrieving or executing the TwiML from `voice_url`. format: uri type: string VoiceFallbackMethod: @@ -616,13 +554,13 @@ paths: - DELETE format: http-method type: string - VoiceFallbackUrl: - description: The URL that we should call when an error occurs while - retrieving or executing the TwiML from `voice_url`. + StatusCallbackUrl: + description: The URL that we should call to pass status parameters + (such as call ended) to your application. format: uri type: string - VoiceMethod: - description: 'The HTTP method we should use to call `voice_url`. + StatusCallbackMethod: + description: 'The HTTP method we should use to call `status_callback_url`. Can be: `GET` or `POST`.' enum: - HEAD @@ -633,11 +571,31 @@ paths: - DELETE format: http-method type: string - VoiceUrl: - description: The URL we should call when the BYOC Trunk receives - a call. - format: uri + CnamLookupEnabled: + description: Whether Caller ID Name (CNAM) lookup is enabled for + the trunk. If enabled, all inbound calls to the BYOC Trunk from + the United States and Canada automatically perform a CNAM Lookup + and display Caller ID data on your phone. See [CNAM Lookups](https://www.twilio.com/docs/sip-trunking#CNAM) + for more information. + type: boolean + ConnectionPolicySid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^NY[0-9a-fA-F]{32}$ + description: The SID of the Connection Policy that Twilio will use + when routing traffic to your communications infrastructure. + FromDomainSid: type: string + minLength: 34 + maxLength: 34 + pattern: ^SD[0-9a-fA-F]{32}$ + description: The SID of the SIP Domain that should be used in the + `From` header of originating calls sent to your SIP infrastructure. + If your SIP infrastructure allows users to "call back" an incoming + call, configure this with a [SIP Domain](https://www.twilio.com/docs/voice/api/sending-sip) + to ensure proper routing. If not configured, the from domain will + default to "sip.twilio.com". title: CreateByocTrunkRequest type: object responses: @@ -651,38 +609,67 @@ paths: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://voice.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - voice_url - pathType: list - /v1/ByocTrunks/{Sid}: - delete: + get: description: '' - operationId: DeleteByocTrunk + operationId: ListByocTrunk parameters: - - description: The Twilio-provided string that uniquely identifies the BYOC - Trunk resource to delete. - in: path - name: Sid - required: true + - description: How many resources to return in each list page. The default is + 50, and the maximum is 1000. + in: query + name: PageSize schema: - maxLength: 34 - minLength: 34 - pattern: ^BY[0-9a-fA-F]{32}$ - type: string + maximum: 1000 + minimum: 1 + type: integer responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + type: object + title: ListByocTrunkResponse + properties: + byoc_trunks: + type: array + items: + $ref: '#/components/schemas/voice.v1.byoc_trunk' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string + description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/ByocTrunks/{Sid}: + servers: + - url: https://voice.twilio.com description: BYOC Trunks allow you to bring your own voice carrier to Twilio, enabling your calls to use our Programmable Voice APIs. + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - voice_url + pathType: instance get: description: '' operationId: FetchByocTrunk @@ -693,10 +680,10 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^BY[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -718,47 +705,26 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^BY[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - CnamLookupEnabled: - description: Whether Caller ID Name (CNAM) lookup is enabled for - the trunk. If enabled, all inbound calls to the BYOC Trunk from - the United States and Canada automatically perform a CNAM Lookup - and display Caller ID data on your phone. See [CNAM Lookups](https://www.twilio.com/docs/sip-trunking#CNAM) - for more information. - type: boolean - ConnectionPolicySid: - description: The SID of the Connection Policy that Twilio will use - when routing traffic to your communications infrastructure. - maxLength: 34 - minLength: 34 - pattern: ^NY[0-9a-fA-F]{32}$ - type: string FriendlyName: description: A descriptive string that you create to describe the resource. It is not unique and can be up to 255 characters long. type: string - FromDomainSid: - description: The SID of the SIP Domain that should be used in the - `From` header of originating calls sent to your SIP infrastructure. - If your SIP infrastructure allows users to "call back" an incoming - call, configure this with a [SIP Domain](https://www.twilio.com/docs/voice/api/sending-sip) - to ensure proper routing. If not configured, the from domain will - default to "sip.twilio.com". - maxLength: 34 - minLength: 34 - pattern: ^SD[0-9a-fA-F]{32}$ + VoiceUrl: + description: The URL we should call when the BYOC Trunk receives + a call. + format: uri type: string - StatusCallbackMethod: - description: 'The HTTP method we should use to call `status_callback_url`. - Can be: `GET` or `POST`.' + VoiceMethod: + description: The HTTP method we should use to call `voice_url` enum: - HEAD - GET @@ -768,9 +734,9 @@ paths: - DELETE format: http-method type: string - StatusCallbackUrl: - description: The URL that we should call to pass status parameters - (such as call ended) to your application. + VoiceFallbackUrl: + description: The URL that we should call when an error occurs while + retrieving or executing the TwiML requested by `voice_url`. format: uri type: string VoiceFallbackMethod: @@ -785,13 +751,14 @@ paths: - DELETE format: http-method type: string - VoiceFallbackUrl: - description: The URL that we should call when an error occurs while - retrieving or executing the TwiML requested by `voice_url`. + StatusCallbackUrl: + description: The URL that we should call to pass status parameters + (such as call ended) to your application. format: uri type: string - VoiceMethod: - description: The HTTP method we should use to call `voice_url` + StatusCallbackMethod: + description: 'The HTTP method we should use to call `status_callback_url`. + Can be: `GET` or `POST`.' enum: - HEAD - GET @@ -801,14 +768,34 @@ paths: - DELETE format: http-method type: string - VoiceUrl: - description: The URL we should call when the BYOC Trunk receives - a call. - format: uri + CnamLookupEnabled: + description: Whether Caller ID Name (CNAM) lookup is enabled for + the trunk. If enabled, all inbound calls to the BYOC Trunk from + the United States and Canada automatically perform a CNAM Lookup + and display Caller ID data on your phone. See [CNAM Lookups](https://www.twilio.com/docs/sip-trunking#CNAM) + for more information. + type: boolean + ConnectionPolicySid: type: string - title: UpdateByocTrunkRequest - type: object - responses: + minLength: 34 + maxLength: 34 + pattern: ^NY[0-9a-fA-F]{32}$ + description: The SID of the Connection Policy that Twilio will use + when routing traffic to your communications infrastructure. + FromDomainSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^SD[0-9a-fA-F]{32}$ + description: The SID of the SIP Domain that should be used in the + `From` header of originating calls sent to your SIP infrastructure. + If your SIP infrastructure allows users to "call back" an incoming + call, configure this with a [SIP Domain](https://www.twilio.com/docs/voice/api/sending-sip) + to ensure proper routing. If not configured, the from domain will + default to "sip.twilio.com". + title: UpdateByocTrunkRequest + type: object + responses: '200': content: application/json: @@ -819,16 +806,61 @@ paths: - accountSid_authToken: [] x-maturity: - GA + delete: + description: '' + operationId: DeleteByocTrunk + parameters: + - description: The Twilio-provided string that uniquely identifies the BYOC + Trunk resource to delete. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^BY[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/ConnectionPolicies: servers: - url: https://voice.twilio.com + description: Connection Policy for sending traffic to your communications infrastructure. x-twilio: defaultOutputProperties: - sid - friendly_name - - voice_url - pathType: instance - /v1/ConnectionPolicies: - description: Connection Policy for sending traffic to your communications infrastructure. + pathType: list + post: + description: '' + operationId: CreateConnectionPolicy + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + FriendlyName: + description: A descriptive string that you create to describe the + resource. It is not unique and can be up to 255 characters long. + type: string + title: CreateConnectionPolicyRequest + type: object + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/voice.v1.connection_policy' + description: Created + security: + - accountSid_authToken: [] + x-maturity: + - GA get: description: '' operationId: ListConnectionPolicy @@ -846,18 +878,19 @@ paths: content: application/json: schema: + type: object + title: ListConnectionPolicyResponse properties: connection_policies: + type: array items: $ref: '#/components/schemas/voice.v1.connection_policy' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -871,9 +904,42 @@ paths: url: format: uri type: string - type: object - title: ListConnectionPolicyResponse - type: object + key: + type: string + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/ConnectionPolicies/{Sid}: + servers: + - url: https://voice.twilio.com + description: Connection Policy for sending traffic to your communications infrastructure. + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + pathType: instance + get: + description: '' + operationId: FetchConnectionPolicy + parameters: + - description: The unique string that we created to identify the Connection + Policy resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^NY[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/voice.v1.connection_policy' description: OK security: - accountSid_authToken: [] @@ -881,7 +947,18 @@ paths: - GA post: description: '' - operationId: CreateConnectionPolicy + operationId: UpdateConnectionPolicy + parameters: + - description: The unique string that we created to identify the Connection + Policy resource to update. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^NY[0-9a-fA-F]{32}$ requestBody: content: application/x-www-form-urlencoded: @@ -891,87 +968,53 @@ paths: description: A descriptive string that you create to describe the resource. It is not unique and can be up to 255 characters long. type: string - title: CreateConnectionPolicyRequest + title: UpdateConnectionPolicyRequest type: object responses: - '201': + '200': content: application/json: schema: $ref: '#/components/schemas/voice.v1.connection_policy' - description: Created + description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://voice.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - pathType: list - /v1/ConnectionPolicies/{ConnectionPolicySid}/Targets: - description: Network element entry points into your communications infrastructure - get: + delete: description: '' - operationId: ListConnectionPolicyTarget + operationId: DeleteConnectionPolicy parameters: - - description: The SID of the Connection Policy from which to read the Targets. + - description: The unique string that we created to identify the Connection + Policy resource to delete. in: path - name: ConnectionPolicySid + name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^NY[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 responses: - '200': - content: - application/json: - schema: - properties: - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - targets: - items: - $ref: '#/components/schemas/voice.v1.connection_policy.connection_policy_target' - type: array - title: ListConnectionPolicyTargetResponse - type: object - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA + /v1/ConnectionPolicies/{ConnectionPolicySid}/Targets: + servers: + - url: https://voice.twilio.com + description: Network element entry points into your communications infrastructure + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - target + - enabled + pathType: list + parent: /ConnectionPolicies + className: connection_policy_target post: description: '' operationId: CreateConnectionPolicyTarget @@ -981,18 +1024,20 @@ paths: name: ConnectionPolicySid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^NY[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Enabled: - description: Whether the Target is enabled. The default is `true`. - type: boolean + Target: + description: The SIP address you want Twilio to route your calls + to. This must be a `sip:` schema. `sips` is NOT supported. + format: uri + type: string FriendlyName: description: A descriptive string that you create to describe the resource. It is not unique and can be up to 255 characters long. @@ -1002,11 +1047,6 @@ paths: from 0 to 65535, inclusive, and the default is 10. The lowest number represents the most important target. type: integer - Target: - description: The SIP address you want Twilio to route your calls - to. This must be a `sip:` schema. `sips` is NOT supported. - format: uri - type: string Weight: description: The value that determines the relative share of the load the Target should receive compared to other Targets with @@ -1014,6 +1054,9 @@ paths: and the default is 10. Targets with higher values receive more load than those with lower ones with the same priority. type: integer + Enabled: + description: Whether the Target is enabled. The default is `true`. + type: boolean required: - Target title: CreateConnectionPolicyTargetRequest @@ -1029,49 +1072,78 @@ paths: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://voice.twilio.com - x-twilio: - className: connection_policy_target - defaultOutputProperties: - - sid - - friendly_name - - target - - enabled - parent: /ConnectionPolicies - pathType: list - /v1/ConnectionPolicies/{ConnectionPolicySid}/Targets/{Sid}: - delete: + get: description: '' - operationId: DeleteConnectionPolicyTarget + operationId: ListConnectionPolicyTarget parameters: - - description: The SID of the Connection Policy that owns the Target. + - description: The SID of the Connection Policy from which to read the Targets. in: path name: ConnectionPolicySid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^NY[0-9a-fA-F]{32}$ - type: string - - description: The unique string that we created to identify the Target resource - to delete. - in: path - name: Sid - required: true + - description: How many resources to return in each list page. The default is + 50, and the maximum is 1000. + in: query + name: PageSize schema: - maxLength: 34 - minLength: 34 - pattern: ^NE[0-9a-fA-F]{32}$ - type: string + maximum: 1000 + minimum: 1 + type: integer responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + type: object + title: ListConnectionPolicyTargetResponse + properties: + targets: + type: array + items: + $ref: '#/components/schemas/voice.v1.connection_policy.connection_policy_target' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string + description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/ConnectionPolicies/{ConnectionPolicySid}/Targets/{Sid}: + servers: + - url: https://voice.twilio.com description: Network element entry points into your communications infrastructure + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - target + - enabled + pathType: instance + parent: /ConnectionPolicies + className: connection_policy_target get: description: '' operationId: FetchConnectionPolicyTarget @@ -1081,20 +1153,20 @@ paths: name: ConnectionPolicySid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^NY[0-9a-fA-F]{32}$ - type: string - description: The unique string that we created to identify the Target resource to fetch. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^NE[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -1115,42 +1187,39 @@ paths: name: ConnectionPolicySid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^NY[0-9a-fA-F]{32}$ - type: string - description: The unique string that we created to identify the Target resource to update. in: path name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^NE[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: - Enabled: - description: Whether the Target is enabled. - type: boolean FriendlyName: description: A descriptive string that you create to describe the resource. It is not unique and can be up to 255 characters long. type: string - Priority: - description: The relative importance of the target. Can be an integer - from 0 to 65535, inclusive. The lowest number represents the most - important target. - type: integer Target: description: The SIP address you want Twilio to route your calls to. This must be a `sip:` schema. `sips` is NOT supported. format: uri type: string + Priority: + description: The relative importance of the target. Can be an integer + from 0 to 65535, inclusive. The lowest number represents the most + important target. + type: integer Weight: description: The value that determines the relative share of the load the Target should receive compared to other Targets with @@ -1158,6 +1227,9 @@ paths: Targets with higher values receive more load than those with lower ones with the same priority. type: integer + Enabled: + description: Whether the Target is enabled. + type: boolean title: UpdateConnectionPolicyTargetRequest type: object responses: @@ -1171,157 +1243,90 @@ paths: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://voice.twilio.com - x-twilio: - className: connection_policy_target - defaultOutputProperties: - - sid - - friendly_name - - target - - enabled - parent: /ConnectionPolicies - pathType: instance - /v1/ConnectionPolicies/{Sid}: delete: description: '' - operationId: DeleteConnectionPolicy + operationId: DeleteConnectionPolicyTarget parameters: - - description: The unique string that we created to identify the Connection - Policy resource to delete. + - description: The SID of the Connection Policy that owns the Target. in: path - name: Sid + name: ConnectionPolicySid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^NY[0-9a-fA-F]{32}$ type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: Connection Policy for sending traffic to your communications infrastructure. - get: - description: '' - operationId: FetchConnectionPolicy - parameters: - - description: The unique string that we created to identify the Connection - Policy resource to fetch. - in: path - name: Sid - required: true - schema: - maxLength: 34 minLength: 34 + maxLength: 34 pattern: ^NY[0-9a-fA-F]{32}$ - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/voice.v1.connection_policy' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - post: - description: '' - operationId: UpdateConnectionPolicy - parameters: - - description: The unique string that we created to identify the Connection - Policy resource to update. + - description: The unique string that we created to identify the Target resource + to delete. in: path name: Sid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^NY[0-9a-fA-F]{32}$ type: string - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - FriendlyName: - description: A descriptive string that you create to describe the - resource. It is not unique and can be up to 255 characters long. - type: string - title: UpdateConnectionPolicyRequest - type: object + minLength: 34 + maxLength: 34 + pattern: ^NE[0-9a-fA-F]{32}$ responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/voice.v1.connection_policy' - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://voice.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - pathType: instance /v1/DialingPermissions: - description: 'TODO: Resource-level docs' servers: - url: https://voice.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - className: dialing_permissions defaultOutputProperties: [] pathType: list - /v1/DialingPermissions/BulkCountryUpdates: + className: dialing_permissions + /v1/DialingPermissions/Countries/{IsoCode}: + servers: + - url: https://voice.twilio.com description: 'TODO: Resource-level docs' - post: - description: Create a bulk update request to change voice dialing country permissions - of one or more countries identified by the corresponding [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) - operationId: CreateDialingPermissionsCountryBulkUpdate - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - UpdateRequest: - description: 'URL encoded JSON array of update objects. example - : `[ { "iso_code": "GB", "low_risk_numbers_enabled": "true", "high_risk_special_numbers_enabled":"true", - "high_risk_tollfraud_numbers_enabled": "false" } ]`' - type: string - required: - - UpdateRequest - title: CreateDialingPermissionsCountryBulkUpdateRequest - type: object + x-twilio: + defaultOutputProperties: + - iso_code + - name + - continent + pathType: instance + parent: /DialingPermissions + get: + description: Retrieve voice dialing country permissions identified by the given + ISO country code + operationId: FetchDialingPermissionsCountry + parameters: + - description: The [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) + of the DialingPermissions Country resource to fetch + in: path + name: IsoCode + required: true + schema: + format: iso-country-code + type: string responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/voice.v1.dialing_permissions.dialing_permissions_country_bulk_update' - description: Created + $ref: '#/components/schemas/voice.v1.dialing_permissions.dialing_permissions_country-instance' + description: OK security: - accountSid_authToken: [] x-maturity: - Preview + /v1/DialingPermissions/Countries: servers: - url: https://voice.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - - update_request - - update_count - parent: /DialingPermissions + - iso_code + - name + - continent pathType: list - /v1/DialingPermissions/Countries: - description: 'TODO: Resource-level docs' + parent: /DialingPermissions get: description: Retrieve all voice dialing country permissions for this account operationId: ListDialingPermissionsCountry @@ -1376,18 +1381,19 @@ paths: content: application/json: schema: + type: object + title: ListDialingPermissionsCountryResponse properties: content: + type: array items: $ref: '#/components/schemas/voice.v1.dialing_permissions.dialing_permissions_country' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1401,60 +1407,62 @@ paths: url: format: uri type: string - type: object - title: ListDialingPermissionsCountryResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - Preview + /v1/DialingPermissions/BulkCountryUpdates: servers: - url: https://voice.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - - iso_code - - name - - continent - parent: /DialingPermissions + - update_request + - update_count pathType: list - /v1/DialingPermissions/Countries/{IsoCode}: - description: 'TODO: Resource-level docs' - get: - description: Retrieve voice dialing country permissions identified by the given - ISO country code - operationId: FetchDialingPermissionsCountry - parameters: - - description: The [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) - of the DialingPermissions Country resource to fetch - in: path - name: IsoCode - required: true - schema: - format: iso-country-code - type: string + parent: /DialingPermissions + post: + description: Create a bulk update request to change voice dialing country permissions + of one or more countries identified by the corresponding [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) + operationId: CreateDialingPermissionsCountryBulkUpdate + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + UpdateRequest: + description: 'URL encoded JSON array of update objects. example + : `[ { "iso_code": "GB", "low_risk_numbers_enabled": "true", "high_risk_special_numbers_enabled":"true", + "high_risk_tollfraud_numbers_enabled": "false" } ]`' + type: string + required: + - UpdateRequest + title: CreateDialingPermissionsCountryBulkUpdateRequest + type: object responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/voice.v1.dialing_permissions.dialing_permissions_country-instance' - description: OK + $ref: '#/components/schemas/voice.v1.dialing_permissions.dialing_permissions_country_bulk_update' + description: Created security: - accountSid_authToken: [] x-maturity: - Preview + /v1/DialingPermissions/Countries/{IsoCode}/HighRiskSpecialPrefixes: servers: - url: https://voice.twilio.com + description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - - iso_code - - name - - continent - parent: /DialingPermissions - pathType: instance - /v1/DialingPermissions/Countries/{IsoCode}/HighRiskSpecialPrefixes: - description: 'TODO: Resource-level docs' + - prefix + pathType: list + parent: /DialingPermissions/Countries + className: highrisk_special_prefix get: description: Fetch the high-risk special services prefixes from the country resource corresponding to the [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) @@ -1482,18 +1490,19 @@ paths: content: application/json: schema: + type: object + title: ListDialingPermissionsHrsPrefixesResponse properties: content: + type: array items: $ref: '#/components/schemas/voice.v1.dialing_permissions.dialing_permissions_country.dialing_permissions_hrs_prefixes' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1507,75 +1516,74 @@ paths: url: format: uri type: string - type: object - title: ListDialingPermissionsHrsPrefixesResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - Preview + /v1/Settings: servers: - url: https://voice.twilio.com + description: 'TODO: Resource-level docs' x-twilio: - className: highrisk_special_prefix defaultOutputProperties: - - prefix - parent: /DialingPermissions/Countries - pathType: list - /v1/IpRecords: - description: IP Records hold information about the IP addresses and ranges ([CIDR](https://tools.ietf.org/html/rfc4632) - blocks) that your traffic will be associated with. + - dialing_permissions_inheritance + pathType: instance + parent: /DialingPermissions + className: settings get: - description: '' - operationId: ListIpRecord - 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: Retrieve voice dialing permissions inheritance for the sub-account + operationId: FetchDialingPermissionsSettings responses: '200': content: application/json: schema: - properties: - ip_records: - items: - $ref: '#/components/schemas/voice.v1.ip_record' - type: array - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - title: ListIpRecordResponse - type: object + $ref: '#/components/schemas/voice.v1.dialing_permissions.dialing_permissions_settings' description: OK security: - accountSid_authToken: [] x-maturity: - - GA + - Preview + post: + description: Update voice dialing permissions inheritance for the sub-account + operationId: UpdateDialingPermissionsSettings + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + DialingPermissionsInheritance: + description: '`true` for the sub-account to inherit voice dialing + permissions from the Master Project; otherwise `false`.' + type: boolean + title: UpdateDialingPermissionsSettingsRequest + type: object + responses: + '202': + content: + application/json: + schema: + $ref: '#/components/schemas/voice.v1.dialing_permissions.dialing_permissions_settings' + description: Accepted + security: + - accountSid_authToken: [] + x-maturity: + - Preview + /v1/IpRecords: + servers: + - url: https://voice.twilio.com + description: IP Records hold information about the IP addresses and ranges ([CIDR](https://tools.ietf.org/html/rfc4632) + blocks) that your traffic will be associated with. + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - ip_address + - cidr_prefix_length + pathType: list post: description: '' operationId: CreateIpRecord @@ -1584,18 +1592,18 @@ paths: application/x-www-form-urlencoded: schema: properties: + IpAddress: + description: An IP address in dotted decimal notation, IPv4 only. + type: string + FriendlyName: + description: A descriptive string that you create to describe the + resource. It is not unique and can be up to 255 characters long. + type: string CidrPrefixLength: description: An integer representing the length of the [CIDR](https://tools.ietf.org/html/rfc4632) prefix to use with this IP address. By default the entire IP address is used, which for IPv4 is value 32. type: integer - FriendlyName: - description: A descriptive string that you create to describe the - resource. It is not unique and can be up to 255 characters long. - type: string - IpAddress: - description: An IP address in dotted decimal notation, IPv4 only. - type: string required: - IpAddress title: CreateIpRecordRequest @@ -1611,39 +1619,68 @@ paths: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://voice.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - friendly_name - - ip_address - - cidr_prefix_length - pathType: list - /v1/IpRecords/{Sid}: - delete: + get: description: '' - operationId: DeleteIpRecord + operationId: ListIpRecord parameters: - - description: The Twilio-provided string that uniquely identifies the IP Record - resource to delete. - in: path - name: Sid - required: true + - description: How many resources to return in each list page. The default is + 50, and the maximum is 1000. + in: query + name: PageSize schema: - maxLength: 34 - minLength: 34 - pattern: ^IL[0-9a-fA-F]{32}$ - type: string + maximum: 1000 + minimum: 1 + type: integer responses: - '204': - description: The resource was deleted successfully. + '200': + content: + application/json: + schema: + type: object + title: ListIpRecordResponse + properties: + ip_records: + type: array + items: + $ref: '#/components/schemas/voice.v1.ip_record' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string + description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/IpRecords/{Sid}: + servers: + - url: https://voice.twilio.com description: IP Records hold information about the IP addresses and ranges ([CIDR](https://tools.ietf.org/html/rfc4632) blocks) that your traffic will be associated with. + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - ip_address + - cidr_prefix_length + pathType: instance get: description: '' operationId: FetchIpRecord @@ -1654,10 +1691,10 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IL[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -1679,10 +1716,10 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IL[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: @@ -1705,68 +1742,77 @@ paths: - accountSid_authToken: [] x-maturity: - GA + delete: + description: '' + operationId: DeleteIpRecord + parameters: + - description: The Twilio-provided string that uniquely identifies the IP Record + resource to delete. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IL[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/SourceIpMappings: servers: - url: https://voice.twilio.com + description: With Source IP Mappings, Twilio can recognize your SIP requests based + on where they are sent from. The Request-URI no longer has to have the FQDN + (Fully Qualified Domain Name) of your SIP Domain. x-twilio: defaultOutputProperties: - sid - - friendly_name - - ip_address - - cidr_prefix_length - pathType: instance - /v1/Settings: - description: 'TODO: Resource-level docs' - get: - description: Retrieve voice dialing permissions inheritance for the sub-account - operationId: FetchDialingPermissionsSettings - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/voice.v1.dialing_permissions.dialing_permissions_settings' - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - Preview + - ip_record_sid + - sip_domain_sid + pathType: list post: - description: Update voice dialing permissions inheritance for the sub-account - operationId: UpdateDialingPermissionsSettings + description: '' + operationId: CreateSourceIpMapping requestBody: content: application/x-www-form-urlencoded: schema: properties: - DialingPermissionsInheritance: - description: '`true` for the sub-account to inherit voice dialing - permissions from the Master Project; otherwise `false`.' - type: boolean - title: UpdateDialingPermissionsSettingsRequest + IpRecordSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IL[0-9a-fA-F]{32}$ + description: The Twilio-provided string that uniquely identifies + the IP Record resource to map from. + SipDomainSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^SD[0-9a-fA-F]{32}$ + description: The SID of the SIP Domain that the IP Record should + be mapped to. + required: + - IpRecordSid + - SipDomainSid + title: CreateSourceIpMappingRequest type: object responses: - '202': + '201': content: application/json: schema: - $ref: '#/components/schemas/voice.v1.dialing_permissions.dialing_permissions_settings' - description: Accepted + $ref: '#/components/schemas/voice.v1.source_ip_mapping' + description: Created security: - accountSid_authToken: [] x-maturity: - - Preview - servers: - - url: https://voice.twilio.com - x-twilio: - className: settings - defaultOutputProperties: - - dialing_permissions_inheritance - parent: /DialingPermissions - pathType: instance - /v1/SourceIpMappings: - description: With Source IP Mappings, Twilio can recognize your SIP requests based - on where they are sent from. The Request-URI no longer has to have the FQDN - (Fully Qualified Domain Name) of your SIP Domain. + - GA get: description: '' operationId: ListSourceIpMapping @@ -1784,14 +1830,19 @@ paths: content: application/json: schema: + type: object + title: ListSourceIpMappingResponse properties: + source_ip_mappings: + type: array + items: + $ref: '#/components/schemas/voice.v1.source_ip_mapping' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1805,89 +1856,25 @@ paths: url: format: uri type: string - type: object - source_ip_mappings: - items: - $ref: '#/components/schemas/voice.v1.source_ip_mapping' - type: array - title: ListSourceIpMappingResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - post: - description: '' - operationId: CreateSourceIpMapping - requestBody: - content: - application/x-www-form-urlencoded: - schema: - properties: - IpRecordSid: - description: The Twilio-provided string that uniquely identifies - the IP Record resource to map from. - maxLength: 34 - minLength: 34 - pattern: ^IL[0-9a-fA-F]{32}$ - type: string - SipDomainSid: - description: The SID of the SIP Domain that the IP Record should - be mapped to. - maxLength: 34 - minLength: 34 - pattern: ^SD[0-9a-fA-F]{32}$ - type: string - required: - - IpRecordSid - - SipDomainSid - title: CreateSourceIpMappingRequest - type: object - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/voice.v1.source_ip_mapping' - description: Created - security: - - accountSid_authToken: [] - x-maturity: - - GA + /v1/SourceIpMappings/{Sid}: servers: - url: https://voice.twilio.com + description: With Source IP Mappings, Twilio can recognize your SIP requests based + on where they are sent from. The Request-URI no longer has to have the FQDN + (Fully Qualified Domain Name) of your SIP Domain. x-twilio: defaultOutputProperties: - sid - ip_record_sid - sip_domain_sid - pathType: list - /v1/SourceIpMappings/{Sid}: - delete: - description: '' - operationId: DeleteSourceIpMapping - parameters: - - description: The Twilio-provided string that uniquely identifies the IP Record - resource to delete. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^IB[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: With Source IP Mappings, Twilio can recognize your SIP requests based - on where they are sent from. The Request-URI no longer has to have the FQDN - (Fully Qualified Domain Name) of your SIP Domain. + pathType: instance get: description: '' operationId: FetchSourceIpMapping @@ -1898,10 +1885,10 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IB[0-9a-fA-F]{32}$ - type: string responses: '200': content: @@ -1923,22 +1910,22 @@ paths: name: Sid required: true schema: - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^IB[0-9a-fA-F]{32}$ - type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: SipDomainSid: - description: The SID of the SIP Domain that the IP Record should - be mapped to. - maxLength: 34 + type: string minLength: 34 + maxLength: 34 pattern: ^SD[0-9a-fA-F]{32}$ - type: string + description: The SID of the SIP Domain that the IP Record should + be mapped to. required: - SipDomainSid title: UpdateSourceIpMappingRequest @@ -1954,23 +1941,36 @@ paths: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://voice.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - ip_record_sid - - sip_domain_sid - pathType: instance + delete: + description: '' + operationId: DeleteSourceIpMapping + parameters: + - description: The Twilio-provided string that uniquely identifies the IP Record + resource to delete. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IB[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA servers: - url: https://voice.twilio.com x-maturity: -- description: This product is Generally Available. - name: GA -- description: PLEASE NOTE that this is a Beta product that is subject to change. +- name: GA + description: This product is Generally Available. +- name: Beta + description: PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution. - name: Beta -- description: PLEASE NOTE that this is a Preview product that is subject to change. +- name: Preview + description: PLEASE NOTE that this is a Preview product that is subject to change. Use it with caution. If you currently do not have developer preview access, please contact help@twilio.com. - name: Preview diff --git a/spec/yaml/twilio_wireless_v1.yaml b/spec/yaml/twilio_wireless_v1.yaml index 98f4445f..105ea877 100644 --- a/spec/yaml/twilio_wireless_v1.yaml +++ b/spec/yaml/twilio_wireless_v1.yaml @@ -1,85 +1,86 @@ components: schemas: wireless.v1.account_usage_record: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource commands: + nullable: true description: An object that describes the aggregated Commands usage for all SIMs during the specified period - nullable: true data: + nullable: true description: An object that describes the aggregated Data usage for all SIMs over the period - nullable: true period: - description: The time period for which usage is reported nullable: true - type: object + description: The time period for which usage is reported wireless.v1.command: + type: object properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account that created the resource command: description: The message being sent to or from the SIM nullable: true type: string command_mode: - description: The mode used to send the SMS message + type: string enum: - text - binary nullable: true - type: string + description: The mode used to send the SMS message date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the resource was last - updated format + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was last + updated format delivery_receipt_requested: description: Whether to request a delivery receipt nullable: true type: boolean direction: - description: The direction of the Command + type: string enum: - from_sim - to_sim nullable: true - type: string + description: The direction of the Command sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^DC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource sim_sid: - description: The SID of the Sim resource that the Command was sent to or - from - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^DE[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Sim resource that the Command was sent to or + from status: - description: The status of the Command + type: string enum: - queued - sent @@ -87,29 +88,111 @@ components: - received - failed nullable: true - type: string + description: The status of the Command transport: - description: The type of transport used + type: string enum: - sms - ip nullable: true - type: string + description: The type of transport used url: description: The absolute URL of the resource format: uri nullable: true type: string + wireless.v1.sim.data_session: type: object - wireless.v1.rate_plan: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created the resource + cell_id: + description: The unique ID of the cellular tower that the device was attached + to at the moment when the Data Session was last updated + nullable: true + type: string + cell_location_estimate: + nullable: true + description: An object with the estimated location where the device's Data + Session took place + end: + type: string + format: date-time + nullable: true + description: The date that the record ended, given as GMT in ISO 8601 format + imei: + description: The unique ID of the device using the SIM to connect + nullable: true + type: string + last_updated: + type: string + format: date-time + nullable: true + description: The date that the resource was last updated, given as GMT in + ISO 8601 format + operator_country: + description: The three letter country code representing where the device's + Data Session took place + nullable: true + type: string + operator_mcc: + description: The 'mobile country code' is the unique ID of the home country + where the Data Session took place + nullable: true + type: string + operator_mnc: + description: The 'mobile network code' is the unique ID specific to the + mobile operator network where the Data Session took place + nullable: true + type: string + operator_name: + description: The friendly name of the mobile operator network that the SIM-connected + device is attached to + nullable: true + type: string + packets_downloaded: + description: The number of packets downloaded by the device between the + start time and when the Data Session was last updated + nullable: true + type: integer + packets_uploaded: + description: The number of packets uploaded by the device between the start + time and when the Data Session was last updated + nullable: true + type: integer + radio_link: + description: The generation of wireless technology that the device was using + nullable: true + type: string + sid: + description: The unique string that identifies the resource + nullable: true + type: string + sim_sid: + description: The SID of the Sim resource that the Data Session is for + nullable: true + type: string + start: + type: string + format: date-time + nullable: true + description: The date that the Data Session started, given as GMT in ISO + 8601 format + wireless.v1.rate_plan: + type: object + properties: + account_sid: type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The SID of the Account that created the resource data_enabled: description: Whether SIMs can use GPRS/3G/4G/LTE data connectivity nullable: true @@ -124,28 +207,28 @@ components: nullable: true type: string date_created: + type: string + format: date-time + nullable: true description: The date when the resource was created, given as GMT in ISO 8601 format + date_updated: + type: string format: date-time nullable: true - type: string - date_updated: description: The date when the resource was last updated, given as GMT in ISO 8601 format - format: date-time - nullable: true - type: string friendly_name: description: The string that you assigned to describe the resource nullable: true type: string international_roaming: - description: The services that SIMs capable of using GPRS/3G/4G/LTE data - connectivity can use outside of the United States + type: array items: type: string nullable: true - type: array + description: The services that SIMs capable of using GPRS/3G/4G/LTE data + connectivity can use outside of the United States international_roaming_data_limit: description: The total data usage (download and upload combined) in Megabytes that the Network allows during one month when roaming outside the United @@ -167,12 +250,12 @@ components: nullable: true type: boolean sid: - description: The unique string that identifies the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WP[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the resource unique_name: description: An application-defined string that uniquely identifies the resource @@ -187,16 +270,16 @@ components: description: Deprecated. Whether SIMs can make and receive voice calls nullable: true type: boolean - type: object wireless.v1.sim: + type: object properties: account_sid: - description: The SID of the Account to which the Sim resource belongs - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the Account to which the Sim resource belongs commands_callback_method: description: The HTTP method we use to call commands_callback_url enum: @@ -216,16 +299,16 @@ components: nullable: true type: string date_created: - description: The ISO 8601 date and time in GMT when the resource was created + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the resource was created date_updated: - description: The ISO 8601 date and time in GMT when the Sim resource was - last updated + type: string format: date-time nullable: true - type: string + description: The ISO 8601 date and time in GMT when the Sim resource was + last updated e_id: description: Deprecated nullable: true @@ -248,26 +331,26 @@ components: nullable: true type: object rate_plan_sid: - description: The SID of the RatePlan resource to which the Sim resource - is assigned. - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^WP[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The SID of the RatePlan resource to which the Sim resource + is assigned. reset_status: - description: The connectivity reset status of the SIM + type: string enum: - resetting nullable: true - type: string + description: The connectivity reset status of the SIM sid: - description: The unique string that identifies the Sim resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^DE[0-9a-fA-F]{32}$ - type: string + nullable: true + description: The unique string that identifies the Sim resource sms_fallback_method: description: Deprecated enum: @@ -303,7 +386,7 @@ components: nullable: true type: string status: - description: The status of the Sim resource + type: string enum: - new - ready @@ -314,7 +397,7 @@ components: - scheduled - updating nullable: true - type: string + description: The status of the Sim resource unique_name: description: An application-defined string that uniquely identifies the resource @@ -361,114 +444,31 @@ components: format: uri nullable: true type: string + wireless.v1.sim.usage_record: type: object - wireless.v1.sim.data_session: properties: account_sid: - description: The SID of the Account that created the resource - maxLength: 34 + type: string minLength: 34 - nullable: true + maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ - type: string - cell_id: - description: The unique ID of the cellular tower that the device was attached - to at the moment when the Data Session was last updated nullable: true - type: string - cell_location_estimate: - description: An object with the estimated location where the device's Data - Session took place - nullable: true - end: - description: The date that the record ended, given as GMT in ISO 8601 format - format: date-time + description: The SID of the Account that created the resource + commands: nullable: true - type: string - imei: - description: The unique ID of the device using the SIM to connect + description: An object that describes the SIM's usage of Commands during + the specified period + data: nullable: true - type: string - last_updated: - description: The date that the resource was last updated, given as GMT in - ISO 8601 format - format: date-time - nullable: true - type: string - operator_country: - description: The three letter country code representing where the device's - Data Session took place - nullable: true - type: string - operator_mcc: - description: The 'mobile country code' is the unique ID of the home country - where the Data Session took place - nullable: true - type: string - operator_mnc: - description: The 'mobile network code' is the unique ID specific to the - mobile operator network where the Data Session took place - nullable: true - type: string - operator_name: - description: The friendly name of the mobile operator network that the SIM-connected - device is attached to - nullable: true - type: string - packets_downloaded: - description: The number of packets downloaded by the device between the - start time and when the Data Session was last updated - nullable: true - type: integer - packets_uploaded: - description: The number of packets uploaded by the device between the start - time and when the Data Session was last updated - nullable: true - type: integer - radio_link: - description: The generation of wireless technology that the device was using - nullable: true - type: string - sid: - description: The unique string that identifies the resource - nullable: true - type: string - sim_sid: - description: The SID of the Sim resource that the Data Session is for - nullable: true - type: string - start: - description: The date that the Data Session started, given as GMT in ISO - 8601 format - format: date-time - nullable: true - type: string - type: object - wireless.v1.sim.usage_record: - properties: - account_sid: - description: The SID of the Account that created the resource - maxLength: 34 - minLength: 34 - nullable: true - pattern: ^AC[0-9a-fA-F]{32}$ - type: string - commands: - description: An object that describes the SIM's usage of Commands during - the specified period - nullable: true - data: description: An object that describes the SIM's data usage during the specified period - nullable: true period: - description: The time period for which the usage is reported nullable: true + description: The time period for which the usage is reported sim_sid: description: The SID of the Sim resource that this Usage Record is for nullable: true type: string - type: object securitySchemes: accountSid_authToken: scheme: basic @@ -487,8 +487,159 @@ info: version: 1.30.0 openapi: 3.0.1 paths: + /v1/UsageRecords: + servers: + - url: https://wireless.twilio.com + description: Aggregated Usage information for all SIMs on an Account + x-twilio: + defaultOutputProperties: + - period + pathType: list + get: + description: '' + operationId: ListAccountUsageRecord + parameters: + - description: Only include usage that has occurred on or before this date. + Format is [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html). + in: query + name: End + schema: + type: string + format: date-time + - description: Only include usage that has occurred on or after this date. Format + is [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html). + in: query + name: Start + schema: + type: string + format: date-time + - description: 'How to summarize the usage by time. Can be: `daily`, `hourly`, + or `all`. A value of `all` returns one Usage Record that describes the usage + for the entire period.' + in: query + name: Granularity + schema: + type: string + enum: + - hourly + - daily + - all + - 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 + responses: + '200': + content: + application/json: + schema: + type: object + title: ListAccountUsageRecordResponse + properties: + usage_records: + type: array + items: + $ref: '#/components/schemas/wireless.v1.account_usage_record' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Commands/{Sid}: + servers: + - url: https://wireless.twilio.com + description: Machine-to-machine commands sent to/from devices + x-twilio: + defaultOutputProperties: + - sid + - command_mode + - transport + - status + - direction + - date_created + pathType: instance + get: + description: Fetch a Command instance from your account. + operationId: FetchCommand + parameters: + - description: The SID of the Command resource to fetch. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^DC[0-9a-fA-F]{32}$ + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/wireless.v1.command' + description: OK + security: + - accountSid_authToken: [] + x-maturity: + - GA + delete: + description: Delete a Command instance from your account. + operationId: DeleteCommand + parameters: + - description: The SID of the Command resource to delete. + in: path + name: Sid + required: true + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^DC[0-9a-fA-F]{32}$ + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA /v1/Commands: + servers: + - url: https://wireless.twilio.com description: Machine-to-machine commands sent to/from devices + x-twilio: + defaultOutputProperties: + - sid + - command_mode + - transport + - status + - direction + - date_created + pathType: list get: description: Retrieve a list of Commands from your account. operationId: ListCommand @@ -504,30 +655,30 @@ paths: in: query name: Status schema: + type: string enum: - queued - sent - delivered - received - failed - type: string - description: Only return Commands with this direction value. in: query name: Direction schema: + type: string enum: - from_sim - to_sim - type: string - description: 'Only return Commands with this transport value. Can be: `sms` or `ip`.' in: query name: Transport schema: + type: string enum: - sms - ip - type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -541,18 +692,19 @@ paths: content: application/json: schema: + type: object + title: ListCommandResponse properties: commands: + type: array items: $ref: '#/components/schemas/wireless.v1.command' - type: array meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -566,9 +718,8 @@ paths: url: format: uri type: string - type: object - title: ListCommandResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] @@ -582,6 +733,14 @@ paths: application/x-www-form-urlencoded: schema: properties: + Command: + description: The message body of the Command. Can be plain text + in text mode or a Base64 encoded byte string in binary mode. + type: string + Sim: + description: The `sid` or `unique_name` of the [SIM](https://www.twilio.com/docs/wireless/api/sim-resource) + to send the Command to. + type: string CallbackMethod: description: 'The HTTP method we use to call `callback_url`. Can be: `POST` or `GET`, and the default is `POST`.' @@ -600,23 +759,13 @@ paths: failed. format: uri type: string - Command: - description: The message body of the Command. Can be plain text - in text mode or a Base64 encoded byte string in binary mode. - type: string CommandMode: - description: 'The mode to use when sending the SMS message. Can - be: `text` or `binary`. The default SMS mode is `text`.' + type: string enum: - text - binary - type: string - DeliveryReceiptRequested: - description: Whether to request delivery receipt from the recipient. - For Commands that request delivery receipt, the Command state - transitions to 'delivered' once the server has received a delivery - receipt from the device. The default value is `true`. - type: boolean + description: 'The mode to use when sending the SMS message. Can + be: `text` or `binary`. The default SMS mode is `text`.' IncludeSid: description: 'Whether to include the SID of the command in the message body. Can be: `none`, `start`, or `end`, and the default behavior @@ -630,10 +779,12 @@ paths: character limit so the SMS body must be 128 characters or less before the Command SID is included.' type: string - Sim: - description: The `sid` or `unique_name` of the [SIM](https://www.twilio.com/docs/wireless/api/sim-resource) - to send the Command to. - type: string + DeliveryReceiptRequested: + description: Whether to request delivery receipt from the recipient. + For Commands that request delivery receipt, the Command state + transitions to 'delivered' once the server has received a delivery + receipt from the device. The default value is `true`. + type: boolean required: - Command title: CreateCommandRequest @@ -649,76 +800,87 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/Sims/{SimSid}/DataSessions: servers: - url: https://wireless.twilio.com + description: Data session information for SIMs x-twilio: defaultOutputProperties: - sid - - command_mode - - transport - - status - - direction - - date_created + - packets_uploaded + - packets_downloaded + - start + - end pathType: list - /v1/Commands/{Sid}: - delete: - description: Delete a Command instance from your account. - operationId: DeleteCommand - parameters: - - description: The SID of the Command resource to delete. - in: path - name: Sid - required: true - schema: - maxLength: 34 - minLength: 34 - pattern: ^DC[0-9a-fA-F]{32}$ - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: Machine-to-machine commands sent to/from devices + parent: /Sims get: - description: Fetch a Command instance from your account. - operationId: FetchCommand + description: '' + operationId: ListDataSession parameters: - - description: The SID of the Command resource to fetch. + - description: The SID of the [Sim resource](https://www.twilio.com/docs/wireless/api/sim-resource) + with the Data Sessions to read. in: path - name: Sid + name: SimSid required: true schema: - maxLength: 34 - minLength: 34 - pattern: ^DC[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 responses: '200': content: application/json: schema: - $ref: '#/components/schemas/wireless.v1.command' + type: object + title: ListDataSessionResponse + properties: + data_sessions: + type: array + items: + $ref: '#/components/schemas/wireless.v1.sim.data_session' + meta: + type: object + properties: + first_page_url: + format: uri + type: string + next_page_url: + format: uri + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + type: string + url: + format: uri + type: string + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/RatePlans: servers: - url: https://wireless.twilio.com + description: Capabilities and restrictions for SIMs x-twilio: defaultOutputProperties: - sid - - command_mode - - transport - - status - - direction - - date_created - pathType: instance - /v1/RatePlans: - description: Capabilities and restrictions for SIMs + - unique_name + - friendly_name + - date_created + pathType: list get: description: '' operationId: ListRatePlan @@ -736,14 +898,19 @@ paths: content: application/json: schema: + type: object + title: ListRatePlanResponse properties: + rate_plans: + type: array + items: + $ref: '#/components/schemas/wireless.v1.rate_plan' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -757,13 +924,8 @@ paths: url: format: uri type: string - type: object - rate_plans: - items: - $ref: '#/components/schemas/wireless.v1.rate_plan' - type: array - title: ListRatePlanResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] @@ -777,6 +939,15 @@ paths: application/x-www-form-urlencoded: schema: properties: + UniqueName: + description: An application-defined string that uniquely identifies + the resource. It can be used in place of the resource's `sid` + in the URL to address the resource. + type: string + FriendlyName: + description: A descriptive string that you create to describe the + resource. It does not have to be unique. + type: string DataEnabled: description: Whether SIMs can use GPRS/3G/4G/LTE data connectivity. type: boolean @@ -792,26 +963,24 @@ paths: and `quota-1`, `quota-10`, and `quota-50`. Learn more about the available [data metering models](https://www.twilio.com/docs/wireless/api/rateplan-resource#payg-vs-quota-data-plans).' type: string - FriendlyName: - description: A descriptive string that you create to describe the - resource. It does not have to be unique. - type: string - InternationalRoaming: - description: 'The list of services that SIMs capable of using GPRS/3G/4G/LTE - data connectivity can use outside of the United States. Can contain: - `data` and `messaging`.' - items: - type: string - type: array - InternationalRoamingDataLimit: - description: The total data usage (download and upload combined) - in Megabytes that the Network allows during one month when roaming - outside the United States. Can be up to 2TB. - type: integer MessagingEnabled: description: Whether SIMs can make, send, and receive SMS using [Commands](https://www.twilio.com/docs/wireless/api/command-resource). type: boolean + VoiceEnabled: + description: Deprecated. + type: boolean + NationalRoamingEnabled: + description: Whether SIMs can roam on networks other than the home + network (T-Mobile USA) in the United States. See [national roaming](https://www.twilio.com/docs/wireless/api/rateplan-resource#national-roaming). + type: boolean + InternationalRoaming: + type: array + items: + type: string + description: 'The list of services that SIMs capable of using GPRS/3G/4G/LTE + data connectivity can use outside of the United States. Can contain: + `data` and `messaging`.' NationalRoamingDataLimit: description: The total data usage (download and upload combined) in Megabytes that the Network allows during one month on non-home @@ -820,18 +989,11 @@ paths: Can be up to 2TB. See [national roaming](https://www.twilio.com/docs/wireless/api/rateplan-resource#national-roaming) for more info. type: integer - NationalRoamingEnabled: - description: Whether SIMs can roam on networks other than the home - network (T-Mobile USA) in the United States. See [national roaming](https://www.twilio.com/docs/wireless/api/rateplan-resource#national-roaming). - type: boolean - UniqueName: - description: An application-defined string that uniquely identifies - the resource. It can be used in place of the resource's `sid` - in the URL to address the resource. - type: string - VoiceEnabled: - description: Deprecated. - type: boolean + InternationalRoamingDataLimit: + description: The total data usage (download and upload combined) + in Megabytes that the Network allows during one month when roaming + outside the United States. Can be up to 2TB. + type: integer title: CreateRatePlanRequest type: object responses: @@ -845,34 +1007,17 @@ paths: - accountSid_authToken: [] x-maturity: - GA + /v1/RatePlans/{Sid}: servers: - url: https://wireless.twilio.com + description: Capabilities and restrictions for SIMs x-twilio: defaultOutputProperties: - sid - unique_name - friendly_name - date_created - pathType: list - /v1/RatePlans/{Sid}: - delete: - description: '' - operationId: DeleteRatePlan - parameters: - - description: The SID of the RatePlan resource to delete. - in: path - name: Sid - required: true - schema: - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: Capabilities and restrictions for SIMs + pathType: instance get: description: '' operationId: FetchRatePlan @@ -909,15 +1054,15 @@ paths: application/x-www-form-urlencoded: schema: properties: - FriendlyName: - description: A descriptive string that you create to describe the - resource. It does not have to be unique. - type: string UniqueName: description: An application-defined string that uniquely identifies the resource. It can be used in place of the resource's `sid` in the URL to address the resource. type: string + FriendlyName: + description: A descriptive string that you create to describe the + resource. It does not have to be unique. + type: string title: UpdateRatePlanRequest type: object responses: @@ -931,132 +1076,34 @@ paths: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://wireless.twilio.com - x-twilio: - defaultOutputProperties: - - sid - - unique_name - - friendly_name - - date_created - pathType: instance - /v1/Sims: - description: A resource representing a Programmable Wireless SIM - get: - description: Retrieve a list of Sim resources on your Account. - operationId: ListSim + delete: + description: '' + operationId: DeleteRatePlan parameters: - - description: Only return Sim resources with this status. - in: query - name: Status - schema: - enum: - - new - - ready - - active - - suspended - - deactivated - - canceled - - scheduled - - updating - type: string - - description: Only return Sim resources with this ICCID. This will return a - list with a maximum size of 1. - in: query - name: Iccid - schema: - type: string - - description: The SID or unique name of a [RatePlan resource](https://www.twilio.com/docs/wireless/api/rateplan-resource). - Only return Sim resources assigned to this RatePlan resource. - in: query - name: RatePlan - schema: - type: string - - description: Deprecated. - in: query - name: EId - schema: - type: string - - description: Only return Sim resources with this registration code. This will - return a list with a maximum size of 1. - in: query - name: SimRegistrationCode + - description: The SID of the RatePlan resource to delete. + in: path + name: Sid + required: true schema: 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 responses: - '200': - content: - application/json: - schema: - properties: - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object - sims: - items: - $ref: '#/components/schemas/wireless.v1.sim' - type: array - title: ListSimResponse - type: object - description: OK + '204': + description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA + /v1/Sims/{Sid}: servers: - url: https://wireless.twilio.com + description: A resource representing a Programmable Wireless SIM x-twilio: defaultOutputProperties: - sid - unique_name - friendly_name - status - pathType: list - /v1/Sims/{Sid}: - delete: - description: Delete a Sim resource on your Account. - operationId: DeleteSim - parameters: - - description: The SID or the `unique_name` of the Sim resource to delete. - in: path - name: Sid - required: true - schema: - type: string - responses: - '204': - description: The resource was deleted successfully. - security: - - accountSid_authToken: [] - x-maturity: - - GA - description: A resource representing a Programmable Wireless SIM + pathType: instance get: description: Fetch a Sim resource on your Account. operationId: FetchSim @@ -1093,13 +1140,10 @@ paths: application/x-www-form-urlencoded: schema: properties: - AccountSid: - description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) - to which the Sim resource should belong. The Account SID can only - be that of the requesting Account or that of a [Subaccount](https://www.twilio.com/docs/iam/api/subaccounts) - of the requesting Account. Only valid when the Sim resource's - status is `new`. For more information, see the [Move SIMs between - Subaccounts documentation](https://www.twilio.com/docs/wireless/api/sim-resource#move-sims-between-subaccounts). + UniqueName: + description: An application-defined string that uniquely identifies + the resource. It can be used in place of the `sid` in the URL + path to address the resource. type: string CallbackMethod: description: 'The HTTP method we should use to call `callback_url`. @@ -1122,6 +1166,27 @@ paths: status (`active` or `canceled`). format: uri type: string + FriendlyName: + description: A descriptive string that you create to describe the + Sim resource. It does not need to be unique. + type: string + RatePlan: + description: The SID or unique name of the [RatePlan resource](https://www.twilio.com/docs/wireless/api/rateplan-resource) + to which the Sim resource should be assigned. + type: string + Status: + type: string + enum: + - new + - ready + - active + - suspended + - deactivated + - canceled + - scheduled + - updating + description: 'The new status of the Sim resource. Can be: `ready`, + `active`, `suspended`, or `deactivated`.' CommandsCallbackMethod: description: 'The HTTP method we should use to call `commands_callback_url`. Can be: `POST` or `GET`. The default is `POST`.' @@ -1141,21 +1206,6 @@ paths: range; any response body is ignored. format: uri type: string - FriendlyName: - description: A descriptive string that you create to describe the - Sim resource. It does not need to be unique. - type: string - RatePlan: - description: The SID or unique name of the [RatePlan resource](https://www.twilio.com/docs/wireless/api/rateplan-resource) - to which the Sim resource should be assigned. - type: string - ResetStatus: - description: Initiate a connectivity reset on the SIM. Set to `resetting` - to initiate a connectivity reset on the SIM. No other value is - valid. - enum: - - resetting - type: string SmsFallbackMethod: description: 'The HTTP method we should use to call `sms_fallback_url`. Can be: `GET` or `POST`. Default is `POST`.' @@ -1191,24 +1241,6 @@ paths: the SIM-connected device sends an SMS message that is not a [Command](https://www.twilio.com/docs/wireless/api/command-resource). format: uri type: string - Status: - description: 'The new status of the Sim resource. Can be: `ready`, - `active`, `suspended`, or `deactivated`.' - enum: - - new - - ready - - active - - suspended - - deactivated - - canceled - - scheduled - - updating - type: string - UniqueName: - description: An application-defined string that uniquely identifies - the resource. It can be used in place of the `sid` in the URL - path to address the resource. - type: string VoiceFallbackMethod: description: Deprecated. enum: @@ -1239,6 +1271,21 @@ paths: description: Deprecated. format: uri type: string + ResetStatus: + type: string + enum: + - resetting + description: Initiate a connectivity reset on the SIM. Set to `resetting` + to initiate a connectivity reset on the SIM. No other value is + valid. + AccountSid: + description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + to which the Sim resource should belong. The Account SID can only + be that of the requesting Account or that of a [Subaccount](https://www.twilio.com/docs/iam/api/subaccounts) + of the requesting Account. Only valid when the Sim resource's + status is `new`. For more information, see the [Move SIMs between + Subaccounts documentation](https://www.twilio.com/docs/wireless/api/sim-resource#move-sims-between-subaccounts). + type: string title: UpdateSimRequest type: object responses: @@ -1252,26 +1299,73 @@ paths: - accountSid_authToken: [] x-maturity: - GA + delete: + description: Delete a Sim resource on your Account. + operationId: DeleteSim + parameters: + - description: The SID or the `unique_name` of the Sim resource to delete. + in: path + name: Sid + required: true + schema: + type: string + responses: + '204': + description: The resource was deleted successfully. + security: + - accountSid_authToken: [] + x-maturity: + - GA + /v1/Sims: servers: - url: https://wireless.twilio.com + description: A resource representing a Programmable Wireless SIM x-twilio: defaultOutputProperties: - sid - unique_name - friendly_name - status - pathType: instance - /v1/Sims/{SimSid}/DataSessions: - description: Data session information for SIMs + pathType: list get: - description: '' - operationId: ListDataSession + description: Retrieve a list of Sim resources on your Account. + operationId: ListSim parameters: - - description: The SID of the [Sim resource](https://www.twilio.com/docs/wireless/api/sim-resource) - with the Data Sessions to read. - in: path - name: SimSid - required: true + - description: Only return Sim resources with this status. + in: query + name: Status + schema: + type: string + enum: + - new + - ready + - active + - suspended + - deactivated + - canceled + - scheduled + - updating + - description: Only return Sim resources with this ICCID. This will return a + list with a maximum size of 1. + in: query + name: Iccid + schema: + type: string + - description: The SID or unique name of a [RatePlan resource](https://www.twilio.com/docs/wireless/api/rateplan-resource). + Only return Sim resources assigned to this RatePlan resource. + in: query + name: RatePlan + schema: + type: string + - description: Deprecated. + in: query + name: EId + schema: + type: string + - description: Only return Sim resources with this registration code. This will + return a list with a maximum size of 1. + in: query + name: SimRegistrationCode schema: type: string - description: How many resources to return in each list page. The default is @@ -1287,18 +1381,19 @@ paths: content: application/json: schema: + type: object + title: ListSimResponse properties: - data_sessions: - items: - $ref: '#/components/schemas/wireless.v1.sim.data_session' + sims: type: array + items: + $ref: '#/components/schemas/wireless.v1.sim' meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1312,27 +1407,22 @@ paths: url: format: uri type: string - type: object - title: ListDataSessionResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA + /v1/Sims/{SimSid}/UsageRecords: servers: - url: https://wireless.twilio.com + description: Usage information for SIMs x-twilio: defaultOutputProperties: - - sid - - packets_uploaded - - packets_downloaded - - start - - end - parent: /Sims + - period pathType: list - /v1/Sims/{SimSid}/UsageRecords: - description: Usage information for SIMs + parent: /Sims get: description: '' operationId: ListUsageRecord @@ -1350,27 +1440,27 @@ paths: in: query name: End schema: - format: date-time type: string + format: date-time - description: Only include usage that has occurred on or after this date, specified in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html). The default is one month before the `end` parameter value. in: query name: Start schema: - format: date-time type: string + format: date-time - description: 'How to summarize the usage by time. Can be: `daily`, `hourly`, or `all`. The default is `all`. A value of `all` returns one Usage Record that describes the usage for the entire period.' in: query name: Granularity schema: + type: string enum: - hourly - daily - all - type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query @@ -1384,98 +1474,19 @@ paths: content: application/json: schema: + type: object + title: ListUsageRecordResponse properties: - meta: - properties: - first_page_url: - format: uri - type: string - key: - type: string - next_page_url: - format: uri - type: string - page: - type: integer - page_size: - type: integer - previous_page_url: - format: uri - type: string - url: - format: uri - type: string - type: object usage_records: + type: array items: $ref: '#/components/schemas/wireless.v1.sim.usage_record' - type: array - title: ListUsageRecordResponse - type: object - description: OK - security: - - accountSid_authToken: [] - x-maturity: - - GA - servers: - - url: https://wireless.twilio.com - x-twilio: - defaultOutputProperties: - - period - parent: /Sims - pathType: list - /v1/UsageRecords: - description: Aggregated Usage information for all SIMs on an Account - get: - description: '' - operationId: ListAccountUsageRecord - parameters: - - description: Only include usage that has occurred on or before this date. - Format is [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html). - in: query - name: End - schema: - format: date-time - type: string - - description: Only include usage that has occurred on or after this date. Format - is [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html). - in: query - name: Start - schema: - format: date-time - type: string - - description: 'How to summarize the usage by time. Can be: `daily`, `hourly`, - or `all`. A value of `all` returns one Usage Record that describes the usage - for the entire period.' - in: query - name: Granularity - schema: - enum: - - hourly - - daily - - all - 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 - responses: - '200': - content: - application/json: - schema: - properties: meta: + type: object properties: first_page_url: format: uri type: string - key: - type: string next_page_url: format: uri type: string @@ -1489,26 +1500,15 @@ paths: url: format: uri type: string - type: object - usage_records: - items: - $ref: '#/components/schemas/wireless.v1.account_usage_record' - type: array - title: ListAccountUsageRecordResponse - type: object + key: + type: string description: OK security: - accountSid_authToken: [] x-maturity: - GA - servers: - - url: https://wireless.twilio.com - x-twilio: - defaultOutputProperties: - - period - pathType: list servers: - url: https://wireless.twilio.com x-maturity: -- description: This product is Generally Available. - name: GA +- name: GA + description: This product is Generally Available.