diff --git a/CHANGES.md b/CHANGES.md index 8a7016d8..2dd66c46 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,15 @@ twilio-oai changelog ==================== +[2024-09-05] Version 2.1.0 +-------------------------- +**Iam** +- updated library_visibility public for new public apikeys + +**Numbers** +- Add new field in Error Codes for Regulatory Compliance. +- Change typing of Port In Request date_created field to date_time instead of date **(breaking change)** + + [2024-08-26] Version 2.0.3 -------------------------- **Library - Fix** diff --git a/spec/json/twilio_api_v2010.json b/spec/json/twilio_api_v2010.json index 1356db8f..ec0d6adc 100644 --- a/spec/json/twilio_api_v2010.json +++ b/spec/json/twilio_api_v2010.json @@ -1654,7 +1654,6 @@ "channels": { "type": "integer", "default": 0, - "nullable": true, "description": "The number of channels in the final recording file. Can be: `1`, or `2`. Separating a two leg call into two separate channels of the recording file is supported in [Dial](https://www.twilio.com/docs/voice/twiml/dial#attributes-record) and [Outbound Rest API](https://www.twilio.com/docs/voice/make-calls) record options." }, "source": { @@ -1884,7 +1883,6 @@ "channels": { "type": "integer", "default": 0, - "nullable": true, "description": "The number of channels in the final recording file. Can be: `1`, or `2`. Separating a two leg call into two separate channels of the recording file is supported in [Dial](https://www.twilio.com/docs/voice/twiml/dial#attributes-record) and [Outbound Rest API](https://www.twilio.com/docs/voice/make-calls) record options." }, "source": { @@ -3683,7 +3681,6 @@ "position": { "type": "integer", "default": 0, - "nullable": true, "description": "This member's current position in the queue." }, "uri": { @@ -3694,7 +3691,6 @@ "wait_time": { "type": "integer", "default": 0, - "nullable": true, "description": "The number of seconds the member has been in the queue." }, "queue_sid": { @@ -4515,7 +4511,6 @@ "current_size": { "type": "integer", "default": 0, - "nullable": true, "description": "The number of calls currently in the queue." }, "friendly_name": { @@ -4539,7 +4534,6 @@ "average_wait_time": { "type": "integer", "default": 0, - "nullable": true, "description": " The average wait time in seconds of the members in this queue. This is calculated at the time of the request." }, "sid": { @@ -4559,7 +4553,6 @@ "max_size": { "type": "integer", "default": 0, - "nullable": true, "description": " The maximum number of calls that can be in the queue. The default is 1000 and the maximum is 5000." } } @@ -4717,7 +4710,6 @@ "channels": { "type": "integer", "default": 0, - "nullable": true, "description": "The number of channels in the final recording file. Can be: `1` or `2`." }, "source": { @@ -5764,7 +5756,6 @@ "cidr_prefix_length": { "type": "integer", "default": 0, - "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": { diff --git a/spec/json/twilio_bulkexports_v1.json b/spec/json/twilio_bulkexports_v1.json index b38ca9ca..01c8248e 100644 --- a/spec/json/twilio_bulkexports_v1.json +++ b/spec/json/twilio_bulkexports_v1.json @@ -18,7 +18,6 @@ "size": { "type": "integer", "default": 0, - "nullable": true, "description": "The size of the day's data file in bytes" }, "create_date": { diff --git a/spec/json/twilio_chat_v1.json b/spec/json/twilio_chat_v1.json index b48b502b..6f9cb742 100644 --- a/spec/json/twilio_chat_v1.json +++ b/spec/json/twilio_chat_v1.json @@ -99,13 +99,11 @@ "members_count": { "type": "integer", "default": 0, - "nullable": true, "description": "The number of Members in the Channel." }, "messages_count": { "type": "integer", "default": 0, - "nullable": true, "description": "The number of Messages in the Channel." }, "url": { @@ -458,7 +456,6 @@ "index": { "type": "integer", "default": 0, - "nullable": true, "description": "The index of the message within the [Channel](https://www.twilio.com/docs/chat/api/channels)." }, "url": { @@ -634,13 +631,11 @@ "typing_indicator_timeout": { "type": "integer", "default": 0, - "nullable": true, "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." }, "consumption_report_interval": { "type": "integer", "default": 0, - "nullable": true, "description": "DEPRECATED. The interval in seconds between consumption reports submission batches from client endpoints." }, "limits": { @@ -785,7 +780,6 @@ "joined_channels_count": { "type": "integer", "default": 0, - "nullable": true, "description": "The number of Channels this User is a Member of." }, "links": { diff --git a/spec/json/twilio_chat_v2.json b/spec/json/twilio_chat_v2.json index 99481aa9..d0ab6cf2 100644 --- a/spec/json/twilio_chat_v2.json +++ b/spec/json/twilio_chat_v2.json @@ -204,13 +204,11 @@ "members_count": { "type": "integer", "default": 0, - "nullable": true, "description": "The number of Members in the Channel." }, "messages_count": { "type": "integer", "default": 0, - "nullable": true, "description": "The number of Messages that have been passed in the Channel." }, "url": { @@ -678,7 +676,6 @@ "index": { "type": "integer", "default": 0, - "nullable": true, "description": "The index of the message within the [Channel](https://www.twilio.com/docs/chat/channels). Indices may skip numbers, but will always be in order of when the message was received." }, "type": { @@ -876,13 +873,11 @@ "typing_indicator_timeout": { "type": "integer", "default": 0, - "nullable": true, "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." }, "consumption_report_interval": { "type": "integer", "default": 0, - "nullable": true, "description": "DEPRECATED. The interval in seconds between consumption reports submission batches from client endpoints." }, "limits": { @@ -915,13 +910,11 @@ "pre_webhook_retry_count": { "type": "integer", "default": 0, - "nullable": true, "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." }, "post_webhook_retry_count": { "type": "integer", "default": 0, - "nullable": true, "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": { @@ -1039,7 +1032,6 @@ "joined_channels_count": { "type": "integer", "default": 0, - "nullable": true, "description": "The number of Channels the User is a Member of." }, "links": { diff --git a/spec/json/twilio_chat_v3.json b/spec/json/twilio_chat_v3.json index 14207a4e..4b4b467f 100644 --- a/spec/json/twilio_chat_v3.json +++ b/spec/json/twilio_chat_v3.json @@ -99,13 +99,11 @@ "members_count": { "type": "integer", "default": 0, - "nullable": true, "description": "The number of Members in the Channel." }, "messages_count": { "type": "integer", "default": 0, - "nullable": true, "description": "The number of Messages that have been passed in the Channel." }, "messaging_service_sid": { diff --git a/spec/json/twilio_content_sdk.json b/spec/json/twilio_content_sdk.json index 5408aac6..74945f23 100644 --- a/spec/json/twilio_content_sdk.json +++ b/spec/json/twilio_content_sdk.json @@ -42,7 +42,9 @@ "type": "string", "enum": [ "URL", - "PHONE_NUMBER" + "PHONE_NUMBER", + "COPY_CODE", + "VOICE_CALL" ] }, "callToActionAction": { @@ -61,7 +63,7 @@ "phone": { "type": "string" }, - "id": { + "code": { "type": "string" } }, @@ -112,7 +114,9 @@ "enum": [ "URL", "PHONE_NUMBER", - "QUICK_REPLY" + "QUICK_REPLY", + "COPY_CODE", + "VOICE_CALL" ] }, "cardAction": { @@ -133,6 +137,9 @@ }, "id": { "type": "string" + }, + "code": { + "type": "string" } }, "required": [ @@ -492,6 +499,121 @@ "cards" ] }, + "twilioFlows": { + "type": "object", + "description": "twilio/flows templates allow you to send multiple messages in a set order with text or select options", + "nullable": true, + "additionalProperties": false, + "properties": { + "body": { + "type": "string" + }, + "button_text": { + "type": "string" + }, + "subtitle": { + "type": "string" + }, + "media_url": { + "type": "string" + }, + "pages": { + "$ref": "#/components/schemas/flowsPages" + }, + "type": { + "type": "string" + } + }, + "required": [ + "body", + "button_text", + "subtitle", + "media_url", + "pages", + "type" + ] + }, + "flowsPages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/flowsPage" + } + }, + "flowsPage": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "next_page_id": { + "type": "string" + }, + "title": { + "type": "string" + }, + "subtitle": { + "type": "string" + }, + "layout": { + "$ref": "#/components/schemas/flowsPageComponents" + } + }, + "required": [ + "id", + "layout" + ] + }, + "flowsPageComponents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/flowsPageComponent" + } + }, + "flowsPageComponent": { + "type": "object", + "additionalProperties": false, + "properties": { + "label": { + "type": "string" + }, + "type": { + "type": "string" + }, + "text": { + "type": "string" + }, + "options": { + "$ref": "#/components/schemas/flowsPageComponentSelectItems" + } + }, + "required": [ + "label", + "type" + ] + }, + "flowsPageComponentSelectItems": { + "type": "array", + "items": { + "$ref": "#/components/schemas/flowsPageComponentSelectItem" + } + }, + "flowsPageComponentSelectItem": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "title": { + "type": "string" + } + }, + "required": [ + "id", + "title" + ] + }, "ContentApprovalRequest": { "type": "object", "description": "Content approval request body", @@ -569,6 +691,9 @@ "twilio/carousel": { "$ref": "#/components/schemas/twilioCarousel" }, + "twilio/flows": { + "$ref": "#/components/schemas/twilioFlows" + }, "whatsapp/card": { "$ref": "#/components/schemas/whatsappCard" }, diff --git a/spec/json/twilio_conversations_v1.json b/spec/json/twilio_conversations_v1.json index 1198999b..78dd84f2 100644 --- a/spec/json/twilio_conversations_v1.json +++ b/spec/json/twilio_conversations_v1.json @@ -367,7 +367,6 @@ "index": { "type": "integer", "default": 0, - "nullable": true, "description": "The index of the message within the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource). Indices may skip numbers, but will always be in order of when the message was received." }, "author": { @@ -535,7 +534,6 @@ "error_code": { "type": "integer", "default": 0, - "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": { @@ -757,6 +755,21 @@ "POST" ] }, + "conversation_with_participants_enum_webhook_enabled_type": { + "type": "string", + "enum": [ + "true", + "false" + ] + }, + "conversation_with_participants_enum_state": { + "type": "string", + "enum": [ + "inactive", + "active", + "closed" + ] + }, "conversations.v1.credential": { "type": "object", "properties": { @@ -1414,7 +1427,6 @@ "index": { "type": "integer", "default": 0, - "nullable": true, "description": "The index of the message within the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource)." }, "author": { @@ -1590,7 +1602,6 @@ "error_code": { "type": "integer", "default": 0, - "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": { @@ -1814,6 +1825,21 @@ "POST" ] }, + "service_conversation_with_participants_enum_webhook_enabled_type": { + "type": "string", + "enum": [ + "true", + "false" + ] + }, + "service_conversation_with_participants_enum_state": { + "type": "string", + "enum": [ + "inactive", + "active", + "closed" + ] + }, "conversations.v1.service.service_configuration.service_notification": { "type": "object", "properties": { @@ -18330,6 +18356,9 @@ { "name": "ConversationsV1Conversation" }, + { + "name": "ConversationsV1ConversationWithParticipants" + }, { "name": "ConversationsV1Credential" }, diff --git a/spec/json/twilio_events_v1.json b/spec/json/twilio_events_v1.json index 90cf2549..0f344f26 100644 --- a/spec/json/twilio_events_v1.json +++ b/spec/json/twilio_events_v1.json @@ -89,7 +89,6 @@ "latest_version": { "type": "integer", "default": 0, - "nullable": true, "description": "The latest version published of this schema." } } @@ -105,7 +104,6 @@ "schema_version": { "type": "integer", "default": 0, - "nullable": true, "description": "The version of this schema." }, "date_created": { @@ -241,7 +239,6 @@ "schema_version": { "type": "integer", "default": 0, - "nullable": true, "description": "The schema version that the Subscription should use." }, "subscription_sid": { diff --git a/spec/json/twilio_flex_v1.json b/spec/json/twilio_flex_v1.json index 13e78c8c..a47c4b51 100644 --- a/spec/json/twilio_flex_v1.json +++ b/spec/json/twilio_flex_v1.json @@ -395,7 +395,6 @@ "phase": { "type": "integer", "default": 0, - "nullable": true, "description": "The phase this Flex Plugin would initialize at runtime." }, "plugin_url": { @@ -820,7 +819,6 @@ "segment_count": { "type": "integer", "default": 0, - "nullable": true, "description": "The count of segments for a conversation" }, "segments": { @@ -955,7 +953,6 @@ "usage": { "type": "integer", "default": 0, - "nullable": true, "description": "Integer value that tells a particular question is used by how many questionnaires" }, "answer_set": { diff --git a/spec/json/twilio_flex_v2.json b/spec/json/twilio_flex_v2.json index 4c266be0..e10f1e46 100644 --- a/spec/json/twilio_flex_v2.json +++ b/spec/json/twilio_flex_v2.json @@ -138,7 +138,6 @@ "version": { "type": "integer", "default": 0, - "nullable": true, "description": "The current version of the user." }, "url": { diff --git a/spec/json/twilio_iam_v1.json b/spec/json/twilio_iam_v1.json new file mode 100644 index 00000000..282bd5c1 --- /dev/null +++ b/spec/json/twilio_iam_v1.json @@ -0,0 +1,838 @@ +{ + "components": { + "securitySchemes": { + "accountSid_authToken": { + "scheme": "basic", + "type": "http" + } + }, + "schemas": { + "iam.v1.get_keys": { + "type": "object", + "properties": { + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^SK[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique string that we created to identify the Key resource." + }, + "friendly_name": { + "type": "string", + "nullable": true, + "description": "The string that you assigned to describe the resource." + }, + "date_created": { + "type": "string", + "format": "date-time-rfc-2822", + "nullable": true, + "description": "The date and time in GMT that the resource was created specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format." + }, + "date_updated": { + "type": "string", + "format": "date-time-rfc-2822", + "nullable": true, + "description": "The date and time in GMT that the resource was last updated specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format." + } + } + }, + "iam.v1.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 we created to identify the Key resource." + }, + "friendly_name": { + "type": "string", + "nullable": true, + "description": "The string that you assigned to describe the resource.", + "x-twilio": { + "pii": { + "handling": "standard", + "deleteSla": 30 + } + } + }, + "date_created": { + "type": "string", + "format": "date-time-rfc-2822", + "nullable": true, + "description": "The date and time in GMT that the resource was created specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format." + }, + "date_updated": { + "type": "string", + "format": "date-time-rfc-2822", + "nullable": true, + "description": "The date and time in GMT that the resource was last updated specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format." + }, + "policy": { + "nullable": true, + "description": "The \\`Policy\\` object is a collection that specifies the allowed Twilio permissions for the restricted key.\nFor more information on the permissions available with restricted API keys, refer to the [Twilio documentation](https://www.twilio.com/docs/iam/api-keys/restricted-api-keys#permissions-available-with-restricted-api-keys)." + } + } + }, + "iam.v1.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 that we created to identify the NewKey resource. You will use this as the basic-auth `user` when authenticating to the API." + }, + "friendly_name": { + "type": "string", + "nullable": true, + "description": "The string that you assigned to describe the resource.", + "x-twilio": { + "pii": { + "handling": "standard", + "deleteSla": 30 + } + } + }, + "date_created": { + "type": "string", + "format": "date-time-rfc-2822", + "nullable": true, + "description": "The date and time in GMT that the API Key was created specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format." + }, + "date_updated": { + "type": "string", + "format": "date-time-rfc-2822", + "nullable": true, + "description": "The date and time in GMT that the new API Key was last updated specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format." + }, + "secret": { + "type": "string", + "nullable": true, + "description": "The secret your application uses to sign Access Tokens and to authenticate to the REST API (you will use this as the basic-auth `password`). **Note that for security reasons, this field is ONLY returned when the API Key is first created.**" + }, + "policy": { + "nullable": true, + "description": "Collection of allow assertions." + } + } + }, + "new_key_enum_keytype": { + "type": "string", + "enum": [ + "restricted" + ] + }, + "role_enum_scope_type": { + "type": "string", + "enum": [ + "ORGANIZATION", + "ACCOUNT", + "SUB_ACCOUNT", + "RESOURCE" + ] + } + } + }, + "info": { + "title": "Twilio - Iam", + "description": "This is the public Twilio REST API.", + "termsOfService": "https://www.twilio.com/legal/tos", + "contact": { + "name": "Twilio Support", + "url": "https://support.twilio.com", + "email": "support@twilio.com" + }, + "license": { + "name": "Apache 2.0", + "url": "https://www.apache.org/licenses/LICENSE-2.0.html" + }, + "version": "1.0.0" + }, + "openapi": "3.0.1", + "paths": { + "/v1/Keys": { + "servers": [ + { + "url": "https://iam.twilio.com" + } + ], + "description": "API keys", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "date_created" + ], + "mountName": "get_api_keys", + "className": "get_api_keys", + "pathType": "list" + }, + "get": { + "description": "Retrieve a list of all Keys for a account.", + "tags": [ + "IamV1GetApiKeys" + ], + "parameters": [ + { + "name": "AccountSid", + "in": "query", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Payments resource.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$" + }, + "required": true, + "examples": { + "readEmpty": { + "value": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + }, + "readFull": { + "value": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + } + } + }, + { + "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 1000 + } + }, + { + "name": "Page", + "in": "query", + "description": "The page index. This value is simply for client state.", + "schema": { + "type": "integer", + "minimum": 0 + } + }, + { + "name": "PageToken", + "in": "query", + "description": "The page token. This is provided by the API.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "keys": { + "type": "array", + "items": { + "$ref": "#/components/schemas/iam.v1.get_keys" + } + }, + "meta": { + "properties": { + "first_page_url": { + "format": "uri", + "type": "string" + }, + "key": { + "type": "string" + }, + "next_page_url": { + "format": "uri", + "nullable": true, + "type": "string" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "previous_page_url": { + "format": "uri", + "nullable": true, + "type": "string" + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "type": "object" + } + }, + "title": "ListGetKeysResponse" + }, + "examples": { + "readEmpty": { + "value": { + "keys": [], + "meta": { + "page": 0, + "page_size": 50, + "first_page_url": "https://iam.twilio.com/v1/Keys?AccountSid=ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&PageSize=50&Page=0", + "previous_page_url": null, + "url": "https://iam.twilio.com/v1/Keys?AccountSid=ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&PageSize=50&Page=0", + "next_page_url": null, + "key": "keys" + } + } + }, + "readFull": { + "value": { + "keys": [ + { + "sid": "SKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "friendly_name": "foo", + "date_created": "Mon, 13 Jun 2016 22:50:08 +0000", + "date_updated": "Mon, 13 Jun 2016 22:50:08 +0000" + }, + { + "sid": "SKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab", + "friendly_name": "bar", + "date_created": "Mon, 13 Jun 2016 20:50:08 +0000", + "date_updated": "Mon, 13 Jun 2016 20:50:08 +0000" + } + ], + "meta": { + "page": 0, + "page_size": 50, + "first_page_url": "https://iam.twilio.com/v1/Keys?AccountSid=ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&PageSize=50&Page=0", + "previous_page_url": null, + "url": "https://iam.twilio.com/v1/Keys?AccountSid=ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&PageSize=50&Page=0", + "next_page_url": null, + "key": "keys" + } + } + } + } + } + }, + "headers": { + "Access-Control-Allow-Origin": { + "description": "Specify the origin(s) allowed to access the resource", + "schema": { + "type": "string" + }, + "example": "*" + }, + "Access-Control-Allow-Methods": { + "description": "Specify the HTTP methods allowed when accessing the resource", + "schema": { + "type": "string" + }, + "example": "POST, OPTIONS" + }, + "Access-Control-Allow-Headers": { + "description": "Specify the headers allowed when accessing the resource", + "schema": { + "type": "string" + }, + "example": "Content-Type, Authorization" + }, + "Access-Control-Allow-Credentials": { + "description": "Indicates whether the browser should include credentials", + "schema": { + "type": "boolean" + } + }, + "Access-Control-Expose-Headers": { + "description": "Headers exposed to the client", + "schema": { + "type": "string", + "example": "X-Custom-Header1, X-Custom-Header2" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "ListGetKeys" + }, + "post": { + "description": "Create a new Signing Key for the account making the request.", + "tags": [ + "IamV1NewApiKey" + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/iam.v1.new_key" + }, + "examples": { + "createStandardKey": { + "value": { + "sid": "SKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "friendly_name": "foo", + "date_created": "Mon, 13 Jun 2016 22:50:08 +0000", + "date_updated": "Mon, 13 Jun 2016 22:50:08 +0000", + "secret": "foobar", + "policy": null + } + }, + "createRestrictedKey": { + "value": { + "sid": "SKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "friendly_name": "foo", + "date_created": "Mon, 13 Jun 2016 22:50:08 +0000", + "date_updated": "Mon, 13 Jun 2016 22:50:08 +0000", + "secret": "foobar", + "policy": { + "allow": [ + "/twilio/messaging/messages/read" + ] + } + } + } + } + } + }, + "headers": { + "Access-Control-Allow-Origin": { + "description": "Specify the origin(s) allowed to access the resource", + "schema": { + "type": "string" + }, + "example": "*" + }, + "Access-Control-Allow-Methods": { + "description": "Specify the HTTP methods allowed when accessing the resource", + "schema": { + "type": "string" + }, + "example": "POST, OPTIONS" + }, + "Access-Control-Allow-Headers": { + "description": "Specify the headers allowed when accessing the resource", + "schema": { + "type": "string" + }, + "example": "Content-Type, Authorization" + }, + "Access-Control-Allow-Credentials": { + "description": "Indicates whether the browser should include credentials", + "schema": { + "type": "boolean" + } + }, + "Access-Control-Expose-Headers": { + "description": "Headers exposed to the client", + "schema": { + "type": "string", + "example": "X-Custom-Header1, X-Custom-Header2" + } + } + }, + "description": "Created" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "CreateNewKey", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateNewKeyRequest", + "properties": { + "AccountSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Payments resource." + }, + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long." + }, + "KeyType": { + "type": "string", + "$ref": "#/components/schemas/new_key_enum_keytype", + "description": "The \\`KeyType\\` form parameter is used to specify the type of key you want to create.\n\n**Default Behavior**: If \\`KeyType\\` is not specified, the API will generate a standard key.\n\n**Restricted Key**: If \\`KeyType\\` is set to \\`restricted\\`, the API will create a new restricted key. In this case, a policy object is required to define the permissions." + }, + "Policy": { + "description": "The \\`Policy\\` object is a collection that specifies the allowed Twilio permissions for the restricted key.\nFor more information on the permissions available with restricted API keys, refer to the [Twilio documentation](https://www.twilio.com/docs/iam/api-keys/restricted-api-keys#permissions-available-with-restricted-api-keys)." + } + }, + "required": [ + "AccountSid" + ] + }, + "examples": { + "createStandardKey": { + "value": { + "FriendlyName": "foo", + "AccountSid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + } + }, + "createRestrictedKey": { + "value": { + "FriendlyName": "foo", + "AccountSid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "KeyType": "restricted", + "Policy": "{\"allow\":[\"/twilio/messaging/messages/read\"]}" + } + } + } + } + } + }, + "x-twilio": { + "mountName": "new_api_key" + } + } + }, + "/v1/Keys/{Sid}": { + "servers": [ + { + "url": "https://iam.twilio.com" + } + ], + "description": "API keys", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "date_created" + ], + "mountName": "api_key", + "pathType": "instance" + }, + "get": { + "description": "Fetch a specific Key.", + "tags": [ + "IamV1ApiKey" + ], + "parameters": [ + { + "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/iam.v1.key" + }, + "examples": { + "fetchStandardKey": { + "value": { + "sid": "SKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "friendly_name": "foo", + "date_created": "Mon, 13 Jun 2016 22:50:08 +0000", + "date_updated": "Mon, 13 Jun 2016 22:50:08 +0000", + "policy": null + } + }, + "fetchRestrictedKey": { + "value": { + "sid": "SKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "friendly_name": "foo", + "date_created": "Mon, 13 Jun 2016 22:50:08 +0000", + "date_updated": "Mon, 13 Jun 2016 22:50:08 +0000", + "policy": { + "allow": [ + "/twilio/messaging/messages/read" + ] + } + } + } + } + } + }, + "headers": { + "Access-Control-Allow-Origin": { + "description": "Specify the origin(s) allowed to access the resource", + "schema": { + "type": "string" + }, + "example": "*" + }, + "Access-Control-Allow-Methods": { + "description": "Specify the HTTP methods allowed when accessing the resource", + "schema": { + "type": "string" + }, + "example": "POST, OPTIONS" + }, + "Access-Control-Allow-Headers": { + "description": "Specify the headers allowed when accessing the resource", + "schema": { + "type": "string" + }, + "example": "Content-Type, Authorization" + }, + "Access-Control-Allow-Credentials": { + "description": "Indicates whether the browser should include credentials", + "schema": { + "type": "boolean" + } + }, + "Access-Control-Expose-Headers": { + "description": "Headers exposed to the client", + "schema": { + "type": "string", + "example": "X-Custom-Header1, X-Custom-Header2" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "FetchKey" + }, + "post": { + "description": "Update a specific Key.", + "tags": [ + "IamV1ApiKey" + ], + "parameters": [ + { + "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/iam.v1.key" + }, + "examples": { + "updateStandardKey": { + "value": { + "sid": "SKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "friendly_name": "foo", + "date_created": "Mon, 13 Jun 2016 22:50:08 +0000", + "date_updated": "Mon, 13 Jun 2016 22:50:08 +0000", + "policy": null + } + }, + "updateRestrictedKey": { + "value": { + "sid": "SKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "friendly_name": "foo", + "date_created": "Mon, 13 Jun 2016 22:50:08 +0000", + "date_updated": "Mon, 13 Jun 2016 22:50:08 +0000", + "policy": { + "allow": [ + "/twilio/messaging/messages/read", + "/twilio/messaging/messages/update" + ] + } + } + } + } + } + }, + "headers": { + "Access-Control-Allow-Origin": { + "description": "Specify the origin(s) allowed to access the resource", + "schema": { + "type": "string" + }, + "example": "*" + }, + "Access-Control-Allow-Methods": { + "description": "Specify the HTTP methods allowed when accessing the resource", + "schema": { + "type": "string" + }, + "example": "POST, OPTIONS" + }, + "Access-Control-Allow-Headers": { + "description": "Specify the headers allowed when accessing the resource", + "schema": { + "type": "string" + }, + "example": "Content-Type, Authorization" + }, + "Access-Control-Allow-Credentials": { + "description": "Indicates whether the browser should include credentials", + "schema": { + "type": "boolean" + } + }, + "Access-Control-Expose-Headers": { + "description": "Headers exposed to the client", + "schema": { + "type": "string", + "example": "X-Custom-Header1, X-Custom-Header2" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "UpdateKey", + "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." + }, + "Policy": { + "description": "The \\`Policy\\` object is a collection that specifies the allowed Twilio permissions for the restricted key.\nFor more information on the permissions available with restricted API keys, refer to the [Twilio documentation](https://www.twilio.com/docs/iam/api-keys/restricted-api-keys#permissions-available-with-restricted-api-keys)." + } + } + }, + "examples": { + "updateStandardKey": { + "value": { + "FriendlyName": "foo" + } + }, + "updateRestrictedKey": { + "value": { + "FriendlyName": "foo", + "Policy": "{\"allow\":[\"/twilio/messaging/messages/read\", \"/twilio/messaging/messages/update\"]}" + } + } + } + } + } + } + }, + "delete": { + "description": "Delete a specific Key.", + "tags": [ + "IamV1ApiKey" + ], + "parameters": [ + { + "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" + } + } + }, + "servers": [ + { + "url": "https://iam.twilio.com" + } + ], + "tags": [ + { + "name": "IamV1ApiKey" + }, + { + "name": "IamV1Authenticate" + }, + { + "name": "IamV1GetApiKeys" + }, + { + "name": "IamV1NewApiKey" + }, + { + "name": "IamV1Permission" + }, + { + "name": "IamV1PolicyAssignment" + }, + { + "name": "IamV1RefreshToken" + }, + { + "name": "IamV1Role" + }, + { + "name": "IamV1RoleAssignmentBatch" + }, + { + "name": "IamV1RoleBySid" + }, + { + "name": "IamV1Saml2" + }, + { + "name": "IamV1Token" + }, + { + "name": "IamV1ValidateToken" + } + ], + "security": [ + { + "accountSid_authToken": [] + } + ] +} \ No newline at end of file diff --git a/spec/json/twilio_intelligence_v2.json b/spec/json/twilio_intelligence_v2.json index 56675c57..77d19fc9 100644 --- a/spec/json/twilio_intelligence_v2.json +++ b/spec/json/twilio_intelligence_v2.json @@ -49,7 +49,6 @@ "version": { "type": "integer", "default": 0, - "nullable": true, "description": "Numeric Custom Operator version. Incremented with each update on the resource, used to ensure integrity when updating the Custom Operator." }, "availability": { @@ -174,7 +173,6 @@ "version": { "type": "integer", "default": 0, - "nullable": true, "description": "Numeric Operator version. Incremented with each update on the resource, used to ensure integrity when updating the Operator." }, "availability": { @@ -524,7 +522,6 @@ "version": { "type": "integer", "default": 0, - "nullable": true, "description": "Numeric Operator version. Incremented with each update on the resource, used to ensure integrity when updating the Operator." }, "availability": { @@ -572,13 +569,11 @@ "media_channel": { "type": "integer", "default": 0, - "nullable": true, "description": "The channel number." }, "sentence_index": { "type": "integer", "default": 0, - "nullable": true, "description": "The index of the sentence in the transcript." }, "start_time": { @@ -716,7 +711,6 @@ "version": { "type": "integer", "default": 0, - "nullable": true, "description": "The version number of this Service." } } @@ -801,7 +795,6 @@ "duration": { "type": "integer", "default": 0, - "nullable": true, "description": "The duration of this Transcript's source" }, "url": { diff --git a/spec/json/twilio_ip_messaging_v1.json b/spec/json/twilio_ip_messaging_v1.json index 0141052c..68777a73 100644 --- a/spec/json/twilio_ip_messaging_v1.json +++ b/spec/json/twilio_ip_messaging_v1.json @@ -64,13 +64,11 @@ }, "members_count": { "type": "integer", - "default": 0, - "nullable": true + "default": 0 }, "messages_count": { "type": "integer", - "default": 0, - "nullable": true + "default": 0 }, "url": { "type": "string", @@ -343,8 +341,7 @@ }, "index": { "type": "integer", - "default": 0, - "nullable": true + "default": 0 }, "url": { "type": "string", @@ -486,13 +483,11 @@ }, "typing_indicator_timeout": { "type": "integer", - "default": 0, - "nullable": true + "default": 0 }, "consumption_report_interval": { "type": "integer", - "default": 0, - "nullable": true + "default": 0 }, "limits": { "nullable": true @@ -597,8 +592,7 @@ }, "joined_channels_count": { "type": "integer", - "default": 0, - "nullable": true + "default": 0 }, "links": { "type": "object", diff --git a/spec/json/twilio_ip_messaging_v2.json b/spec/json/twilio_ip_messaging_v2.json index 268ef4e6..33c98878 100644 --- a/spec/json/twilio_ip_messaging_v2.json +++ b/spec/json/twilio_ip_messaging_v2.json @@ -145,13 +145,11 @@ }, "members_count": { "type": "integer", - "default": 0, - "nullable": true + "default": 0 }, "messages_count": { "type": "integer", - "default": 0, - "nullable": true + "default": 0 }, "url": { "type": "string", @@ -516,8 +514,7 @@ }, "index": { "type": "integer", - "default": 0, - "nullable": true + "default": 0 }, "type": { "type": "string", @@ -673,13 +670,11 @@ }, "typing_indicator_timeout": { "type": "integer", - "default": 0, - "nullable": true + "default": 0 }, "consumption_report_interval": { "type": "integer", - "default": 0, - "nullable": true + "default": 0 }, "limits": { "nullable": true @@ -705,13 +700,11 @@ }, "pre_webhook_retry_count": { "type": "integer", - "default": 0, - "nullable": true + "default": 0 }, "post_webhook_retry_count": { "type": "integer", - "default": 0, - "nullable": true + "default": 0 }, "notifications": { "nullable": true @@ -794,8 +787,7 @@ }, "joined_channels_count": { "type": "integer", - "default": 0, - "nullable": true + "default": 0 }, "links": { "type": "object", diff --git a/spec/json/twilio_messaging_v1.json b/spec/json/twilio_messaging_v1.json index 6cd5bcdd..46a593ff 100644 --- a/spec/json/twilio_messaging_v1.json +++ b/spec/json/twilio_messaging_v1.json @@ -844,7 +844,6 @@ "validity_period": { "type": "integer", "default": 0, - "nullable": true, "description": "How long, in seconds, messages sent from the Service are valid. Can be an integer from `1` to `14,400`." }, "url": { diff --git a/spec/json/twilio_notify_v1.json b/spec/json/twilio_notify_v1.json index 4fda2ba4..a0e18638 100644 --- a/spec/json/twilio_notify_v1.json +++ b/spec/json/twilio_notify_v1.json @@ -271,7 +271,6 @@ "ttl": { "type": "integer", "default": 0, - "nullable": true, "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." }, "title": { diff --git a/spec/json/twilio_numbers_v1.json b/spec/json/twilio_numbers_v1.json index fb2a2855..4a5d1f6e 100644 --- a/spec/json/twilio_numbers_v1.json +++ b/spec/json/twilio_numbers_v1.json @@ -233,7 +233,7 @@ }, "date_created": { "type": "string", - "format": "date", + "format": "date-time", "nullable": true } } @@ -962,7 +962,7 @@ "target_port_in_time_range_start": "10:00:00+01:00", "target_port_in_time_range_end": "20:00:00+01:00", "port_in_request_status": "pending", - "date_created": "2023-09-10", + "date_created": "2023-09-10T06:52:21Z", "losing_carrier_information": { "customer_type": "Business/Individual", "customer_name": "Customer name for carrier", @@ -1142,7 +1142,7 @@ "target_port_in_time_range_start": "10:00:00+01:00", "target_port_in_time_range_end": "20:00:00+01:00", "port_in_request_status": "pending", - "date_created": "2023-09-10", + "date_created": "2023-09-10T06:52:21Z", "losing_carrier_information": { "customer_type": "Business/Individual", "customer_name": "Customer name for carrier", diff --git a/spec/json/twilio_numbers_v2.json b/spec/json/twilio_numbers_v2.json index b7b7c205..109923a7 100644 --- a/spec/json/twilio_numbers_v2.json +++ b/spec/json/twilio_numbers_v2.json @@ -151,7 +151,6 @@ "total_count": { "type": "integer", "default": 0, - "nullable": true, "description": "The total count of phone numbers in this Bulk hosting request." }, "results": { @@ -1205,6 +1204,12 @@ "nullable": true, "description": "The failure reason of the Supporting Document Resource." }, + "errors": { + "type": "array", + "items": {}, + "nullable": true, + "description": "A list of errors that occurred during the registering RC Bundle" + }, "type": { "type": "string", "nullable": true, @@ -7255,6 +7260,7 @@ "mime_type": "mime_type", "status": "draft", "failure_reason": null, + "errors": null, "type": "type", "attributes": { "first_name": "foo", @@ -7457,6 +7463,7 @@ "mime_type": "mime_type", "status": "draft", "failure_reason": null, + "errors": null, "type": "type", "attributes": { "first_name": "foo", @@ -7488,6 +7495,11 @@ "mime_type": "mime_type", "status": "twilio-rejected", "failure_reason": "Some failure reason.", + "errors": [ + { + "code": 18001 + } + ], "type": "type", "attributes": { "first_name": "foo", @@ -7609,6 +7621,7 @@ "mime_type": "mime_type", "status": "draft", "failure_reason": null, + "errors": null, "type": "type", "attributes": { "first_name": "foo", @@ -7703,6 +7716,7 @@ "mime_type": "mime_type", "status": "draft", "failure_reason": null, + "errors": null, "type": "type", "attributes": { "first_name": "foo", diff --git a/spec/json/twilio_preview.json b/spec/json/twilio_preview.json index 86302a31..39a03a8a 100644 --- a/spec/json/twilio_preview.json +++ b/spec/json/twilio_preview.json @@ -530,7 +530,6 @@ "verification_attempts": { "type": "integer", "default": 0, - "nullable": true, "description": "The number of attempts made to verify ownership of the phone number that is being hosted." }, "email": { @@ -580,7 +579,6 @@ "call_delay": { "type": "integer", "default": 0, - "nullable": true, "description": "A value between 0-30 specifying the number of seconds to delay initiating the ownership verification call." }, "verification_code": { @@ -736,7 +734,6 @@ "verification_attempts": { "type": "integer", "default": 0, - "nullable": true, "description": "The number of attempts made to verify ownership of the phone number that is being hosted." }, "email": { @@ -792,7 +789,6 @@ "call_delay": { "type": "integer", "default": 0, - "nullable": true, "description": "A value between 0-30 specifying the number of seconds to delay initiating the ownership verification call." }, "verification_code": { @@ -1263,8 +1259,7 @@ "properties": { "index": { "type": "integer", - "default": 0, - "nullable": true + "default": 0 }, "account_sid": { "type": "string", @@ -1666,8 +1661,7 @@ }, "data_limit": { "type": "integer", - "default": 0, - "nullable": true + "default": 0 }, "messaging_enabled": { "type": "boolean", diff --git a/spec/json/twilio_proxy_v1.json b/spec/json/twilio_proxy_v1.json index 4912b211..72203ff7 100644 --- a/spec/json/twilio_proxy_v1.json +++ b/spec/json/twilio_proxy_v1.json @@ -544,7 +544,6 @@ "in_use": { "type": "integer", "default": 0, - "nullable": true, "description": "The number of open session assigned to the number. See the [How many Phone Numbers do I need?](https://www.twilio.com/docs/proxy/phone-numbers-needed) guide for more information." } } @@ -590,7 +589,6 @@ "default_ttl": { "type": "integer", "default": 0, - "nullable": true, "description": "The default `ttl` value for Sessions created in the Service. The TTL (time to live) is measured in seconds after the Session's last create or last Interaction. The default value of `0` indicates an unlimited Session length. You can override a Session's default TTL value by setting its `ttl` value." }, "number_selection_behavior": { @@ -729,7 +727,6 @@ "ttl": { "type": "integer", "default": 0, - "nullable": true, "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": { diff --git a/spec/json/twilio_studio_v1.json b/spec/json/twilio_studio_v1.json index 4872914a..732e94a6 100644 --- a/spec/json/twilio_studio_v1.json +++ b/spec/json/twilio_studio_v1.json @@ -441,7 +441,6 @@ "version": { "type": "integer", "default": 0, - "nullable": true, "description": "The latest version number of the Flow's definition." }, "date_created": { diff --git a/spec/json/twilio_studio_v2.json b/spec/json/twilio_studio_v2.json index 1c3705ba..cfd1f4ff 100644 --- a/spec/json/twilio_studio_v2.json +++ b/spec/json/twilio_studio_v2.json @@ -315,7 +315,6 @@ "revision": { "type": "integer", "default": 0, - "nullable": true, "description": "The latest revision number of the Flow's definition." }, "commit_message": { @@ -415,7 +414,6 @@ "revision": { "type": "integer", "default": 0, - "nullable": true, "description": "The latest revision number of the Flow's definition." }, "commit_message": { diff --git a/spec/json/twilio_supersim_v1.json b/spec/json/twilio_supersim_v1.json index dd1cded1..6820fe2d 100644 --- a/spec/json/twilio_supersim_v1.json +++ b/spec/json/twilio_supersim_v1.json @@ -229,7 +229,6 @@ "data_limit": { "type": "integer", "default": 0, - "nullable": true, "description": "The total data usage (download and upload combined) in Megabytes that each Super SIM assigned to the Fleet can consume during a billing period (normally one month). Value must be between 1MB (1) and 2TB (2,000,000). Defaults to 250MB." }, "data_metering": { @@ -343,7 +342,6 @@ "device_port": { "type": "integer", "default": 0, - "nullable": true, "description": "For an IP Command sent to a Super SIM, it would be the destination port of the IP message. For an IP Command sent from a Super SIM, it would be the source port of the IP message." }, "payload_type": { diff --git a/spec/json/twilio_sync_v1.json b/spec/json/twilio_sync_v1.json index c3a9de95..e582c2b4 100644 --- a/spec/json/twilio_sync_v1.json +++ b/spec/json/twilio_sync_v1.json @@ -246,7 +246,6 @@ "reachability_debouncing_window": { "type": "integer", "default": 0, - "nullable": true, "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 `webhook_url` is called, if all endpoints remain offline. A reconnection from the same identity by any endpoint during this interval prevents the reachability event from occurring." }, "links": { @@ -372,7 +371,6 @@ "index": { "type": "integer", "default": 0, - "nullable": true, "description": "The automatically generated index of the List Item. The `index` values of the List Items in a Sync List can have gaps in their sequence." }, "account_sid": { diff --git a/spec/json/twilio_taskrouter_v1.json b/spec/json/twilio_taskrouter_v1.json index 79814486..97f97e7f 100644 --- a/spec/json/twilio_taskrouter_v1.json +++ b/spec/json/twilio_taskrouter_v1.json @@ -192,7 +192,6 @@ "age": { "type": "integer", "default": 0, - "nullable": true, "description": "The number of seconds since the Task was created." }, "assignment_status": { @@ -238,7 +237,6 @@ "priority": { "type": "integer", "default": 0, - "nullable": true, "description": "The current priority score of the Task as assigned to a Worker by the workflow. Tasks with higher priority values will be assigned before Tasks with lower values." }, "reason": { @@ -283,7 +281,6 @@ "timeout": { "type": "integer", "default": 0, - "nullable": true, "description": "The amount of time in seconds that the Task can live before being assigned." }, "workflow_sid": { @@ -466,7 +463,6 @@ "max_reserved_workers": { "type": "integer", "default": 0, - "nullable": true, "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." }, "reservation_activity_sid": { @@ -558,7 +554,6 @@ "task_queue_response_count": { "type": "integer", "default": 0, - "nullable": true, "description": "The number of TaskQueue statistics received in task_queue_data." }, "url": { @@ -583,7 +578,6 @@ "avg_task_acceptance_time": { "type": "integer", "default": 0, - "nullable": true, "description": "The average time in seconds between Task creation and acceptance." }, "start_time": { @@ -601,37 +595,31 @@ "reservations_created": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Reservations created for Tasks in the TaskQueue." }, "reservations_accepted": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Reservations accepted for Tasks in the TaskQueue." }, "reservations_rejected": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Reservations rejected for Tasks in the TaskQueue." }, "reservations_timed_out": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Reservations that timed out for Tasks in the TaskQueue." }, "reservations_canceled": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Reservations canceled for Tasks in the TaskQueue." }, "reservations_rescinded": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Reservations rescinded." }, "split_by_wait_time": { @@ -661,31 +649,26 @@ "tasks_canceled": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Tasks canceled in the TaskQueue." }, "tasks_completed": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Tasks completed in the TaskQueue." }, "tasks_deleted": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Tasks deleted in the TaskQueue." }, "tasks_entered": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Tasks entered into the TaskQueue." }, "tasks_moved": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Tasks that were moved from one queue to another." }, "workspace_sid": { @@ -724,7 +707,6 @@ "longest_task_waiting_age": { "type": "integer", "default": 0, - "nullable": true, "description": "The age of the longest waiting Task." }, "longest_task_waiting_sid": { @@ -738,7 +720,6 @@ "longest_relative_task_age_in_queue": { "type": "integer", "default": 0, - "nullable": true, "description": "The relative age in the TaskQueue for the longest waiting Task. Calculation is based on the time when the Task entered the TaskQueue." }, "longest_relative_task_sid_in_queue": { @@ -768,19 +749,16 @@ "total_available_workers": { "type": "integer", "default": 0, - "nullable": true, - "description": "The total number of Workers available for Tasks in the TaskQueue." + "description": "The total number of Workers in the TaskQueue with an `available` status. Workers with an `available` status may already have active interactions or may have none." }, "total_eligible_workers": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Workers eligible for Tasks in the TaskQueue, independent of their Activity state." }, "total_tasks": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Tasks." }, "workspace_sid": { @@ -1114,7 +1092,6 @@ "assigned_tasks": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Tasks assigned to Worker for the TaskChannel type." }, "available": { @@ -1125,13 +1102,11 @@ "available_capacity_percentage": { "type": "integer", "default": 0, - "nullable": true, "description": "The current percentage of capacity the TaskChannel has available. Can be a number between `0` and `100`. A value of `0` indicates that TaskChannel has no capacity available and a value of `100` means the Worker is available to receive any Tasks of this TaskChannel type." }, "configured_capacity": { "type": "integer", "default": 0, - "nullable": true, "description": "The current configured capacity for the WorkerChannel. TaskRouter will not create any reservations after the assigned Tasks for the Worker reaches the value." }, "date_created": { @@ -1411,37 +1386,31 @@ "reservations_created": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Reservations that were created." }, "reservations_accepted": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Reservations that were accepted." }, "reservations_rejected": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Reservations that were rejected." }, "reservations_timed_out": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Reservations that were timed out." }, "reservations_canceled": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Reservations that were canceled." }, "reservations_rescinded": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Reservations that were rescinded." }, "workspace_sid": { @@ -1480,7 +1449,6 @@ "total_workers": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Workers." }, "workspace_sid": { @@ -1566,7 +1534,6 @@ "task_reservation_timeout": { "type": "integer", "default": 0, - "nullable": true, "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`." }, "workspace_sid": { @@ -1605,7 +1572,6 @@ "avg_task_acceptance_time": { "type": "integer", "default": 0, - "nullable": true, "description": "The average time in seconds between Task creation and acceptance." }, "start_time": { @@ -1623,37 +1589,31 @@ "reservations_created": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Reservations that were created for Workers." }, "reservations_accepted": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Reservations accepted by Workers." }, "reservations_rejected": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Reservations that were rejected." }, "reservations_timed_out": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Reservations that were timed out." }, "reservations_canceled": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Reservations that were canceled." }, "reservations_rescinded": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Reservations that were rescinded." }, "split_by_wait_time": { @@ -1671,37 +1631,31 @@ "tasks_canceled": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Tasks that were canceled." }, "tasks_completed": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Tasks that were completed." }, "tasks_entered": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Tasks that entered the Workflow." }, "tasks_deleted": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Tasks that were deleted." }, "tasks_moved": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Tasks that were moved from one queue to another." }, "tasks_timed_out_in_workflow": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Tasks that were timed out of their Workflows (and deleted)." }, "workflow_sid": { @@ -1742,7 +1696,6 @@ "longest_task_waiting_age": { "type": "integer", "default": 0, - "nullable": true, "description": "The age of the longest waiting Task." }, "longest_task_waiting_sid": { @@ -1764,7 +1717,6 @@ "total_tasks": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Tasks." }, "workflow_sid": { @@ -1959,7 +1911,6 @@ "avg_task_acceptance_time": { "type": "integer", "default": 0, - "nullable": true, "description": "The average time in seconds between Task creation and acceptance." }, "start_time": { @@ -1977,37 +1928,31 @@ "reservations_created": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Reservations that were created for Workers." }, "reservations_accepted": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Reservations accepted by Workers." }, "reservations_rejected": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Reservations that were rejected." }, "reservations_timed_out": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Reservations that were timed out." }, "reservations_canceled": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Reservations that were canceled." }, "reservations_rescinded": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Reservations that were rescinded." }, "split_by_wait_time": { @@ -2025,37 +1970,31 @@ "tasks_canceled": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Tasks that were canceled." }, "tasks_completed": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Tasks that were completed." }, "tasks_created": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Tasks created." }, "tasks_deleted": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Tasks that were deleted." }, "tasks_moved": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Tasks that were moved from one queue to another." }, "tasks_timed_out_in_workflow": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Tasks that were timed out of their Workflows (and deleted)." }, "workspace_sid": { @@ -2094,7 +2033,6 @@ "longest_task_waiting_age": { "type": "integer", "default": 0, - "nullable": true, "description": "The age of the longest waiting Task." }, "longest_task_waiting_sid": { @@ -2116,13 +2054,11 @@ "total_tasks": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Tasks." }, "total_workers": { "type": "integer", "default": 0, - "nullable": true, "description": "The total number of Workers in the Workspace." }, "workspace_sid": { diff --git a/spec/json/twilio_trunking_v1.json b/spec/json/twilio_trunking_v1.json index 44d976b6..49c07b69 100644 --- a/spec/json/twilio_trunking_v1.json +++ b/spec/json/twilio_trunking_v1.json @@ -141,7 +141,6 @@ "weight": { "type": "integer", "default": 0, - "nullable": true, "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." }, "enabled": { @@ -169,7 +168,6 @@ "priority": { "type": "integer", "default": 0, - "nullable": true, "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." }, "date_created": { diff --git a/spec/json/twilio_verify_v2.json b/spec/json/twilio_verify_v2.json index 92c38fe3..7466b2d8 100644 --- a/spec/json/twilio_verify_v2.json +++ b/spec/json/twilio_verify_v2.json @@ -70,7 +70,6 @@ "ttl": { "type": "integer", "default": 0, - "nullable": true, "description": "How long, in seconds, the access token is valid. Max: 5 minutes" }, "date_created": { @@ -125,13 +124,11 @@ "max": { "type": "integer", "default": 0, - "nullable": true, "description": "Maximum number of requests permitted in during the interval." }, "interval": { "type": "integer", "default": 0, - "nullable": true, "description": "Number of seconds that the rate limit will be enforced over." }, "date_created": { @@ -792,7 +789,6 @@ "ttl": { "type": "integer", "default": 0, - "nullable": true, "description": "How long, in seconds, the notification is valid. Max: 5 minutes" }, "date_created": { @@ -923,7 +919,6 @@ "code_length": { "type": "integer", "default": 0, - "nullable": true, "description": "The length of the verification code to generate." }, "lookup_enabled": { @@ -1279,19 +1274,16 @@ "total_attempts": { "type": "integer", "default": 0, - "nullable": true, "description": "Total of attempts made according to the provided filters" }, "total_converted": { "type": "integer", "default": 0, - "nullable": true, "description": "Total of attempts made that were confirmed by the end user, according to the provided filters." }, "total_unconverted": { "type": "integer", "default": 0, - "nullable": true, "description": "Total of attempts made that were not confirmed by the end user, according to the provided filters." }, "conversion_rate_percentage": { diff --git a/spec/json/twilio_video_v1.json b/spec/json/twilio_video_v1.json index 677446ec..ec4c4a42 100644 --- a/spec/json/twilio_video_v1.json +++ b/spec/json/twilio_video_v1.json @@ -115,7 +115,6 @@ "bitrate": { "type": "integer", "default": 0, - "nullable": true, "description": "The average bit rate of the composition's media." }, "size": { @@ -127,7 +126,6 @@ "duration": { "type": "integer", "default": 0, - "nullable": true, "description": "The duration of the composition's media file in seconds." }, "media_external_location": { @@ -662,13 +660,11 @@ "max_participants": { "type": "integer", "default": 0, - "nullable": true, "description": "The maximum number of concurrent Participants allowed in the room. " }, "max_participant_duration": { "type": "integer", "default": 0, - "nullable": true, "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)." }, "max_concurrent_published_tracks": { @@ -703,13 +699,11 @@ "empty_room_timeout": { "type": "integer", "default": 0, - "nullable": true, "description": "Specifies how long (in minutes) a room will remain active after last participant leaves. Can be configured when creating a room via REST API. For Ad-Hoc rooms this value cannot be changed." }, "unused_room_timeout": { "type": "integer", "default": 0, - "nullable": true, "description": "Specifies how long (in minutes) a room will remain active if no one joins. Can be configured when creating a room via REST API. For Ad-Hoc rooms this value cannot be changed." }, "large_room": { diff --git a/spec/json/twilio_voice_v1.json b/spec/json/twilio_voice_v1.json index 47586d9c..c19e5bee 100644 --- a/spec/json/twilio_voice_v1.json +++ b/spec/json/twilio_voice_v1.json @@ -260,13 +260,11 @@ "priority": { "type": "integer", "default": 0, - "nullable": true, "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": { "type": "integer", "default": 0, - "nullable": true, "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": { @@ -416,7 +414,6 @@ "update_count": { "type": "integer", "default": 0, - "nullable": true, "description": "The number of countries updated" }, "update_request": { @@ -490,7 +487,6 @@ "cidr_prefix_length": { "type": "integer", "default": 0, - "nullable": true, "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." }, "date_created": { diff --git a/spec/json/twilio_wireless_v1.json b/spec/json/twilio_wireless_v1.json index 3fce693c..6bb82f68 100644 --- a/spec/json/twilio_wireless_v1.json +++ b/spec/json/twilio_wireless_v1.json @@ -216,13 +216,11 @@ "packets_uploaded": { "type": "integer", "default": 0, - "nullable": true, "description": "The number of packets uploaded by the device between the `start` time and when the Data Session was last updated." }, "packets_downloaded": { "type": "integer", "default": 0, - "nullable": true, "description": "The number of packets downloaded by the device between the `start` time and when the Data Session was last updated." }, "last_updated": { @@ -292,7 +290,6 @@ "data_limit": { "type": "integer", "default": 0, - "nullable": true, "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." }, "messaging_enabled": { @@ -313,7 +310,6 @@ "national_roaming_data_limit": { "type": "integer", "default": 0, - "nullable": true, "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." }, "international_roaming": { @@ -327,7 +323,6 @@ "international_roaming_data_limit": { "type": "integer", "default": 0, - "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. Can be up to 2TB." }, "date_created": { diff --git a/spec/yaml/twilio_api_v2010.yaml b/spec/yaml/twilio_api_v2010.yaml index 0574a946..2ffb22ad 100644 --- a/spec/yaml/twilio_api_v2010.yaml +++ b/spec/yaml/twilio_api_v2010.yaml @@ -1578,7 +1578,6 @@ components: channels: type: integer default: 0 - nullable: true description: 'The number of channels in the final recording file. Can be: `1`, or `2`. Separating a two leg call into two separate channels of the recording file is supported in [Dial](https://www.twilio.com/docs/voice/twiml/dial#attributes-record) @@ -1797,7 +1796,6 @@ components: channels: type: integer default: 0 - nullable: true description: 'The number of channels in the final recording file. Can be: `1`, or `2`. Separating a two leg call into two separate channels of the recording file is supported in [Dial](https://www.twilio.com/docs/voice/twiml/dial#attributes-record) @@ -3460,7 +3458,6 @@ components: position: type: integer default: 0 - nullable: true description: This member's current position in the queue. uri: type: string @@ -3469,7 +3466,6 @@ components: wait_time: type: integer default: 0 - nullable: true description: The number of seconds the member has been in the queue. queue_sid: type: string @@ -4260,7 +4256,6 @@ components: current_size: type: integer default: 0 - nullable: true description: The number of calls currently in the queue. friendly_name: type: string @@ -4281,7 +4276,6 @@ components: average_wait_time: type: integer default: 0 - nullable: true description: ' The average wait time in seconds of the members in this queue. This is calculated at the time of the request.' sid: @@ -4301,7 +4295,6 @@ components: max_size: type: integer default: 0 - nullable: true description: ' The maximum number of calls that can be in the queue. The default is 1000 and the maximum is 5000.' api.v2010.account.call.realtime_transcription: @@ -4445,7 +4438,6 @@ components: channels: type: integer default: 0 - nullable: true description: 'The number of channels in the final recording file. Can be: `1` or `2`.' source: @@ -5402,7 +5394,6 @@ components: cidr_prefix_length: type: integer default: 0 - 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. diff --git a/spec/yaml/twilio_bulkexports_v1.yaml b/spec/yaml/twilio_bulkexports_v1.yaml index e1424db3..f18a8583 100644 --- a/spec/yaml/twilio_bulkexports_v1.yaml +++ b/spec/yaml/twilio_bulkexports_v1.yaml @@ -15,7 +15,6 @@ components: size: type: integer default: 0 - nullable: true description: The size of the day's data file in bytes create_date: type: string diff --git a/spec/yaml/twilio_chat_v1.yaml b/spec/yaml/twilio_chat_v1.yaml index 37e16fc1..0c7eb14a 100644 --- a/spec/yaml/twilio_chat_v1.yaml +++ b/spec/yaml/twilio_chat_v1.yaml @@ -88,12 +88,10 @@ components: members_count: type: integer default: 0 - nullable: true description: The number of Members in the Channel. messages_count: type: integer default: 0 - nullable: true description: The number of Messages in the Channel. url: type: string @@ -422,7 +420,6 @@ components: index: type: integer default: 0 - nullable: true description: The index of the message within the [Channel](https://www.twilio.com/docs/chat/api/channels). url: type: string @@ -582,14 +579,12 @@ components: typing_indicator_timeout: type: integer default: 0 - nullable: true 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. consumption_report_interval: type: integer default: 0 - nullable: true description: DEPRECATED. The interval in seconds between consumption reports submission batches from client endpoints. limits: @@ -744,7 +739,6 @@ components: joined_channels_count: type: integer default: 0 - nullable: true description: The number of Channels this User is a Member of. links: type: object diff --git a/spec/yaml/twilio_chat_v2.yaml b/spec/yaml/twilio_chat_v2.yaml index 404aaca3..82815c91 100644 --- a/spec/yaml/twilio_chat_v2.yaml +++ b/spec/yaml/twilio_chat_v2.yaml @@ -184,12 +184,10 @@ components: members_count: type: integer default: 0 - nullable: true description: The number of Members in the Channel. messages_count: type: integer default: 0 - nullable: true description: The number of Messages that have been passed in the Channel. url: type: string @@ -616,7 +614,6 @@ components: index: type: integer default: 0 - nullable: true description: The index of the message within the [Channel](https://www.twilio.com/docs/chat/channels). Indices may skip numbers, but will always be in order of when the message was received. @@ -797,14 +794,12 @@ components: typing_indicator_timeout: type: integer default: 0 - nullable: true 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. consumption_report_interval: type: integer default: 0 - nullable: true description: DEPRECATED. The interval in seconds between consumption reports submission batches from client endpoints. limits: @@ -844,7 +839,6 @@ components: pre_webhook_retry_count: type: integer default: 0 - nullable: true 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 @@ -852,7 +846,6 @@ components: post_webhook_retry_count: type: integer default: 0 - nullable: true 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 @@ -978,7 +971,6 @@ components: joined_channels_count: type: integer default: 0 - nullable: true description: The number of Channels the User is a Member of. links: type: object diff --git a/spec/yaml/twilio_chat_v3.yaml b/spec/yaml/twilio_chat_v3.yaml index 9d81a392..8dd3c1f5 100644 --- a/spec/yaml/twilio_chat_v3.yaml +++ b/spec/yaml/twilio_chat_v3.yaml @@ -86,12 +86,10 @@ components: members_count: type: integer default: 0 - nullable: true description: The number of Members in the Channel. messages_count: type: integer default: 0 - nullable: true description: The number of Messages that have been passed in the Channel. messaging_service_sid: type: string diff --git a/spec/yaml/twilio_content_sdk.yaml b/spec/yaml/twilio_content_sdk.yaml index 1c2e880b..5053d4f5 100644 --- a/spec/yaml/twilio_content_sdk.yaml +++ b/spec/yaml/twilio_content_sdk.yaml @@ -30,6 +30,8 @@ components: enum: - URL - PHONE_NUMBER + - COPY_CODE + - VOICE_CALL callToActionAction: type: object additionalProperties: false @@ -42,7 +44,7 @@ components: type: string phone: type: string - id: + code: type: string required: - type @@ -78,6 +80,8 @@ components: - URL - PHONE_NUMBER - QUICK_REPLY + - COPY_CODE + - VOICE_CALL cardAction: type: object additionalProperties: false @@ -92,6 +96,8 @@ components: type: string id: type: string + code: + type: string required: - type - title @@ -355,6 +361,87 @@ components: required: - body - cards + twilioFlows: + type: object + description: twilio/flows templates allow you to send multiple messages in a + set order with text or select options + nullable: true + additionalProperties: false + properties: + body: + type: string + button_text: + type: string + subtitle: + type: string + media_url: + type: string + pages: + $ref: '#/components/schemas/flowsPages' + type: + type: string + required: + - body + - button_text + - subtitle + - media_url + - pages + - type + flowsPages: + type: array + items: + $ref: '#/components/schemas/flowsPage' + flowsPage: + type: object + additionalProperties: false + properties: + id: + type: string + next_page_id: + type: string + title: + type: string + subtitle: + type: string + layout: + $ref: '#/components/schemas/flowsPageComponents' + required: + - id + - layout + flowsPageComponents: + type: array + items: + $ref: '#/components/schemas/flowsPageComponent' + flowsPageComponent: + type: object + additionalProperties: false + properties: + label: + type: string + type: + type: string + text: + type: string + options: + $ref: '#/components/schemas/flowsPageComponentSelectItems' + required: + - label + - type + flowsPageComponentSelectItems: + type: array + items: + $ref: '#/components/schemas/flowsPageComponentSelectItem' + flowsPageComponentSelectItem: + type: object + additionalProperties: false + properties: + id: + type: string + title: + type: string + required: + - id + - title ContentApprovalRequest: type: object description: Content approval request body @@ -410,6 +497,8 @@ components: $ref: '#/components/schemas/twilioCatalog' twilio/carousel: $ref: '#/components/schemas/twilioCarousel' + twilio/flows: + $ref: '#/components/schemas/twilioFlows' whatsapp/card: $ref: '#/components/schemas/whatsappCard' whatsapp/authentication: diff --git a/spec/yaml/twilio_conversations_v1.yaml b/spec/yaml/twilio_conversations_v1.yaml index 4b6c8575..572f420f 100644 --- a/spec/yaml/twilio_conversations_v1.yaml +++ b/spec/yaml/twilio_conversations_v1.yaml @@ -323,7 +323,6 @@ components: index: type: integer default: 0 - nullable: true description: The index of the message within the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource). Indices may skip numbers, but will always be in order of when the message was received. @@ -478,7 +477,6 @@ components: error_code: type: integer default: 0 - 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: @@ -668,6 +666,17 @@ components: enum: - GET - POST + conversation_with_participants_enum_webhook_enabled_type: + type: string + enum: + - 'true' + - 'false' + conversation_with_participants_enum_state: + type: string + enum: + - inactive + - active + - closed conversations.v1.credential: type: object properties: @@ -1262,7 +1271,6 @@ components: index: type: integer default: 0 - nullable: true description: The index of the message within the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource). author: type: string @@ -1423,7 +1431,6 @@ components: error_code: type: integer default: 0 - 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: @@ -1620,6 +1627,17 @@ components: enum: - GET - POST + service_conversation_with_participants_enum_webhook_enabled_type: + type: string + enum: + - 'true' + - 'false' + service_conversation_with_participants_enum_state: + type: string + enum: + - inactive + - active + - closed conversations.v1.service.service_configuration.service_notification: type: object properties: @@ -13946,6 +13964,7 @@ tags: - name: ConversationsV1ChannelMetadata - name: ConversationsV1Configuration - name: ConversationsV1Conversation +- name: ConversationsV1ConversationWithParticipants - name: ConversationsV1Credential - name: ConversationsV1DeliveryReceipt - name: ConversationsV1Message diff --git a/spec/yaml/twilio_events_v1.yaml b/spec/yaml/twilio_events_v1.yaml index cd916ce2..a010a119 100644 --- a/spec/yaml/twilio_events_v1.yaml +++ b/spec/yaml/twilio_events_v1.yaml @@ -80,7 +80,6 @@ components: latest_version: type: integer default: 0 - nullable: true description: The latest version published of this schema. events.v1.schema.schema_version: type: object @@ -93,7 +92,6 @@ components: schema_version: type: integer default: 0 - nullable: true description: The version of this schema. date_created: type: string @@ -204,7 +202,6 @@ components: schema_version: type: integer default: 0 - nullable: true description: The schema version that the Subscription should use. subscription_sid: type: string diff --git a/spec/yaml/twilio_flex_v1.yaml b/spec/yaml/twilio_flex_v1.yaml index af6ca658..975d47ae 100644 --- a/spec/yaml/twilio_flex_v1.yaml +++ b/spec/yaml/twilio_flex_v1.yaml @@ -340,7 +340,6 @@ components: phase: type: integer default: 0 - nullable: true description: The phase this Flex Plugin would initialize at runtime. plugin_url: type: string @@ -700,7 +699,6 @@ components: segment_count: type: integer default: 0 - nullable: true description: The count of segments for a conversation segments: type: array @@ -812,7 +810,6 @@ components: usage: type: integer default: 0 - nullable: true description: Integer value that tells a particular question is used by how many questionnaires answer_set: diff --git a/spec/yaml/twilio_flex_v2.yaml b/spec/yaml/twilio_flex_v2.yaml index 774b4015..4047bd6a 100644 --- a/spec/yaml/twilio_flex_v2.yaml +++ b/spec/yaml/twilio_flex_v2.yaml @@ -114,7 +114,6 @@ components: version: type: integer default: 0 - nullable: true description: The current version of the user. url: type: string diff --git a/spec/yaml/twilio_iam_v1.yaml b/spec/yaml/twilio_iam_v1.yaml new file mode 100644 index 00000000..2856a1b2 --- /dev/null +++ b/spec/yaml/twilio_iam_v1.yaml @@ -0,0 +1,603 @@ +components: + securitySchemes: + accountSid_authToken: + scheme: basic + type: http + schemas: + iam.v1.get_keys: + type: object + properties: + sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^SK[0-9a-fA-F]{32}$ + nullable: true + description: The unique string that we created to identify the Key resource. + friendly_name: + type: string + nullable: true + description: The string that you assigned to describe the resource. + date_created: + type: string + format: date-time-rfc-2822 + nullable: true + description: The date and time in GMT that the resource was created specified + in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format. + date_updated: + type: string + format: date-time-rfc-2822 + nullable: true + description: The date and time in GMT that the resource was last updated + specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format. + iam.v1.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 we created to identify the Key resource. + friendly_name: + type: string + nullable: true + description: The string that you assigned to describe the resource. + x-twilio: + pii: + handling: standard + deleteSla: 30 + date_created: + type: string + format: date-time-rfc-2822 + nullable: true + description: The date and time in GMT that the resource was created specified + in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format. + date_updated: + type: string + format: date-time-rfc-2822 + nullable: true + description: The date and time in GMT that the resource was last updated + specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format. + policy: + nullable: true + description: 'The \`Policy\` object is a collection that specifies the allowed + Twilio permissions for the restricted key. + + For more information on the permissions available with restricted API + keys, refer to the [Twilio documentation](https://www.twilio.com/docs/iam/api-keys/restricted-api-keys#permissions-available-with-restricted-api-keys).' + iam.v1.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 that we created to identify the NewKey + resource. You will use this as the basic-auth `user` when authenticating + to the API. + friendly_name: + type: string + nullable: true + description: The string that you assigned to describe the resource. + x-twilio: + pii: + handling: standard + deleteSla: 30 + date_created: + type: string + format: date-time-rfc-2822 + nullable: true + description: The date and time in GMT that the API Key was created specified + in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format. + date_updated: + type: string + format: date-time-rfc-2822 + nullable: true + description: The date and time in GMT that the new API Key was last updated + specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format. + secret: + type: string + nullable: true + description: The secret your application uses to sign Access Tokens and + to authenticate to the REST API (you will use this as the basic-auth `password`). **Note + that for security reasons, this field is ONLY returned when the API Key + is first created.** + policy: + nullable: true + description: Collection of allow assertions. + new_key_enum_keytype: + type: string + enum: + - restricted + role_enum_scope_type: + type: string + enum: + - ORGANIZATION + - ACCOUNT + - SUB_ACCOUNT + - RESOURCE +info: + title: Twilio - Iam + description: This is the public Twilio REST API. + termsOfService: https://www.twilio.com/legal/tos + contact: + name: Twilio Support + url: https://support.twilio.com + email: support@twilio.com + license: + name: Apache 2.0 + url: https://www.apache.org/licenses/LICENSE-2.0.html + version: 1.0.0 +openapi: 3.0.1 +paths: + /v1/Keys: + servers: + - url: https://iam.twilio.com + description: API keys + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - date_created + mountName: get_api_keys + className: get_api_keys + pathType: list + get: + description: Retrieve a list of all Keys for a account. + tags: + - IamV1GetApiKeys + parameters: + - name: AccountSid + in: query + description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the Payments resource. + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + required: true + examples: + readEmpty: + value: ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + readFull: + value: ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + - name: PageSize + in: query + description: How many resources to return in each list page. The default is + 50, and the maximum is 1000. + schema: + type: integer + minimum: 1 + maximum: 1000 + - name: Page + in: query + description: The page index. This value is simply for client state. + schema: + type: integer + minimum: 0 + - name: PageToken + in: query + description: The page token. This is provided by the API. + schema: + type: string + responses: + '200': + content: + application/json: + schema: + type: object + properties: + keys: + type: array + items: + $ref: '#/components/schemas/iam.v1.get_keys' + meta: + properties: + first_page_url: + format: uri + type: string + key: + type: string + next_page_url: + format: uri + nullable: true + type: string + page: + type: integer + page_size: + type: integer + previous_page_url: + format: uri + nullable: true + type: string + url: + format: uri + type: string + type: object + title: ListGetKeysResponse + examples: + readEmpty: + value: + keys: [] + meta: + page: 0 + page_size: 50 + first_page_url: https://iam.twilio.com/v1/Keys?AccountSid=ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&PageSize=50&Page=0 + previous_page_url: null + url: https://iam.twilio.com/v1/Keys?AccountSid=ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&PageSize=50&Page=0 + next_page_url: null + key: keys + readFull: + value: + keys: + - sid: SKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + friendly_name: foo + date_created: Mon, 13 Jun 2016 22:50:08 +0000 + date_updated: Mon, 13 Jun 2016 22:50:08 +0000 + - sid: SKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab + friendly_name: bar + date_created: Mon, 13 Jun 2016 20:50:08 +0000 + date_updated: Mon, 13 Jun 2016 20:50:08 +0000 + meta: + page: 0 + page_size: 50 + first_page_url: https://iam.twilio.com/v1/Keys?AccountSid=ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&PageSize=50&Page=0 + previous_page_url: null + url: https://iam.twilio.com/v1/Keys?AccountSid=ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&PageSize=50&Page=0 + next_page_url: null + key: keys + headers: + Access-Control-Allow-Origin: + description: Specify the origin(s) allowed to access the resource + schema: + type: string + example: '*' + Access-Control-Allow-Methods: + description: Specify the HTTP methods allowed when accessing the resource + schema: + type: string + example: POST, OPTIONS + Access-Control-Allow-Headers: + description: Specify the headers allowed when accessing the resource + schema: + type: string + example: Content-Type, Authorization + Access-Control-Allow-Credentials: + description: Indicates whether the browser should include credentials + schema: + type: boolean + Access-Control-Expose-Headers: + description: Headers exposed to the client + schema: + type: string + example: X-Custom-Header1, X-Custom-Header2 + description: OK + security: + - accountSid_authToken: [] + operationId: ListGetKeys + post: + description: Create a new Signing Key for the account making the request. + tags: + - IamV1NewApiKey + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/iam.v1.new_key' + examples: + createStandardKey: + value: + sid: SKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + friendly_name: foo + date_created: Mon, 13 Jun 2016 22:50:08 +0000 + date_updated: Mon, 13 Jun 2016 22:50:08 +0000 + secret: foobar + policy: null + createRestrictedKey: + value: + sid: SKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + friendly_name: foo + date_created: Mon, 13 Jun 2016 22:50:08 +0000 + date_updated: Mon, 13 Jun 2016 22:50:08 +0000 + secret: foobar + policy: + allow: + - /twilio/messaging/messages/read + headers: + Access-Control-Allow-Origin: + description: Specify the origin(s) allowed to access the resource + schema: + type: string + example: '*' + Access-Control-Allow-Methods: + description: Specify the HTTP methods allowed when accessing the resource + schema: + type: string + example: POST, OPTIONS + Access-Control-Allow-Headers: + description: Specify the headers allowed when accessing the resource + schema: + type: string + example: Content-Type, Authorization + Access-Control-Allow-Credentials: + description: Indicates whether the browser should include credentials + schema: + type: boolean + Access-Control-Expose-Headers: + description: Headers exposed to the client + schema: + type: string + example: X-Custom-Header1, X-Custom-Header2 + description: Created + security: + - accountSid_authToken: [] + operationId: CreateNewKey + requestBody: + content: + application/x-www-form-urlencoded: + schema: + type: object + title: CreateNewKeyRequest + properties: + AccountSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) + that created the Payments resource. + FriendlyName: + type: string + description: A descriptive string that you create to describe the + resource. It can be up to 64 characters long. + KeyType: + type: string + $ref: '#/components/schemas/new_key_enum_keytype' + description: 'The \`KeyType\` form parameter is used to specify + the type of key you want to create. + + + **Default Behavior**: If \`KeyType\` is not specified, the API + will generate a standard key. + + + **Restricted Key**: If \`KeyType\` is set to \`restricted\`, the + API will create a new restricted key. In this case, a policy object + is required to define the permissions.' + Policy: + description: 'The \`Policy\` object is a collection that specifies + the allowed Twilio permissions for the restricted key. + + For more information on the permissions available with restricted + API keys, refer to the [Twilio documentation](https://www.twilio.com/docs/iam/api-keys/restricted-api-keys#permissions-available-with-restricted-api-keys).' + required: + - AccountSid + examples: + createStandardKey: + value: + FriendlyName: foo + AccountSid: ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + createRestrictedKey: + value: + FriendlyName: foo + AccountSid: ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + KeyType: restricted + Policy: '{"allow":["/twilio/messaging/messages/read"]}' + x-twilio: + mountName: new_api_key + /v1/Keys/{Sid}: + servers: + - url: https://iam.twilio.com + description: API keys + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - date_created + mountName: api_key + pathType: instance + get: + description: Fetch a specific Key. + tags: + - IamV1ApiKey + parameters: + - 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/iam.v1.key' + examples: + fetchStandardKey: + value: + sid: SKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + friendly_name: foo + date_created: Mon, 13 Jun 2016 22:50:08 +0000 + date_updated: Mon, 13 Jun 2016 22:50:08 +0000 + policy: null + fetchRestrictedKey: + value: + sid: SKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + friendly_name: foo + date_created: Mon, 13 Jun 2016 22:50:08 +0000 + date_updated: Mon, 13 Jun 2016 22:50:08 +0000 + policy: + allow: + - /twilio/messaging/messages/read + headers: + Access-Control-Allow-Origin: + description: Specify the origin(s) allowed to access the resource + schema: + type: string + example: '*' + Access-Control-Allow-Methods: + description: Specify the HTTP methods allowed when accessing the resource + schema: + type: string + example: POST, OPTIONS + Access-Control-Allow-Headers: + description: Specify the headers allowed when accessing the resource + schema: + type: string + example: Content-Type, Authorization + Access-Control-Allow-Credentials: + description: Indicates whether the browser should include credentials + schema: + type: boolean + Access-Control-Expose-Headers: + description: Headers exposed to the client + schema: + type: string + example: X-Custom-Header1, X-Custom-Header2 + description: OK + security: + - accountSid_authToken: [] + operationId: FetchKey + post: + description: Update a specific Key. + tags: + - IamV1ApiKey + parameters: + - 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/iam.v1.key' + examples: + updateStandardKey: + value: + sid: SKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + friendly_name: foo + date_created: Mon, 13 Jun 2016 22:50:08 +0000 + date_updated: Mon, 13 Jun 2016 22:50:08 +0000 + policy: null + updateRestrictedKey: + value: + sid: SKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + friendly_name: foo + date_created: Mon, 13 Jun 2016 22:50:08 +0000 + date_updated: Mon, 13 Jun 2016 22:50:08 +0000 + policy: + allow: + - /twilio/messaging/messages/read + - /twilio/messaging/messages/update + headers: + Access-Control-Allow-Origin: + description: Specify the origin(s) allowed to access the resource + schema: + type: string + example: '*' + Access-Control-Allow-Methods: + description: Specify the HTTP methods allowed when accessing the resource + schema: + type: string + example: POST, OPTIONS + Access-Control-Allow-Headers: + description: Specify the headers allowed when accessing the resource + schema: + type: string + example: Content-Type, Authorization + Access-Control-Allow-Credentials: + description: Indicates whether the browser should include credentials + schema: + type: boolean + Access-Control-Expose-Headers: + description: Headers exposed to the client + schema: + type: string + example: X-Custom-Header1, X-Custom-Header2 + description: OK + security: + - accountSid_authToken: [] + operationId: UpdateKey + 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. + Policy: + description: 'The \`Policy\` object is a collection that specifies + the allowed Twilio permissions for the restricted key. + + For more information on the permissions available with restricted + API keys, refer to the [Twilio documentation](https://www.twilio.com/docs/iam/api-keys/restricted-api-keys#permissions-available-with-restricted-api-keys).' + examples: + updateStandardKey: + value: + FriendlyName: foo + updateRestrictedKey: + value: + FriendlyName: foo + Policy: '{"allow":["/twilio/messaging/messages/read", "/twilio/messaging/messages/update"]}' + delete: + description: Delete a specific Key. + tags: + - IamV1ApiKey + parameters: + - 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 +servers: +- url: https://iam.twilio.com +tags: +- name: IamV1ApiKey +- name: IamV1Authenticate +- name: IamV1GetApiKeys +- name: IamV1NewApiKey +- name: IamV1Permission +- name: IamV1PolicyAssignment +- name: IamV1RefreshToken +- name: IamV1Role +- name: IamV1RoleAssignmentBatch +- name: IamV1RoleBySid +- name: IamV1Saml2 +- name: IamV1Token +- name: IamV1ValidateToken +security: +- accountSid_authToken: [] diff --git a/spec/yaml/twilio_intelligence_v2.yaml b/spec/yaml/twilio_intelligence_v2.yaml index ebf0def2..1688056f 100644 --- a/spec/yaml/twilio_intelligence_v2.yaml +++ b/spec/yaml/twilio_intelligence_v2.yaml @@ -45,7 +45,6 @@ components: version: type: integer default: 0 - nullable: true description: Numeric Custom Operator version. Incremented with each update on the resource, used to ensure integrity when updating the Custom Operator. availability: @@ -156,7 +155,6 @@ components: version: type: integer default: 0 - nullable: true description: Numeric Operator version. Incremented with each update on the resource, used to ensure integrity when updating the Operator. availability: @@ -467,7 +465,6 @@ components: version: type: integer default: 0 - nullable: true description: Numeric Operator version. Incremented with each update on the resource, used to ensure integrity when updating the Operator. availability: @@ -511,12 +508,10 @@ components: media_channel: type: integer default: 0 - nullable: true description: The channel number. sentence_index: type: integer default: 0 - nullable: true description: The index of the sentence in the transcript. start_time: type: number @@ -644,7 +639,6 @@ components: version: type: integer default: 0 - nullable: true description: The version number of this Service. service_enum_http_method: type: string @@ -723,7 +717,6 @@ components: duration: type: integer default: 0 - nullable: true description: The duration of this Transcript's source url: type: string diff --git a/spec/yaml/twilio_ip_messaging_v1.yaml b/spec/yaml/twilio_ip_messaging_v1.yaml index 88aba86d..1d8dedeb 100644 --- a/spec/yaml/twilio_ip_messaging_v1.yaml +++ b/spec/yaml/twilio_ip_messaging_v1.yaml @@ -52,11 +52,9 @@ components: members_count: type: integer default: 0 - nullable: true messages_count: type: integer default: 0 - nullable: true url: type: string format: uri @@ -275,7 +273,6 @@ components: index: type: integer default: 0 - nullable: true url: type: string format: uri @@ -388,11 +385,9 @@ components: typing_indicator_timeout: type: integer default: 0 - nullable: true consumption_report_interval: type: integer default: 0 - nullable: true limits: nullable: true webhooks: @@ -474,7 +469,6 @@ components: joined_channels_count: type: integer default: 0 - nullable: true links: type: object format: uri-map diff --git a/spec/yaml/twilio_ip_messaging_v2.yaml b/spec/yaml/twilio_ip_messaging_v2.yaml index e5be4985..edbaeb63 100644 --- a/spec/yaml/twilio_ip_messaging_v2.yaml +++ b/spec/yaml/twilio_ip_messaging_v2.yaml @@ -116,11 +116,9 @@ components: members_count: type: integer default: 0 - nullable: true messages_count: type: integer default: 0 - nullable: true url: type: string format: uri @@ -410,7 +408,6 @@ components: index: type: integer default: 0 - nullable: true type: type: string nullable: true @@ -533,11 +530,9 @@ components: typing_indicator_timeout: type: integer default: 0 - nullable: true consumption_report_interval: type: integer default: 0 - nullable: true limits: nullable: true pre_webhook_url: @@ -557,11 +552,9 @@ components: pre_webhook_retry_count: type: integer default: 0 - nullable: true post_webhook_retry_count: type: integer default: 0 - nullable: true notifications: nullable: true media: @@ -627,7 +620,6 @@ components: joined_channels_count: type: integer default: 0 - nullable: true links: type: object format: uri-map diff --git a/spec/yaml/twilio_messaging_v1.yaml b/spec/yaml/twilio_messaging_v1.yaml index 9e9e9d17..b0861fc3 100644 --- a/spec/yaml/twilio_messaging_v1.yaml +++ b/spec/yaml/twilio_messaging_v1.yaml @@ -785,7 +785,6 @@ components: validity_period: type: integer default: 0 - nullable: true description: How long, in seconds, messages sent from the Service are valid. Can be an integer from `1` to `14,400`. url: diff --git a/spec/yaml/twilio_notify_v1.yaml b/spec/yaml/twilio_notify_v1.yaml index fcc7e500..c0160bb8 100644 --- a/spec/yaml/twilio_notify_v1.yaml +++ b/spec/yaml/twilio_notify_v1.yaml @@ -258,7 +258,6 @@ components: ttl: type: integer default: 0 - nullable: true 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 diff --git a/spec/yaml/twilio_numbers_v1.yaml b/spec/yaml/twilio_numbers_v1.yaml index e57149da..1f29c617 100644 --- a/spec/yaml/twilio_numbers_v1.yaml +++ b/spec/yaml/twilio_numbers_v1.yaml @@ -227,7 +227,7 @@ components: the type Utility Bill is required. date_created: type: string - format: date + format: date-time nullable: true numbers.v1.porting_port_in_phone_number: type: object @@ -820,7 +820,7 @@ paths: target_port_in_time_range_start: 10:00:00+01:00 target_port_in_time_range_end: 20:00:00+01:00 port_in_request_status: pending - date_created: '2023-09-10' + date_created: '2023-09-10T06:52:21Z' losing_carrier_information: customer_type: Business/Individual customer_name: Customer name for carrier @@ -946,7 +946,7 @@ paths: target_port_in_time_range_start: 10:00:00+01:00 target_port_in_time_range_end: 20:00:00+01:00 port_in_request_status: pending - date_created: '2023-09-10' + date_created: '2023-09-10T06:52:21Z' losing_carrier_information: customer_type: Business/Individual customer_name: Customer name for carrier diff --git a/spec/yaml/twilio_numbers_v2.yaml b/spec/yaml/twilio_numbers_v2.yaml index c3f982fd..851b8595 100644 --- a/spec/yaml/twilio_numbers_v2.yaml +++ b/spec/yaml/twilio_numbers_v2.yaml @@ -131,7 +131,6 @@ components: total_count: type: integer default: 0 - nullable: true description: The total count of phone numbers in this Bulk hosting request. results: type: array @@ -1066,6 +1065,11 @@ components: type: string nullable: true description: The failure reason of the Supporting Document Resource. + errors: + type: array + items: {} + nullable: true + description: A list of errors that occurred during the registering RC Bundle type: type: string nullable: true @@ -5455,6 +5459,7 @@ paths: mime_type: mime_type status: draft failure_reason: null + errors: null type: type attributes: first_name: foo @@ -5597,6 +5602,7 @@ paths: mime_type: mime_type status: draft failure_reason: null + errors: null type: type attributes: first_name: foo @@ -5621,6 +5627,8 @@ paths: mime_type: mime_type status: twilio-rejected failure_reason: Some failure reason. + errors: + - code: 18001 type: type attributes: first_name: foo @@ -5705,6 +5713,7 @@ paths: mime_type: mime_type status: draft failure_reason: null + errors: null type: type attributes: first_name: foo @@ -5771,6 +5780,7 @@ paths: mime_type: mime_type status: draft failure_reason: null + errors: null type: type attributes: first_name: foo diff --git a/spec/yaml/twilio_preview.yaml b/spec/yaml/twilio_preview.yaml index 22591ae8..1bcb568d 100644 --- a/spec/yaml/twilio_preview.yaml +++ b/spec/yaml/twilio_preview.yaml @@ -493,7 +493,6 @@ components: verification_attempts: type: integer default: 0 - nullable: true description: The number of attempts made to verify ownership of the phone number that is being hosted. email: @@ -538,7 +537,6 @@ components: call_delay: type: integer default: 0 - nullable: true description: A value between 0-30 specifying the number of seconds to delay initiating the ownership verification call. verification_code: @@ -680,7 +678,6 @@ components: verification_attempts: type: integer default: 0 - nullable: true description: The number of attempts made to verify ownership of the phone number that is being hosted. email: @@ -730,7 +727,6 @@ components: call_delay: type: integer default: 0 - nullable: true description: A value between 0-30 specifying the number of seconds to delay initiating the ownership verification call. verification_code: @@ -1130,7 +1126,6 @@ components: index: type: integer default: 0 - nullable: true account_sid: type: string minLength: 34 @@ -1460,7 +1455,6 @@ components: data_limit: type: integer default: 0 - nullable: true messaging_enabled: type: boolean nullable: true diff --git a/spec/yaml/twilio_proxy_v1.yaml b/spec/yaml/twilio_proxy_v1.yaml index ce6476d9..d813f55d 100644 --- a/spec/yaml/twilio_proxy_v1.yaml +++ b/spec/yaml/twilio_proxy_v1.yaml @@ -505,7 +505,6 @@ components: in_use: type: integer default: 0 - nullable: true description: The number of open session assigned to the number. See the [How many Phone Numbers do I need?](https://www.twilio.com/docs/proxy/phone-numbers-needed) guide for more information. @@ -550,7 +549,6 @@ components: default_ttl: type: integer default: 0 - nullable: true description: The default `ttl` value for Sessions created in the Service. The TTL (time to live) is measured in seconds after the Session's last create or last Interaction. The default value of `0` indicates an unlimited @@ -698,7 +696,6 @@ components: ttl: type: integer default: 0 - nullable: true 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: diff --git a/spec/yaml/twilio_studio_v1.yaml b/spec/yaml/twilio_studio_v1.yaml index 64e2f806..25dbd734 100644 --- a/spec/yaml/twilio_studio_v1.yaml +++ b/spec/yaml/twilio_studio_v1.yaml @@ -397,7 +397,6 @@ components: version: type: integer default: 0 - nullable: true description: The latest version number of the Flow's definition. date_created: type: string diff --git a/spec/yaml/twilio_studio_v2.yaml b/spec/yaml/twilio_studio_v2.yaml index a6e092dc..1c4d63f2 100644 --- a/spec/yaml/twilio_studio_v2.yaml +++ b/spec/yaml/twilio_studio_v2.yaml @@ -280,7 +280,6 @@ components: revision: type: integer default: 0 - nullable: true description: The latest revision number of the Flow's definition. commit_message: type: string @@ -364,7 +363,6 @@ components: revision: type: integer default: 0 - nullable: true description: The latest revision number of the Flow's definition. commit_message: type: string diff --git a/spec/yaml/twilio_supersim_v1.yaml b/spec/yaml/twilio_supersim_v1.yaml index a0fa53d7..8d879f4e 100644 --- a/spec/yaml/twilio_supersim_v1.yaml +++ b/spec/yaml/twilio_supersim_v1.yaml @@ -215,7 +215,6 @@ components: data_limit: type: integer default: 0 - nullable: true description: The total data usage (download and upload combined) in Megabytes that each Super SIM assigned to the Fleet can consume during a billing period (normally one month). Value must be between 1MB (1) and 2TB (2,000,000). @@ -336,7 +335,6 @@ components: device_port: type: integer default: 0 - nullable: true description: For an IP Command sent to a Super SIM, it would be the destination port of the IP message. For an IP Command sent from a Super SIM, it would be the source port of the IP message. diff --git a/spec/yaml/twilio_sync_v1.yaml b/spec/yaml/twilio_sync_v1.yaml index 0aacfbe7..f7ff270f 100644 --- a/spec/yaml/twilio_sync_v1.yaml +++ b/spec/yaml/twilio_sync_v1.yaml @@ -230,7 +230,6 @@ components: reachability_debouncing_window: type: integer default: 0 - nullable: true 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, @@ -349,7 +348,6 @@ components: index: type: integer default: 0 - nullable: true description: The automatically generated index of the List Item. The `index` values of the List Items in a Sync List can have gaps in their sequence. account_sid: diff --git a/spec/yaml/twilio_taskrouter_v1.yaml b/spec/yaml/twilio_taskrouter_v1.yaml index 55d0b4f9..15de6fd2 100644 --- a/spec/yaml/twilio_taskrouter_v1.yaml +++ b/spec/yaml/twilio_taskrouter_v1.yaml @@ -170,7 +170,6 @@ components: age: type: integer default: 0 - nullable: true description: The number of seconds since the Task was created. assignment_status: type: string @@ -215,7 +214,6 @@ components: priority: type: integer default: 0 - nullable: true description: The current priority score of the Task as assigned to a Worker by the workflow. Tasks with higher priority values will be assigned before Tasks with lower values. @@ -255,7 +253,6 @@ components: timeout: type: integer default: 0 - nullable: true description: The amount of time in seconds that the Task can live before being assigned. workflow_sid: @@ -426,7 +423,6 @@ components: max_reserved_workers: type: integer default: 0 - nullable: true 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. @@ -549,7 +545,6 @@ components: task_queue_response_count: type: integer default: 0 - nullable: true description: The number of TaskQueue statistics received in task_queue_data. url: type: string @@ -570,7 +565,6 @@ components: avg_task_acceptance_time: type: integer default: 0 - nullable: true description: The average time in seconds between Task creation and acceptance. start_time: type: string @@ -588,36 +582,30 @@ components: reservations_created: type: integer default: 0 - nullable: true description: The total number of Reservations created for Tasks in the TaskQueue. reservations_accepted: type: integer default: 0 - nullable: true description: The total number of Reservations accepted for Tasks in the TaskQueue. reservations_rejected: type: integer default: 0 - nullable: true description: The total number of Reservations rejected for Tasks in the TaskQueue. reservations_timed_out: type: integer default: 0 - nullable: true description: The total number of Reservations that timed out for Tasks in the TaskQueue. reservations_canceled: type: integer default: 0 - nullable: true description: The total number of Reservations canceled for Tasks in the TaskQueue. reservations_rescinded: type: integer default: 0 - nullable: true description: The total number of Reservations rescinded. split_by_wait_time: nullable: true @@ -650,27 +638,22 @@ components: tasks_canceled: type: integer default: 0 - nullable: true description: The total number of Tasks canceled in the TaskQueue. tasks_completed: type: integer default: 0 - nullable: true description: The total number of Tasks completed in the TaskQueue. tasks_deleted: type: integer default: 0 - nullable: true description: The total number of Tasks deleted in the TaskQueue. tasks_entered: type: integer default: 0 - nullable: true description: The total number of Tasks entered into the TaskQueue. tasks_moved: type: integer default: 0 - nullable: true description: The total number of Tasks that were moved from one queue to another. workspace_sid: @@ -704,7 +687,6 @@ components: longest_task_waiting_age: type: integer default: 0 - nullable: true description: The age of the longest waiting Task. longest_task_waiting_sid: type: string @@ -716,7 +698,6 @@ components: longest_relative_task_age_in_queue: type: integer default: 0 - nullable: true description: The relative age in the TaskQueue for the longest waiting Task. Calculation is based on the time when the Task entered the TaskQueue. longest_relative_task_sid_in_queue: @@ -745,18 +726,17 @@ components: total_available_workers: type: integer default: 0 - nullable: true - description: The total number of Workers available for Tasks in the TaskQueue. + description: The total number of Workers in the TaskQueue with an `available` + status. Workers with an `available` status may already have active interactions + or may have none. total_eligible_workers: type: integer default: 0 - nullable: true description: The total number of Workers eligible for Tasks in the TaskQueue, independent of their Activity state. total_tasks: type: integer default: 0 - nullable: true description: The total number of Tasks. workspace_sid: type: string @@ -1048,7 +1028,6 @@ components: assigned_tasks: type: integer default: 0 - nullable: true description: The total number of Tasks assigned to Worker for the TaskChannel type. available: @@ -1059,7 +1038,6 @@ components: available_capacity_percentage: type: integer default: 0 - nullable: true description: The current percentage of capacity the TaskChannel has available. Can be a number between `0` and `100`. A value of `0` indicates that TaskChannel has no capacity available and a value of `100` means the Worker is available @@ -1067,7 +1045,6 @@ components: configured_capacity: type: integer default: 0 - nullable: true description: The current configured capacity for the WorkerChannel. TaskRouter will not create any reservations after the assigned Tasks for the Worker reaches the value. @@ -1316,32 +1293,26 @@ components: reservations_created: type: integer default: 0 - nullable: true description: The total number of Reservations that were created. reservations_accepted: type: integer default: 0 - nullable: true description: The total number of Reservations that were accepted. reservations_rejected: type: integer default: 0 - nullable: true description: The total number of Reservations that were rejected. reservations_timed_out: type: integer default: 0 - nullable: true description: The total number of Reservations that were timed out. reservations_canceled: type: integer default: 0 - nullable: true description: The total number of Reservations that were canceled. reservations_rescinded: type: integer default: 0 - nullable: true description: The total number of Reservations that were rescinded. workspace_sid: type: string @@ -1374,7 +1345,6 @@ components: total_workers: type: integer default: 0 - nullable: true description: The total number of Workers. workspace_sid: type: string @@ -1453,7 +1423,6 @@ components: task_reservation_timeout: type: integer default: 0 - nullable: true 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`. @@ -1488,7 +1457,6 @@ components: avg_task_acceptance_time: type: integer default: 0 - nullable: true description: The average time in seconds between Task creation and acceptance. start_time: type: string @@ -1506,32 +1474,26 @@ components: reservations_created: type: integer default: 0 - nullable: true description: The total number of Reservations that were created for Workers. reservations_accepted: type: integer default: 0 - nullable: true description: The total number of Reservations accepted by Workers. reservations_rejected: type: integer default: 0 - nullable: true description: The total number of Reservations that were rejected. reservations_timed_out: type: integer default: 0 - nullable: true description: The total number of Reservations that were timed out. reservations_canceled: type: integer default: 0 - nullable: true description: The total number of Reservations that were canceled. reservations_rescinded: type: integer default: 0 - nullable: true description: The total number of Reservations that were rescinded. split_by_wait_time: nullable: true @@ -1549,33 +1511,27 @@ components: tasks_canceled: type: integer default: 0 - nullable: true description: The total number of Tasks that were canceled. tasks_completed: type: integer default: 0 - nullable: true description: The total number of Tasks that were completed. tasks_entered: type: integer default: 0 - nullable: true description: The total number of Tasks that entered the Workflow. tasks_deleted: type: integer default: 0 - nullable: true description: The total number of Tasks that were deleted. tasks_moved: type: integer default: 0 - nullable: true description: The total number of Tasks that were moved from one queue to another. tasks_timed_out_in_workflow: type: integer default: 0 - nullable: true description: The total number of Tasks that were timed out of their Workflows (and deleted). workflow_sid: @@ -1612,7 +1568,6 @@ components: longest_task_waiting_age: type: integer default: 0 - nullable: true description: The age of the longest waiting Task. longest_task_waiting_sid: type: string @@ -1632,7 +1587,6 @@ components: total_tasks: type: integer default: 0 - nullable: true description: The total number of Tasks. workflow_sid: type: string @@ -1816,7 +1770,6 @@ components: avg_task_acceptance_time: type: integer default: 0 - nullable: true description: The average time in seconds between Task creation and acceptance. start_time: type: string @@ -1834,32 +1787,26 @@ components: reservations_created: type: integer default: 0 - nullable: true description: The total number of Reservations that were created for Workers. reservations_accepted: type: integer default: 0 - nullable: true description: The total number of Reservations accepted by Workers. reservations_rejected: type: integer default: 0 - nullable: true description: The total number of Reservations that were rejected. reservations_timed_out: type: integer default: 0 - nullable: true description: The total number of Reservations that were timed out. reservations_canceled: type: integer default: 0 - nullable: true description: The total number of Reservations that were canceled. reservations_rescinded: type: integer default: 0 - nullable: true description: The total number of Reservations that were rescinded. split_by_wait_time: nullable: true @@ -1877,33 +1824,27 @@ components: tasks_canceled: type: integer default: 0 - nullable: true description: The total number of Tasks that were canceled. tasks_completed: type: integer default: 0 - nullable: true description: The total number of Tasks that were completed. tasks_created: type: integer default: 0 - nullable: true description: The total number of Tasks created. tasks_deleted: type: integer default: 0 - nullable: true description: The total number of Tasks that were deleted. tasks_moved: type: integer default: 0 - nullable: true description: The total number of Tasks that were moved from one queue to another. tasks_timed_out_in_workflow: type: integer default: 0 - nullable: true description: The total number of Tasks that were timed out of their Workflows (and deleted). workspace_sid: @@ -1937,7 +1878,6 @@ components: longest_task_waiting_age: type: integer default: 0 - nullable: true description: The age of the longest waiting Task. longest_task_waiting_sid: type: string @@ -1957,12 +1897,10 @@ components: total_tasks: type: integer default: 0 - nullable: true description: The total number of Tasks. total_workers: type: integer default: 0 - nullable: true description: The total number of Workers in the Workspace. workspace_sid: type: string diff --git a/spec/yaml/twilio_trunking_v1.yaml b/spec/yaml/twilio_trunking_v1.yaml index 6c6bc8e3..c2d00913 100644 --- a/spec/yaml/twilio_trunking_v1.yaml +++ b/spec/yaml/twilio_trunking_v1.yaml @@ -127,7 +127,6 @@ components: weight: type: integer default: 0 - nullable: true 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 @@ -154,7 +153,6 @@ components: priority: type: integer default: 0 - nullable: true 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. diff --git a/spec/yaml/twilio_verify_v2.yaml b/spec/yaml/twilio_verify_v2.yaml index 9f2b711d..34a64802 100644 --- a/spec/yaml/twilio_verify_v2.yaml +++ b/spec/yaml/twilio_verify_v2.yaml @@ -60,7 +60,6 @@ components: ttl: type: integer default: 0 - nullable: true description: 'How long, in seconds, the access token is valid. Max: 5 minutes' date_created: type: string @@ -109,12 +108,10 @@ components: max: type: integer default: 0 - nullable: true description: Maximum number of requests permitted in during the interval. interval: type: integer default: 0 - nullable: true description: Number of seconds that the rate limit will be enforced over. date_created: type: string @@ -715,7 +712,6 @@ components: ttl: type: integer default: 0 - nullable: true description: 'How long, in seconds, the notification is valid. Max: 5 minutes' date_created: type: string @@ -833,7 +829,6 @@ components: code_length: type: integer default: 0 - nullable: true description: The length of the verification code to generate. lookup_enabled: type: boolean @@ -1158,18 +1153,15 @@ components: total_attempts: type: integer default: 0 - nullable: true description: Total of attempts made according to the provided filters total_converted: type: integer default: 0 - nullable: true description: Total of attempts made that were confirmed by the end user, according to the provided filters. total_unconverted: type: integer default: 0 - nullable: true description: Total of attempts made that were not confirmed by the end user, according to the provided filters. conversion_rate_percentage: diff --git a/spec/yaml/twilio_video_v1.yaml b/spec/yaml/twilio_video_v1.yaml index 042f459b..26bc0e9b 100644 --- a/spec/yaml/twilio_video_v1.yaml +++ b/spec/yaml/twilio_video_v1.yaml @@ -128,7 +128,6 @@ components: bitrate: type: integer default: 0 - nullable: true description: The average bit rate of the composition's media. size: type: integer @@ -138,7 +137,6 @@ components: duration: type: integer default: 0 - nullable: true description: The duration of the composition's media file in seconds. media_external_location: type: string @@ -663,13 +661,11 @@ components: max_participants: type: integer default: 0 - nullable: true description: 'The maximum number of concurrent Participants allowed in the room. ' max_participant_duration: type: integer default: 0 - nullable: true 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). @@ -709,14 +705,12 @@ components: empty_room_timeout: type: integer default: 0 - nullable: true description: Specifies how long (in minutes) a room will remain active after last participant leaves. Can be configured when creating a room via REST API. For Ad-Hoc rooms this value cannot be changed. unused_room_timeout: type: integer default: 0 - nullable: true description: Specifies how long (in minutes) a room will remain active if no one joins. Can be configured when creating a room via REST API. For Ad-Hoc rooms this value cannot be changed. diff --git a/spec/yaml/twilio_voice_v1.yaml b/spec/yaml/twilio_voice_v1.yaml index 03ae2ea3..b7c52e89 100644 --- a/spec/yaml/twilio_voice_v1.yaml +++ b/spec/yaml/twilio_voice_v1.yaml @@ -236,14 +236,12 @@ components: priority: type: integer default: 0 - nullable: true 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: type: integer default: 0 - nullable: true 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 @@ -383,7 +381,6 @@ components: update_count: type: integer default: 0 - nullable: true description: The number of countries updated update_request: type: string @@ -450,7 +447,6 @@ components: cidr_prefix_length: type: integer default: 0 - nullable: true 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. diff --git a/spec/yaml/twilio_wireless_v1.yaml b/spec/yaml/twilio_wireless_v1.yaml index a1829938..d838746c 100644 --- a/spec/yaml/twilio_wireless_v1.yaml +++ b/spec/yaml/twilio_wireless_v1.yaml @@ -201,13 +201,11 @@ components: packets_uploaded: type: integer default: 0 - nullable: true description: The number of packets uploaded by the device between the `start` time and when the Data Session was last updated. packets_downloaded: type: integer default: 0 - nullable: true description: The number of packets downloaded by the device between the `start` time and when the Data Session was last updated. last_updated: @@ -277,7 +275,6 @@ components: data_limit: type: integer default: 0 - nullable: true 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 @@ -298,7 +295,6 @@ components: national_roaming_data_limit: type: integer default: 0 - nullable: true 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 @@ -314,7 +310,6 @@ components: international_roaming_data_limit: type: integer default: 0 - 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. Can be up to 2TB.